10 статей, которые должен прочитать каждый программист. Статьи о программировании


Статьи о программировании

By kametoh Статьи о программировании

Веб программирование в наше время является одним из самых востребовательных направлений деятельности. Интернет в последние годы претерпевает стремительное развитие и совершенствование. Еще недавно большинство людей не представляло, зачем в их жизни может понадобиться интернет, теперь же ситуация повернулась на 180 градусов – большинство людей не могут представить своей жизни без доступа в Сеть. 10-15 лет

By kametoh Статьи о программировании

Процедурные языки программирования - языки программирования, код которых можно разделить на процедуры. Программирование – это очень объемная сфера знаний, изучить которую целиком не сможет ни один человек на свете. Сейчас существует более 120 различных языков программирования, каждый из которых в той или иной мере используется для решения своих специфических задач. Все языки делятся на разные

By kametoh Статьи о программировании

Какой язык программирования лучше изучать первым? Вопрос, который волнует многих, кто решил связать свою жизнь с программированием. Программирование за последние годы не только не потеряло свою актуальность, но и стремительно становится все более востребовательным. Все новые гаджеты, беспилотные автомобили, множество появляющихся каждый день интернет сервисов, перемещение в Сеть и в компьютер торговли, сферы услуг, банкинга,

By kametoh Статьи о программировании

Языки программирования низкого уровня или низкоуровневые традиционно появились первыми и в последующем стали базисом для развития всей ИТ индустрии. Они так называются потому, что в своих командах обращаются фактически напрямую к железу компьютера, его микропроцессору. Каждый процессор способен воспринимать определенный набор понятных только ему команд, поэтому к каждой модели немногочисленных устройств в то далекое время

By kametoh Статьи о программировании

Классификация и виды языков программирования – это очень сложный, многообразный вопрос, который постоянно вызывает споры, требует регулярной переоценки и умения находить в различных языках объединяющие их характеристики и особенности. Сейчас существует огромное количество самых разных языков программирования. По некоторым подсчетам, всего их более чем 120. Некоторые из них очень распространены и популярны (C++, Java, Python), некоторые

bunkerbook.ru

Как правильно писать статьи о программировании для начинающих / Хабр

В последнее время на Хабре стало появляться довольно много статей о тех или иных аспектах программирования, которые позиционируются как статьи для «начинающих». Между тем, как раз для начинающих эти статьи часто являются непонятными: иногда — слишком сложными, иногда — не отвечающими на те вопросы, на которые должны, иногда — тяжелыми для восприятия.

Попробуем разобраться, как должна быть написана статья, если вы хотите, чтобы она не только понравилась, но и была полезна читателям.

Определите целевую аудиторию
Начните с определения вашей целевой аудитории. Понятие «начинающий» — весьма размыто. Вот несколько совершенно разных категория людей, которых можно назвать «начинающими»:
  • Человек, который вообще никогда не слышал о программировании, и хочет научиться писать код.
  • Человек, который знает некоторые теоретические основы (что делает компилятор, чем компиляция отличается от интерпретации, как вообще происходит процесс написания кода), но никогда не писал код сам
  • Человек, который занимался программированием, но хочет перейти на несколько другой профиль (например, человек верстал простенькие сайты и знает javascript, но хочет научиться делать десктопные приложения)
  • Наконец, человек, который достаточно неплохо знаком с программированием, но хочет изучить новый для себя язык или технологию.

Думаю очевидно, что статьи, ориентированные на людей с разным уровнем, будут выглядеть совершенно по-разному. Тем не менее, большинство статей с пометкой «для начинающих» ориентированы на людей, которые с программированием знакомы поверхностно.

Определите начальные знания, необходимые для понимания Вашей статьи
Согласитесь, не так сложно написать в самом начале нечто вроде:«Для понимания этой статьи читатель должен обладать начальными знаниями о C: — уметь компилировать и запускать приложение — знать синтаксис, основные типы данных и структуры управления»

Это не отнимает много времени, но очень сильно помогает читателям. Поверьте, если вы начинайте статью так:

Скомпилируйте следующий код:int main(int argc, char *argv[]) { cout<<"Hello, world!"; }

то читатели могут вообще не понять, что от них требуется. Не забывайте, когда-то вы тоже не умели пользоваться компилятором.

Оформите статью как можно лучше

Хорошее и грамотное оформление — один из ключей к легкому пониманию материала.

Старайтесь писать весь код целиком Я видел статьи и книги, в которых код приводился разрозненными кусками. Это приводит к тому, что читателю тяжело понять код, не говоря уж о том, что он не может этот код просто скопировать и запустить. Конечно, вы можете, например, писать разные функции в разных листингах. Это даже хорошо, так как облегчает понимание. Но не стоит разрывать на части логически однородный участок кода.

