Вчера немного поругал фронтенд, хотя и не поругал на самом-то деле, а сказал правду.
Не моя же вина, что паблики про фронтенд на 99% забиты всякой чушью.
Я ради интереса сейчас пробежался по паре топовых телеграм-пабликов про фронтенд и ужаснулся тому что все гораздо хуже, чем мне казалось.
Я понимаю, что каналы идут за интересами своих подписчиков - какие интересы, такие и каналы. Именно поэтому, я решил не гнаться за подписчиками, а говорить правду как есть.
Не моя же вина, что паблики про фронтенд на 99% забиты всякой чушью.
Я ради интереса сейчас пробежался по паре топовых телеграм-пабликов про фронтенд и ужаснулся тому что все гораздо хуже, чем мне казалось.
Я понимаю, что каналы идут за интересами своих подписчиков - какие интересы, такие и каналы. Именно поэтому, я решил не гнаться за подписчиками, а говорить правду как есть.
👍56🔥6🎉2👎1😢1
Чтобы не быть голосовным. Читаю темы подлоки на 15 августа.
Темы:
- как правильно организовать процесс сборки с Андрюшей Ситником
- как автоматизировать написание документации
- как использовать тулзы по анализу графа зависимостей
А чего не "как научиться читать и писать по букварю"? ))))
Конференции должны решать какие-то существенные проблемы или показывать достижения. Представьте конфу по робототехнике где вам расскажут "как правильно подключать шаговый двигатель" или "какой паяльник выбрать".
Тот же Ситник мог бы, наверное, что поинтереснее задвинуть. Может про алгоритмы генерации криптографисески важных случайных последовательностях для геннрации uuidов, куда интереснее и полезнее, правда и аудитория нужна более зрелая
Темы:
- как правильно организовать процесс сборки с Андрюшей Ситником
- как автоматизировать написание документации
- как использовать тулзы по анализу графа зависимостей
А чего не "как научиться читать и писать по букварю"? ))))
Конференции должны решать какие-то существенные проблемы или показывать достижения. Представьте конфу по робототехнике где вам расскажут "как правильно подключать шаговый двигатель" или "какой паяльник выбрать".
Тот же Ситник мог бы, наверное, что поинтереснее задвинуть. Может про алгоритмы генерации криптографисески важных случайных последовательностях для геннрации uuidов, куда интереснее и полезнее, правда и аудитория нужна более зрелая
👍29😁12😢1🙏1
Есть любимая игра среди программистов, называется "так писать нельзя". Кто лучше объяснит почему нельзя, тот и победил.
Потом смотришь реальные проекты, а там как только не написано и проект работает, приносит деньги - бизнес работает.
И я с одной стороны поддерживаю, что есть "плохой" и "хороший" код, а с другой формально посчитать сколько денег компания выиграет на "хорошем" коде, не могу.
Как правило бизнес работает в терминах "рабочий" и "нерабочий" код. И это существенно проще, хотя любой код всегда лишь "частично" рабочий (баги есть всегда).
Потом смотришь реальные проекты, а там как только не написано и проект работает, приносит деньги - бизнес работает.
И я с одной стороны поддерживаю, что есть "плохой" и "хороший" код, а с другой формально посчитать сколько денег компания выиграет на "хорошем" коде, не могу.
Как правило бизнес работает в терминах "рабочий" и "нерабочий" код. И это существенно проще, хотя любой код всегда лишь "частично" рабочий (баги есть всегда).
👍54🤔10🤯1
От программистов часто ожидают не только надёжного, но и безопасного поведения программы. В свое время на меня очень сильное впечатление произвели алгоритмы генерации псевдослучайных чисел.
С позиции безопасности важно понимать разницу между криптографисеским и простым рандомом.
Начать можно вот с этой статьи - https://habr.com/ru/post/595905/
С позиции безопасности важно понимать разницу между криптографисеским и простым рандомом.
Начать можно вот с этой статьи - https://habr.com/ru/post/595905/
Хабр
Обзорная экскурсия в криптографически стойкие генераторы псевдослучайных чисел
0. Вступление Случайные числа c давних времен и по сей день используются во множестве отраслей. Это и научные исследования, которым необходима возможность формировать случайные выборки, и компьютерное...
👍29🔥1
Раньше я думал, что плохих книг не бывает, что в каждой книге есть что-то полезное. Я так думал ровно до тех пор, пока не встретил «Agile in practice».
Чтобы вы ни думали о связи названия и содержания книги - вы ошибетесь. Автор подробнейшие образом (со скриншотами и пересказывание документации) рассказывает как использовать софт по управлению проектами (наподобие, Jira), тратит на это кучу времени и страниц книги. Но на действительно полезные вещи, поясняющие смысл Agile, фреймворков и оценки качества продуктов, как будто не хватило сил.
В итоге, скомканное описание теории, без примеров и нормальных аргументов, куча скриншотов и пересказа документации.
Такое ощущение, что посмотрел скринкаст по Jira, разложенный на кадры и опубликованный в книге.
Не смог дочитать до конца.
#книга #обзор
Чтобы вы ни думали о связи названия и содержания книги - вы ошибетесь. Автор подробнейшие образом (со скриншотами и пересказывание документации) рассказывает как использовать софт по управлению проектами (наподобие, Jira), тратит на это кучу времени и страниц книги. Но на действительно полезные вещи, поясняющие смысл Agile, фреймворков и оценки качества продуктов, как будто не хватило сил.
В итоге, скомканное описание теории, без примеров и нормальных аргументов, куча скриншотов и пересказа документации.
Такое ощущение, что посмотрел скринкаст по Jira, разложенный на кадры и опубликованный в книге.
Не смог дочитать до конца.
#книга #обзор
👍25🤯11😁5😢3🔥2
Давайте попробуем запустить рубрику "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