Страница телеграм канала Pepegramming

pepegramming logo

Pepegramming

587 подписчиков

Грустно о программировании. Все проблемы сюда: @davydovanton Ссылки на конкретные посты: http://telegra.ph/Pepegramming-Contents-03-11 Обратная связь: https://goo.gl/forms/iUd1Gufq6WnTsaO62


Входит в категории: Технологии
Pepegramming
05.07.2019 17:07
DNS конечно же, тяжелый перелет дает о себе знать
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
05.07.2019 17:07
Пятничное чтиво Эту неделю провел в UK, где в офисе cookpad ruby core разработчики научи контрибьютить в язык. Расскажу об этом и покажу с чего начать в будущих стримах. А пока можно посмотреть прошлые стримы. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— The Sacred Art of Concurrent and Parallel Programming На примере clojure рассказывается разница между конкурентным и параллельным программированием. Объясняются как работаю и зачем использовать блокировки. Объясняется как работают JVM Threads, Futures, Delays и Promises. В конце показывается как написать асинхронную очередь. ————————————— Что такое DNS – Hexlet Guides Подробный гайд от Hexlet о том, что такое DNC. Рассказывается история появления, причины и как DNC работает. Из интересного было почитать о рекурсии в DNC. Однозначный маст рид для тех, кто не знает что это такое ————————————— Next steps toward Go 2 Go core команда рассказывает о процессе перехода на 2.0 версию языка. Главная проблема - сделать изменения затрагивающие изменения в самом языке так, что бы разработчики смогли их пережить. Понравилась обратная связь кор команды с комьюнити, чего не хватает в ruby. Будет интересно посмотреть, что из этого получиться. Русский перевод ——— одной строкой ——— - Code review checklist; - Слайды, рассказывающие почему SOLID ошибочен;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
28.06.2019 15:06
> По вопросам как это сделать можно писать в личку. Основная идея в том, что бы сделать в /rbi папке rbi файл со всеми аннотациями. Для этого можно руками все написать, а можно сгенерировать через srb init в любом рабочем проекте где есть эта библиотека. В sorbet/rbi/gems/gem_name.rbi будет лежать сгенерированный файл к библиотеке без аннотаций. Нужно будет его скопировать в бибилиотеку, добавить аннотаций Использование srb tc в геме автоматически подтянет rbi файлы из /rbi/ директории и автоматически все провериться.
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
28.06.2019 15:06
Твиттер как обычно не работает, вот рабочая ссылка: https://twitter.com/anton_davydov/status/1142090131576414209
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
28.06.2019 15:06
Пятничное чтиво На следующей неделе уезжаю в UK на приватное мероприятие посвященное будущему руби, поэтому стрима не будет. Вместо этого постараюсь сделать выжимку обсуждений и выложить тут. К тому же, чувствую, что стримы начинают изживать себя. В веду этого и смены работы, беру летние каникулы и закрываю первый сезон стримов. В следующем сезоне улучшу инфраструктуру, сделаю стриминг на несколько платформ, добавлю донаты и подтяну качество. Так же хочу собрать идей и сделать голосование. А так же попробовать 2 новых формата и сделать нормальный сайт. Спасибо, что эти пол года смотрели видео, скоро будет круче. А пока можно посмотреть прошлые стримы. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Things I Learnt The Hard Way in 30 Years of Software Development Мысли инженера, который провел в профессии 30 лет. Много мыслей до которых дошел сам, много базовых вещей. Зацепил пункт “A language is much more than a language”, потому это не только об языках, но и фреймворках, подходах и библиотеках. И я понял это на собственном опыте с ханами. А “git add -p” является фаворитом последние 3 года, хотя на первой работе пытались объяснить что только так качество коммитов увеличивается, а я не верил. Однозначный мастхев этого выпуска. ————————————— On Ruby and type checkers Sorbetting a gem, or the story of the first adoption Discussion: Sorbet: A Type Checker for Ruby Спустя неделю после выхода sorbet (тайп чекера для руби), начали появляться статьи с впечатлениями о данной библиотеки. Свои впечатления описал в твиттере. От себя добавлю, что главная проблема на данный момент в инфраструктуре и мейнтейнерах библиотек. Аннотаций для гемов сильно не хватает. Так что, если вы хотите сделать коммит в ОСС и поиграть с сорбетом - советую помочь мейнтейнерам и сделать аннотации для библиотек, которые используюте. По вопросам как это сделать можно писать в личку. ————————————— ARPANET, Part 2: The Packet – Creatures of Thought Обожаю тексты рассказывающие историю IT. Сегодня в выпуске - история создания компьютерных сетей. В русском переводе так же можно найти ссылки на статьи об истории реле, транзисторов и полный текст истории интернета.  ——— одной строкой ——— - GitHub: Generate Sorbet RBIs from YARD documentation; - http://amp.gs/OUEn: Generate beautiful README in 10 seconds;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
21.06.2019 17:06
Пятничное чтиво На этой неделе прошел стрим, на котором подвел OBS (программа для стрима и захвата экрана). Запись спас, монтирую и надеюсь скоро выложу. А пока можно посмотреть прошлые стримы и добавить себе календарь предстоящих стримов с сайта. Так же буду рад предложениям, вопросам и идеям для стримов. Можно написать в личку, а можно в анонимную форму. ————————————— IoC container solves a problem you might not have but it’s a nice problem to have В статье рассматривается что такое IoC контейнер, какие проблемы решаются с помощью контейнеров и какие трудности возникают при использовании данного подхода. Я уже писал об контейнерах в руби и последние 3 года использую приложения только с контейнерами. По собственному опыту скажу, что отдельный список зависимостей для каждого файла облегчает понимание что происходит в зависимости, а DI облегчает тестирование. ————————————— Developing Microservices with Behavior Driven Development and Interface Oriented Design В статье рассматривается проблема тестирования сервисной (микросервисной) архитектуры. Как пример решения проблемы предлагается использовать BDD. Указывается на необходимость четко определенных контрактов между сервисами, разделение поведения на consumer и producer. Кроме того, объясняется почему тесты должны быть независимы от реализации и почему проверка ошибок важна. Добавлю, что тестирование сервисной архитектуры сложная задача, которую до сих пор не понятно как решить. Симпатизирует мнение, что тестирование не является достаточным в сервисной архитектуре и разработчики должны вкладывать в ресурсы в инфраструктуру мониторинга и отката изменений. ————————————— How to build an open source community Статья 2008 года о создании комьюнити в опенсорс проектах. К сожалению опенсорс проекты часто спотыкаются о маркетинг и коммуникации, а также об отсутствие комьюнити вокруг продукта. В тексте рассматривается определение комьюнити, из каких частей состоит. А так же, в конце много ссылок раскрывающих тему подробнее. ——— одной строкой ——— - Awesome список статей, сайтов и ресорсов связанных с ментальным здоровьем.. Хоть тема к программированию отношения не имеет, считаю, что важно оставить эту ссылку; - Netflix использует dry библиотеки. Также в треде рассказывается, почему не прижился ханами; - Главная новость недели - sorbet открыли для публичного использования. Я уже играю с ним в проектах, на следующем стреми планирую показать и рассказать об этой библиотеки;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
19.06.2019 21:06
к сожалению из-за вылета OBS (программы для захвата экрана и стрима) у меня не сохранилась вторая половина стрима. Попробую что-то с этим сделать, но боюсь, что записи в этот раз не будет
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
19.06.2019 20:06
Начинаем стрим. https://www.twitch.tv/davydovanton
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
19.06.2019 13:06
забыл добавить, хочется взять разные примитивы из https://github.com/ruby-concurrency/concurrent-ruby и показать как их использовать вместе со сканером
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
19.06.2019 12:06
Сегодня в 20:00 по москве будет стрим. Будем делать сканер портов. Youtube плейлист всех стримов

