Forwarded from OpenDevCast
OpenDevCast — коллективный блог разработчиков. Цель — дать каждому простую возможность опубликовать свои блогпосты про IT, рассказать о своих проектах и поделиться опытом.
Многие хотят что-то писать и о чем-то рассказывать, но не знают с чего начать, где опубликовать и как привлечь читателей. И вот как раз с преодолением этих преград мы и хотим помочь.
+ Канал: @opendevcast
+ Чат: @opendevcastchat
+ Гайд как сделать пост: https://github.com/opendevcast/opendevcast
#intro
@olegkovalov (@oleg_log)
@orsinium (@itgram_channel)
Многие хотят что-то писать и о чем-то рассказывать, но не знают с чего начать, где опубликовать и как привлечь читателей. И вот как раз с преодолением этих преград мы и хотим помочь.
+ Канал: @opendevcast
+ Чат: @opendevcastchat
+ Гайд как сделать пост: https://github.com/opendevcast/opendevcast
#intro
@olegkovalov (@oleg_log)
@orsinium (@itgram_channel)
Я как бы активный жаворонок, спать днём для меня дикое исключение.
И вот 1й раз за полгода я решил подремать днём (организм потребовал), как полетели алёрты из любимого PagerDuty , что на тестовом окружении много 4хх.
Да чтоб меня :/
И вот 1й раз за полгода я решил подремать днём (организм потребовал), как полетели алёрты из любимого PagerDuty , что на тестовом окружении много 4хх.
Да чтоб меня :/
Сегодня узнал о SetPanicOnFault из пакета runtime/debug от Алексея Палажченко.
SetPanicOnFault controls the runtime's behavior when a program faults at an unexpected (non-nil) address. Such faults are typically caused by bugs such as runtime memory corruption, so the default response is to crash the program.
Но вот пользоваться этим не стоит, поведение программы после segfault (внезапно) неопределено.
#go https://golang.org/pkg/runtime/debug/#SetPanicOnFault
SetPanicOnFault controls the runtime's behavior when a program faults at an unexpected (non-nil) address. Such faults are typically caused by bugs such as runtime memory corruption, so the default response is to crash the program.
Но вот пользоваться этим не стоит, поведение программы после segfault (внезапно) неопределено.
#go https://golang.org/pkg/runtime/debug/#SetPanicOnFault
Крутой доклад о дженериках в #go, сравнение с C++ и Java, плюсы и минусы, ну и как работает.
А еще там есть знакооооооооооомые мне мемы 🤔
https://speakerdeck.com/golangmoscow/anton-kil-chik-dzhienieriki-kotoryie-my-zasluzhili
А еще там есть знакооооооооооомые мне мемы 🤔
https://speakerdeck.com/golangmoscow/anton-kil-chik-dzhienieriki-kotoryie-my-zasluzhili
Speaker Deck
Антон Кильчик – Дженерики, которые мы заслужили
Сегодня узнал о такой крутой штуке к nginx как nchan. Обычный плагин позволяющий превратить нгинх в пабсаб (хттп поллинг, ws, sse). Еще умеет получать данные с Redis.
А еще (как я понял) все линейно скейлится, просто докидываешь инстансов и едешь. Внезапно проекту 10 лет, а я ток узнал. Хорошая вещь, чтобы не писать свой велосипед.
https://nchan.io
https://github.com/slact/nchan
А еще (как я понял) все линейно скейлится, просто докидываешь инстансов и едешь. Внезапно проекту 10 лет, а я ток узнал. Хорошая вещь, чтобы не писать свой велосипед.
https://nchan.io
https://github.com/slact/nchan
Ухты, кубы оказывается на модули переехали в начале года, а я это упустил. 400+ зависимостей однако.
https://github.com/kubernetes/kubernetes/blob/master/go.mod
Тут начало истории (не знаю зачем вам) https://github.com/kubernetes/kubernetes/commits/master?after=b327a729c520ec6a8ba1d21ac86aff092d4d031a+174&path%5B%5D=go.mod
https://github.com/kubernetes/kubernetes/blob/master/go.mod
Тут начало истории (не знаю зачем вам) https://github.com/kubernetes/kubernetes/commits/master?after=b327a729c520ec6a8ba1d21ac86aff092d4d031a+174&path%5B%5D=go.mod
Открываешь пулл реквест «меняем хранилище с редиса на зукипер»
Ожидание:
код нового клиента, чуток конфигов, возможное удаление старого кода, все в пределах 10 файлов.
Реальность:
фиксы в 27 файлах, изменения и там, и сям, куча новой логики, тонны котлиновского сахара, с двадцать однострочников на 140 символов, DDD-проповедь от автора на слаке, опять...
:/
Ожидание:
код нового клиента, чуток конфигов, возможное удаление старого кода, все в пределах 10 файлов.
Реальность:
фиксы в 27 файлах, изменения и там, и сям, куча новой логики, тонны котлиновского сахара, с двадцать однострочников на 140 символов, DDD-проповедь от автора на слаке, опять...
:/
Прикольно, оказывается Rob Pike делал ревью для таких статей как Google File System, MapReduce, Chubby (распред файловая система, распред. модель обработки данных и коорд. сервис распред систем).
А Robert Griesemer в BigTable и Chubby руку приложил.
Живут же люди...
А Robert Griesemer в BigTable и Chubby руку приложил.
Живут же люди...
Сегодня повезло удалять ненужное апи из одного проекта. Я так давно это не делал, что даже отвык, как это прикольно.
Хоп-хоп, испекции запустил, методы поклацал, option + enter, enter и к следующему.
Короч надо искать ремоут работу по рефакторингу. Пусть мне платят за удаление кода с умным видом 🤔
Хоп-хоп, испекции запустил, методы поклацал, option + enter, enter и к следующему.
Короч надо искать ремоут работу по рефакторингу. Пусть мне платят за удаление кода с умным видом 🤔
remote: Force-pushing to this repository has been disabled
...и речь не про мастер, а про мою, блен, ветку. Потому люди удивляются насилию и говорят что это видеоигры. Агащас.
UPD: репа другой тимы, со своими обострениями, я мимокрокодил
...и речь не про мастер, а про мою, блен, ветку. Потому люди удивляются насилию и говорят что это видеоигры. Агащас.
UPD: репа другой тимы, со своими обострениями, я мимокрокодил
Беспощадная жаба.
Я конечно понимаю причину
но меня это не воодушевляет.
https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/sun/nio/ch/SocketChannelImpl.java
Я конечно понимаю причину
synchronized (readLock) {
synchronized (writeLock) {
synchronized (stateLock) {но меня это не воодушевляет.
https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/sun/nio/ch/SocketChannelImpl.java
Имеем: 2 открытых проекта в IntelliJ IDEA. Вот только в одном открыт хотя бы 1 файл, а в другом ничего.
Делаем: идем в тот, где ничего не открыто, жмём шифт 2 раза, в надежде быстро поискать классы.
Ожидаем: да что тут ожидать-то было?
Получаем: фокус уходит в проект с открытым файлом и поиск начинается там.
Делаем: идем в тот, где ничего не открыто, жмём шифт 2 раза, в надежде быстро поискать классы.
Ожидаем: да что тут ожидать-то было?
Получаем: фокус уходит в проект с открытым файлом и поиск начинается там.
oleg_log
Тут появился сбоник всех пропозалов для обсуждения, и среди них меня особенно привлек 1. Речь идет про Elixir-like pipe operator. |> в Эликсире позволяет быстренько делать композицию функций, к примеру в го, автор пропозала хочет видеть: s := strings.TrimSpace(x)…
Кстати вот еще(?, другой?) сбооник пропозалов для #go если хотите следить, что там выдумывают некоторые (в списках ничего интересного не нашел)
https://github.com/golang/go/issues/33502
https://github.com/golang/go/issues/33502
GitHub
proposal: review meeting minutes · Issue #33502 · golang/go
The proposal review group meets regularly (roughly weekly) to review pending proposal issues and move them along in the proposal process. Review consists primarily of checking that discussion is on...
Хм, etcd 3.4 оказывается неплохо потюнили.
write throughput is increased by 70% and P99 write latency is reduced by 90% in the presence of long-running reads
also ran Kubernetes 5000-node scalability test on GCE with this change and observed similar improvements.
А еще там "придумали" Raft Non-Voting Member - Learner. Если честно, то я удивлен, что этого не было раньше (идея ведь на поверхности + в Zookeeper есть), но круто, что появилось, проще будет обновления делать.
https://kubernetes.io/blog/2019/08/30/announcing-etcd-3-4/
write throughput is increased by 70% and P99 write latency is reduced by 90% in the presence of long-running reads
also ran Kubernetes 5000-node scalability test on GCE with this change and observed similar improvements.
А еще там "придумали" Raft Non-Voting Member - Learner. Если честно, то я удивлен, что этого не было раньше (идея ведь на поверхности + в Zookeeper есть), но круто, что появилось, проще будет обновления делать.
https://kubernetes.io/blog/2019/08/30/announcing-etcd-3-4/
Kubernetes
Announcing etcd 3.4
etcd 3.4 focuses on stability, performance and ease of operation, with features like pre-vote and non-voting member and improvements to storage backend and client balancer.
Please see CHANGELOG for full lists of changes.
Better Storage Backend etcd v3.4 includes…
Please see CHANGELOG for full lists of changes.
Better Storage Backend etcd v3.4 includes…
Я выиграл у Акинатора загадав Дональда Кнута.
Забавно, там был и CEO Nvidia и Шилдт (такой писатель книжечек по прогр).
it's wednesday 🐸
Забавно, там был и CEO Nvidia и Шилдт (такой писатель книжечек по прогр).
it's wednesday 🐸
Если вам не повезло и вы столкнулись с discourse, то сделать его более статичным и читаемым довольно легко, надо просто....
В общем, либо нажать Ctrl + P и откроется превью для печати, либо просто добавить /print к url.
Минимум жс, максимум спокойствия при чтении. Вангую что для этого может существовать расширения для браузера (правда ссылки на коменты рубит, а и чёрт с ним)
В общем, либо нажать Ctrl + P и откроется превью для печати, либо просто добавить /print к url.
Минимум жс, максимум спокойствия при чтении. Вангую что для этого может существовать расширения для браузера (правда ссылки на коменты рубит, а и чёрт с ним)