Не пишите так:

Пример программы, выводящей «Hello, World»://Начнем писать код int main(int argc, char *argv[]) { cout<<"Hello, world!";

Какой-то (возможно, весьма полезный) многострочный комментарий от автора

//Продолжение return 0; }

Пишите так:

Пример программы, выводящей «Hello, World»:#include <iostream> using namespace std; int main(int argc, char *argv[]) { cout<<"Hello, world!"; return 0; }

Вот здесь можно писать длинный и развернутый комментарий, и даже еще раз написать ту строку

cout<<"Hello, world!"; к которой он относится.

Если вам необходимо разбить код на несколько листингов, то было бы неплохо в конце статьи еще раз привести весь код в одном листинге, или даже дать ссылку, по которой этот код можно скачать.

Всегда проверяйте код, прежде чем вставить его в статью Читателю меньше всего хочется сидеть и пытаться понять, почему пример из статьи не работает. По этой же причине, если ваш код каким-то образом зависит от среды или компилятора, укажите это отдельно. Всегда комментируйте код Я миллион раз видел, как в книге встречается листинг на 3 страницы без единого комментария, а затем сплошным текстом идет описание того, что этот код делает. Такие вещи очень сложно читать. Попробуйте написать короткие комментарии в самом коде:#include <iostream> //необходимо для использования cout using namespace std; //cout находится в пространстве имен std int main(int argc, char *argv[]) { cout<<"Hello, world!"; //вывод строки "hello, world" return 0; }

Не забывайте, что если для вас значение какой-то строки очевидно, то это не значит, что оно очевидно для всех. Если вы хотите подробно прокомментировать код, то неплохо будет вставлять номера строк. Не нужно нумеровать все строки подряд, достаточно сделать так:

1 #include <iostream> using namespace std; 4 int main(int argc, char *argv[]) { 6 cout<<"Hello, world!"; return 0; } В строке 1 мы подключаем заголовочный файл , который содержит классы, функции и переменные, необходимые для работы с потоковым вводом-выводом в C++. Мы подключаем этот файл для того, чтобы использовать объект cout, который представляет собой стандартный поток вывода.

В строке 4 начинается функция main — именно с этого места начнется работа нашей программы.

Наконец, в строке 6 мы выводим фразу «Hello, world» в стандартный поток вывода cout. Для этого применяется довольно простой синтаксис с использованием оператора <<. Слева от оператора записывается объект потока (в нашем случае cout), справа — выражение, которое должно быть выведено в этот поток.

Если вы хотите, чтобы читатель мог скопировать и запустить код, вы можете указать номера строк в комментариях, хотя это и менее наглядно:

#include <iostream> //(1) необходимо для использования cout using namespace std; //(2) cout находится в пространстве имен std int main(int argc, char *argv[]) { cout<<"Hello, world!"; //(6) вывод строки "hello, world" return 0; } Поставьте себя на место читателя Представьте, какие места в ваших примерах могут быть не очень понятны, и объясните их поподробнее. Если вам лень описывать какие-то вещи, которые легко найти в интернете или книгах, просто дайте ссылку на ресурс, где об этом можно почитать.Постарайтесь не слишком усложнять код и избегайте перфекционизма Не забывайте, вы пишите статью для новичка. Если вы можете сделать код проще, лучше это сделать. Если вы хотите показать, что код можно улучшить (пусть даже он усложнится), то напишите об этом после простого решения. Представьте, что вы объясняете человеку как работает оператор return, и для примера решили написать функцию, которая сравнивает два числа и возвращает наибольшее (или любое, если числа равны). Не стоит писать что-то вроде template<class T> T compare(T a, T b) { return a>b?a:b; } Напишите простой и понятный кусок кода:int compare(int a, int b) { if(a>b) { return a; } else { return b; } }

Пусть его можно улучшить десять раз — это не важно, если ваша задача — показать суть метода, а не его конкретную реализацию.

Старайтесь придерживаться одного уровня во всей статье Если вы начинайте писать статью на базовом уровне и подробно рассказываете о простых вещах, то делайте это до самого конца статьи. Если на середине статьи вы вдруг перестанете объяснять какие-то вещи, то читатель может совершенно потерять нить статьи и запутаться. Придерживайтесь одного стиля во всей статье Не важно, пишете ли вы в «академическом» стиле, или в стиле «а теперь, чувак, откомпилируем наше творение». Важно, чтобы вы были последовательны и не переключались с формального повествования на неформальное и обратно по десять раз за статью.Старайтесь структурировать свои мысли Вы рассказываете о программировании — а это значит, что ваше повествование, скорее всего, достаточно легко разделить на ключевые части. Старайтесь всегда делать это, потому что структурированную статью гораздо легче читать и понимать. Сплошная стена текста крайне сложна для восприятия, даже если сам текст рассказывает о достаточно простых вещах.Старайтесь помочь читателю Будьте вежливы в комментариях. Если вас попросят объяснить что-то подробнее, или добавить что-то в статью, постарайтесь это сделать (конечно, если у вас есть на это силы и время).
Заключение
Надеюсь, моя статья поможет авторам сделать свои статьи более понятными, а значит — и более популярными. Пожалуйста, пишите в комментах, если вы не согласны с какими-то пунктами, или хотите добавить что-то свое.

habr.com

Статьи о программировании

By kametoh Статьи о программировании

Языки программирования для создания игр являются одними из самых развитых и востребованных в современном обществе. Большая популярность игр на ПК, на андроид и другие системы делают их очень ценным товаром, который при грамотной рекламной компании и хорошей реализации в целом способен принести немалые деньги и возможности для дальнейшего развития. Компьютерные игры появились почти сразу же

By kametoh Статьи о программировании

Существует большое количество видов и назначений языков программирования. Они активно применяются для решения как некоторого узкого круга задач, так и во многих довольно широких сферах деятельности. Начинающий программист должен сделать серьезный шаг, выбирая подходящий ему язык или языки, так как от этого зависит, в какой области программирования ему придется работать, будет ли просто найти работу

By kametoh Статьи о программировании

Программирование все еще остается одной из самых востребованных сфер деятельности. Именно здесь люди получают самые большие зарплаты, имеют весьма внушительные перспективы для карьерного роста, могут реализовывать свои задумки и фантазии, создавая какое-либо ПО, игры, прошивки и т.п. Многим хорошим специалистам удалось успешно эмигрировать в более успешные страны и начать зарабатывать еще больше. Совсем недавно даже

By kametoh Статьи о программировании

Какой самый первый язык программирования и кем он создан? Вопрос, который волнует очень многих людей, заинтересованных в компьютерной тематике. Ответить на него очень сложно, так как здесь нужно рассматривать множество нюансов: Какой язык имеется ввиду, высокоуровневый или низкоуровневый; Стоит ли учитывать языки, которые так и не нашли широкого применения; Можно ли брать во внимание оставшиеся незаметными

By kametoh Статьи о программировании

Многие люди, которые желают начать изучать программирование, интересуются – какой самый сложный язык программирования? Вопрос вполне понятен, ведь мало кто из новичков хочет выбрать сразу очень сложный язык и потратить на его изучение множество времени, не имея возможности применить свои знания на практике или даже подзаработать на этом денег. Все стремятся найти такой вариант для

bunkerbook.ru

Статьи о программировании

By kametoh Статьи о программировании

Какой язык программирования самый простой и легкий? В этой статье мы попытаемся разобраться, можно ли выделить какой-то определенный язык программирования. Программирование в наше время стало одним из самых перспективных занятий для молодых людей. Это совершенно понятно, ведь окружающий нас мир становится все более компьютеризированным и разумным: автоматика, роботы компьютеры, всевозможные сервисы самообслуживания, интернет технологии, начало

By kametoh Статьи о программировании

История создания и развития языков программирования довольно захватывающая и интересная тема. Рассмотрим же основные этапы становления этой важнейшей сферы деятельности и вспомним некоторые языки программирования, которые в свое время сыграли решающую роль в развитии всей ИТ-индустрии. Современное общество просто не может нормально существовать без программирования. Практически все, что нас окружает, является компьютеризованным, а значит –

By kametoh Статьи о программировании

Языки программирования высокого уровня - языки, которые используют различные абстрактные смысловые конструкции, которые просто невозможно сообщать машине на низкоуровневых языках в силу их большого объема и сложности. Программирование незаметно стало одной из важнейших сфер деятельности нашего времени. Все люди активно пользуются компьютерной техникой, смартфонами, интернетом, самыми разнообразными гаджетами и все это просто не может существовать без специально

By kametoh Статьи о программировании

В условиях динамично меняющегося мира, когда еще вчера уважаемые профессии превращаются в ничто, многие люди ищут чем заняться в жизни, чтобы это было и интересно и актуально нынешнему времени, и в то же время прибыльно. Очень часто подобные поиски приводят к программированию: хорошие программисты даже в СНГ зарабатывают тысячи долларов, имеют немало свободного времени, возможность

By kametoh Статьи о программировании

Многие люди считают профессию программиста одной из самых сложных, поэтому отказываются от идеи освоить её. Но вокруг IT существуют мифы, которые нужно развеять и тогда станет ясно, что программирование - это не так сложно, как может показаться. 1. Чтобы программировать, нужно обладать очень высоким уровнем интеллекта. Это самый популярный миф. Но, на самом деле, не

bunkerbook.ru

Статьи о программировании

By kametoh Статьи о программировании

Чтобы освоить профессию программиста, а не просто занимать свой ум без особого продвижения к цели, нужно обучаться правильно. Итак, рассмотрим примеры того, как не стоит учиться писать код. Отсутствие практики Можно бесконечно перечитывать одни и те же статьи без особой пользы. Но гораздо лучше усваивать информацию небольшими частями, сразу пытаясь применить её на практике и

By kametoh Статьи о программировании

Чтобы облегчить обучение программированию и хорошо усвоить основы, необходимо правильно выбрать темп работы и использовать некоторые способы. 1. Читайте больше кода Новичок должен пытаться понять код. Для этого стоит изучать много примеров кода. Полезно самостоятельно разбирать примеры, прежде чем читать пояснения. 2. Набирайте и запускайте код Недостаточно смотреть в учебник. Примеры лучше запомнятся, если набирать

By kametoh Статьи о программировании

В наше время программирование стало одной из самых востребовательных и высокооплачиваемых сфер деятельности. Люди, работающие в этой области, могут довольно легко зарабатывать не одну сотню долларов, даже не вставая из-за своего домашнего компьютера. Большинство компаний, предоставляющих какие-либо товары или услуги, стараются выйти со своими предложениями в Интернет и таким образом заполучить больше клиентов. Они постоянно

By kametoh Статьи о программировании

Программирование является одной из самых перспективных сфер деятельности в наше время. Человечество все больше погружается в новые технологии, ИТ новинки и гаджеты. Отдых, работа, хобби, большинство профессий сейчас неразрывно связаны с использованием компьютерной техники, интернета, электронной почты, навигаторов и прочих подобных вещей. Все это работает благодаря грамотно написанному программному обеспечению – именно оно является в

By kametoh Статьи о программировании

Выбор языков программирования достаточно широк, но вы можете найти подходящий для вас и изучить его, если поразмыслите над следующими пунктами. 1. Определите свою цель Что вы хотите создавать? Может быть, вы желаете ограничиться разработкой сайтов, приложений для смартфонов или мечтаете создавать компьютерные игры. Каждый язык имеет свою специализацию. Если хотите немного поэкспериментировать, то вам подойдёт

bunkerbook.ru

10 статей, которые должен прочитать каждый программист

Перевод статьи 10 Articles Every Programmer Must Read Будучи Java-программистом и разработчиком программного обеспечения, я многому научился из множества статей под названием Что каждый программист должен знать о ....., они, как правило, дают много полезной и исчерпывающей информации о конкретной теме, которую иначе трудно обнаружить. В моих стремлениях к знаниям я сталкивался с некоторыми очень полезными статьями, которые добавлял в закладки как справочную информацию для перечитывания. Мысль, что многие программисты смогут извлечь пользу из чтения этой подборки, побудила меня написать данный пост и поделиться с вами всеми этими статьями "Что каждый программист должен знать". В этой статье вы познакомитесь с классическим набором знаний, необходимых каждому программисту, в таких темах как память (memory), Unicode, вычисления с плавающей точкой (floating point arithmetic), работа с сетями (networking), объектно-ориентированное проектирование (object oriented design), время (time), URL Encoding, String и многим другим. Этот список очень важен для начинающих и новоприбывших, так как им часто не хватает практических знаний. Поскольку большинство статей написаны на основе реальных примеров, программисты начального и среднего уровня могут извлечь из них много полезного. Также, изучение основ в начале карьеры поможет избежать ошибок, которые уже сделали другие программисты и разработчики программного обеспечения на их пути обучения. К сожалению, не вся информация из описанных статей легко усваивается с первого прочтения. Скорее всего, вы можете не сразу понять некоторые подробности о числах с плавающей точкой или можете запутаться с особенностями памяти, но важно держать эту подборку под рукой и обращаться к ней время от времени за уточнениями. Так что желаю вам удачи и наслаждайтесь чтением этих замечательных статей.  Кстати, не забывайте делиться какими-либо еще статьями "Что каждый программист должен знать", если они еще не попали в наш список.

