cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Делаю вид что разбираюсь

Advertising posts
444
Subscribers
+124 hours
+47 days
+3130 days

Data loading in progress...

Subscriber growth rate

Data loading in progress...

В постгрес у команды TRUNCATE есть очень полезный флаг CASCADE который снесет не только указанную таблицу, но и все на которые есть связи. Собственно тут один товарищ делал фичу, там в процессе были миграции в которых он делал truncate на новые таблицы, чтобы подчистить временные тестовые данные, а при выкатке на прод остался без всей базы https://twitter.com/mokevnin/status/1807778797933957553 А проблема в том что query builder внутри laravel подкидывает этот флаг CASCADE (вместо дефолтного поведения RESTRICT который запрещает это делать на таблицах с foreign key) если в качестве драйвера используется постгря. Ну и это менять не планируют, ибо не ломать же обратную совместимость для проверенного способа оторвать ноги
3 years passed, Laravel users still truncates their entire databases...
Guess how I found out about this issue? Table::truncate() inside the migration deleted our production database yesterday :D
https://github.com/laravel/framework/issues/35157
Show all...
Kirill (hexlet.io) (@mokevnin) on X

Как я положил продакшен базу на выходных Вчера произошла эпическая история. После планового деплоя в субботу вечером (так было нужно), мне прилетело сообщение “кирилл, у нас почему-то не показываются заявки”. Наверное фильтры слетели, подумал я и пошел проверять. Фильтры не

🤯 15🔥 5😁 4
Photo unavailableShow in Telegram
Тут недавно в твитторах запостили вот такой скриншот сишного кода, и типа смотрите, в switch case необязательно использовать break в каждом case (примерно все кто писал на си хоть раз совершали ошибку забыв его). Собственно небольшая статья которая рассказывает почему это валидный код и как это работает. Ну и бонусом как еще сделать такое-же, но вообще без switch, а только с case и goto. https://lcamtuf.substack.com/p/weekend-projects-getting-silly-with
Show all...
🔥 5🤔 3😁 2
Тут в питонячем клубе решили немного пошатать устои и поменять формат версионирования. Потому что все равно семвера уже нет — 3 на 4 никогда не поменяют, а в минорной версии не стесняются депрекейтить и удалять старое. Да и учитывая текущий график релизов удобно будет прибить версию к году, т.е. вместо 3.15 будет 3.26. И бонусом проще считать когда версия будет EOL — 26 + 5 = [20]31 А почему это предлагается сделать с 26 года? Ну потому что релиз с мемным номером 3.14 таки надо сделать в 25 году, а потом уже можно менять https://peps.python.org/pep-2026/ https://discuss.python.org/t/pep-2026-calendar-versioning-for-python/55782
Show all...
PEP 2026 – Calendar versioning for Python | peps.python.org

This PEP proposes updating the versioning scheme for Python to include the calendar year. This aims to make the support lifecycle clear by making it easy to see when a version was first released, and easier to work out when it will reach end of life (EOL).

👍 18😁 5🌚 2
Любители поработать из Тайланда с нестабильным интернетом, конечно, слышали и используют штуки типа tmux/mosh. Но оба этих варианта обрабатывают выхлоп на серверной стороне и отдают уже готовый view на клиент, из-за чего ни локально в своем iterm не поискать, ни копипаста привычно не работает. Да и вообще тащить полноценный мультиплексер чисто ради session persistence кажется избыточно Собственно тут кто-то сделал тулзу shpool (конечно же на расте) которая делает исключительно это, не переизобретает сетевую часть (в отличие от mosh) и просто прокидывает все туда-сюда (из-за чего для айтерма это ничем не отличается от классического ssh), да и в использовании прост как железная дорога (одна основная команда которую можно запихать в RemoteCommand своего конфига) https://github.com/shell-pool/shpool
Show all...
GitHub - shell-pool/shpool: Think tmux, then aim... lower

Think tmux, then aim... lower. Contribute to shell-pool/shpool development by creating an account on GitHub.

👍 9🔥 6
Тут товарищ обнаружил что в новой visionOS проц иногда очень агрессивно тротлится и причина в демоне userexperienced, который ограничивает скорость кулеров в зависимости от уровня окружающего шума. Ну т.е. в шумном самолете он будет крутить как может, а вот в тихой комнате затротлится так что даже на глаз заметно. Идея то хорошая, еще бы доработать так, чтобы вот настолько сильно не ограничивало, ибо лучше потерпеть немного шума К слову уже не первый раз аппл делает такие маневры с кулерами, раньше макбуки с интелом на несколько секунд выключали кулеры в момент активации сири, чтобы записать звук без лишних помех https://x.com/ShinyQuagsire/status/1804688365905756564
Show all...
Shiny Quagsire (@ShinyQuagsire) on X

lolll I found the answer, I was getting fucked by the userexperienced. Apparently it dictates thermal limits based on fan limits, and it sets fan limits based on *how much it hears the fans in the mics* If I blast white noise, fan speeds stay at max + no throttle

😁 7🔥 1
Еще одно что рассказывали аппл это как они хотят сделать Swift языком под все платформы и поэтому расширяется поддержка линуксов (и вообще сделали LSP чтобы в вскод/вим интегрироваться). И даже завезли кросскомпиляцию статичных бинарей под них (раньше оно было только между аппловых платформ). Собственно тут товарищ поэкспериментировал со своим небольшим плагином на свифте и как его собрать, чтобы запускать на алпайне (к слову аппл взяли musl для такой статичной сборки, правда сам компилятор еще на алпайне не запускается) и поделился и результатами, и скриптами которые пригодятся если захочется что-то еще подобным образом собрать https://mko.re/blog/swift-alpine-packaging/
Show all...
Packaging Swift apps for Alpine Linux

👍 9🔥 3
На аппловой конфе много говорили что AI, но после первого Keynote некоторые все прослушали где оно работает и пошли писать в твиттор "аппл теперь сливают все в OpenAI, запрещу у себя в компании ифоны". Хотя даже там они упоминали что сначала делают все на девайсе, а только если там ресурсов не хватит уже идут на свои сервера. Собственно в этой статье они рассказали что, и как они наворотили на серверной стороне (коротко: сервера stateless, все ключи обновляются при ребуте, девайс шифрует свой запрос под конкретный сервер, весь код подписан, какого-то ssh на сервера нет). И самое интересное, они будут выкладывать образа всего софта (часть даже с исходниками), а девайс перед тем как общаться с сервером проверяет что там запущена версия которая публично опубликована (лог всех задеплоенных сделан по схеме как у Certificate Transparency) https://security.apple.com/blog/private-cloud-compute/
Show all...

Secure and private AI processing in the cloud poses a formidable new challenge. To support advanced features of Apple Intelligence with larger foundation models, we created Private Cloud Compute (PCC), a groundbreaking cloud intelligence system designed specifically for private AI processing. Built with custom Apple silicon and a hardened operating system, Private Cloud Compute extends the industry-leading security and privacy of Apple devices into the cloud, making sure that personal user data sent to PCC isn’t accessible to anyone other than the user — not even to Apple. We believe Private Cloud Compute is the most advanced security architecture ever deployed for cloud AI compute at scale.

🔥 11👍 2🌚 1
Примерно с самого момента как я пересел на мак я пользовался тулзой Bartender, ну потому что аппл не смогли ни в скрытие иконок в менюбаре (это даже в WinXP уже было!), ни их двигание (ну это хоть они потом сделали). Проблема в другом, как оказалось (после того как люди заметили что новый апдейт подписан другим сертом) он продался и теперь принадлежит какой-то мутной студии которая первым делом в апдейте втащила либу аналитики. И которая уже сказала что разделяют "vision" исходного автора и будут развивать дальше (переводя с булшитного на обычный - версия под следующую макось будет по подписке) Все это к чему, к тому что надо заменить эту тулзу (у которой к слову есть пермишен на screen recording) на что-то более доверяемое. Многие озадачившиеся такой задачей пошли смотреть на Ice, который и опенсорсный, и активно допиливается (в отличие от пары других аналогов), собственно и я сам на него перешел теперь https://github.com/jordanbaird/Ice
Show all...
GitHub - jordanbaird/Ice: Powerful menu bar manager for macOS

Powerful menu bar manager for macOS. Contribute to jordanbaird/Ice development by creating an account on GitHub.

👍 16🔥 1
Возможно кто-то уже знает, но последний год я еще состою в программном комитете Podlodka Python Crew и помогаю с подготовкой и проведением уже третьего сезона. В этот раз сезон про инфраструктурную сторону: как делать мониторинг и трейсинг, оптимизировать приложения и не косячить с безопасностью. Полная программа тут https://podlodka.io/pythoncrew Да, сезон уже стартанул и прямо сейчас я делаю запись доклада про оптимизацию (там конечно же уже упомянут раст, куда щас без него), но я так и не отдал никому один из промокодов на 100% дискаунт на вход: python_crew_3_GTM4oC (отпишите только кто возьмет, а то он одноразовый)
Show all...
Онлайн-конференция Podlodka Python Crew, сезон #3

Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным вопросам Python-индустрии, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.

🔥 11
Во всех гошных проектах у меня один из этапов для линтеров состоял из вот таких двух команд: - go mod tidy -v - git diff --exit-code Собственно идея в том, чтобы проверить что go.{mod,sum} соответствуют актуальному состоянию проекта и там не осталось какого-то мусора, а в противном случае зафейлить сборку И тут недавно вмержили (и будет доступно начиная с 1.23) поддержку флага go mod tidy -diff, которая из коробки дает это поведение: если запуск tidy приводит к изменениям в go.{mod,sum} то вместо того чтобы применить их, оно выплюнет дифф и завершится с ошибкой https://go-review.googlesource.com/c/go/+/585401 https://go-review.googlesource.com/c/go/+/587695 https://go-review.googlesource.com/c/go/+/587941
Show all...

🔥 15
Choose a Different Plan

Your current plan allows analytics for only 5 channels. To get more, please choose a different plan.