Спасибо, что зашли на канал! Субъективно про будущее и настоящее IT сферы от разработчика ПО Автор: https://telegram.me/dkostenko
508подписчиков сейчас
1.0цитируемость
Русскийязык
Россиягео
Подписаться в Telegram
Данные обновлены 22.07.2020
Публикации всего: 50
#СвоихНеБросаем подставим информационное плечо нашим бойцам и нашим людям на Донбассе и на Украине. Похоже, в сетях начался флэшмоб. #метаметрика поддерживает! Если вы с нами - просим репоста!! #z 🔁
❤ 3 👍 1
Перейти к публикации →
Если у вас есть опыт разработки приложений, то вы наверняка замечали, что со временем у вас вырабатывается свой персональный стиль написания кода. Вы придумываете конструкции, которые помогают делать ваш код более управляемым. Или менее управляемым... кто как может.
Так вот, говоря об успешных идеях и конструкциях, программисты уже давно начали анализировать различные подходы к проектированию и пришли к некоторой точке, "оптимальной по Паретто", определив несколько принципов, соблюдая которые, ваш код не превратится в болото во время эволюционирования системы.
Такие принципы собрали в одну кучу и назвали их S.O.L.I.D. (по первым буквам названий). Вроде бы после этого все должны были начать писать код чище и правильнее. Но нет, есть проблемы:
1) об этих принципах слышали не многие;
2) если слышали, то не понимали, как именно их реализовать на своих, используемых в работе, языках.
Хочу поделится отличным видео с актуальными примерами, как можно приемнить солид при разработке фронта:
https://www.youtube.com/watch?v=wi3wPzReKZQ
Если вы пишете на Go, то здесь можно почитать про солид в го: https://dave.cheney.net/2016/08/20/solid-go-design
Сегодня на канале @techsparks увидел интересную статью, в которой автор рассказывает, как парни из Майкрософта запилили программу, которая может по описанию требований (на человеческом языке) создать простое приложение.
https://www.newscientist.com/article/mg23331144-500-ai-learns-to-write-its-own-code-by-stealing-from-other-programs/
По словам автора, в этом софте, есть самообучающийся алгоритм, который гуляет по интернету, собирает сниппеты, понимает какие из них хорошие, а какие плохие, а потом лепит из этих кусков кода простенькие приложения.
Звучит устрашающе, ведь вроде как программисты должны быть последними, у кого машины отнимут работу. А тут разработчики из Майкрософта вроде как уже позарились на неприкосновенное.
Но если входнухть поглубже, прочитать еще раз, то становятся понятны некоторые вещи:
1) следующие несколько версий Windows точно будут написаны людьми;
2) автор статьи и авторы софта набивают себе классы, не более того - тема с AI сейчас громкая, как же на ней не попиарится парням из Майкрософта!?;
3) умный генератор простейших приложений если и удастся создать, то это был бы не финальный аккорд профессии программиста, а огромная помощь всем командам разработчиков - сократилось бы время на раскачивание джуниоров, количество которых ,можно было бы как раз подсократить.
Ну а тем, кто еще задается вопросом, нужно ли начинать программировать или уже поздно, я бы сказал так: программы, которые будут отнимать у людей работу, тоже должны быть кем-то написаны. Возможно их авторами сможете стать вы.
Посетил Go митап в офисе Авито. Ощущение от мероприятия: приятно посещать встречи, где разговаривают не о хелоуворлдах. Когда будут видео, советую взглянуть доклады от представителя badoo и от тимлида Островка. Их истории о разном, но и там и там есть…
Очень часто разработчики, считающие себя заскилованными, не могут на интервью ответить на такие вопросы: есть ли альтернативы наследованию? И какие вообще проблемы бывают с наследованием?
Вот тут ответ:
https://www.youtube.com/watch?v=wfMtDGfHWpA&feature=youtu.be
Если вкратце, то при определенных обстоятельствах, композиция может являться полноценной заменой наследованию. Основное приемущество в том, что в динамично развивающемся проекте с композицией будет проще вносить изменения в логику системы, т.к. при наследовании нередко можно капитально разворотить модель из-за требования, продиктованного жизненными обстоятельствами.
Но хочу сразу сказать, что я не со всем согласен с автором ролика. Высказывание, что композиция лучше наследования во всех случаях, не является для меня догмой. Композиция - это просто еще один вариант организации логики системы... Достаточно мощный вариант.
Одни борются за анонимность в сети, другие - за идентификацию каждого.
По ссылке обзор js-библиотеки с описанием методов, которые в совокупности могут отличить нового анонимного пользователя от старого, с достаточно высокой точностью:
http://highload.guide/blog/browser-fingerprint.html?utm_source=func_main_tlgrm&utm_medium=announcement&utm_campaign=browser-fingerprint--transkriptsiya-doklad
Мои знания по теме деанонимизации заканчивались хешированием изображения с канваса (несколько лет назад таким образом идентифицировали пользователей Tor). Но, как оказалось, методы идентификации шагнули далеко вперед.
P.S. режим инкогнито не помогает сохранить анонимность в сети.
Хорошая визуализация градиентного бустинга:
https://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html
Вообще, если хочется начать учить алгоритмы, но по мат. выкладкам ничего не понятно, то гуглите визуализации алгоритмов.
Например, простейшие сортировки, которыми разворачивают людей R&D отделы, хорошо представлены здесь: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
По моему мнению - это главный слайд митапа
Посетил Go митап в офисе Авито.
Ощущение от мероприятия: приятно посещать встречи, где разговаривают не о хелоуворлдах.
Когда будут видео, советую взглянуть доклады от представителя badoo и от тимлида Островка. Их истории о разном, но и там и там есть одна важная составляющая - без Go было бы дольше, сложнее и дороже.
P.S. сегодня вышла новая версия языка.
Периодически слушаю подкаст GolangShow. У них рактически каждый выпуск набит годным контентом.
Подкаст хоть и имеет узкую направленность (язык Go), но достаточно часто беседы ведутся в целом по разработке, и на эти беседы приглашаются различные выдающиеся личности, которые вещают что-то по узким темам.
На этот раз к ним в гости зашли разработчики IntelliJ IDEA. Общение в основном было построено вокруг их свежего продукта Gogland и планах его развития. Но было интересно послушать в общих чертах о том, какую архитектуру имеет одна из лучших (как ни крути - это так) сред разработки.
https://itunes.apple.com/ru/podcast/podkast-golangshow/id1031101295?l=en&mt=2&i=1000380700863
P.S. из последних выпусков очень запомнился тот, что про Kubernetes. Получил ответы на многие из мучивших меня вопросов, спасибо!
Rozetked
ВИЛСАКОМ РЕД / WYLSACOM RED
Библиотека программиста
[netstalkers]
Типичный программист
СТАС БОМБИТ