S0ER – Telegram
10.6K subscribers
333 photos
18 videos
15 files
707 links
Архитектура | Программирование | Профессиональное развитие

Соер.Клуб - https://news.1rj.ru/str/soer_live

По всем вопросам писать на @soerdev
Download Telegram
https://dev.to/nx/nx-the-fastest-growing-monorepo-solution-in-the-js-ecosystem-5en9

К монорепозиториям у меня двоякое отношение, с одной стороны есть очевидные преимущества:
- все лежит вместе и обновляется "сразу"
- можно использовать генерацию кода сразу под структуру монорепозитория
- меньше гемора с управлением зависимостей
- удобное тестирование только измененного кода
- удобна совместная разработка

Но на практике дополнительная автоматизация (в данном случае nx) - это дополнительные затраты на изучение и сопровождения. Мало того, что в работе постоянно появляются новые библиотеки, так еще надо колупаться и разбираться "а что там добавили в nx?".

Меня это бесит больше всего - инструменты не остаются маленькими и простыми, они постоянно растут, добавляют новые фичи, которые вроде надо использовать (а иначе зачем этот монстр, если мы не все фичи задействовали?). Это как обычная лопата, которая каждые пару месяцев получает новые фичи, которые в глобальном смысле бесполезны. Но тебе все равно надо чекнуть, вдруг там что-то полезное. А хочется, чтобы лопата оставалась лопатой - всегда.
👍15😁1
Я не согласен с утверждением, что программисты большую часть времени сосредоточены на коде бизнес-логики. Программисты большую часть времени сосредоточены на стыке бизнес-логики и инфраструктуры, потому что постоянно приходится делать "кодирование" понятий естественных для человека, в понятие естественные для компьютера. Цвет - r, g, b, фотография - набор <x, y, r, g, b>[] и т.д.
Большую часть времени мы думаем как "хочу найти самые дешевые билеты" превратилось в "сделать краулинг, сделать парсинг, продумать структуру для быстрого поиска" и т.д.

Получается что, инфраструктура - стандартна (БД, MQ, HTTP), бизнес-логика "скудна" (хочу быстро найти, хочу оптимизировать затраты, хочу построить план), а вот "клей" (как бизнес соеденить с инфраструктурой) он самый сложный, причем именно с ним чаще всего возникают вопросы - а куда его отнести?

Так что деление на инфраструктуру, сервисы и бизнес-логику хоть и универсально, но не так уж и точно отражает суть проектирования.
👍46🐳9👎2
Ещё одна книга на вечер. Читается легко. Содержит много обобщений и правил. Рассказывает о зависимостях, двух школах тестирования, видах тестов и их соотношении в проекте.
Особо понравилось классификация кода в ширину и глубину, а так же поиск оптимального соотношения характеристик тестов.

Из того что не понравилось - поверхностное изложение функционального программирования, водянистость примеров. И малое количество эвристик для оценки качества теста. Было бы лучше больше примеров в стиле хорошо/плохо.

В целом книга лёгкая и годная.

#книга #отзыв
👍55🐳8🔥1
Ребята, запомните - тесты не средства отладки программы, это индикатор показывающий "работает/не работает", тесты могут помогать искать место где произошла проблема, но не обязаны.
Юнит тесты должны:
- быстро запускаться
- интегрироваться в разработку
- показывать что возникла проблема

Тест запускается параллельно с разработкой, поэтому если вы написали кусочек кода и начали ловить регрессии, то понятно что проблема в том коде, который вы написали. А если вы запускаете тесты раз в год по обещанию и думаете, что они вам не только просигнализируют, но и точно покажут место где произошла проблема, то вы неверно их используете.
👍54🐳6😁1🤮1
г. Сочи, ул. Войкова 4В "Мой кофе" в воскресенье 10 июля в 10:00
Встреча всех кто желает со мной пообщаться. 😎
👍27🔥6🐳6😁1🎉1
Вчера подарили usb микрофон для "полевых" условий, а сегодня я его уже протестил и записал два ответа на вопросы soer.pro

Напоминаю что любой желающий может совершенно бесплатно слушать аудио ответы на сайте. Сегодня вопросы были про безопасность
👍13🔥8
Пришёл Ден и мы пошли под кондеры
👍241😁1
👍69🔥152😁1
Очень круто пообщались. Поговорили про учёбу, кубер, современные архитектурные стили и решения. Ребята приехали из Казани и Питера. Получилось неожиданно не душно)))
🔥53😁6
https://youtu.be/vIbyROcXOsA
Вероятно меня смотрят не только опытные ребята, но и те кто только планирует поступать в ВУЗ .

Сегодня на встрече был молодой автор подкастов, мой коллега по ютуб цеху - Вадим. Его канал называется "Вышка". Это не реклама, просто в знак поддержки прошу чекнуть, вдруг зайдёт.

Темы подкастов не про айти! Но про образование.
8👍5😁2
Ребята, я пытаюсь найти на ютубе русскоязычный канал, который похож на мой. Я устал от каналов по типу "Курс Python за 30 уроков", мне хочется найти такой канал, где будет про разработку, архитектуру, размышления, т.е. про вайб программирования.

Я не верю, что таких каналов нет, но найти чего-то не получается. Может у вас на примете есть что-то достойное?
🤔27😢4👍1
https://www.youtube.com/watch?v=Da-avtMWIf8
Пытался сделать объяснения моноида максимальо понятно, чтобы вывод, что моноид - это паттерн был максимально прозрачен. И относиться к нему нужно как паттерну, что Фабрика, что Моноид, что Билдер - это все способ построения удачной архитектуры приложения. И по сложности организации моноид куда проще большинства известных паттернов.
👍30🤮1
В этом интерфейсе есть одна большая ошибка - он не ООПый )
Суть в том, что один параметр операции должен быть собственным стейтом объекта, а второй параметр должен быть получен извне. Тогда это будет ООП.
Но при таком подходе я побоялся получить вопросы в стиле "а где тут бинарная операция?".

Думал "напихают" за это, а "напихали" за градусник )
👍18😁1🤔1
В дополнение к видео по моноидам выйдет еще один ролик с реализацией примера.
Пример уже сейчас можно посмотреть - https://github.com/soerdev/soer_examples/blob/latest/monoid/monoid.ts
А ролик выйдет либо в конце этой недели, либо в начале следующей.
🔥12👍1
Очень много ссылок прислали, на годные каналы. Вот такой список подписок у меня получился:

- Архитектура и теория программирования

Алексей Радзишевский https://www.youtube.com/c/АлексейРадзишевский

Максим Смирнов https://www.youtube.com/watch?v=4P5DLoaGPks

System Education https://www.youtube.com/c/SystemEducation

Эксперт по IT и организационному развитию https://www.youtube.com/user/rosssoxa

Андрей Созыкин https://www.youtube.com/c/AndreySozykinCS

- C#

Степан Береговой https://www.youtube.com/c/SBeregovoyRU

- Python

abglazov https://www.youtube.com/c/abglazov

Диджитализируй https://www.youtube.com/c/%D0%94%D0%B8%D0%B4%D0%B6%D0%B8%D1%82%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D1%83%D0%B9

- Java
https://www.youtube.com/c/DecembristITTV
👍36🔥51
Мне понравилось вот это видео - https://www.youtube.com/watch?v=oTz_OmgJFm8

Я сам не понимаю зачем нужны блок-схемы, но их постоянно везде пихают в обучение. Брать растровые изображения для отрисовки схемы - очевидная ошибка, векторные форматы и с позиции формирования и с позиции памяти - сильно оптимальнее.
👍18
Ответил на вопрос "Здраствуйте Soer. Какое у вас отношение к индустрии разработки игр? Стоит ли идти туда?" на soer.pro
👍5
Я знаю, что стоит мне сказать хоть слово в телеге, твитторе или канале, как это тут же начинает обсасываться в кулуарах. Так что давайте накину на вентилятор для того чтобы не нарушать традиции.

Дима Рожков aka Senior Software Vlogger

Я знаю, что многих он выбешивает своей безапелляционной манерой вести обсуждение, по крайней мере меня точно в свое время выбесил до белого каления. Но спустя много лет сетевого знакомства могу сказать, что это один из немногих людей, которые действительно говорят что думают, и не занимаются всякой подковерной возней.

И тут есть нюанс, можно развиваться ориентируясь на кого-то, а можно вступая в конкуренцию. И если у вас есть оппонент, который не согласен с вашей точкой зрения, но при этом имеет твердые моральные принципы, чтобы не использовать всякие "грязные" трюки, то это может помочь ничуть не хуже, чем "поддерживающая мотивация" когда тебе говорят "пробуй у тебя все получится, ты молодец".

Я уже много раз говорил, что изначально завел свой ютуб канал в противовес Диминому каналу, потому что меня бесило, что в его роликах софтскилы играли большее значение, чем хардкорное программирование.

Мало кто знает, что я так же был забанен во всех ресурсах SSV, может до сих пор забанен, не проверял давно.

Собственно, я пишу это к тому, что хорошие соперники могут быть гораздо лучше чем "хорошие друзья" (да, да именно в кавычках "друзья").

Вспомнилось потому что наткнулся на историю Димы на канале "Разрабы", ссылку прилагаю. А смысла в этом посте особо не надо искать, просто забавно как меняются люди и отношение к ним.


https://youtu.be/6C5joIH_amU
👍30😁5💩5🔥3🤯31🤔1
Иногда у меня складывается впечатление, что только я Маркса и не читал. Вокруг столько экспертов, которые в деталях цитируют Маркса, добивая цитатами Энгельса.
А вы тоже не читали Маркса? Если да - палец вверх ☝️ 👆 👍
👍375👎56😁8🔥2
Каждый разработчик, даже, прости госпади, фронтендер, должен хотя бы прочитать статью о том как строятся компиляторы и как можно написать свой.

Чтобы сэкономить вам время, вот ссылочка на статью, которая без воды и полезна с позиции практики.

https://borretti.me/article/lessons-writing-compiler
👍36💩53
Почему каждый хоть раз должен написать свой компилятор? Вопрос очень хороший. Написание компилятора это как "подтягивание" в спорте - базовое упражнение, которое затрагивает огромную часть практически значимой теории.

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

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

Поэтому я абсолютно серьезно рекомендую написать свой простенький компилятор, это большая инвестиция в свои профессиональные знания.
👍57🔥6💩2