Блог

Бесплатная книга по git

Сейчас в рассылке MSDN Flash от Microsoft увидел ссылку на бесплатную версию книги по git: https://book.git-scm.com/book/en/v2. Сам я ее не успел прочитать, но решил поделиться книгой. Может кто другой читал и скажет свое мнение.

Я люблю работать с git и все исходники моих сайтов я закинул в свой собственный git репозиторий сразу после того, как купил выделенный сервер. Мое вступление в git читай здесь: http://www.flenov.info/favorite.php?artid=47

А ты что используешь?, что люб ишь использовать?

Google просит не использовать alert, confirm и prompt

В компании Google просят не использовать функции alert/confirm/prompt, потому что они создают проблемы (https://developers.google.com/web/updates/2017/03/dialogs-policy). Ну я тут с гуглом вполне согласен, потому что эти функции блокируют ввод и злые дядьки в интернете уже не раз использовали их для всяких пакостей. 

Я согласен, что alert/confirm/prompt, но такая заметка от Google может говорить о том, что эта троица может скоро исчезнуть из браузера chrome. Блин, вот это будет для кого-то неожиданностью. Сколько сайтов уже использует эти функции и они начнут работать некорректно. 

А ты используешь alert/confirm/prompt? Лично я иногда использую, особенно на тех страницах, которые не видимы конечным пользователям. Например, в админках очень даже удобно написать alert и не выпендриваться. На пользовательских страницах я предпочитаю писать нормальные окна с сообщениями с использованием HTML, чтобы они выглядели в стиле самого сайта. 

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

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

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

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

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

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

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

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

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

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

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

Could not load file or assembly Newtonsoft.Json

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

О блоге

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

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

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

Пишите мне