JavaRush /Java Blog /Random-IT /10 articoli che ogni programmatore dovrebbe leggere
Shoggy
Livello 32
Санкт-Петербург

10 articoli che ogni programmatore dovrebbe leggere

Pubblicato nel gruppo Random-IT
Essendo un programmatore Java e uno sviluppatore di software, ho imparato molto dai numerosi articoli intitolati Ciò che ogni programmatore dovrebbe sapere... , tendono a fornire molte informazioni utili e complete su un particolare argomento che altrimenti sarebbe difficile da comprendere. scoprire. Nella mia ricerca della conoscenza, mi sono imbattuto in alcuni articoli molto utili che ho aggiunto ai segnalibri come informazioni di riferimento da rileggere. L'idea che molti programmatori possano trarre vantaggio dalla lettura di questa raccolta mi ha spinto a scrivere questo post e condividere con voi tutti questi articoli "Ciò che ogni programmatore dovrebbe sapere". 10 articoli che ogni programmatore dovrebbe leggere - 1In questo articolo acquisirai familiarità con il classico insieme di conoscenze di cui ogni programmatore ha bisogno, su argomenti come memoria , Unicode , aritmetica in virgola mobile , reti , progettazione orientata agli oggetti), tempo , codifica URL , stringhe e molti altri. Questo elenco è molto importante per i principianti e i nuovi arrivati ​​poiché spesso mancano di conoscenze pratiche. Poiché la maggior parte degli articoli si basa su esempi di vita reale, i programmatori entry-level e intermedi possono imparare molto da essi. Inoltre, apprendere le nozioni di base all'inizio della tua carriera ti aiuterà a evitare gli errori che altri programmatori e sviluppatori di software hanno già commesso durante il loro percorso di apprendimento. Purtroppo non tutte le informazioni contenute negli articoli descritti sono facilmente digeribili fin dalla prima lettura. È probabile che potresti non comprendere immediatamente alcuni dettagli sui numeri in virgola mobile o potresti essere confuso dalle complessità della memoria, ma è importante tenere questa raccolta a portata di mano e farvi riferimento di tanto in tanto per chiarimenti. Quindi ti auguro buona fortuna e buona lettura di questi fantastici articoli. A proposito, non dimenticare di condividere altri articoli "Ciò che ogni programmatore dovrebbe sapere" se non sono già presenti nel nostro elenco.

Ciò che ogni programmatore dovrebbe sapere sulla memoria

traduzione in russo Questo è uno degli articoli classici che vi guiderà attraverso le caratteristiche della memoria, alcune delle quali sono vecchie, altre nuove, alcune famose e altre meno. Nonostante il ruolo manageriale e l'onnipresenza, non tutti i programmatori hanno un livello sufficiente di conoscenza della memoria. L'importanza di acquisire familiarità con la memoria nei sistemi moderni aumenta se ci si occupa della scrittura di applicazioni ad alte prestazioni. I progettisti hardware stanno ideando modelli di gestione della memoria e tecniche di accelerazione più complessi, come le cache della CPU, ma questi non possono funzionare in modo ottimale senza l'aiuto dei programmatori. Sto ancora leggendo questo articolo e non posso dirti quanto ho imparato da esso su RAM, cache della CPU come cache L1 e L2, diversi tipi di memoria, accesso diretto alla memoria, progettazione del controller di memoria e memoria in generale . In breve, una lettura obbligata per i programmatori di qualsiasi livello.

Ciò che ogni scienziato dovrebbe sapere sull'aritmetica in virgola mobile

L'argomento dell'aritmetica in virgola mobile è complicato e non facile da padroneggiare. Molti programmatori Java non sanno nemmeno cosa può andare storto quando si confrontano i valori con l'operatore type float/ . Molti di noi spesso commettono errori quando implementano calcoli monetari nei tipi e . Questo articolo è un altro gioiello di questa serie ed è una lettura obbligata per tutti gli sviluppatori e programmatori di software. Man mano che acquisisci esperienza, dovresti addentrarti nella complessità degli argomenti generali e l'aritmetica in virgola mobile è uno di questi. In qualità di sviluppatore Java senior, dovresti sapere come eseguire calcoli monetari, quando utilizzare o come arrotondare i numeri in virgola mobile e molto altro ancora . Anche se hai una solida conoscenza di questo argomento, dopo aver letto l'articolo potresti scoprire qualcosa di nuovo sulle operazioni in virgola mobile. double==floatdoublefloatdoubleBigDecimal

Ciò che ogni sviluppatore dovrebbe sapere su Unicode

La codifica dei caratteri è un'altra area in cui molti programmatori lottano e "Il minimo assoluto che ogni sviluppatore di software dovrebbe assolutamente conoscere su Unicode e sui set di caratteri (nessuna scusa!)" mira a colmare questa lacuna. Per la cronaca, sì, questo è il titolo completo di questo articolo. Il suo autore è Joel Spolsky, uno dei fondatori di https://stackoverflow.com . Joel ha scritto questo articolo sul suo blog quasi 10 anni fa, ma non ha perso la sua rilevanza nel mondo moderno. L'articolo spiega cos'è Unicode, cos'è una codifica, come i caratteri vengono rappresentati utilizzando i byte e molto altro. Una delle cose migliori di questo articolo è il linguaggio e il metodo di presentazione, anche se non sai nulla di Unicode, non avrai problemi a capirlo. Insomma, un altro libro da leggere per tutti i programmatori, codificatori e ingegneri del software.

