Пора валить. Странно, что на мыло анонс не пришел (или он прост заранее твитнул) https://www.hashicorp.com/blog/deprecating-terraform-0-11-support-in-terraform-providers/
Заходите сюда https://ifttt.com/discover
Пишите в поиск телеграм/твиттер/купить гараж
(возможно замечаете, как пухнет ваш url)
Решаете вернуться назад и наблюдаете 0 изменений, разве что "анимацию" в строке url.
Однако debounce подорожал #madskillz
UPD: код не смотрел, но как заметил @defront: "history.replaceState чуваки юзают pushState, поэтому история перехода ломается"
Пишите в поиск телеграм/твиттер/купить гараж
(возможно замечаете, как пухнет ваш url)
Решаете вернуться назад и наблюдаете 0 изменений, разве что "анимацию" в строке url.
Однако debounce подорожал #madskillz
UPD: код не смотрел, но как заметил @defront: "history.replaceState чуваки юзают pushState, поэтому история перехода ломается"
Software architecture is the discipline of growing and shrinking organizations elastically to build software solutions based on business needs
(c) twitter
(c) twitter
Forwarded from Кавычка (Emil Lerner)
Знали ли вы, что второй аргумент
Оказывается, glibc поддерживает синтаксис для указания кодировок, это можно сделать вот так:
В итоге, если вы можете для чужого приложения
1) переопределить переменную окружения
2) куда-нибудь записать свою so-шку и файл
3) дописать
то вы получите выполнение кода.
Конечно, в реальных приложениях такое вряд ли встретится, но это доказывает что даже в самых базовых библиотеках полно интересного.
Кстати, эта же система кодировок-модулей используется и в
Подробности можно прочитать в посте японца, который это заметил.
fopen (тот самый, который w или, например, r+) умеет исполнять код? Ну почти.Оказывается, glibc поддерживает синтаксис для указания кодировок, это можно сделать вот так:
fopen("file", "w,ccs=<encoding>"). Сами кодировки подгружаются динамически, функции для работы с каждой кодировкой лежат в отдельном .so-файле. Конфиг, содержащий пути к этим библиотекам называется gconv-modules и обычно лежит где-нибудь в /usr/lib/x86_64-linux-gnu/gconv/, но если переопределить переменную окружения GCONV_PATH, то он будет браться из указанной директории. И path traversal, конечно, в нем полностью поддерживается.В итоге, если вы можете для чужого приложения
1) переопределить переменную окружения
GCONV_PATH2) куда-нибудь записать свою so-шку и файл
gconv-modules3) дописать
,css=payload во второй аргумент fopenто вы получите выполнение кода.
Конечно, в реальных приложениях такое вряд ли встретится, но это доказывает что даже в самых базовых библиотеках полно интересного.
Кстати, эта же система кодировок-модулей используется и в
iconv (и утилите, и библиотеке), поэтому трюк можно использовать для обхода disabled_functions в php. Правда, для того, чтобы задать GCONV_PATH должен быть разрешен putenv, а это уже само по себе небезопасно.Подробности можно прочитать в посте японца, который это заметил.
Тут залили видосы с GoLab 2019, правда почему-то дни 2 и 3, а 1го не вижу
https://www.youtube.com/channel/UCMEvzoHTIdZI7IM8LoRbLsQ/playlists
https://www.youtube.com/channel/UCMEvzoHTIdZI7IM8LoRbLsQ/playlists
There's a balance with both expressiveness and type systems. Too little (PHP, JavaScript) is suboptimal, and too much (Scala, Haskell, Rust) is also suboptimal.
Please note it depends very much on what you're building, as to where that tradeoff lies. For some things I use Rust. For others I use JavaScript. I don't touch PHP, Java, Scala, or Haskell for anything in the world - you can't practically pay me enough to want to work with them. For me, for web applications and server side software, Go is in the sweet spot more than any other language I've tried, and I've tried almost 30 by now.
Go is not always elegant, it's not always the right tool, and sometimes frustrating - but it's incredibly good at enabling better productivity than the alternatives in this niche. Sample size of one, this is my opinion, and other disclaimers apply.
(с) HN
Please note it depends very much on what you're building, as to where that tradeoff lies. For some things I use Rust. For others I use JavaScript. I don't touch PHP, Java, Scala, or Haskell for anything in the world - you can't practically pay me enough to want to work with them. For me, for web applications and server side software, Go is in the sweet spot more than any other language I've tried, and I've tried almost 30 by now.
Go is not always elegant, it's not always the right tool, and sometimes frustrating - but it's incredibly good at enabling better productivity than the alternatives in this niche. Sample size of one, this is my opinion, and other disclaimers apply.
(с) HN
Теперь в VSCode для го можно будет получить покрытие кода, тестами из одного файла. Ноис.
Ишус https://github.com/microsoft/vscode-go/issues/2873
Мой ПР https://github.com/microsoft/vscode-go/pull/2884
Ишус https://github.com/microsoft/vscode-go/issues/2873
Мой ПР https://github.com/microsoft/vscode-go/pull/2884
Хочется видеть больше таких будней из жизни SRE разных фирм. Конечно же большинство оседает в приватных вики или прост чатах (мыж не пишем мини-постмортемы, да? :)
Конечн ценности в "давайте раскатывать GIN на колонке с текстовым поиском" несет мало ценности, но с кешами нгинх довольно неочевидно.
https://habr.com/ru/company/flant/blog/471892/
Конечн ценности в "давайте раскатывать GIN на колонке с текстовым поиском" несет мало ценности, но с кешами нгинх довольно неочевидно.
https://habr.com/ru/company/flant/blog/471892/
Хабр
6 практических историй из наших SRE-будней
Современная веб-инфраструктура состоит из множества компонентов разного назначения, имеющих очевидные и не очень взаимосвязи. Это становится особенно хорошо ви...