Сейчас в рассылке 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, потому что они создают проблемы (https://developers.google.com/web/updates/2017/03/dialogs-policy). Ну я тут с гуглом вполне согласен, потому что эти функции блокируют ввод и злые дядьки в интернете уже не раз использовали их для всяких пакостей.
Я согласен, что alert/confirm/prompt, но такая заметка от Google может говорить о том, что эта троица может скоро исчезнуть из браузера chrome. Блин, вот это будет для кого-то неожиданностью. Сколько сайтов уже использует эти функции и они начнут работать некорректно.
А ты используешь alert/confirm/prompt? Лично я иногда использую, особенно на тех страницах, которые не видимы конечным пользователям. Например, в админках очень даже удобно написать alert и не выпендриваться. На пользовательских страницах я предпочитаю писать нормальные окна с сообщениями с использованием HTML, чтобы они выглядели в стиле самого сайта.
И снова заметка про Swift, потому что сегодня прочитал, что этот язык вырвался на 10-е место по популярности. В прошлом году язык программирования от Apple был на 14-м месте. Скачок произошел сразу на 4 позиции за год.
Я думаю, что дальше Swift скорей всего будет развиваться медленнее. В лучшем случае за год он будет набирать две позиции, да и не уверен, что он сможет подняться выше 5-й. Да даже выше 8-й позиции скорей всего не подымится.Свифту не хватает поддержки большего количества платформ, особенно Web.
Впереди скорей всего всегда будет C++, C#, Java, PHP и возможно даже Python.
Язык программирования Swift впервые был представлен меньше 3-х лет назад, в июне 2014-го года. За это время язык изменился до неузнаваемости, сейчас текущей версией является Swift 3. Три года, три версии, достаточно серьёзное и быстрое развитие.
Что поражает, Apple продолжает менять язык. Они не стесняются убирать какой-то функционал и не стесняются изменять даже синтаксис. Причём совершенно не заботятся об обратной совместимости.
Когда произошёл переход с версии Swift 1.0 на Swift 2.0 сильные изменения были ожидаемы и несовместимость в принципе оправдана. Но уже после трёх лет и третей версии не сохранять обратную совместимость - достаточно рискованно.
Компания, которую я консультирую, планирует перевод своих мощностей в Microsoft Azure, чтобы можно было использовать больше мощностей облака Microsoft. Я им сделал уже три небольших оптимизации, они запустили только одну и явно увидели улучшения, но вместо продолжения оптимизации кода и запуска еще двух оптимизаций, они решили перейти в облако Microsoft.
Ну да, использовать бесконечные мощности на много проще, чем писать оптимизированный код, ну да ладно. Чтобы сэкономить деньги они попросили меня посмотреть, как можно оптимизировать хранилище данных. Ну я сделал инвентаризацию данных, написал документ, как можно архивировать ненужные данные и отпраивил.
Наверно самый популярны вопрос, который я получаю от программистов компаний, которых мне приходилось консультировать, это вопрос связанный с библиотекой Newtonsoft.Json - при запуске сайта не загружается Newtonsoft.Json. Это достаточно популярная библиотека, которая позволяет сериализовывать объекты в JSON, что сейчас популярно для Web, ведь с помощью этого формата удобно обмениваться данными между JavaScript и бакэндом.
Но у библиотеки есть огромный недостаток - она развивается слишком быстро и слишком популярна. Да, это недостатки. Потому что все связи делают на определенную версию. Если ты сделал ссылку на версию 4.1, а также используешь другую библиотеку, которая ссылается на версию 5.0, то возникает конфликт между версиями.
При компиляции нужно убедится, что именно самая последняя версия попадает в папку bin. Выглядит просто? Но даже это не все программисты умудряются сделать. Нужно просто обновить свою версию до последней.
Почему народ пытается отправлять с сайта письма сразу же? У пользователей же не взорвется мозг, если письмо будет отправлено через пару минут, а не мгновенно. В своей книге по большим сайтам я эту проблему как раз затрагивал, потому что это реальная проблема.
Отправка письма не происходит мгновенно, поэтому тратить держать соединение с пользователем и заставлять его ждать загрузки страницы не вижу смысла. Уж лучше сразу же показать пользователю, что письмо отправлено, а вместо реальной отправки сохранить данные письма в баз. Ну а потом уже отдельная программа на сервере будет реально отправлять письма.
Даже если письмо упадет в ящик пользователя через пару минут, он скорей всего будет ругать не ваш сайт, а почтовые системы, которые тормозят.
Сейчас наверно у многих может стать вопрос - стоит ли переходить на .NET Core. Если попытаться ответить коротко, то ответ простой - Да. Если ответить чуть более развёрнуто, то ответ будет: да, стоит переходить на .NET Core. Ну а теперь уже самый развёрнутый ответ.
Я пока еще не писал кода под .NET Core, но из того, что я видел, в платформу внесли правильные изменения. Везде (или почти везде), где когда-то сделали ошибки, сейчас вносятся изменения. Например, как я понял избавляются от глобального HttpContext, который принес народу больше проблем, чем преимуществ, особенно тем, кто использует юнит тесты.
За счёт того, что .NET Core реализована чуть более корректно, я уверен, что Майкрософт будет инвестировать в неё в ближайшее время очень много труда своих программистов. Не знаю сколько лет продержится эта версия, но точно не один год.
Мне аж стало интересно. Давайте выведем эту задачу в отдельный пост. Допустим, что у тебя есть массив сотрудников некой компании и нужно отсортировать всех по возрасту. Варианты решения задачи пожалуйста в комментарии. Меня интересует именно возраст, а не дата рождения. Код мне не нужен, просто идею, как будем сортировать такие данные.
Задача. Вы программист и умеете программировать на C# веб приложения, у вас есть RDP доступ любому серверу, включая сервер приложений и у вас стоит задача подключится к базе данных. Как найти имя сервера базы данных, имя пользователя и пароль для подключения?
Я не знаю, может быть это слишком сложная задача, и для ее решения нужно подключать специально обученных людей, но сегодня получил такой вопрос от программистов из Портлэнда.