Насколько формальный язык вы бы хотели видеть в постах канала? Где 1 - текущий стиль личного чата, 5 - формальный стиль, с которым можно в рецензируемый журнал идти
Anonymous Poll
33%
1 - оставить текущий вид
39%
2 - убрать сокращения типа щяс и сеня
17%
3 - добавить прогон через какую-нибудь тул
11%
4 - убрать англицизмы: тул -> инструмент
0%
5 - убрать шутки/сарказм/мысли в слух
0%
? - свой вариант, напишу в комментах
image_2021-02-26_09-27-44.png
28.7 KB
Привет!
Нового контента я не скреативил, так что сегодня ток тизер и линки:)
Во-первых, что-то я увлёкся новой блог-платформой и у меня 4 года спустя наконец появился персональный сайт:) Почти - надо туда ещё посты перетащить, параллельно подправив линки и содержание:) Ну и в целом тексты ещё раз проревьювить:)
Во-вторых, посмотрел пару хороших видосов о том почему слоёная архитектура плоха и что делать вместо неё.
https://www.youtube.com/watch?v=5OjqD-ow8GE - тут докладчик довольно известный мужик и я о нём как-нибудь напишу пост в рубрику "хорошие люди". Доклад более верхнеуровневый, о принципах дизайна.
https://www.youtube.com/watch?v=BOvxJaklcr0 - а вот тут как раз уже больше техник реализации модульных приложений. Докладчика я не знаю, но в целом доклад вполне достойный:)
#talks@ergonomic_code
Нового контента я не скреативил, так что сегодня ток тизер и линки:)
Во-первых, что-то я увлёкся новой блог-платформой и у меня 4 года спустя наконец появился персональный сайт:) Почти - надо туда ещё посты перетащить, параллельно подправив линки и содержание:) Ну и в целом тексты ещё раз проревьювить:)
Во-вторых, посмотрел пару хороших видосов о том почему слоёная архитектура плоха и что делать вместо неё.
https://www.youtube.com/watch?v=5OjqD-ow8GE - тут докладчик довольно известный мужик и я о нём как-нибудь напишу пост в рубрику "хорошие люди". Доклад более верхнеуровневый, о принципах дизайна.
https://www.youtube.com/watch?v=BOvxJaklcr0 - а вот тут как раз уже больше техник реализации модульных приложений. Докладчика я не знаю, но в целом доклад вполне достойный:)
#talks@ergonomic_code
Непроверенная линка - https://justine.lol/redbean/index.html
Если вкратце - одни маленький (200кб) исполняемый бинарник, который может выдавать ответы по хттп.
Сейчас детально в читываться некогда, поэтому отправил на кладбище ссылок. Но имхо штука прикольная, так что решил написать:)
P.S. никогда не запускайте неизвестные бинарники скачанные из интернета:)
Если вкратце - одни маленький (200кб) исполняемый бинарник, который может выдавать ответы по хттп.
Сейчас детально в читываться некогда, поэтому отправил на кладбище ссылок. Но имхо штука прикольная, так что решил написать:)
P.S. никогда не запускайте неизвестные бинарники скачанные из интернета:)
Чуваки, которые придумал CRDT запилили платформу для local-first приложений: https://concordant.io/
Да ещё и на Kotlin MPP - кажись они стырили идею моего кубита:)
#tools@ergonomic_code
Да ещё и на Kotlin MPP - кажись они стырили идею моего кубита:)
#tools@ergonomic_code
Привет!
Занят тушинем пожара, в виде смены требований в последний момент, так что пока ток линко-посты. И на этот раз даже боян скорее всего, но меня заинтерсовало:)
Джетбрейнс запили тул для локального дева: https://blog.jetbrains.com/blog/2021/03/11/projector-is-out/
Надо потестить, и если реально не сильно тормозит, то можно не менять ноут на 15шку:) Надо ток решить вопрос, кто будет включать комп, после выключения электричества, если я при этом буду где-нить за бугром:)
#tools@ergonomic_code
Занят тушинем пожара, в виде смены требований в последний момент, так что пока ток линко-посты. И на этот раз даже боян скорее всего, но меня заинтерсовало:)
Джетбрейнс запили тул для локального дева: https://blog.jetbrains.com/blog/2021/03/11/projector-is-out/
Надо потестить, и если реально не сильно тормозит, то можно не менять ноут на 15шку:) Надо ток решить вопрос, кто будет включать комп, после выключения электричества, если я при этом буду где-нить за бугром:)
#tools@ergonomic_code
The JetBrains Blog
Access Your IDE Remotely With Projector | The JetBrains Blog
Today we're announcing the initial release of Projector – a tool and framework for running JetBrains IDEs and Swing apps remotely over your network. As you may know, Swing is a graphical widget too
Привет!
Тихой сапой осилил эту книгу: https://www.amazon.com/Design-Programmer-Architect-Pragmatic-Programmers/dp/1680502093
Не то чтобы прям маст рид, но несколько интересных мыслей и техник там есть. И размер вполне гуманный - 300 страниц по сути:)
#books@ergonomic_code
Тихой сапой осилил эту книгу: https://www.amazon.com/Design-Programmer-Architect-Pragmatic-Programmers/dp/1680502093
Не то чтобы прям маст рид, но несколько интересных мыслей и техник там есть. И размер вполне гуманный - 300 страниц по сути:)
#books@ergonomic_code
Привет!
Вы не поверите №1: я в текущем этапе дважды облажался в аналитике и эта неделька снова была тяжёлой:)
Вы не поверитре №2: но я отдал этап на приёмку, так что следующая неделька будет лёгкой:) Откуда я знаю что на приёмке не будет проблем? Потому что...
... Вы не поверите №3: я написал пост, о том как я так организовал тестирование проекта, что за два месяца дева мне прилетел 1 (один) баг и 0 (ноль) регрессий:)
#case@ergonomic_code #project_l@ergonomic_code #ergo_testing
Вы не поверите №1: я в текущем этапе дважды облажался в аналитике и эта неделька снова была тяжёлой:)
Вы не поверитре №2: но я отдал этап на приёмку, так что следующая неделька будет лёгкой:) Откуда я знаю что на приёмке не будет проблем? Потому что...
... Вы не поверите №3: я написал пост, о том как я так организовал тестирование проекта, что за два месяца дева мне прилетел 1 (один) баг и 0 (ноль) регрессий:)
#case@ergonomic_code #project_l@ergonomic_code #ergo_testing
Telegraph
Тесты, которым можно доверять
Я сейчас делаю проект с чистого листа, в котором я основой и ведущий бакэндер. И, естественно, я его делаю в соответствии с Эргономичным Подходом. Главным условием для того, чтобы кодовая база была эргономичной является набор тестов, которым можно доверять.…
Привет!
И всё-таки неделька выдалась лёгкая и я накатал небольшой линкопост-заметку о том, как декомпозировать систему на компоненты.
#posts@ergonomic_code #ergo_approach@ergonomic_code #ergo_arch@ergonomic_code #design@ergonomic_code
И всё-таки неделька выдалась лёгкая и я накатал небольшой линкопост-заметку о том, как декомпозировать систему на компоненты.
#posts@ergonomic_code #ergo_approach@ergonomic_code #ergo_arch@ergonomic_code #design@ergonomic_code
Telegraph
О декомпозиции систем
Дисклаймер: это небольшой линко-пост на тему, достойную главы книги Наконец-то свершилась ваша мечта и вам досталось сделать проект с чистого листа. Наконец-то вы можете сделать всё правильно, а не воевать с легаси написанным сто лет назад людьми, которых…
Привет!
Небольшая статейка о вреде временнОй связности и побочных эффектов: https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
Единственное что, я бы часть про Элегантные Объекты пропустил - уважаю Бугаенко за его продуктивность, принципиальность и масштабность, но работать с кодом в его стиле я бы не хотел:)
#posts@ergonomic_code #why_no_side_effects@ergonomic_code
Небольшая статейка о вреде временнОй связности и побочных эффектов: https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
Единственное что, я бы часть про Элегантные Объекты пропустил - уважаю Бугаенко за его продуктивность, принципиальность и масштабность, но работать с кодом в его стиле я бы не хотел:)
#posts@ergonomic_code #why_no_side_effects@ergonomic_code
Medium
Stop Crafting Your “Time Bomb”
A horrible design pattern we should get rid of. Period.
Наконец-то, не за долго до четырёхлетия своего индивидуального предприятия, я запилил себе личный сайт:)
https://azhidkov.pro/
Теперь посты я буду выкладывать на 15 минут раньше, и вы можете легко запомнить где можно перечитать любимые:)
https://azhidkov.pro/
Теперь посты я буду выкладывать на 15 минут раньше, и вы можете легко запомнить где можно перечитать любимые:)
Привет!
Малёха солида вам в ленту с утра пораньше:)
Я уже как-то давал ссылку на критику SOLID-а.
А сегодня я подслушал в радиоте ссылку на более развёрнутый пост этого же мужика.
И там он даёт ссылку на критику своей критики:)
Когда-нибудь я обязательно накатаю собственный развёрнутый пост на эту тему:)
А пока у меня на подходе разгромный пост о JPA - уже отлёживается, завтра-после завтра опубликую:)
#posts@ergonomic_code #solid@ergonomic_code
Малёха солида вам в ленту с утра пораньше:)
Я уже как-то давал ссылку на критику SOLID-а.
А сегодня я подслушал в радиоте ссылку на более развёрнутый пост этого же мужика.
И там он даёт ссылку на критику своей критики:)
Когда-нибудь я обязательно накатаю собственный развёрнутый пост на эту тему:)
А пока у меня на подходе разгромный пост о JPA - уже отлёживается, завтра-после завтра опубликую:)
#posts@ergonomic_code #solid@ergonomic_code
Speaker Deck
Why Every Element of SOLID is Wrong
Five minute Ignite-style talk from PubConf London 2016
Молния!
В компилятор JetBrains Compose вмёржили поддержку JS-а: https://twitter.com/shikasd_/status/1379757917893722114
#tools@ergonomic_code #kotlin@ergonomic_code
В компилятор JetBrains Compose вмёржили поддержку JS-а: https://twitter.com/shikasd_/status/1379757917893722114
#tools@ergonomic_code #kotlin@ergonomic_code
JetBrains
Compose Multiplatform – Beautiful UIs Everywhere
Compose Multiplatform is a declarative framework for building beautiful shared UIs across Android, iOS, desktop, and web – powered by Kotlin Multiplatform.
Рад представить вам анонсированный разгромный пост о том почему JPA лучше не использовать в серьёзных проектах:)
Это новый рекордсмен моего блога по объёму - закрыл гештальт:)
Ну и если я вдруг налажал с технической точки зрения - пишите. Может я, наконец, 15 лет спустя открою страшную тайну как правильно готовить JPA:)
#posts@ergonomic_code #whynojpa@ergonomic_code #spring_data_jdbc@ergonomic_code
Это новый рекордсмен моего блога по объёму - закрыл гештальт:)
Ну и если я вдруг налажал с технической точки зрения - пишите. Может я, наконец, 15 лет спустя открою страшную тайну как правильно готовить JPA:)
#posts@ergonomic_code #whynojpa@ergonomic_code #spring_data_jdbc@ergonomic_code
Алексей Жидков
Почему следует избегать использования JPA/Hibernate в продакшене - Алексей Жидков
Как дизайн JPA/Hibernate ведёт к созданию медленных приложений с плохим дизайном
Думаю опубликовть пост о JPA на Хабре в "Я пиаюрсь". Как думаете какой будет исход?
Anonymous Poll
37%
Слава и +50 читателей
11%
Бан
53%
Линч
Привет!
Мне не хватает 9 единиц кармы, для публикации в "Я пиарюсь", а публиковать в хаб Java я боюсь - вдруг и правда забанят.
Накрутите мне пожалуйста кармы авансом: https://habr.com/ru/users/jdev/ :)
Мне не хватает 9 единиц кармы, для публикации в "Я пиарюсь", а публиковать в хаб Java я боюсь - вдруг и правда забанят.
Накрутите мне пожалуйста кармы авансом: https://habr.com/ru/users/jdev/ :)
Хабр
Алексей aka jdev
- Эксперт по эффективной разработке, Kotlin техлид
- Эксперт по эффективной разработке, Kotlin техлид
Алексей aka jdev. Опубликовал 18 статей на Хабр и оставил 116 комментариев.
Так, я покурил правила Хабра, выяснил, что карму так просто не накрутишь, а ссылаться на свой блог по правилам можно, так что... bomb has been planted :)
Хабр
Почему следует избегать использования JPA/Hibernate в продакшене
Этот материал является кросс-постом Следить за обновлениями блога можно в моём канале: Эргономичный код Дисклеймер - я люто ненавижу JPA/Hibernate Мои отношения с Hibernate (JPA тогда ещё не было) не...
Ох, знаете, что Лёша сейчас сделал?
Случайно забацал бесконечную рекурсию в функции инициализации контейнера для тестов. Как думаете, что было дальше?
Случайно забацал бесконечную рекурсию в функции инициализации контейнера для тестов. Как думаете, что было дальше?
Anonymous Poll
24%
Переполнился стек
4%
Кончилось место на корневом разделе
8%
Какая-то гномья приблуда для мониторинга разделов захавала весь процессор
64%
Всё выше перечисленное
Ну и раз уж я вас сегодня заспамил, то вот ещё немного:)
Запилил оператор terminateOn для Kotlin sequence&flow
Предполагаемый юзкейс - функциональное описание эффективной операции до получения терминального значения - считай ретрай
юзается примерно так:
#tools@ergonomic_code #kotlin@ergonomic_code
Запилил оператор terminateOn для Kotlin sequence&flow
Предполагаемый юзкейс - функциональное описание эффективной операции до получения терминального значения - считай ретрай
юзается примерно так:
val res = sequnceOf(1, 2, 3)
.map { delay(it) ; getEntityStatusOnServer() }
.take(15)
.terminateOn { it.isSuccess() || it.isFailed }
.last()
when (res.status) {
success -> println("success")
pending -> println("timeout")
failure-> println("process failed on server")
network_failure-> println("status fetch failed")
}
#tools@ergonomic_code #kotlin@ergonomic_code
Gist
(flow|sequence).termiateOn
(flow|sequence).termiateOn. GitHub Gist: instantly share code, notes, and snippets.
Привет!
Наткунлся на прикольную статью об объектах и абстрактных типах данных. Не особо практичная, именно прикольная - автор приходит к выводу, что функции высших порядков чаще используются в ОО, чем ФП программах, и что лямбда исчесления были "untyped λ-calculus was the first object-oriented language.":)
Более практично же обеъекты и АДТ рассмотрены в этой статье.
Если в кратце - объекты не должны быть единственным инструментом разработчка. Объекты надо применять, когда вероятность появления новых типов (наследников, реализаций интерфейсов), выше вероятности появления новых данных - в этом случае "данные" (Алгебраические типы данных), позволят добавить их не трогая старый код.
А иногда надо вообще запретить расширение клиентами, и в этом случае используются Абстрактные типы данных.
#papers@ergonomic_code #oop@ergonomic_code #fp@ergonomic_code
Наткунлся на прикольную статью об объектах и абстрактных типах данных. Не особо практичная, именно прикольная - автор приходит к выводу, что функции высших порядков чаще используются в ОО, чем ФП программах, и что лямбда исчесления были "untyped λ-calculus was the first object-oriented language.":)
Более практично же обеъекты и АДТ рассмотрены в этой статье.
Если в кратце - объекты не должны быть единственным инструментом разработчка. Объекты надо применять, когда вероятность появления новых типов (наследников, реализаций интерфейсов), выше вероятности появления новых данных - в этом случае "данные" (Алгебраические типы данных), позволят добавить их не трогая старый код.
А иногда надо вообще запретить расширение клиентами, и в этом случае используются Абстрактные типы данных.
#papers@ergonomic_code #oop@ergonomic_code #fp@ergonomic_code