Об ИТ из Канады

Блог Михаила Флёнова - программист, блогер, автор нескольких скандальных книг какими-то глазами...

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

Swift ворвался в 10 самых популярных языков

И снова заметка про Swift, потому что сегодня прочитал, что этот язык вырвался на 10-е место по популярности. В прошлом году язык программирования от Apple был на 14-м месте. Скачок произошел сразу на 4 позиции за год.

Я думаю, что дальше Swift скорей всего будет развиваться медленнее. В лучшем случае за год он будет набирать две позиции, да и не уверен, что он сможет подняться выше 5-й. Да даже выше 8-й позиции скорей всего не подымится.Свифту не хватает поддержки большего количества платформ, особенно Web.

Впереди скорей всего всегда будет C++, C#, Java, PHP и возможно даже Python.

Дата: 2017-03-09 21:19:05
Прочитать заметку


Swift 3 снова изменился

Язык программирования Swift впервые был представлен меньше 3-х лет назад, в июне 2014-го года. За это время язык изменился до неузнаваемости, сейчас текущей версией является Swift 3. Три года, три версии, достаточно серьёзное и быстрое развитие. 

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

Когда произошёл переход с версии Swift 1.0 на Swift 2.0 сильные изменения были ожидаемы и несовместимость в принципе оправдана. Но уже после трёх лет и третей версии не сохранять обратную совместимость - достаточно рискованно. 

Дата: 2017-03-06 21:01:54
Прочитать заметку


Правильный переход на Microsoft Azure

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

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

Дата: 2017-03-05 10:40:08
Прочитать заметку


Could not load file or assembly Newtonsoft.Json

Наверно самый популярны вопрос, который я получаю от программистов компаний, которых мне приходилось консультировать, это вопрос связанный с библиотекой Newtonsoft.Json - при запуске сайта не загружается Newtonsoft.Json. Это достаточно популярная библиотека, которая позволяет сериализовывать объекты в JSON, что сейчас популярно для Web, ведь с помощью этого формата удобно обмениваться данными между JavaScript и бакэндом. 

Но у библиотеки есть огромный недостаток - она развивается слишком быстро и слишком популярна. Да, это недостатки. Потому что все связи делают на определенную версию. Если ты сделал ссылку на версию 4.1, а также используешь другую библиотеку, которая ссылается на версию 5.0, то возникает конфликт между версиями.

При компиляции нужно убедится, что именно самая последняя версия попадает в папку bin. Выглядит просто? Но даже это не все программисты умудряются сделать. Нужно просто обновить свою версию до последней. 

Дата: 2017-01-11 08:08:15
Прочитать заметку


Сколько брать в час за работу программиста?

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

Тут же у народа возникает вопрос - а как доказать, что я проработал именно указанное количество часов, особенно, если работать удаленно, как я? Если честно, то я не знаю, как это правильно делать. Для меня самого пока все это новое. IBM достаточно было того, что я просто отсылал им в конце месяца сумму часов, которые я проработал. Даже не нужно было расшифровывать. В большинстве случаем мои часы должны были совпадать с тем, что подают сами сотрудники IBM, которых я консультировал, но могли и отличаться, когда я работал из дома над какими-то документами. 

Дата: 2017-01-10 08:15:07
Прочитать заметку


Эффективная отправка e-mail сообщений с сайта

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

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

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

Дата: 2016-12-12 21:58:24
Прочитать заметку


Стоит ли переходить на .NET Core?

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

Я пока еще не писал кода под .NET Core, но из того, что я видел, в платформу внесли правильные изменения. Везде (или почти везде), где когда-то сделали ошибки, сейчас вносятся изменения. Например, как я понял избавляются от глобального HttpContext, который принес народу больше проблем, чем преимуществ, особенно тем, кто использует юнит тесты.

За счёт того, что .NET Core реализована чуть более корректно, я уверен, что Майкрософт будет инвестировать в неё в ближайшее время очень много труда своих программистов. Не знаю сколько лет продержится эта версия, но точно не один год.

Дата: 2016-12-06 21:19:36
Прочитать заметку


Как отсортировать по возрасту

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

Дата: 2016-11-28 13:45:06
Прочитать заметку


Как подключится к SQL Server

Задача. Вы программист и умеете программировать на C# веб приложения, у вас есть RDP доступ любому серверу, включая сервер приложений и у вас стоит задача подключится к базе данных. Как найти имя сервера базы данных, имя пользователя и пароль для подключения?

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

Дата: 2016-11-15 14:59:06
Прочитать заметку


Меня бесят большие пустоты в коде

Я в принципе не сильно придирчив к коду и стилю и прежде чем начинаю писать что-то для какого-то проекта, то сначала смотрю, какие паттерны уже используются в проекте. Даже если я считаю их не очень красивыми, я использую тот стиль, который уже принят в приложении. И меня бесит, когда кто-то приходит, и начинает все менять, по-своему писать код обновления элементов на странице или по-своему реализовывать какой-то подход к решению банальной проблемы. Если проблема банальная, то какая тебе хрен разница, как она решена? 

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

Я предпочитаю табы, но ничего не имею против пробелов. Табы настраиваемы (ты можешь указать любую ширину в большинстве редакторов) и просто удобны, но если кто-то использует пробелы, то я не против. Ваш выбор. Если я начну работать на проекте, который использует пробелы, то сразу же переключусь, чтобы не бесить народ, да и меня подобное бесит, когда вижу в одном файле разные методы. 

Дата: 2016-11-09 20:38:01
Прочитать заметку


О блоге

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

Внимание!

А ты уже читал мою последнюю книгу о больших сайтах и приложениях? Узнай, что это такое здесь

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

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

Пишите мне