Что каждый программист должен знать о памятиперевод на русскийЭто одна из классической статей, которая проведет вас по особенностям памяти, некоторые из которых старые, некоторые новые, некоторые известные и некоторые не очень. Несмотря на управляющую роль и вездесущность, не каждый программист имеет достаточный уровень знаний о Памяти. Важность знакомства с памятью в современных системах учеличивается, если вы заняты в сфере написания высокопроизводительных приложений. Разработчики аппаратных средств придумывают более сложные модели управления памятью и методы ускорения, такие как кэш CPU, но они не могут оптимально работать без некоторой помощи со стороны программистов. Я до сих пор читаю эту статью, и не могу сказать насколько много я узнал из нее о RAM, кэше CPU, например, L1 и L2 кэш, различных видах памяти, прямом доступе к памяти, конструкции контроллера памяти, и памяти в целом. Короче говоря, must read для программистов любых уровней.

Что должен знать каждый ученый о арифметики чисел с плавающей точкойТема арифметики операций с плавающей точкой коварна, и непроста в освоении. Многие Java программисты даже не знают, что может пойти не так при сравнении значений типа float/double оператором ==. Многие из нас часто совершают ошибки, реализуя денежные расчеты в типах float и double. Данная статья еще одна жемчужина этой серии и является must read для всех разработчиков программного обеспечения и программистов. По мере роста опыта вы должны вдаваться в тонкости общих тем, и арифметика чисел с плавающей точкой является одной из них. Как старший Java разработчик вы должны знать как выполнять денежные расчеты, когда использовать типы float, double или BigDecimal, как округлять числа с плавающей точкой и многое другое.Даже если вы обладаете твердыми знаниями в этой теме, после прочтения статьи вы сможете открыть для себя что-то новое об операциях с плавающей точкой.

Что каждый разработчик должен знать о Unicodeперевод на русскийКодировка символов является еще одной областью, где многие программисты испытывают трудности, и "Абсолютный минимум, который безусловно должен знать каждый разработчик программного обеспечения про Unicode и наборы символов (никаких оправданий!)" призван восполнить этот пробел. Для справки, Да, это полное название этой статьи. Ее автором является Joel Spolsky, один из основатель statckoverflow.com. Джоэл написал эту статью в своем блоге почти 10 лет назад, но она не потеряла своей актуальности и в современном мире. Статья объясняет что такое Unicode, что такое кодировка, как символы представлены с использованием байт и многое другое. Одной из лучших вещей в этой статье является язык и метод изложения, даже если вы ничего не знаете о Unicode, у вас не возникнет проблем с пониманием. Короче говоря, еще один must read для всех программистов, кодеров и инженеров программного обеспечения.

Что каждый программист должен знать о времениПомимо кодировки символов, время и даты (Time and Date) являются еще одной областью, где многие программисты, включая меня, испытывают трудности. Даже старшие разработчики теряются в GMT, UTC, летним временем и високосными секундами. Честно говоря, не легко справиться с часовыми поясами, не совершая каких-либо ошибок, а использование летнего времени дополнительно усложняет задачу. Проблемы усугубляются, если вы пользуетесь метод проб и ошибок, потому что вы никогда не будете в состоянии решить вашу проблему, делая это. Существует огромное число вещей, которые могут пойти не так, и бытует такое же количество заблуждений. Такие вещи, как, содержит ли дата часовой пояс или нет могут сбить вас с толку, преобразование времени UNIX к другим временным зонам, может взбесить вас, и вы с легкостью можете забыть о синхронизации часов и задержек. Я надеюсь, что после прочтения этой статьи, многие из ваших заблуждений о времени исчезнут, и у вас выстроится полное понимание времени.

Что каждый веб-разработчик должен знать про кодировку URLЭта статья описывает распространенные ошибочные представления о кодировании Uniform Resource Locator (URL), а затем пытается разъяснить кодирование URL для HTTP, и далее демонстрирует часто возникающие проблемы и пути их решения. Хотя эта статья не является заточенной под какой-либо язык программирования, она иллюстрирует проблемы в Java) и заканчивается объяснениями по исправлению проблемы с кодировкой URL в Java, и в веб-приложениях на нескольких уровнях. Вы узнаете основы URL грамматики, общий синтаксис URL в HTTP и других протоколах. В этой статье также рассматриваются частые подводные камни URL-адресов, например, кодировку символов, специальные символы в разных частях URL, и вопросы кодирования/декодирования URL. Если вы Java программист, то вы также узнаете о том, как правильно управляться с URL-адресами в приложении Java. Как построить URL и использование клиентской библиотеки Apache Commons HTTP. Наконец, также предлагаются лучшие примеры и варианты работы с URL-адресами, например, вы должны кодировать URL при его построении, убедиться, что ваши фильтры URL-перезаписи справляются с вашими URL корректно и многое другое. Короче говоря, must read для любого веб-разработчика и программиста.

