Давайте попробуем запустить рубрику "S0ER комментирует новости", под этой записью накидайте новостей по Айти и программированию, на которые вам интересно узнать мое мнение. Выберу самые интересные и расскажу все что думаю.
👍41❤2👎2
Выпустил 27-ой архитектурный стрим. Конспект лежит тут: https://soer.pro/codelabs/arch_stream_27/#0
🔥17👍3
За последнюю неделю смотрел два канала на ютубе, которые запомнились. Первый - это "Пьяная муха", не буду ссылку давать, канал специфичиский для тех кто любит ассемблер и старые компы.
А вот второй, пожалуй, порекомендую - https://www.youtube.com/user/MrAnetto на канале пока три видоса и 49 подписчиков, но выглядит многообещающим. Формат стримов на айтишные темы, последний был по Python. Чекните, вероятно будет интересно.
А вот второй, пожалуй, порекомендую - https://www.youtube.com/user/MrAnetto на канале пока три видоса и 49 подписчиков, но выглядит многообещающим. Формат стримов на айтишные темы, последний был по Python. Чекните, вероятно будет интересно.
👍18🔥5🙏1
Псевдокод - это смесь естественного языка и кода на каком либо языке программирования или смеси языков. Штука весьма недооцененная.
Как правило программисты не используют псевдокод ни в обсуждениях (обычно заменяя метафорами), ни в практической работе. Между тем у Макконнела есть целая глава посвященная процессу разработки с псевдокодом, суть сводится к повторению следующих шагов:
Проектирование
Кодирование
Проверка
Рефакторинг
Повторение с первого шага
Вроде все как обычно, но “изюминка” в том, что первоначально вы “накидываете” логику работу метода с помощью псевдокода в комментариях.
При этом псевдокод может быть очень свободным, отражая общие идеи, а не конкретные решения. Например:
далее общее описание конкретизируется и заменяется на реальный код.
Такой подход позволяет реализовать подход “от общего к частному”, изначально обдумывая общую логику работу метода, а далее уточняя его до конкретной реализации. С каждой итерацией фокусировка идет только на определенных деталях решения, что существенно облегчает процесс работы.
Конечно, для простых методов нет необходимости так заморачиваться, а вот для серьезной бизнес-логики, вполне годный метод.
Как правило программисты не используют псевдокод ни в обсуждениях (обычно заменяя метафорами), ни в практической работе. Между тем у Макконнела есть целая глава посвященная процессу разработки с псевдокодом, суть сводится к повторению следующих шагов:
Проектирование
Кодирование
Проверка
Рефакторинг
Повторение с первого шага
Вроде все как обычно, но “изюминка” в том, что первоначально вы “накидываете” логику работу метода с помощью псевдокода в комментариях.
При этом псевдокод может быть очень свободным, отражая общие идеи, а не конкретные решения. Например:
// Этот метод находит наибольшую общую подстроку, на вход мы получаем две строки,
// в которых ищем общую часть
// дефолтным состоянием считаем “пустую строку”
// метод не доверяет данным, поэтому делаем проверку
// а) на вход могут прийти не строки
// б) одна из строк может быть пустой
// если проверка не прошла, то мы возвращаем “пустую строку”
// для решения используем алгоритм - https://ru.wikipedia.org/wiki/Наибольшая_общая_подстрока
далее общее описание конкретизируется и заменяется на реальный код.
Такой подход позволяет реализовать подход “от общего к частному”, изначально обдумывая общую логику работу метода, а далее уточняя его до конкретной реализации. С каждой итерацией фокусировка идет только на определенных деталях решения, что существенно облегчает процесс работы.
Конечно, для простых методов нет необходимости так заморачиваться, а вот для серьезной бизнес-логики, вполне годный метод.
👍68🔥27😱1
Выпустил видос на тему шифрования. https://www.youtube.com/watch?v=XzVkwumFC8o
YouTube
Как сделать свой скрипт для шифрования (+ задачка)
#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - https://news.1rj.ru/str/softwareengineervlog
Спонсорство - https://donate.s0er.ru
Сайт платным контентом - https://soer.pro
Зеркало для видео Дзен Видео - https://zen.yandex.ru/i…
Основной канал для общения и публикации новых видео - Телегарм - https://news.1rj.ru/str/softwareengineervlog
Спонсорство - https://donate.s0er.ru
Сайт платным контентом - https://soer.pro
Зеркало для видео Дзен Видео - https://zen.yandex.ru/i…
👍10🔥6👏1🎉1
Пытливые умы заметили, что кроме того, что линейный конгруэнтный метод не подходит для шифрования, так я еще неправильно дал значение констант, которые приводят к зацикливанию в большинстве случаев после 11 чисел.
Константы 45, 21 используются с модулем m = 127, в остальных случаях нужно проверять последовательность. Там хитрая игра "битов", ее надо просчитывать.
Из-за моей ошибки коллизии были не только для одного значения "seed". ))))
Сути это, конечно, не меняет - слабый генератор ключа делает шифр абсолютно незащищенным.
Константы 45, 21 используются с модулем m = 127, в остальных случаях нужно проверять последовательность. Там хитрая игра "битов", ее надо просчитывать.
Из-за моей ошибки коллизии были не только для одного значения "seed". ))))
Сути это, конечно, не меняет - слабый генератор ключа делает шифр абсолютно незащищенным.
👍12❤1
https://www.youtube.com/watch?v=j2sJ8oDUVJg
Михайил Фленов - один из немногих людей, которого я уважаю и как специалиста, и как человека. Поэтому не могу не опубликовать ссылку на его интервью на канале "Мы обречены".
Михайил Фленов - один из немногих людей, которого я уважаю и как специалиста, и как человека. Поэтому не могу не опубликовать ссылку на его интервью на канале "Мы обречены".
YouTube
Не надо ехать в Канаду за деньгами — Михаил Фленов — Мы обречены
Разворачивайте инфраструктуру любого проекта в гибком облаке Selectel: https://slc.tl/cg9tt
Читайте об актуальных технологиях и кастомных клиентских решениях в телеграм-канале: https://slc.tl/ufggl
У наших друзей из Райффайзен Банка есть цифровое сообщество…
Читайте об актуальных технологиях и кастомных клиентских решениях в телеграм-канале: https://slc.tl/ufggl
У наших друзей из Райффайзен Банка есть цифровое сообщество…
👍48❤1🎉1
Поставил Vim плагин на VSCode под MacOS и Linux, на маке еще функцию Esc повесил на капслок.
Итог такой: на маке пользоваться удобно, так как там есть Command+<key> для всех быстрых операций, в первую очередь копипаст. На Linux идет наложение Ctrl+<key> и блокируются шорткарты к которым привык. Даже не всегда понимаешь что происходит, так как по привычке нажимаешь комбинацию клавиш, а результат - переход в непонятный режим.
Кстати, CapsLock в качестве escape - это очень удобно, но вот на Linux надо искать как перенастроить, на маке очень быстро выработалась привычка использовать, а на Linux каждый раз "WTF?".
Вывод такой: vim-плагин удобная штука, но на Linux надо тюнить (запрещать Ctrl+<key> в vim-плагине, подстраивать клавиши под себя). На маке гораздо удачнее интеграция проходит, почти незаметно.
Итог такой: на маке пользоваться удобно, так как там есть Command+<key> для всех быстрых операций, в первую очередь копипаст. На Linux идет наложение Ctrl+<key> и блокируются шорткарты к которым привык. Даже не всегда понимаешь что происходит, так как по привычке нажимаешь комбинацию клавиш, а результат - переход в непонятный режим.
Кстати, CapsLock в качестве escape - это очень удобно, но вот на Linux надо искать как перенастроить, на маке очень быстро выработалась привычка использовать, а на Linux каждый раз "WTF?".
Вывод такой: vim-плагин удобная штука, но на Linux надо тюнить (запрещать Ctrl+<key> в vim-плагине, подстраивать клавиши под себя). На маке гораздо удачнее интеграция проходит, почти незаметно.
👍18👎4
Открыл для общего гостевого доступа первый архитектурный стрим.
https://platform.soer.pro/#!/pages/streams?fid=0
https://platform.soer.pro/#!/pages/streams?fid=0
👍47🔥8
Помню когда начинал работать с Linux, после винды казалось, что файловая система какая-то очень перемудренная, теперь же думаю, что все просто, локанично и главное на своем месте.
Знаю, что далеко не все знают, чем, например, отличается /mnt от /media, или /opt от /usr/local. Для всех кто хоть раз задумывался о том как содержать файловую систему своего линукса в нормальном состоянии, рекомендую посмотреть какие директории для чего должны использоваться. Да и для общего развития полезно.
https://unlix.ru/для-чего-нужна-каждая-директория-в-linux/
Знаю, что далеко не все знают, чем, например, отличается /mnt от /media, или /opt от /usr/local. Для всех кто хоть раз задумывался о том как содержать файловую систему своего линукса в нормальном состоянии, рекомендую посмотреть какие директории для чего должны использоваться. Да и для общего развития полезно.
https://unlix.ru/для-чего-нужна-каждая-директория-в-linux/
UNLIX - заметки о UNIX и LINUX системах
Для чего нужна каждая папка (директория) в Linux | UNLIX
Файловая концепция Linux – это четкая структура каталогов и файлов. В этом посте рассмотрим предназначения всех директорий. Файловые системы Линукс содержат большое множество каталогов, большинство из них подходят под спецификацию FHS (Filesystem Hierarchy…
👍68🔥10❤1
Поговорим про ошибки. Как известно, не ошибается только тот, кто ничего не делает. Все остальные ошибаются и очень часто. Более того, ошибаться - это нормально, и сильно переживать об этом не стоит. Но, как всегда, есть нюансы.
Ошибки бывают разные, я с ходу могу выделить следующие группы:
- ошибки проектирования - это когда хотели как лучше, а получилось как всегда. Например, заложили недостаточное количество ресурсов, и сервис лег под нагрузкой. Или неправильно поняли заказчика, или еще что-то подобное.
- ошибки конфигурирования - это ошибки, которые приводят либо к накопительным проблемам (деградация уровня сервиса со временем), либо к критическим ошибками при разворачивании системы. Бывает и в процессе эксплуатации, но намного реже.
- ошибки интеграции - это когда по отдельности все работает, а вместе - нет. Обычно говорят "ошибки на швах", под швом имеется в виду точка интеграции двух сервисов
- технические ошибки - это ошибки связанные с неправильным использованием или пониманием технологий, когда человек сам толком не понимает что делает и какие последствия будут у его решений.
Так вот, первые три группы ошибок - это как раз "нормальные" ошибки, понятно, что домен коллизий в этих группах такой, что рассмотреть все варианты - невозможно. А последняя группа - это банальная безграмотность, и если такие ошибки происходят редко (знать всего, конечно же нельзя), то это норм - признал, исправил и ок. Но если специалист часто совершает именно технические ошибки, то считать их "нормальными" никак нельзя. Очень часто, в подобных случаях свою безграмотность прикрывают тем, что мол "ошибаться - это нормально" или "программирование - это сложно".
Так что, ошибки - это норм, но если это одни и те же ошибки, которые сыпятся как из рога изобилия, то это уже профнепригодность. )
Ошибки бывают разные, я с ходу могу выделить следующие группы:
- ошибки проектирования - это когда хотели как лучше, а получилось как всегда. Например, заложили недостаточное количество ресурсов, и сервис лег под нагрузкой. Или неправильно поняли заказчика, или еще что-то подобное.
- ошибки конфигурирования - это ошибки, которые приводят либо к накопительным проблемам (деградация уровня сервиса со временем), либо к критическим ошибками при разворачивании системы. Бывает и в процессе эксплуатации, но намного реже.
- ошибки интеграции - это когда по отдельности все работает, а вместе - нет. Обычно говорят "ошибки на швах", под швом имеется в виду точка интеграции двух сервисов
- технические ошибки - это ошибки связанные с неправильным использованием или пониманием технологий, когда человек сам толком не понимает что делает и какие последствия будут у его решений.
Так вот, первые три группы ошибок - это как раз "нормальные" ошибки, понятно, что домен коллизий в этих группах такой, что рассмотреть все варианты - невозможно. А последняя группа - это банальная безграмотность, и если такие ошибки происходят редко (знать всего, конечно же нельзя), то это норм - признал, исправил и ок. Но если специалист часто совершает именно технические ошибки, то считать их "нормальными" никак нельзя. Очень часто, в подобных случаях свою безграмотность прикрывают тем, что мол "ошибаться - это нормально" или "программирование - это сложно".
Так что, ошибки - это норм, но если это одни и те же ошибки, которые сыпятся как из рога изобилия, то это уже профнепригодность. )
👍56🔥4❤2🤔1
Выпустил ролик-обзор по двум рест-плагинам для VSCode по Rest Clinet-у не "дожал", потому что использую его сильно меньше чем Thunder. Но там функциональности тоже много.
https://www.youtube.com/watch?v=HtZGpakYdeY
https://www.youtube.com/watch?v=HtZGpakYdeY
YouTube
Лучшие REST клиенты в VSCode
#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - https://news.1rj.ru/str/softwareengineervlog
Спонсорство - https://donate.s0er.ru
Сайт платным контентом - https://soer.pro
Зеркало для видео Дзен Видео - https://zen.yandex.ru/i…
Основной канал для общения и публикации новых видео - Телегарм - https://news.1rj.ru/str/softwareengineervlog
Спонсорство - https://donate.s0er.ru
Сайт платным контентом - https://soer.pro
Зеркало для видео Дзен Видео - https://zen.yandex.ru/i…
👍14🔥3
Успех - это когда твои стримы по архитектуре начинают использовать другие люди, для подготовки своих обучающих курсов. Если вы тупо не копируете видео, а просто используете информацию, которую я рассказал, то спрашивать у меня разрешения не нужно.
Я всего лишь собрал материал воедино из многих источников, плюс добавил описание своего опыта. Я не обладаю "исключительными правами" на эти знания. Более того, все мои ролики на Ютубе выходят по Creative Commons, их тоже можно использовать как хотите, не спрашивая у меня разрешения.
Я всего лишь собрал материал воедино из многих источников, плюс добавил описание своего опыта. Я не обладаю "исключительными правами" на эти знания. Более того, все мои ролики на Ютубе выходят по Creative Commons, их тоже можно использовать как хотите, не спрашивая у меня разрешения.
👍105❤🔥20👏9🔥4
На ютуб канале Sacred Developer вышло дополнение к моему ролику по рест клиентам: https://www.youtube.com/watch?v=8sn-m37lC4I
В видео детально рассмотрен Rest Client для VSCode
В видео детально рассмотрен Rest Client для VSCode
YouTube
BEST REST client VSCode
Ссылка на видео на канале S0ER: https://www.youtube.com/watch?v=HtZGpakYdeY
Поддержка канала и его развития https://www.donationalerts.com/r/sacreddeveloper
Ссылка на телеграм канал с обсуждениями https://news.1rj.ru/str/sacred_dev
Поддержка канала и его развития https://www.donationalerts.com/r/sacreddeveloper
Ссылка на телеграм канал с обсуждениями https://news.1rj.ru/str/sacred_dev
👍16