Ciò che ogni programmatore dovrebbe sapere sul tempo

Oltre alla codifica dei caratteri, l'ora e le date ( Timee Date) sono un'altra area in cui molti programmatori, me compreso, hanno difficoltà. Anche gli sviluppatori senior si perdono nel GMT, UTC, nell'ora legale e nei secondi intercalari. A dire il vero non è facile gestire i fusi orari senza commettere errori e l'utilizzo dell'ora legale rende il tutto ancora più difficile. I problemi peggiorano se usi tentativi ed errori perché in questo modo non sarai mai in grado di risolvere il tuo problema. Ci sono un numero enorme di cose che possono andare storte e un numero uguale di idee sbagliate. Cose come se una data contenga o meno un fuso orario possono confonderti, convertire l'ora UNIX in altri fusi orari può irritarti e puoi facilmente dimenticare di sincronizzare orologi e ritardi. Spero che dopo aver letto questo articolo, molte delle tue idee sbagliate sul tempo scompariranno e svilupperai una comprensione completa del tempo.

Ciò che ogni sviluppatore web dovrebbe sapere sulla codifica URL

Questo articolo descrive i malintesi più comuni sulla codifica URL (Uniform Resource Locator), tenta di chiarire la codifica URL per HTTP e illustra problemi e soluzioni comuni. Sebbene questo articolo non sia specifico per alcun linguaggio di programmazione, illustra i problemi in Java e termina con spiegazioni per risolvere i problemi di codifica degli URL in Java e nelle applicazioni Web a diversi livelli. Imparerai la grammatica URL di base, la sintassi generale degli URL in HTTP e altri protocolli. Questo articolo tratta anche le insidie ​​​​comuni degli URL come la codifica dei caratteri, i caratteri speciali in diverse parti di un URL e i problemi di codifica/decodifica dell'URL. Se sei un programmatore Java, imparerai anche come gestire correttamente gli URL in un'applicazione Java. Come creare un URL e utilizzare la libreria client HTTP Apache Commons. Infine, offre anche best practice e suggerimenti per lavorare con gli URL, ad esempio come codificare un URL durante la creazione, assicurandosi che i filtri di riscrittura degli URL gestiscano correttamente gli URL e altro ancora. In breve, una lettura obbligata per qualsiasi sviluppatore e programmatore web.

Cosa sa ogni programmatore sullo sviluppo web?

Questo interessante articolo di programmersStackExchange riguarda ciò che ogni programmatore che implementa i dettagli tecnici di un'applicazione web dovrebbe considerare prima di aprire un sito al pubblico. Include elementi relativi alle aree di progettazione dell'interfaccia e esperienza utente, sicurezza, standard Web, prestazioni, ottimizzazione dei motori di ricerca (SEO), tecnologie utilizzate e alcune risorse importanti. Il mondo di oggi dipende in gran parte da Internet ed è abbastanza comune per un programmatore avere un sito Web o un blog personale. L'esperienza acquisita da questo articolo sarà utile non solo nelle tue attività professionali, ma anche nei tuoi progetti. Imparerai a conoscere tutte le tecnologie chiave come HTTP, HTML, XML, CSS, JavaScript, compatibilità del browser, suggerimenti per ridurre il tempo di caricamento del tuo sito, mappe del sito XML, specifiche W3C e molti altri punti chiave.

Ciò che ogni programmatore dovrebbe sapere sulla SEO

Questo è un altro articolo che sarà molto utile per sviluppatori web, programmatori e blogger. La SEO è troppo importante per essere ignorata ed è importante per molti programmatori e blogger conoscere le basi dell'ottimizzazione dei motori di ricerca per aiutare Google a trovare i propri contenuti e mostrarli agli altri programmatori. Poiché nel mondo connesso di oggi nessuna azienda può sopravvivere senza una presenza sul web, la SEO diventa ancora più importante. Se hai una startup che vende qualsiasi prodotto, allora la SEO è qualcosa di cui dovresti occuparti. Tutti i programmatori, in particolare gli sviluppatori web, possono trarre grandi vantaggi da questo articolo. Ricorda, l'ottimizzazione dei motori di ricerca è ampia e molto dinamica e varia a seconda dei diversi motori di ricerca, come Google, Yahoo e altri. Quindi, per padroneggiare questo argomento devi sempre aggiornare le tue conoscenze.

Ciò che ogni programmatore C dovrebbe sapere sul comportamento indefinito n. 1/3

