oleg_log
Нет с большой буквы нет. https://www.heltweg.org/posts/who-wrote-this-shit/ Зачем оправдывать методы длиной в 1к строк, отсутствие миграций БД, 0 комментов в магическим числам, полный бардак в иерархии папочек и файликов, 3+ способов сделать одно и тоже…
Хороший вопрос в продолжение темы: насколько вы довольно своим старым кодом? (думаю вы понимаете, что важно выбрать по варианту за каждый период, если он есть)
Anonymous Poll
32%
6 месячной давности - все ок
43%
6 месячной давности - я уже могу лучше
19%
2 годичный - все ок
48%
2 годичный - ужас, как я так мог/ла??
7%
5 годичный - все ок
50%
5 годичный - я был/а молод/а и мне нужно было в айти
2%
Другое (выберите этот вариант, но никакие другие тогда + комент с объяснением, либо в лс)
14%
Результаты
oleg_log
Хороший вопрос в продолжение темы: насколько вы довольно своим старым кодом? (думаю вы понимаете, что важно выбрать по варианту за каждый период, если он есть)
Мульти-ответы, не бойтесь выбрать, а потом сабмитнуть
Отличный совет с сегодняшнего и наболевшего, чтобы вы в опросе выше голосовали "ок" через 5 лет.
Минимизируйте контекст для читателя, блин.
Даже пофиг на коменты, на тесты,даже пофиг на форматирование, но допустим есть функция на 200 строк, даже с хорошим большим экраном это 40-80 строк, зачем больше? (оптимизаторы L1i - молчите).
И ладно там эти 200 строк, но еще оказывается, что есть переменная в начале фции, которая используется 2 раза, но её использование видно только на другой "странице". Ну вот почему её не объявить ближе к месту использования? Чаще я встречаю ответ "ну, да, можно было". Однако мысленный контекст, который надо держать в голове - больше чем надо.
Другое мое любимое - объявлять сперва фции хелперы, а потом уже переходить к чему-то важному. Чувствуется Си, что сперва надо объявить, а потом юзать, но уже перед 2022 с этим стало проще во многих языках.
Мне не надо читать
Больше чем уверен, что для многих это кеповые вещи, но...а почему оно так часто на практике встречается, а?
Хотелось бы сюда приплести separation of concerns, но уже лень, просто из 200 строчной фции чаще всего выплывает 3-4 разных вещи, жили бы они в 3-4 фциях НИЖЕ того места где используются и это было бы счастье для читателя, о котором забывают, и писателя, который даже о себе не думает.
Минимизируйте контекст для читателя, блин.
Даже пофиг на коменты, на тесты,
И ладно там эти 200 строк, но еще оказывается, что есть переменная в начале фции, которая используется 2 раза, но её использование видно только на другой "странице". Ну вот почему её не объявить ближе к месту использования? Чаще я встречаю ответ "ну, да, можно было". Однако мысленный контекст, который надо держать в голове - больше чем надо.
Другое мое любимое - объявлять сперва фции хелперы, а потом уже переходить к чему-то важному. Чувствуется Си, что сперва надо объявить, а потом юзать, но уже перед 2022 с этим стало проще во многих языках.
Мне не надо читать
writeTempFile фцию, если я еще не понял, где она вызывается. Мне слабо поможет тело isHelpRequired(args []string) bool если я хз кто это будет дергать. Согласитесь, в этой мысли что-то есть. Заметьте, я о приватных вещах пакета говорю (хотя и паблик вещи ок).Больше чем уверен, что для многих это кеповые вещи, но...а почему оно так часто на практике встречается, а?
Хотелось бы сюда приплести separation of concerns, но уже лень, просто из 200 строчной фции чаще всего выплывает 3-4 разных вещи, жили бы они в 3-4 фциях НИЖЕ того места где используются и это было бы счастье для читателя, о котором забывают, и писателя, который даже о себе не думает.
Forwarded from пивной негодяй (truhán de la cerveza) ඞ
This media is not supported in your browser
VIEW IN TELEGRAM
зачем нужны типы, если string уже придумали
Ничто так не даёт большего буста ЧСВ, чем работа в 12 терминалах одновременное, когда ты рестартишь systemd сервисы и смотришь на красивый возврат метрик в норму.
Каеф.
Каеф.
Forwarded from How to Go wrong (Alexey Palazhchenko)
Мой стартап, FerretDB Inc., нашёл денег и нанимает двух senior разработчиков на Go, чтобы вместе со мной писать FerretDB: полный remote, open source, $$$. Формальное описание вакансии у нас на сайте и в Go Get a Job.
Неформально хочу сказать, что пока ищу людей не только сильных технически, но и близких по культуре и опыту. Очень не хотелось бы сейчас тратить время на непродуктивные и плохо аргументированные споры про чистую архитектуру и предметно-ориентированное проектирование.
Как предложить себя написано на сайте. В комментариях можно задать вопросы. Флудить лучше в Go Get a Job. В личку просьба не писать – ответы на общие вопросы будут интересны и другим людям.
Неформально хочу сказать, что пока ищу людей не только сильных технически, но и близких по культуре и опыту. Очень не хотелось бы сейчас тратить время на непродуктивные и плохо аргументированные споры про чистую архитектуру и предметно-ориентированное проектирование.
Как предложить себя написано на сайте. В комментариях можно задать вопросы. Флудить лучше в Go Get a Job. В личку просьба не писать – ответы на общие вопросы будут интересны и другим людям.
Если вы читаете это сообщение, то знайте, я афк на какое-то время.
Но недавно меня посетила мысль (вдохновленная лог4ж, к сожалению): какая уязвимость, по вашему мнению, была бы полным коллапсом индустрии/цивилизации/3х буквенных облаков/одной страны ?
Хотелось бы correct answers only, но скорее никто палиться не будет. Просто интересно, кто на какие вещи думает. ЛБ. БД, етц.
Но недавно меня посетила мысль (вдохновленная лог4ж, к сожалению): какая уязвимость, по вашему мнению, была бы полным коллапсом индустрии/цивилизации/3х буквенных облаков/одной страны ?
Хотелось бы correct answers only, но скорее никто палиться не будет. Просто интересно, кто на какие вещи думает. ЛБ. БД, етц.
Forwarded from CatOps
Another cybersecurity post.
A few days prior Log4j storm, researchers from Orca Security discovered CloudFormation vulnerability and managed to get access to an internal account. It means that an attacker could potentially get access to any AWS account by mimicking CloudFormation API calls.
Previously, Orca Security research team managed to do something similar with [AWS Glue.
Kudos to AWS team here. They managed to fix this vulnerability in less than 25 hours and it took 6 days to populate the fix in all their regions.
#aws #security
A few days prior Log4j storm, researchers from Orca Security discovered CloudFormation vulnerability and managed to get access to an internal account. It means that an attacker could potentially get access to any AWS account by mimicking CloudFormation API calls.
Previously, Orca Security research team managed to do something similar with [AWS Glue.
Kudos to AWS team here. They managed to fix this vulnerability in less than 25 hours and it took 6 days to populate the fix in all their regions.
#aws #security
Orca Security
AWS CloudFormation Vulnerability | Orca Research Pod
Orca Security discovered a zero day AWS XXE (XML External Entity) CloudFormation vulnerability, which AWS quickly mitigated within 6 days. Learn more here!
Java is Simpsons for programming
https://blog.jooq.org/javas-checked-exceptions-are-just-weird-union-types/
Thx Badya
https://blog.jooq.org/javas-checked-exceptions-are-just-weird-union-types/
Thx Badya
Java, SQL and jOOQ.
Java’s Checked Exceptions Are Just Weird Union Types
This fun fact has been on my mind for a while, and a recent reddit thread about “Smuggling Checked Exceptions with Sealed Interfaces” made me write this post here. Namely, Java had unio…
Тем кому посчастливилось и неочень работать в команде/фирме с так званым release manager (не путоть девопсин), что было самое плохое и хорошее в такой роли?
Ну и если сами занимали такую должность (пускай временно/ротационно), что вы скажете?
Ну и если сами занимали такую должность (пускай временно/ротационно), что вы скажете?
iCloud гениальная вещь, вот я залогинился на новый ноут и оно давай качать пару гигов фоток. Конечно, это 1я вещь которую я хочу на ноуте. Спасибо Apple, как раз я могу поменять скучные абстрактные обои на любимую пёсю.
И вот что обидно, хоть ты себе М12 Pro Max Plus поставишь в ноут, криворукость программистов это не пофиксит, как и PM-ов.
(да, пишу с mbp14)
И вот что обидно, хоть ты себе М12 Pro Max Plus поставишь в ноут, криворукость программистов это не пофиксит, как и PM-ов.
(да, пишу с mbp14)
Что-то мне тут подумалось...а зачем вообще iTerm2 ?
https://github.com/vercel/hyper vs https://github.com/Eugeny/tabby vs https://github.com/alacritty/alacritty смотрятся слишком похоже, хотя TypeScript напрягает (Electron выходит, да?...), последний хоть на Rust, но мне казалось с ним какие-то проблемы были (с прогой, не растом).
Вот был бы SublimeTerminal...Короч, что кроме iTerm посоветуете? я оч отстал от жизни и пару лет провёл в терминали VSCode :(
PS: да, речь про macOS
https://github.com/vercel/hyper vs https://github.com/Eugeny/tabby vs https://github.com/alacritty/alacritty смотрятся слишком похоже, хотя TypeScript напрягает (Electron выходит, да?...), последний хоть на Rust, но мне казалось с ним какие-то проблемы были (с прогой, не растом).
Вот был бы SublimeTerminal...Короч, что кроме iTerm посоветуете? я оч отстал от жизни и пару лет провёл в терминали VSCode :(
PS: да, речь про macOS
> did you know? It takes $420k per year to run Lichess. We publish the detailed costs at http://lichess.org/costs
Какие делаем выводы из таблицы?
https://twitter.com/ornicar/status/1482671675489632257
Какие делаем выводы из таблицы?
https://twitter.com/ornicar/status/1482671675489632257
Twitter
Thibault D
did you know? It takes $420k per year to run Lichess. We publish the detailed costs at lichess.org/costs
Мне даже как-то это нравится. Люди допускают одни и те же типы ошибок. Это прям радует, возможно мы живём в детерминированном мире и через 5 лет все возможные ошибки (не смейтесь) будут иметь свой тег в CVE DB и все можно будет покрыть линтером или какой-то более умной верификацией. Хотя кого я обманываю...
https://blog.rust-lang.org/2022/01/20/cve-2022-21658.html
https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use
https://blog.rust-lang.org/2022/01/20/cve-2022-21658.html
https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use