Обложка канала

SOER. Страница 22

Блог программиста S0ER. Мысли, ранний доступ к видео, фоточки, короткие посты. Ничего конкретного, но что-то будет полезным.

  • SOER

    Пытливые умы заметили, что кроме того, что линейный конгруэнтный метод не подходит для шифрования, так я еще неправильно дал значение констант, которые приводят к зацикливанию в большинстве случаев после 11 чисел. Константы 45, 21 используются с модулем m = 127, в остальных случаях нужно проверять последовательность. Там хитрая игра "битов", ее надо просчитывать. Из-за моей ошибки коллизии были не только для одного значения "seed". )))) Сути это, конечно, не меняет - слабый генератор ключа делает шифр абсолютно незащищенным.
  • SOER

    Как сделать свой скрипт для шифрования (+ задачка)

    #soer #itubeteam Основной канал для общения и публикации новых видео - Телегарм - https://t.me/softwareengineervlog Спонсорство - https://donate.s0er.ru Сайт платным контентом - https://soer.pro Зеркало для видео Дзен Видео - https://zen.yandex.ru/id/5f578bdf22e26e081a67cfd2 GitHub - https://github.com/soerdev Чат для программистов - https://discord.gg/3UVJWAs Группа ВК - https://vk.com/codeartblog

    YouTube
  • SOER

    Псевдокод - это смесь естественного языка и кода на каком либо языке программирования или смеси языков. Штука весьма недооцененная. Как правило программисты не используют псевдокод ни в обсуждениях (обычно заменяя метафорами), ни в практической работе. Между тем у Макконнела есть целая глава посвященная процессу разработки с псевдокодом, суть сводится к повторению следующих шагов: Проектирование Кодирование Проверка Рефакторинг Повторение с первого шага Вроде все как обычно, но “изюминка” в том, что первоначально вы “накидываете” логику работу метода с помощью псевдокода в комментариях. При этом псевдокод может быть очень свободным, отражая общие идеи, а не конкретные решения. Например:
    // Этот метод находит наибольшую общую подстроку, на вход мы получаем две строки, 
    // в которых ищем общую часть
    
    // дефолтным состоянием считаем “пустую строку” 
    
    //  метод не доверяет данным, поэтому делаем проверку
    //  а) на вход могут прийти не строки
    //  б) одна из строк может быть пустой
    //  если проверка не прошла, то мы возвращаем “пустую строку”
    
    // для решения используем алгоритм - https://ru.wikipedia.org/wiki/Наибольшая_общая_подстрока 
    
    далее общее описание конкретизируется и заменяется на реальный код. Такой подход позволяет реализовать подход “от общего к частному”, изначально обдумывая общую логику работу метода, а далее уточняя его до конкретной реализации. С каждой итерацией фокусировка идет только на определенных деталях решения, что существенно облегчает процесс работы. Конечно, для простых методов нет необходимости так заморачиваться, а вот для серьезной бизнес-логики, вполне годный метод.
  • Реклама

  • SOER

    За последнюю неделю смотрел два канала на ютубе, которые запомнились. Первый - это "Пьяная муха", не буду ссылку давать, канал специфичиский для тех кто любит ассемблер и старые компы. А вот второй, пожалуй, порекомендую - https://www.youtube.com/user/MrAnetto на канале пока три видоса и 49 подписчиков, но выглядит многообещающим. Формат стримов на айтишные темы, последний был по Python. Чекните, вероятно будет интересно.
  • SOER

  • SOER

    ray.so Отличная утилита для генерации картинок с кодом. Давно думал накидывать примеры с кодом. И вот теперь осталось только придумать примеры.
  • SOER

    Давайте попробуем запустить рубрику "S0ER комментирует новости", под этой записью накидайте новостей по Айти и программированию, на которые вам интересно узнать мое мнение. Выберу самые интересные и расскажу все что думаю.
  • SOER

    Проектирование - простая штука, нужно раз за разом, последовательно выполнять всего пять шагов. Накидал памятку "юному" архитектору. Попытайтесь следовать этим шагам, не пропуская и не перепрыгивая со словами "это очевидно".
  • SOER

    Раньше я думал, что плохих книг не бывает, что в каждой книге есть что-то полезное. Я так думал ровно до тех пор, пока не встретил «Agile in practice». Чтобы вы ни думали о связи названия и содержания книги - вы ошибетесь. Автор подробнейшие образом (со скриншотами и пересказывание документации) рассказывает как использовать софт по управлению проектами (наподобие, Jira), тратит на это кучу времени и страниц книги. Но на действительно полезные вещи, поясняющие смысл Agile, фреймворков и оценки качества продуктов, как будто не хватило сил. В итоге, скомканное описание теории, без примеров и нормальных аргументов, куча скриншотов и пересказа документации. Такое ощущение, что посмотрел скринкаст по Jira, разложенный на кадры и опубликованный в книге. Не смог дочитать до конца. #книга #обзор
  • SOER

    Пирамида изучения показывает какие методы передачи информации лучше для восприятия и усваивания материала. Мне это нужно для моего проекта soer.pro, хочу с уровня "Аудиовизуальный контент" уйти на практику и обучение других. Пока на стадии обдумывания.
  • SOER

    От программистов часто ожидают не только надёжного, но и безопасного поведения программы. В свое время на меня очень сильное впечатление произвели алгоритмы генерации псевдослучайных чисел. С позиции безопасности важно понимать разницу между криптографисеским и простым рандомом. Начать можно вот с этой статьи - https://habr.com/ru/post/595905/
    Обзорная экскурсия в криптографически стойкие генераторы псевдослучайных чисел

    0. Вступление Случайные числа c давних времен и по сей день используются во множестве отраслей. Это и научные исследования, которым необходима возможность формировать случайные выборки, и...

    Хабр
  • SOER

    Есть любимая игра среди программистов, называется "так писать нельзя". Кто лучше объяснит почему нельзя, тот и победил. Потом смотришь реальные проекты, а там как только не написано и проект работает, приносит деньги - бизнес работает. И я с одной стороны поддерживаю, что есть "плохой" и "хороший" код, а с другой формально посчитать сколько денег компания выиграет на "хорошем" коде, не могу. Как правило бизнес работает в терминах "рабочий" и "нерабочий" код. И это существенно проще, хотя любой код всегда лишь "частично" рабочий (баги есть всегда).
  • SOER

    Чтобы не быть голосовным. Читаю темы подлоки на 15 августа. Темы: - как правильно организовать процесс сборки с Андрюшей Ситником - как автоматизировать написание документации - как использовать тулзы по анализу графа зависимостей А чего не "как научиться читать и писать по букварю"? )))) Конференции должны решать какие-то существенные проблемы или показывать достижения. Представьте конфу по робототехнике где вам расскажут "как правильно подключать шаговый двигатель" или "какой паяльник выбрать". Тот же Ситник мог бы, наверное, что поинтереснее задвинуть. Может про алгоритмы генерации криптографисески важных случайных последовательностях для геннрации uuidов, куда интереснее и полезнее, правда и аудитория нужна более зрелая
  • SOER

    Вчера немного поругал фронтенд, хотя и не поругал на самом-то деле, а сказал правду. Не моя же вина, что паблики про фронтенд на 99% забиты всякой чушью. Я ради интереса сейчас пробежался по паре топовых телеграм-пабликов про фронтенд и ужаснулся тому что все гораздо хуже, чем мне казалось. Я понимаю, что каналы идут за интересами своих подписчиков - какие интересы, такие и каналы. Именно поэтому, я решил не гнаться за подписчиками, а говорить правду как есть.
  • SOER

    Если хотите чего-то добиться, то начните трекать свою активность - это лучший способ отслеживать свой прогресс и мотивировация идти к цели. Лучше когда есть одно приложение, которое отмечает все виды активности (умственну/физическую/отдых), но у меня такого нет. Поэтому использую разные. На картинке график моих "утренних зарядок", которые делаю по приложению. Еще у меня есть приложение для умных часов, есть календарь для отметки продвижения и планирования по каналу и soer.pro, есть план по книгам (сейчас читаю 1-2 книги в месяц) и т.д. Я использую OKR - 50% - 75% - это отличный результат. Т.е. я не корю себя за пропуски занятий, но стараюсь чтобы "в сумме" активность была в нужном диапазоне. Главное, чтобы выполнять цели стало привычкой. Одной картинки мало, чтобы оценить мою активности, например, выходные здесь пустые, но в выходные я предпочитаю активный отдых (приучил себя делать 25-30 тыс. шагов). Смысл поста простой - начните управлять своей жизнью сейчас!
  • Реклама

  • SOER

    Итак, конкурс на лучший пятничный юмор. Продолжи историю "Сидят в баре два программиста, один смеётся, второй грустный, бармен спрашивает почему ты такой грустный?" ... Ваши варианты в комментарии )
  • SOER

    Статья об основах веб-архитектуры, подойдет для новичков. Содержит много упрощений, некоторые на грани ошибок. Например, слоистую архитектуру перемешали с луковой. Но в целом статья годная. www.freecodecamp.org/news/an…patterns
    The Software Architecture Handbook

    Hi everyone! In this article we're going to talk about a very interesting, vast, and complex topic: software architecture. This is something that used to confuse me quite a bit when I was starting to code. So in this article I'll try to give you a simple, surface-level, easy to

    freeCodeCamp.org
  • SOER

    В этом месяце сложилась драматическая ситуация вокруг подписки PRO. По правилам самый активный контрибьютер месяца получает PRO. В этом месяце было минимальное количество правок и победа досталась очень легко... Но кому? С одной стороны mdlufy сделал 8 коммитов, а NimRoen сделал больше правок (точнее выиграл по количеству удалений) По правилам коммиты участвуют для получения stream и workshop, а активность при получении PRO. Поэтому в этом месяце подарочный сертификат PRO уходит NimRoen.