Il linguaggio di programmazione C ha il concetto di "comportamento indefinito". Il comportamento indefinito è un argomento ampio con molte sfumature ed è uno dei motivi per cui amo Java: comportamento meno indefinito, meno confusione, più stabilità e più pace. Molte cose apparentemente ragionevoli in C in realtà hanno un comportamento indefinito e questa è una fonte comune di bug nei programmi. Inoltre, qualsiasi comportamento indefinito in C dà il permesso alle implementazioni (del compilatore e del runtime) di generare codice che formatta il disco rigido, facendo cose completamente inaspettate o peggio. Leggi questo eccellente articolo per un tuffo nel mare dei comportamenti imprevedibili.

Ciò che ogni programmatore deve sapere sulle reti

Dall'articolo stesso "Sei un programmatore. Ti sei mai chiesto come funzionano i giochi multiplayer? Dall'esterno sembra magico: due o più giocatori condividono un'esperienza collaborativa online, come se esistessero effettivamente insieme nello stesso mondo virtuale. Ma come "Sappiamo la verità, programmatori, che ciò che sta realmente accadendo è molto diverso da quello che vedete. Si scopre che è tutta un'illusione." Questo è un articolo molto interessante sul networking scritto per i programmatori di giochi, ma penso che ogni programmatore e sviluppatore possa trarne vantaggio.

Ciò che ogni sviluppatore Java dovrebbe sapere sulle stringhe

Questo è il mio articolo java.lang.Stringe personalmente penso che ogni programmatore Java dovrebbe conoscerlo. Le stringhe sono molto importanti nella programmazione Java quotidiana ed è per questo che una buona conoscenza è un must per qualsiasi sviluppatore Java. Questo articolo copre molti aspetti importanti di Strings, tra cui il pool di stringhe, i valori letterali delle stringhe, il confronto delle stringhe con ==vs equals(), la conversione dei byte in una stringa, il motivo per cui una stringa è immutabile, la corretta concatenazione delle stringhe e molto altro. Un programmatore esperto potrebbe già conoscere tutte queste funzionalità, ma anche così sarebbe una buona idea rivederle.

Cosa dovrebbe sapere ogni programmatore sulla sicurezza?

Questa domanda è stata posta da uno studente programmatore su StackOverflow. Così come sappiamo molto sui concetti generali di programmazione come il sistema operativo, gli algoritmi, le strutture dati, l'architettura dei computer e altri aspetti, è importante conoscere anche la sicurezza. Sebbene il tema della sicurezza sia piuttosto ampio e copra le aree di crittografia/decrittografia, SSL, sicurezza web, offuscamento, autenticazione, autorizzazione, ecc., per ogni programmatore è richiesta una conoscenza minima di base. Personalmente, all'inizio della mia carriera non sapevo molto di sicurezza, quando ho iniziato a scrivere applicazioni web Java basate su Servlet/JSP, ho imparato a conoscere la sicurezza web e una serie di minacce alla sicurezza come SQL Injection, Denial of Service, XML Iniezione, scripting cross-site e altri. In qualità di sviluppatore Java, ora seguo le pratiche di programmazione Java sicure fornite da Fortify, PMP e altri fornitori di analizzatori di codice statico. Questo articolo contiene un'ottima selezione di argomenti e collegamenti sulla sicurezza e, indipendentemente dal fatto che tu codifichi o meno, trarrai sicuramente vantaggio da questa risorsa.

Numeri di latenza che ogni programmatore dovrebbe conoscere

Questo articolo è un bonus, ma è comunque una lettura obbligata per qualsiasi programmatore. Per scrivere un'applicazione ad alte prestazioni in qualsiasi linguaggio di programmazione, sia esso Java o C++, è necessario conoscere i valori di latenza di base, ad esempio quanto tempo occorrerà per leggere una variabile dalla memoria, dalla cache L1, dalla cache L2, per un lettura casuale da un SSD e da disco. Quanto tempo è necessario per bloccare/sbloccare un mutex per inviare un pacchetto dati da una città a un'altra o per eseguire un viaggio di andata e ritorno all'interno di un data center. Questi valori di latenza sono indipendenti dal linguaggio di programmazione e fanno parte delle conoscenze di base che uno sviluppatore deve avere per scrivere applicazioni ad alto carico e bassa latenza. La cosa positiva di questo collegamento è che fornisce un’analisi comparativa di come questi valori si sono evoluti nel corso degli anni. Potete vedere quali erano i valori nel 2006 e quali sono adesso. Questo è tutto per questa lista di articoli che ogni programmatore dovrebbe leggere. Leggendo articoli come Ciò che ogni programmatore o sviluppatore dovrebbe sapere, approfondisci la tua conoscenza di un argomento specifico. Onestamente, ci sono troppe cose da imparare per i programmatori e imparare un linguaggio di programmazione come Java è solo la punta dell'iceberg, ma la maggior parte di noi non ha una passione per l'apprendimento. La programmazione è un lavoro che richiede uno sviluppo costante e le uniche cose che saranno utili a qualsiasi programmatore nel corso della sua carriera sono la conoscenza fondamentale di cose come memoria , Unicode , numeri in virgola mobile , tempo , sicurezza . Alcune cose sono specifiche del linguaggio, come il mio post su String in Java e Ciò che ogni programmatore C dovrebbe sapere sul comportamento indefinito, ma è utile impararle per molti principianti e sviluppatori.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION