Уважаемый Вадим подкинул статью об устройстве LB Cloudflare
https://blog.cloudflare.com/high-availability-load-balancers-with-maglev/
На самом деле Maglev идёт из ресерч статьи https://research.google/pubs/pub44824/
(и всё таки у них есть к8с, поэтому-то мне и скинули :)
https://blog.cloudflare.com/high-availability-load-balancers-with-maglev/
На самом деле Maglev идёт из ресерч статьи https://research.google/pubs/pub44824/
(и всё таки у них есть к8с, поэтому-то мне и скинули :)
The Cloudflare Blog
High Availability Load Balancers with Maglev
We own and operate physical infrastructure for our backend services. We need an effective way to route arbitrary TCP and UDP traffic between services and also from outside these data centers.
Forwarded from Hermitage
VSCode 1.46
Релизу 2 дня, но мне было не до того. В числе прочего полезного наконец-то занесли pinned tabs. Как мало надо для радости.
Мои хайлайты:
- Undo across files, even if the files have been closed in the meantime
- Automatic debug configurations improvements [и] "Step Into Target" feature that displays UI for directly stepping into the function you are interested in
- нативные Settings Sync все еще в Preview, но есть прогресс
- удобные доработки в Remote/Containers
- новый родной Hex Editor экстеншен (!), пока еще куцый, но начало положено (следил и в числе прочих возмущался в ишшуях отсутствию поддержки бинарных форматов еще пару лет назад), и в этой связи:
- finalized the API for custom binary editors (!). [API] lets extensions create custom webview-based editors […] can be used for previewing asset files, such as images or 3D models, directly within VS Code, or for building more specialized editing interfaces for specific file types
- Windows ARM64 Insiders (дамоклов меч 😏)
- и многое другое.
Релизу 2 дня, но мне было не до того. В числе прочего полезного наконец-то занесли pinned tabs. Как мало надо для радости.
Мои хайлайты:
- Undo across files, even if the files have been closed in the meantime
- Automatic debug configurations improvements [и] "Step Into Target" feature that displays UI for directly stepping into the function you are interested in
- нативные Settings Sync все еще в Preview, но есть прогресс
- удобные доработки в Remote/Containers
- новый родной Hex Editor экстеншен (!), пока еще куцый, но начало положено (следил и в числе прочих возмущался в ишшуях отсутствию поддержки бинарных форматов еще пару лет назад), и в этой связи:
- finalized the API for custom binary editors (!). [API] lets extensions create custom webview-based editors […] can be used for previewing asset files, such as images or 3D models, directly within VS Code, or for building more specialized editing interfaces for specific file types
- Windows ARM64 Insiders (дамоклов меч 😏)
- и многое другое.
Наверное вы слышали о течении, связанном с переименованием бранчей (master -> main или подобное).
Так вот, если у вас CI/CD захардкожен на масте - что-то может отпасть. Самое время подумать, не шлепнется ли пайплайн на выходных.
Распространи, пионер. За подсказку спасибо @golanglibrary & @devopslibrary
Виновник торжества справедливости https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx
Так вот, если у вас CI/CD захардкожен на масте - что-то может отпасть. Самое время подумать, не шлепнется ли пайплайн на выходных.
Распространи, пионер. За подсказку спасибо @golanglibrary & @devopslibrary
Виновник торжества справедливости https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx
Hanselman
Easily rename your Git default branch from master to main
The Internet Engineering Task Force (IETF) points out that 'Master-slave is an ...
Такое предчувствие, что все сидят читают release notes #go 1.15 (сужу по чатам и лс)
https://tip.golang.org/doc/go1.15
- vet ругается на
- неправильный каст интерфейсов
-
- линкер хорош: 20% faster, 30% less memory
- плагины под osx !
- обрадую вас:
- да и всякое по мелочи
Хороший релиз будет.
https://tip.golang.org/doc/go1.15
- vet ругается на
string(x)- неправильный каст интерфейсов
-
-spectre если вы параноик- линкер хорош: 20% faster, 30% less memory
- плагины под osx !
- обрадую вас:
sync.Map.LoadAndDelete - да и всякое по мелочи
Хороший релиз будет.
tip.golang.org
Go 1.15 Release Notes - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Долгожданная поддержка HTTP/3 в Nginx, пока еще превью сбоку, но видно в 2020 это будет зарелижено.
https://www.nginx.com/blog/introducing-technology-preview-nginx-support-for-quic-http-3/
Немного обидно, что каждый делает свой "велосипед". У Сloudflare (опять они!) своё на Rust https://github.com/cloudflare/quiche Envoy подозреваю напишут свой и так каждый.
Понятны причины, но велосипедостроение порой удручает. Байты не на то тратятся!
https://www.nginx.com/blog/introducing-technology-preview-nginx-support-for-quic-http-3/
Немного обидно, что каждый делает свой "велосипед". У Сloudflare (опять они!) своё на Rust https://github.com/cloudflare/quiche Envoy подозреваю напишут свой и так каждый.
Понятны причины, но велосипедостроение порой удручает. Байты не на то тратятся!
oleg_log
К P A C U B 0 https://www.youtube.com/watch?v=DuB8VUICGqc // will occasionally show ads https://www.youtube.com./watch?v=DuB8VUICGqc // will not show ads тред https://www.reddit.com/r/webdev/comments/gzr3cq/fyi_you_can_bypass_youtube_ads_by_adding_a_dot/
Как сломать Firefox on Windows
Цитирую:
Заходишь на домен с точкой -> сайт что-то сохраняет в локальное хранилище -> под это создаётся папка в профиле -> у папки есть точка в конце, и какие-то вызовы (большинство, вроде) винды не переваривают точку в конце папки -> сломано хранилище Firefox -> все расширения сломаны.
Решение: удалить все папки из \storage\default с точкой в конце названия, cygwin для этого подходит.
Будьте внимательны, прости, Пётр)
Цитирую:
Заходишь на домен с точкой -> сайт что-то сохраняет в локальное хранилище -> под это создаётся папка в профиле -> у папки есть точка в конце, и какие-то вызовы (большинство, вроде) винды не переваривают точку в конце папки -> сломано хранилище Firefox -> все расширения сломаны.
Решение: удалить все папки из \storage\default с точкой в конце названия, cygwin для этого подходит.
Будьте внимательны, прости, Пётр)
Мой хороший друг опубликовал одну библиотеку для React Native, поддержите звездочкой, очень прошу :) А еще лучше скажите своим коллегам, им может пригодиться.
https://github.com/flyerhq/react-native-keyboard-accessory-view
Еще можно почитать, зачем и почему https://dev.to/demchenkoalex/making-a-right-keyboard-accessory-view-in-react-native-4n3p
https://github.com/flyerhq/react-native-keyboard-accessory-view
Еще можно почитать, зачем и почему https://dev.to/demchenkoalex/making-a-right-keyboard-accessory-view-in-react-native-4n3p
GitHub
GitHub - flyerhq/react-native-keyboard-accessory-view: Keyboard accessory (sticky) view for your React Native app. Supports interactive…
Keyboard accessory (sticky) view for your React Native app. Supports interactive dismiss on iOS. - flyerhq/react-native-keyboard-accessory-view
oleg_log
Мой хороший друг опубликовал одну библиотеку для React Native, поддержите звездочкой, очень прошу :) А еще лучше скажите своим коллегам, им может пригодиться. https://github.com/flyerhq/react-native-keyboard-accessory-view Еще можно почитать, зачем и почему…
Подскажите еще пожалуйста каналы о моб. разработке, бложики, новостные ленты и прочее, стало интересно, что там происходит. Можете кидать сюда @olegkovalov
Можно еще каналы с подборками/лентами опенсурс вещей скинуть, я парочку потерял.
Потом, как всегда, опубликую список.
Можно еще каналы с подборками/лентами опенсурс вещей скинуть, я парочку потерял.
Потом, как всегда, опубликую список.
Оп-па http://jepsen.io/analyses/postgresql-12.3
Results
In most respects, PostgreSQL behaved as expected: both read uncommitted and read committed prevent write skew and aborted reads. We observed no internal consistency violations. However, we have two surprising results to report. The first is that PostgreSQL’s “repeatable read” is weaker than repeatable read, at least as defined by Berenson, Adya, Bailis, et al. This is not necessarily wrong: the ANSI SQL standard is ambiguous. The second result, which is definitely wrong, is that PostgreSQL’s “serializable” isolation level isn’t serializable: it allows G2-item during normal operation.
Results
In most respects, PostgreSQL behaved as expected: both read uncommitted and read committed prevent write skew and aborted reads. We observed no internal consistency violations. However, we have two surprising results to report. The first is that PostgreSQL’s “repeatable read” is weaker than repeatable read, at least as defined by Berenson, Adya, Bailis, et al. This is not necessarily wrong: the ANSI SQL standard is ambiguous. The second result, which is definitely wrong, is that PostgreSQL’s “serializable” isolation level isn’t serializable: it allows G2-item during normal operation.
tic-tac-toe in a single call to printf (Written for IOCCC 2020)
#ненормальное https://github.com/carlini/printf-tac-toe
while(*d) printf(fmt, arg); (главное параметры правильные дать)#ненормальное https://github.com/carlini/printf-tac-toe
This media is not supported in your browser
VIEW IN TELEGRAM
no one: ..
parsers:
parsers:
Сижу я пью чай и придумываю вопрос вам. Вот что придумал: а скажите, что во вашему мнению должен иметь каждый self-host продукт?
Тот самый, который вы можете запустить у себя на ноуте/сервере. Считайте что речь про Postgres, Github/lab, нода tor или тому подобное (речь скорее про вебсервис, который отдаёт что-то по хттп).
Наверное глобальное как "должно иметь конфиг, хоть какую-то документацию, сайт/репо" писать не стоит. Интересны детали, дьявол в мелочах, так сказать.
Пишите -> @olegkovalov
Тот самый, который вы можете запустить у себя на ноуте/сервере. Считайте что речь про Postgres, Github/lab, нода tor или тому подобное (речь скорее про вебсервис, который отдаёт что-то по хттп).
Наверное глобальное как "должно иметь конфиг, хоть какую-то документацию, сайт/репо" писать не стоит. Интересны детали, дьявол в мелочах, так сказать.
Пишите -> @olegkovalov
Посту уже месяц, но я только сегодня дошёл до него. И не зря. Довольно интересная история, как на одной машине перестал работать DNS.
TLDR: мелкий баг в ядре со знаковым интом, но что еще интересно, что можно было найти причину чуть раньше, если бы была провреена конфигурация ядра.
Конечно читая статью это уже понятно и очевидно, но на самом деле, заметная доля багов по стороне пользователя - misconfiguration.
https://cloud.google.com/blog/topics/inside-google-cloud/google-cloud-support-engineer-solves-a-tough-dns-case
TLDR: мелкий баг в ядре со знаковым интом, но что еще интересно, что можно было найти причину чуть раньше, если бы была провреена конфигурация ядра.
Конечно читая статью это уже понятно и очевидно, но на самом деле, заметная доля багов по стороне пользователя - misconfiguration.
https://cloud.google.com/blog/topics/inside-google-cloud/google-cloud-support-engineer-solves-a-tough-dns-case
Google Cloud Blog
A Google Cloud support engineer solves a tough DNS case | Google Cloud Blog
How a Google Cloud support engineer found one customer’s missing DNS packets
Мне надо в кое-чём признаться, я забыл, что в #go есть пакет
Там разные io.Reader/Writer которые возвращают ошибки. Но самого главного не было! Самого простого ErrReader, который сразу отдаёт ошибку (давайте честно, это пожалуй самое очевидное, что можно использовать).
Его вот и добавили https://github.com/golang/go/issues/38781 Правда сюдя по всему увидим мы его в 1.16, аж в феврале 2021 :(
testing/iotest (https://pkg.go.dev/testing/iotest?tab=doc)Там разные io.Reader/Writer которые возвращают ошибки. Но самого главного не было! Самого простого ErrReader, который сразу отдаёт ошибку (давайте честно, это пожалуй самое очевидное, что можно использовать).
Его вот и добавили https://github.com/golang/go/issues/38781 Правда сюдя по всему увидим мы его в 1.16, аж в феврале 2021 :(
pkg.go.dev
iotest package · pkg.go.dev
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Forwarded from 🍄 Дон Шампиньон [aka Lord_Alfred]
🛸 Прилетело НЛО и забрало меня.
Первый пост о правильном резервном копировании PostgreSQL: https://habr.com/ru/post/506610/
Первый пост о правильном резервном копировании PostgreSQL: https://habr.com/ru/post/506610/
Хабр
WAL-G: бэкапы и восстановление СУБД PostgreSQL
Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше ис...
Автор Graphics Programming Black Book да и известный человек в графике/играх https://en.wikipedia.org/wiki/Michael_Abrash
Вот есть 1 сервис, чуть нагруженный и чувствительный к цпу. На одной машине чаще случаются таймауты из-за проседания цпу. Что же является причиной?
Конфиг? - нет, все на Mesos ходит на том же конфиге. Железо? - нет, соседние машины такие же. Шумные соседи? - нет, другие сервисы почти незаметны. Баг железа? - нет, все тесты проходят нормально.
Так вот. Оказалось, что в этой версии сервера DELL в биосе стоят плохие настройки для NUMA nodes per socket (1 вместо 4), соотв время от времени эту проблему мы и замечали.
Вспоминается вчерашний пост про гугл и конфиг днс, хехе. Вот такие эти злые конфиги. Единственная проблема, что нужно ребутнуть саму железку.
Cloud is just someone else's computer.
Конфиг? - нет, все на Mesos ходит на том же конфиге. Железо? - нет, соседние машины такие же. Шумные соседи? - нет, другие сервисы почти незаметны. Баг железа? - нет, все тесты проходят нормально.
Так вот. Оказалось, что в этой версии сервера DELL в биосе стоят плохие настройки для NUMA nodes per socket (1 вместо 4), соотв время от времени эту проблему мы и замечали.
Вспоминается вчерашний пост про гугл и конфиг днс, хехе. Вот такие эти злые конфиги. Единственная проблема, что нужно ребутнуть саму железку.
Cloud is just someone else's computer.
https://steveklabnik.com/writing/today-is-my-first-day-at-oxide-computer-company
Oxide: Hyperscaler infrastructure for the rest of us
We are building a new kind of server.
True rack-scale design, bringing cloud hyperscale innovations around density, efficiency, cost, reliability, manageability, and security to everyone running on-premises compute infrastructure.
Интересные штучки делают люди
Oxide: Hyperscaler infrastructure for the rest of us
We are building a new kind of server.
True rack-scale design, bringing cloud hyperscale innovations around density, efficiency, cost, reliability, manageability, and security to everyone running on-premises compute infrastructure.
Интересные штучки делают люди
We’re excited to announce that the codebase for pkg.go.dev is now open source.
https://blog.golang.org/pkgsite
https://github.com/golang/pkgsite
https://blog.golang.org/pkgsite
https://github.com/golang/pkgsite
go.dev
Pkg.go.dev is open source! - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.