Что каждый программист знать о веб-разработке?Эта интересная статья из programmersStackExchange, о том, что следует обдумать каждому программисту, реализующему технические детали веб-приложения, прежде, чем открыть сайт для публики. Она включает в себя вещи из областей разработки интерфейсов и удобства использования (Interface design and User Experience), Безопасности (Security), веб-стандартов (Web standards), производительности (Performance), оптимизации для поиска (Search Engine Optimization(SEO)), используемых технологий, и некоторых важных ресурсах. Сегодняшний мир в значительной степени зависит от интернета и достаточно распространено наличие у программиста личного сайта или блога. Опыт полученный из этой статьи, будет полезен не только в вашей профессиональной деятельности, но и в собственных проектах. Вы узнаете о всех ключевых технологий, таких как, HTTP, HTML, XML, CSS, JavaScript, совместимость браузеров, советы для уменьшения времени загрузки вашего сайта, XML карты сайта, спецификаций W3C и несколько других ключевых моментов.

Что каждый программист должен знать о SEOЭто еще одна статья, которая будет достаточно полезна для веб-разработчиков, программистов и блогеров. SEO является слишком большим, чтобы игнорировать его, как и многим программистам так и блогерам важно знать основы поисковой оптимизации, чтобы помочь Google найти их содержимое и показать коллегам программистам. Поскольку ни одна компания не может выжить без веб-присутствия в современном взаимосвязанном мире, SEO становится еще более важным. Если у вас есть стартап по продаже любого товара, то SEO является тем, о чем следует заботиться. Все программисты, особенно веб-разработчики могут получить значительную пользу от этой статьи. Помните, поисковая оптимизация является обширным и очень динамичный моментом, а также варьируется в разных поисковых системах, например, Google, Yahoo, и других. Итак, чтобы владеть этой темой вы всегда должны обновлять свои знания.

Что каждый C программист должен знать о неопределенном поведении (Undefined Behaviour) # 1/3Язык программирования C имеет концепцию "неопределенного поведения". Неопределенное поведение широкая тема с большим количеством нюансов, и это одна из причин, почему я люблю Java: меньшее количество неопределенного поведения, меньше путаницы, больше стабильности и больше мира. Многие, казалось бы, разумные вещи в C на самом деле имеют неопределенное поведение, и это общий источник ошибок в программах. Кроме того, любое неопределенное поведение в C дает разрешение реализациям (компилятора и среды исполнения) для генерации кода форматирующего жесткий диск, совершения абсолютно неожиданных вещей, или даже хуже. Читайте эту прекрасную статью для глубокого погружения в море непредсказуемого поведения.

Что каждый программист нужно знать о сетяхИз самой статьи "Вы программист. Вы когда-нибудь задавались вопросом, как работают многопользовательские игры? Со стороны это кажется волшебным: два или более игрока разделяют совместный опыт по сети, словно они на самом деле существуют вместе в том же виртуальном мире. Но как программисты мы знаем правду, что происходящее на самом деле довольно сильно отличается от того, что вы видите. Оказывается, что все это иллюзия ". Это очень интересную статью о сетях, написанную для программистов игр, но я думаю, что каждый программист и разработчик может извлечь выгоду из нее.

Что каждый Java разработчик должен знать о Строках (String)Это моя статья о java.lang.String и лично я считаю, что каждый Java программист должен знать об этом. Строки очень важны в повседневном программирования на Java, и именно поэтому хорошие знания являются обязательными для любого Java разработчика. Эта статья затрагивает многие важные аспекты Строк, включая строковой пул, строковые литералы, сравнение строк с помощью == против equals(), преобразование байт в строку, то почему строка является неизменной (immutable), правильное объединение строк и многое другое. Продвинутый программист, возможно, уже знаете все эти особенности, но даже в этом случае будет неплохо повторить.

Что каждый программист должен знать о безопасности?Этот вопрос был задан студентом программистом на StackOverflow. Равно как много мы знаем об общих понятиях программирования, таких как, операционная система, алгоритмы, структуры данных, компьютерная архитектура и другие вещи, точно также важно знать и о безопасности. Хотя тема Безопасности достаточно обширна, содержит области шифрования/дешифрования, SSL, веб-безопасности, запутывания, аутентификации, авторизации и т.д., существует базовый минимум знаний обязательный для каждого программиста. Лично я в начале своей карьеры не знал многого о безопасности, когда я начал писать Servlet/JSP на основе Java web application, я узнавал о веб-безопасности и ряде угроз безопасности таких как SQL Injection, отказ в обслуживании (Denial of Service), XML Injection, межсайтовый скриптинг (Cross site scripting) и других. Как разработчик Java, теперь я следую безопасным методам Java программирования, предоставляемых fortify, PMP и другими поставщиками статических анализаторов кода.  В этой статье содержится очень хорошая подборка тем и ссылок про безопасность, и в независимости от того, программируете вы или нет, вы, несомненно, получите пользу от этого ресурса.

Показатели Задержки (Latency Numbers) которые должен знать каждый программистЭто статья является бонусной, но, тем не менее, must read для любоко программиста. Для написания высокопроизводительного приложения на любом языке программирования будь то Java или C++, вы должны знать основные значения задержек , например, сколько времени займет чтение переменной из памяти, из L1-кэша, из L2-кэша, при случайном чтении (random read) с SSD и с диска. Сколько времени необходимо, чтобы заблокировать/разблокировать мьютекс, чтобы отправить пакет данных из одного города в другой или делать проход с возвратом (roundtrip) в пределах одного центра обработки данных. Эти значения задержек не зависят от языка программирования и являются часть базовых знаний, которые разработчик должен иметь, для написания сильнонагруженных приложений с низкой задержкой (high frequency low latency). Положительный момент об этой ссылке заключается в том, что он предоставляет сравнительный анализ того, как эти значения развивались в течение многих лет. Вы можете видеть, какими были значения в 2006 году и то, что они представляют собой сейчас.

Вот и все, об этом списке статей которые должен прочитать каждый программист. Читая статьи такие как Что каждый программист или разработчик должен знать, вы углубляете свои знания в конкретной теме. Честно говоря, существует слишком много вещей к изучению программистами, и изучение языка программирования, такого как Java, лишь верхушка айсберга, но разве не большинство из нас имеют страсть к обучению. Программирование — работа, требующая постоянного развития, и единственными вещами которые будут полезны любому программисту на протяжении всей карьеры являются фундаментальные знания о таких вещах как память (memory), Unicode, вычисления с плавающей точкой (floating point numbers), время (time), безопасность (security). Некоторые вещи специфичны для конкретных языков, например мой пост о строках (String) в Java и, Что каждый C программист должен знать о неопределенном поведении (Undefined Behaviour), но и они хороши к изучению для многих начинающих и разработчиков.

javarush.ru

Статьи категории «Программирование» на сайте ФБ.ру

Программирование

  • Fortran является одним из старейших языков программирования высокого уровня и используется для приложений с интенсивными вычислениями. Со временем языковый стандарт развился и был адаптирован к современным языкам программирования с помощью компиляторов, которые не уступают по качеству своим родственникам из других языковых миров.

  • Первоначально Javascript XMLHttpRequest был объектом ActiveX, его использование ограничивалось интрасетями на базе Microsoft и не подходило для других сайтов. XMLHttpRequest, также известный как Ajax был одним из лучших изобретений 2005 года для интегрированного применения Google Mail, Google Maps и других онлайн-сервисов, что сделало их сайты не только функциональными, но приятными для использования.

  • Пользователям не стоит беспокоиться, если команды Unix вначале кажутся заклинаниями или таинственными элементами, а вся система UNIX недоступной. На самом деле, они не так уж трудны в изучении, и в статье показаны несколько команд, которые нужно запомнить, после чего загадочные строки UNIX станут абсолютно понятными.

  • Ajax не является новой технологией и даже не является технологией вообще. Ajax - это просто термин, описывающий процесс асинхронного обмена данными с веб-сервера с помощью JavaScript без обновления страницы. За сложным набором символов прячется изысканный процесс работы онлайн-приложений.

  • Данную статью можно рассматривать как учебное пособие для изучающих тему "Расстояние между ячейками таблицы при помощи атрибута border-spacing в CSS в рамках веб-программирования и дизайна". Спец. термины и определения не опережают уровня подготовки обучающихся, достигших данного уровня. Приведен пример применения атрибута для большей полноты понимания темы.

  • Разработчик Full Stack или разработчики полного стека - это специалист, который работает одинаково хорошо во внутренних и внешних интерфейсах. Такие универсальные специалисты появились благодаря эволюции в техническом развитии ИТ. Если кто-то решил выбрать эту специальность, он сначала должен понять, есть ли у него необходимые навыки, чтобы справиться со сложной работой.

  • Эта статья предназначена для того, чтобы дать пользователям основу для написания сценариев Bash, чтобы компьютер мог выполнять сложные, повторяющиеся задачи вместо них. Конечно, все не станут гуру-Bash в конце прочтения статьи, но будут более уверены и вооружены нужными знаниями и навыками, чтобы с легкостью выполнять свою работу.

  • Servlet - это Java-программа, которая запускается внутри JVM на веб-сервере. Она используется для разработки динамических веб-приложений и является ответом Java на программирование CGI. Эта статья предназначена для тех, кто не знаком с сервлетом Java и хочет быстро изучить его.

  • Рефакторинг - новая деятельность по разработке программного обеспечения. Однако многие разработчики и менеджеры не решаются применять его из-за страха перед введением ошибок. Если это даже так, то им помогут очень надежные программы автоматического рефакторинга.

  • У большинства пользователей Windows рано или поздно появляется проблема: "винда" начинает "лагать", а программы долго запускаются. Или же вы просто считаете, что следует оптимизировать работу ПК для игр. В данном случае для вас идеально подойдет программа CCleaner. Но что делать, если это программное обеспечение не работает на вашем ПК по определенным причинам?

  • Internet SCSI (ISCSI) представляет собой проект SCSI протокола управления передачей и интернет-протокола (TCP/IP) для включения передачи данных ввода-вывода по IP. Эта сильная технология обеспечивает высокоскоростное и недорогое решение для хранения и передачи данных на большие расстояния для веб-сайтов, поставщиков услуг, предприятий и других организаций.

  • Новички-программисты и простые пользователи часто путают эти языки, потому что их общностью является слово Java. В действительности они оба совершенно разные, самостоятельные и полезные языки программирования. При этом один не обязательно лучше другого, программисты используют как Java, так и JavaScript для различных задач.

  • Выбирая, какую базу данных использовать, нужно постараться не сделать ошибку, полагая, что все РСУБД с открытым исходным кодом одинаковы. Существуют радикальные различия между PostgreSQL и MySQL. Только после тщательной оценки различий между этими двумя системами принимают взвешенное решение.

  • Замыкание - концепция формальной логики, использующая JavaScript и связанная с понятием свободной переменной. Не вдаваясь в детали, можно сказать, что свободная переменная в выражении является не фиксированной переменной, а относится к чему-то внешнему. Таким образом, оно включает в себя установку значения для каждой свободной переменной при оценке выражения с использованием внешнего контекста.

  • Часто происходит сбой с Windows 10 — фотографии, изображения просто не открываются в распространенном jpg-формате. Так же и в других версиях. Почему не открываются фотографии на компьютере? Причина проблемы обусловлена несколькими моментами. Ниже представлена вся необходимая информация, собранная из различных источников, для прояснения этого вопроса.

  • Реактивные системы - это набор принципов архитектурного проектирования для построения современных систем, которые хорошо подготовлены для удовлетворения растущих требований к программным приложениям.Предприятия и поставщики промежуточного программного обеспечения, начали использовать Reactive, а в 2016 -2018 годах наблюдался огромный рост корпоративной заинтересованности в принятии Rx.

  • HTML — это язык гипертекстовой разметки, с помощью которого производится форматирование веб-документов. Он предоставляет основные возможности составления структуры документа, а также базовые варианты оформления страницы. В этой статье подробно расскажем, как изменить размер текста в HTML. Узнаем, в каких случаях можно задействовать только HTML, а когда предпочтительнее прибегнуть к стилевым таблицам CSS.

  • В нашей статье пойдет речь про язык программирования Julia. Мы его немного рассмотрим, опишем его возможности. Также подскажем, какую литературу выбрать, если вы планируете освоить язык Julia. Данный язык является динамическим, но JIT-компиляцию использует.

  • Каждое важное изменение, которое производит программист, может существенно повлиять на функциональность проекта. Особенно если он разрабатывается в одной среде, а затем тестируется в другой среде, состоящей из нескольких виртуальных машин. Иногда вы можете совершать изменения (коммиты) в своем репозитории Git, но потом осознаете, что совершили ошибку. Тогда у вас возникает необходимость исправить их в своем проекте, используя командную строку, чтобы отменить последний коммит в Git.

  • Хотите войти в мир программирования и быстро написать несколько своих первых программ? Или мечтаете изучить новые языки, но не знаете, с чего начать? Обратите свое внимание на курсы по основам программирования на Python. Далее вы узнаете подробности о том, почему именно этот язык рекомендуется для начинающих и какие программы можно на нем создавать.

fb.ru