Твич аккаунт https://www.twitch.tv/davydovanton
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
14.06.2019 15:06
к сожалению амплифер съедает twitter ссылки. Что бы открыть ссылку - удалите все utm_source параметры
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
14.06.2019 15:06
Пятничное чтиво На следующей неделе стрим, а пока можно посмотреть прошлые стримы и добавить себе календарь предстоящих стримов с сайта. Так же буду рад предложениям, вопросам и идеям для стримов. Можно писать в личку, а можно в анонимную форму. ————————————— На этой неделе, ruby core добавили pipeline оператор, являющимся алиасом для вызова метода с неочевидными изменениями. Интернет раскололся на 2 лагеря, половине нравится, а другой - нет. Пока Матц попросит убедить в ненадобности этой фичи, давайте рассмотрим языки с пайп оператором. - F# (так же есть forward composition operator и backward pipe); - Elixir ; - Elm (включает backward pipe); - Язык прототип от Матца streem; - bash; - OCaml; - R; - Объяснение чем композиция в хаскеле отличается от pipe в f# Языки в которых предлагают сделать пайп оператор: - Kotlin; - Rust; - Babel; ————————————— Why I No Longer Use MVC Frameworks Эссе-рассуждение о том, куда движется фронтенд и почему MVC пора выкинуть. А также рассказывается о идеи SAM (State-Action-Mode) паттерна. Чем больше разбираешься с сервисами, DDD и организацией кода, тем больше понимаешь, что MVC не решает проблем организации логики. При этом, паттерн может мешать разработчикам. Из-за этого появляются монстры вида MVC но с сервисами. Как пример, Luca Guidi два года назад сделал доклад в котором рассуждал, что современный веб чейн функций. Avdi Grimm написал мысли по поводу MVC и того, что паттерн нужен только для UI. Что сильно пересекается с мыслями Andrzej о том, что Rails не MVC фреймворк. ————————————— Redis: under the hood В статье найдете: что делает редис на старте, как обрабатываются реквесты и возвращается результат. В продолжении статьи рассказывается как трассировать команды GET и SET. Если близка тема того, как работают базы данных или конкретно редис - однозначный мастхев. ——— одной строкой ——— - Записи ruby core developer meeting за 13 июня, краткое описание тикетов, над которыми работает руби кор с комментариями; - Описание rate limit стратегий из sidekiq; - Building side projects - DEV Community;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
07.06.2019 14:06
@davydovanton На тему визуальных языков программирования рекомендую посмотреть на https://ballerina.io/ Достаточно прикольный концепт самого языка, и авторы поддерживают визуальное редактирование/создание кода через официально поддерживаемый плагин для VSCode.
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
07.06.2019 14:06
Пятничное чтиво На этой неделе прошел стрим, делал реализацию the game of life. - Сайт с календарем стримов; - Youtube плейлист прошедших стримов; Так же буду рад предложениям и вопросам, можно в личку, можно в анонимную форму. ————————————— Functional architecture is Ports and Adapters и русский перевод Автор, используя f#, показывает как разделение приложения на чистые и грязные функции ложиться на концепцию портов и адаптеров из гексагональной архитектуры. Для проверки разделения на “правильность” используется Haskell. Вывод из статьи: чистые функции - кор приложения, а остальные функции оказываются вокруг, как это сделано в портах и адаптерах. Мне нравится эта идея, начинаю приходить к похожему подходу в проектах. В таком случае вызов логики становится линейным и легко тестируемым за счет изоляции сайд эффектов. Кажется, что в js мире приходят к чему-то такому с выносом синхронных функций в кор и асинхронных вокруг этого кора. Ну а для тех, кто не слышал о гексогональной архитектре ссылка на статью, в которой автор попробовал собрать эти концепции вместе. А так же, русски перевод. ————————————— Advanced Postgres Performance Tips Using EXPLAIN ANALYZE to debug a slow SQL query Understanding Window Functions Серия статей о постгресе и SQL благодаря которым можно разобраться с EXPLAIN ANALYZE, window functions и MATERIALIZED VIEW. Статья об EXPLAIN ANALYZE помогла разобраться в оптимизации кода. А если используете hanami/rom, то есть лайфхак, как вызывать analyze из репозитория: Profiling your SQL queries in hanami (or ROM) Ну а так же плагин для rom5, который позволяет использовать форматирование для explain. ————————————— Rethinking Visual Programming with Go Недостаток программирования - сложно представить схему системы только с помощью текста. Поэтому разработчики любят диаграммы, вайтборды и другие вещи, помогающие изобразить мысли в виде рисунков. На этой почве появляются тулсеты (IDE рисующие зависимости классов, таблиц в бд и так далее), которые могут помочь упростить понимание абстракций. И о таком тулсете рассказывается в статье. Автор попробовал визуализировать код на го и теперь делиться опытом. Кроме тулсетов создаются языки программирования построенные на визуальном программировании. Например luna, который развивается до сих пор и позволяет манипулировать данными в визуальном стиле. Так же, обороты набирает программирование в VR: Introducing LogiX - VR multiplayer visual programming system. Так же, в dry-system появляются зачатки похожей системы. Уже есть граф зависимостей, скоро будет “среда” для полноценной работы над ним: Generate dependency graph for all objects in application container ——— одной строкой ——— - What are your worst coding habits?; - Пропозал однострочного паттерн матчинга в руби;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
05.06.2019 22:06
Всем спасибо за стрим. Ссылки: youtube. Видио процессится, в начале может быть плохое качество, но через какое-то время будет 1080

twitch (удалится через 14 дней) https://www.twitch.tv/videos/434861166 Буду рад идеям для следующих стримов, пожеланиям и что понравилось/не понравилось
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме