Блог

GIT - нельзя коммитить в мастер, а что тогда?

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

В компаниях, которые привыкли жить в старом мире SVN или TFS даже после миграции в GIT продолжают работать по-старому, когда все программисты мусорят прямо в master. Уже давно все говорят, что мусорить в master нельзя, но все продолжают это делать, просто добавляя один шаг, который реально ни на что не влияет. 

В нашей компаний при работе над заданиями создают новый бренч:

Стоит ли изучать C++?

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

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

Symfony 4 снова все переделывать

Я начал использовать Symfony начиная со 2-й версии, но при переходе на 3-ю версию возникли проблемы, потому что ее перекалбасили по максимуму. Я начал понемногу переписывать свои сайты на третью версию и основное изменение стало касаться того, как я работал с Dependency Injection. Я решил отказаться от автоматической, потому что ничего не бывает таким надежным, как простая инъекция своими руками, ее не так уж и сложно написать. 

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

Microsoft хочет, чтобы мы знали Python

За последние несколько дней Microsoft выложила в youtube большой и бесплатный курс по Python для программистов. Компания хочет, чтобы все знали этот простой язык скриптов, потому что на нем можно программировать искусственный интеллект под Azure. 

Облачные технологии становятся основными для компании и ради доминирования они даже не особо думают о создании собственного языка скриптов, возможно даже на C#. Вместо этого взят достаточно популярный и проверенный Python. 

Уроки доступны здесь: Programming with Python | Python for Beginners

Курс по Python для веб-разработки

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

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

5 ошибок начинающих программистов

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

Сразу бросаться делать сложное

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

Самый лучший язык программирования

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

У меня лично нет самого лучшего, я с удовольствием использую C#, PHP, Swift и даже старый классический С или С++. Хотя последний уже очень давно не использовал (имею ввиду С++). Если классический С еще использую на Arduino, то C++ как-то негде использовать. Последний раз я на C++ писал, когда еще было время в свободное время тратить время на графику и я его использовал с DirectX.

Я даже неплохо относился к Objective-C. Этот язык я считаю самым ужасным из всего, что я использовал, потому что читаемость кода не очень хорошая. Я сейчас взглянул на статистику на stackoverflow и Objective-C заслуженно входит в 10 самых ужасных языков, занимая в нем 9-е место. Хуже три вариации VB (VB 6, VB .NET и VBA), Cobol, Perl, Matlab, Assembly, CoffeeScript. Читаемость и возможности языка слишком слабые.

Фильтрация на стороне клиента

Уже не первый раз вижу код, в котором отправляется запрос на базу данных, который вытаскивает больше данных, чем нужно, а потом фильтрация идет на стороне Application сервера. И ладно, если этот код выполниться один раз и никогда больше не будет выполняться, а если его поставить на постоянку. 

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

Может показаться, что нагрузка на сеть – это фигня, ведь 10 лишних строк из базы – это пару килобайт. При нынешних гигабитных сетях это капля в море. А если это нагруженный сайт с 1000 посетителей в минуту? Это уже 10 мегабайт абсолютно бесполезных данных в минуту. А если таких запросов будет еще десяток – это еще больше мусора на сеть.

Обфускация и усложнение кода

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

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

Язык PHP ужасен и его не нужно учить

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

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне