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

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

По всем вопросам писать на @soerdev
Download Telegram
Есть ли у вас проблема с доведением идей до реализации?
Поясню о чем я, делая контент и развивая свои социальные проекты я реализую всего-лишь около 30% тех идей, которые у меня появляются. У меня есть много наработанного материала, который лежит и пылится, а я не могу снять по нему видео.
Понимая, что распыляюсь, я пытаюсь сузить фокус, но все равно КПД остается низким.
Не думаю, что это плохо, потому что лучше выполнить 30% от большой цели, чем 100% от маленькой. Смотреть на абсолютные цифры тоже надо.
Мне просто интересно узнать если такая проблема у вас - если так же реализуете далеко не все, что задумали, то палец вниз, если реализуете более 75% своих целей, то палец вверх.
👎323👍31😢5😱1
Планирую сделать несколько видосов по формальному анализу проектов.
Для начала хочу поговорить про зависимости и развитие проекта, вот такой график "количество зависимостей (внешних пакетов) / версия" для npm. Много чего интересного из него можно "вытащить".
👍65🤔3🔥1
Media is too big
VIEW IN TELEGRAM
Анализ NPM (начало)
🔥36👍15
Идея двигать OpenSource меня не покидает, поэтому решил сделать небольшой информационный сайт, где буду собирать всю информацию по проектам и видео, которые снимаю. https://gitlog.ru/
👍84🔥7👏1
В донатах иногда забавные комментарии встречаются:
"Когда вы поженитесь с Димой Рожковым?"
Вообще не понял к чему это, но, видимо, людей этот вопрос волнует ))))
😁27👍1
Когда-то слышал фразу: "ничто так не стимулирует к движению вперед, как ноль". Речь шла о статистике продаж в стартапах, на маркерной доске рисуется огромный "ноль", который напоминает о том, что первый шаг еще не сделан.
Вспомнив эту фразу решил выводить статистику soer.pro только за сутки. До этого выводил просто суммарное значение показателей, но по ним не видно динамику.
👍26👏1
Опубликовал репозиторий gitlog на github - https://github.com/soerdev/gitlog

Если есть желающие добавить информацию о своих проектах, то это можно сделать через pull request.
👍19
У меня есть платные видосы, которые размещены на сайте https://soer.pro - это стримы по архитектуре (более 20 часов видео), воркшопы, исходники проектов. Доступ к этим материалам теперь можно получить не только за деньги, но и через бартер.

Принцип простой - "пишешь код, получаешь сертификат". Правила следующие:

- нужно делать любые Pull Request к любому репозиторию на https://github.com/soerdev
(любые - значит считается все: правка опечаток, верстки, написание кода, написание документации т.е. все что может быть оформлено в виде PR)
- Единственное условие - Pull Request должен быть логически законченным (т.е. начал и бросил не пройдет)

Если Pull Request принят, то далее идет следующий расчет:
- за каждые 10 принятых PR - получаешь сертификат на 30 дней уровня "stream"
- за каждые 20 принятых PR - получаешь сертификат на 30 дней уровня "workshop"

раз в месяц самый активный участник получает сертификат на 30 дней уровня "PRO"
🔥52👍17👏4
Media is too big
VIEW IN TELEGRAM
Для проекта Devs2Devs делал небольшой видос о том как обновлять форкнутый репозиторий с основным репозиторием (через upstream), а свою разработку делать в своем remote origin.

Вероятно будет полезно тем кто будет участвовать в OpenSource проектах.
🔥34👍16
Как то на стриме спрашивали про то как найти проекты чтобы предложить свою помощь.
Я смотрю трендовые репозитории вот здесь - https://github.com/vitalets/github-trending-repos
👍30👏1
Есть довольно хороший критерий для оценки степени "монолитности" модульной архитектуры (или "модульный монолит"). Он состоит в том, что в монолитной архитектуре выход из строя одного из модулей приводит к отказу всего приложения. В распределенной же архитектуре отказ происходит только в одной точке. Это относится и к этапу сборки / развертывания приложения или системы. Если развертывание системы не может быть выполнено по частям, или должно прекратиться в случае ошибки развертывания одного из модулей, то это признак монолита.
👍41🔥3
Почему так важно определить является архитектура монолитной или распределенной? Все просто - монолитные архитектуры хорошо растут "вертикально" и плохо "горизонтально", распределенные же архитектуры хорошо растут и "вертикально" и "горизонтально".
Осуществить вертикальный рост всегда проще чем горизонтальный.
👍30
Интересный факт - считается, что хороший программист - это прагматик, который решает только текущие проблемы, одновременно с этим хороший программист должен уметь выбирать оптимальные решения, оптимальность которых можно проверить только "в будущем". Т.е. при выборе решения "хороший программист" таки должен уметь заглядывать на пару шагов в "будущее".
Я считаю, что прагматичность текущих решений - это миф, любой хороший разраб всегда прогнозирует вектор развития. Иначе просто будешь собирать все грабли на проекте.
👍43🔥6
Довольно легко продемонстрировать, что специалисты всегда думают о "будущем", не буду приводить программерский пример, слишком много условий описывать. Но давайте приведу пример при выборе ресурсов. Представьте что вы покупаете сервер для СУБД, объем данных, который требует хранения 100 Гб, у вас стоит выбор взять сервер с объемом диска 100Гб (представим, что его гарантированно хватит под "текущее" состояние) или сервер с объемом диска 200Гб. Вопрос, какой сервер вы возьмете?
Если с 200 Гб, то палец вверх, если ровно решающий "текущие" требования, то палец вниз. ))))
👍193👎19💩1
Кстати, последний пример это эмпирическое правило, которое реально используется при проектировании "правило 50%": максимальное capacity решения должно быть не мене чем в два раза больше среднего. Среднее можно рассматривать как текущее.
👍221😁1
О стратегии наращивании ресурсов. Вопрос о том, что лучше сразу взять больше ресурсов, чем надо, либо наращивать их по мере возникновения необходимости. Как правило, взять сразу обходится дешевле (так как миграция редко бывает zero cost), но брать по мере необходимости - это "отложить" затраты в будущее и тогда можно делать их за счет полученной прибыли.
Я делю так: если ожидается бурный рост проекта (например, у проекта дикий рекламный бюджет), то применяем стратегию "на вырост", т.е. берем сразу с запасом, если рост медленный, то стараемся "откладывать" расширения в будущее.
👍42
Дайте совет - стоит ли регистрироваться с Россграм? Палец вверх - да, остальное - нет.
👎421💩105👍52😁10🤮8🤔7😢4👏3🤩31
Решил попробовать Now - https://nowapp.me/s0er
👍9🔥6
Когда я слышу "ООП - это ошибка" у меня возникают противоречивые чувства. Вот несколько моментов на которые нужно ответить, прежде чем ругать ООП:
1. ООП появилось сильно позже логического и функционального программирования. И появилось оно как раз потому что функциональное программирование "не взлетело". Требовало слишком много вычислительных и умственных ресурсов. Кстати, это до сих пор так. Написать в функциональном стиле программу по прежнему требует довольно много мыслительных усилий. Я остро чувствую разницу когда читаю код в функциональном стиле и ООП.
2. ООП выстрелило не из-за хайпа, все было ровно наоборот - сначала ООП выстрелило, затем появился хайп. И я это тоже наблюдал своими глазами. Я начинал со структурного программирования и на самом деле разделение на структуры и функции неудобно. В реальном мире мы не привыкли разделять данные и их обработку.
3. В реальном мире мы привыкли мыслить категориями объектов - практически все вокруг нас - это объекты. Мы не думаем, скажем, о телефоне как о трех разных сущностях: форме, свойствах, операциями над ним. Для нас свойства порождают те действия, которые можно выполнить над объектом.

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

А вы что думаете про ООП? Палец вверх - если согласны, что эта парадигма важна и нужна, все остальное - ООП нужно выкинуть в топку.
👍422🤔12👎101💯1
Хочется сказать пару слов про планирование. Линейные планы (т.е. такие планы, где не ставится под сомнение успешное завершение каждого пункта и порядок пунктов никогда не меняется, как правило такие планы еще и последовательны) можно построить не для всех задач, к сложным задачам, в которых есть большая доля исследовательской работы, не применяются линейные планы, вместо этого лучшее что можно придумать - дерево принятия решений, при этом глубина такого дерева, естественно, не может быть большой.
Поэтому R&D задачи можно решать только короткими итерациями, определяя канву ближайшего развития. Бюджетные организации не очень любят такие штуки, поэтому скидывают такие задачи на подрядчиков (потому что договорные сметы относятся к "линейным" планам).
Если вы занимаетесь R&D, то попытайтесь донести до своего руководства, что невозможно совместить обычное линейное планирование и R&D. Вроде бы очевидная вещь, но буквально только что закончил общаться с ребятами, которые сделали красивые планы, получили под них деньги, и теперь не знают как выполнить планы, потому что все пошло вообще не так как ожидалось, а заказчик хочет получить результат предусмотренный договором.
👍51🔥14