Как использовать ltrace, fatrace, ps, lsof для диагностики linux серверов. ⇨ ltrace — очень похоже на strace, но вместо syscall показывает обращения к динамически подключенным библиотекам (glibc и других). Использовать можно также указывая PID процесса через -p. Использую в дополнение к strace, когда его становится не достаточно и надо взглянуть на внутренности процесса немного под другим углом. ⇨ fatrace — выводит все обращения к файлам как для указанного процесса, так и в целом для всей систем...
CodeConv | CTO backlog
Co-founder & CTO at Roistat & Platrum. Пишу про: Open Source, DevOps, SRE, информационная безопасность, построение отдела разработки, лайфхаки и многое другое
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20OpenAI выпустили ChatGPT Agent Этот агент может не просто выдать вам ответ на вопрос, но и выполнить задачи на вашем компьютере: поискать что-то через браузер и отправить заказ, написать код, выполнить команды в терминале, почистить календарь и так далее. То есть это смесь deep research (поиск в интернете) и agent (управление компьютером). Всё, что он делает, транслируется в окне чата, так что можно его контролировать. Если надо залогиниться или ввести данные карты, то GPT просит юзера перехвати...
Охренеть, какие объемы у Cloudflare. Ребята логируют 50 триллионов (45 петабайт) событий в день. Это 1.5 квадриллиона событий в месяц. Об этом они рассказали в разборе недавнего инцидента, где сервис Cloudflare Logs вышел из строя на несколько часов.
Мало ли вы не знали про такой инструмент. В Snack можно быстренько накидать простое кроссплатформенное мобильное приложение на React Native. Прямо в браузере можно редактировать код и сразу видеть результат в Anroid и iOS эмуляторах с live reload. Также можно в пару кликов отсканировать QR-код и получить приложение с live reload на своем мобильном, продолжив кодинг всё в том же браузере. Не нужно ни регистраций, ни СМС, ни даже какого-либо локального dev-окружения.
Как использовать strace для диагностики linux серверов. strace показывает все сигналы и системные вызовы (syscall) для выбранного процесса. Он не покажет вам логику выполняемого кода, но по системным вызовам всё же можно понять многое, что происходит внутри. Стандартный способ использования strace -ttyfkp 123. Не пугаемся от обилия флагов, тут всё просто. Флаги -tt добавляют к выводу timestamp (так проще ориентироваться в большом потоке сообщений), -y показывает человекочитаемые названия файловы...
Наткнулся на статью про валидацию емейлов через regexp. Не сосчитать, сколько раз я видел странные и безуспешные попытки разработчиков написать свою валидацию емейл адресов. Практически никто не читает RFC. Впрочем, обычно эти документы не особо читаемы, так что я тоже в этой лодке. Но можно же хотя бы просто загуглить перед тем как писать какой-то код общего назначения. Ведь он уже миллион раз был написан до вас и всех собак там уже съели. Но разработчики (и не только джуны) зачем-то продолжают...
Бесплатные OpenSource альтернативы Amazon AWS, Heroku и Airtable ⇨ ubicloud — собственное облако, аналог Amazon AWS. Добавляете свои серверные мощности под управление ubicloud и дальше через интерфейс можно создавать шустрые виртуалки (с бесшовной миграцией между хостами и снэпшотами), лоад балансеры, управляемый postgres, виртуальная сеть, система доступов и так далее. Рекомендую ознакомиться и иметь в виду. Выглядит очень удобно и добротно. Отлично подойдёт, если у вас много проектов или больш...
Тем временем раздел Trending на Github.
$ uptime up 3662 days Я не понимаю, как это работает. Один из первых серверов Roistat. До сих пор в строю. Более 10 лет под нагрузкой 24/7 без downtime. Моё почтение разработчикам ядра linux и создателям микропроцессоров.
React Native: New Architecture Если вы вдруг пропустили — React Native релизнул версию 0.76 с новой архитектурой, в которой избавились от узкого горлышка в виде Async Bridge. Было: React Renderer —> Async Bridge —> Native Renderer Стало: React Renderer —> Native Renderer То есть раньше на телефоне, условно, запускался JS код, который по API отправлял запросы в написанный нативно Async Bridge, который в свою очередь нативно вызывал Native Renderer. При большом кол-ве событий это создавало узкое г...