Теги
actors
ai
algorithms
android
ansible
api
asserts
benchmark
bestpractices
blockchain
blogdev
bpmn
buildtools
c
camunda
cli
codereview
compiler
consensus
convert
css
cvc5
devops
dns
docker
docs
elasticsearch
elm
encoding
events
f#
firefox
frontend
fs
fun
geo
git
github
gitlab
go
google
graalvm
gradle
graphics
graphql
habr
haproxy
hardware
http
intellij
java
javascript
jenkins
jetbrains
jira
jmh
junit
k8s
kafka
kibana
kotlin
ktor
legacy
linux
llvm
mac
mail
markdown
math
maven
memory
mercurial
monitoring
net
nim
os
owasp
privacy
puppet
python
quasar
rabbitmq
redis
redmine
regex
rust
sbt
scala
slack
smartrhino
smt
softskills
sorting
spring
sql
ssh
svelte
swift
teamlead
telegram
testing
time
timeout
tutorial
twitter
types
typescript
upsource
usb
util
vault
vscode
wasm
web
windows
words
z3
zig
архитектура
бд
видео
вк
иб
менторство
мониторинг
мысли
ноги
общение
стрельба
утюг
форумы
фп
actors (5)
- Будущее программирования взглядом из 1973
- Модель акторов для построения бигдаты
- Модель акторов для построения отказоустойчивой системы
- Разновидности event-driven архитектуры
- Опыт использования библиотеки Puniverse Quasar для акторов
ai (19)
- Автогенерация субтитров с помощью Whisper
- Deepfake game
- "Поиск" по научным статьям
- Проблемы автонастройки БД
- FAQ по безопасности AI
- Комменты телеграма на сайте и похвала роботам
- Тест Тьюринга наоборот
- Мертвый поиск для мертвого интернета
- У людей еще есть шанс в го
- Локальный запуск LLM
- Сравнение LLM
- Атака на мультимодальные нейронки
- ChatGPT не смог сгенерить нормальный пост
- Не всё то disruptive technology, что AI
- Тренажер промптов для обхода ограничений
- Впечатления от GitHub Copilot
- Поиск алгоритма умножения матриц нейронками
- Недавние открытия из мира сортировок
- Канал о безопасности сильного ИИ
algorithms (22)
- Бенчмарк хэшей
- Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines
- Отличие конкурентности от параллелизма
- Что такое шейдер
- Вычисление двоичного логарифма
- CRDT
- Карта GitHub
- Cvc5
- Мои впечатления от солвера z3
- Тьюринг-полнота почти везде
- Модель акторов для построения бигдаты
- Leetcode — это скам
- Порядок ключей в словаре в питоне
- Поиск алгоритма умножения матриц нейронками
- Даты изобретения сортировок и кроссбаузерность
- Экономьте газ
- Оптимизация хэш-таблицы
- Local-first приложения
- Интерактивное обучение λ-исчислению
- Чисто функциональный QuickSort
- Raft
- Недавние открытия из мира сортировок
android (1)
ansible (1)
api (10)
- Сборник бесплатных API
- Будущее программирования взглядом из 1973
- Бинарная совместимость API Java
- Сравнение протоколов для событий от бека к фронту
- YAML
- Уведомления от сервера клиенту
- Основы безопасности API
- Обманчивая простота API Redis
- Статус-код ответа graphql
- Google Calendar API
asserts (1)
benchmark (7)
- "Приватность" в Firefox
- Как получить хорошую производительность, но не писать на C++
- Бенчмарк хэшей
- Сравнение LLM
- Производительность приложения и расположение в памяти
- Сравнение производительности web-фреймворков
- Зачем мне твои неизменяемые коллекции? Они же медленные
bestpractices (30)
- Про телеметрию
- Сборник советов по разработке своей CLI-утилиты
- Когнитивная нагрузка кода
- О важности ориентиров
- Тестовые флаги
- Версионирование библиотек
- Пирамида код-ревью
- Проектирование API
- Что говорит наука о разработке?
- Будьте проще
- Принцип наименьшего удивления
- Тестирование распределенных систем
- Чек-лист тимлида
- Про продуктивность
- Чек-лист для алертов
- Таймауты и токены отмены
- Чек-листы для кода и архитектуры микросервисов
- Должны ли аналитики и техписатели читать код, и в каком количестве нужна документация
- Работа с ветками
- Частичный коммит
- Импорт вложенных структур
- Опрос про баги
- Работа со временем
- Лучшие практики и с чем их едят
- Teamlead: постановка задач
- Нейминг
- Работа с легаси-кодом
- НПиО 2019
- SmartRhino 2019
- SmartRhino 2018
blockchain (1)
blogdev (10)
- Миграция блога на GitHub Actions
- Проверка ссылок в Markdown
- Небольшая оптимизация сайтика
- Комменты телеграма на сайте и похвала роботам
- Вкладки на чистом CSS
- Action для коммита в другой репозиторий
- Git read-tree
- Облегчение Font Awesome и задержка из-за CSS
- Впечатления от CSS, или как я галерею со смешнявками делал
- GitHub Pages
bpmn (3)
buildtools (1)
c (12)
- Bootstrapping для Zig
- Как получить хорошую производительность, но не писать на C++
- Профдеформация и C
- Frame pointer
- Павлик Морозов для C++
- Вычисление двоичного логарифма
- Вызов C++ из питона
- Операционная система на Rust
- Модели памяти языков программирования
- Медленный printf
- Ускорение ввода-вывода в С++
- Включение любого файла в сишный код
camunda (5)
- Плагины Camunda Modeler
- Таймеры на сервисных тасках в Camunda
- Порядок запуска тестов
- Покрытие тестами схем Camunda
- BPMN-нотация и Camunda
cli (54)
- Проверка ссылок в Markdown
- Сборник советов по разработке своей CLI-утилиты
- Уведомление о завершении команды
- Многострочный sed
- Подарок от Git для Windows
- Повторение команды до посинения
- Поиск TODO и FIXME в ветке
- HEAD
- awk
- Запись команд терминала
- SSH как SOCKS-proxy
- Буфер обмена в скриптах
- Калькулятор
- Проверка наличия команды
- Редактирование команды в редакторе
- Запуск команды без пароля sudo
- Sed и разделитель
- Объединение stderr и stdout в конвеере
- Потребление ресурсов в k8s
- Имитация обрыва связи
- alias при sudo
- SQL на csv
- Буфер обмена с консольной виртуалкой
- Конвертер видео
- Приостановка процесса
- Генерация хэшей паролей
- Нюансы работы ImageMagick с PDF
- Timeout для команды
- Hexdiff
- Генерация пароля
- Про лень и скачивание альбома из ВК
- Конвертация pdf ⟷ png
- Pandoc — конвертация между форматами
- Нагрузочное тестирование
- Полезные и не очень сайты для curl
- Нюансы sendmail
- Факторизация чисел
- Поиск пересечения файлов
- Случайная выборка из csv
- Кто может залогинится на сервере по ssh?
- Сканер портов
- Скалирование экрана
- Перезагрузка systemd
- Преобразование unix-timestamp в человеческую дату
- Монтирование файловой системы через ssh
- Как найти что-то из своего во ВКонтакте и немного grep-магии
- Tcpdump
- Отключение "удобств" journalctl
- Права и символические ссылки
- Перенаправление портов
- Кто пожрал все потоки в linux?
- Список открытых файлов в системе
- Обработка json в командной строке
- Тяжелые задачи с ssh
codereview (4)
- Код ревью самого себя
- Пирамида код-ревью
- Порядок просмотра файлов при код-ревью
- Ревью пулл-реквестов
compiler (11)
- Инкрементальная компиляция в Scala 3
- Способы предотвращения ошибок управления памятью
- Визуализация кода
- Bootstrapping для Zig
- Ограничения и предохранители
- Как получить хорошую производительность, но не писать на C++
- Компилируемые и интерпретируемые языки
- Интерактивное программирование
- Понятность ошибок компилятора
- Почему формальные методы редко используются
- Устройство компилятора Kotlin
consensus (4)
- CRDT
- Модель акторов для построения бигдаты
- Модель акторов для построения отказоустойчивой системы
- Raft
convert (7)
- Автогенерация субтитров с помощью Whisper
- Переводчик Curl
- Cyber Chef
- Конвертер видео
- Нюансы работы ImageMagick с PDF
- Конвертация pdf ⟷ png
- Pandoc — конвертация между форматами
css (4)
- Вкладки на чистом CSS
- Пофлексить
- Даты изобретения сортировок и кроссбаузерность
- Впечатления от CSS, или как я галерею со смешнявками делал
cvc5 (1)
devops (13)
- Несколько GitHub Actions в одной репе
- Автоматический ребейз ветки
- YAML
- Список измененных файлов в ветке
- Боль code quality
- Удаленная работа с docker
- Не деплойте в облака пацаны, вы матерям еще нужны
- Локальный запуск билда Gitlab
- Отладка Jenkins пайплайна
- Запуск нескольких целей в Maven
- Связи в проекте и Github Action
- Миграция approle между двумя Vault-хранилищами
- Запуск команды на нескольких серваках
dns (1)
docker (11)
- Не храните свои пуки где попало
- Удаленная работа с docker
- Получение Dockerfile по образу
- Доступ к базе в приватной сети
- Help me, step-container, I'm stuck!
- Docker на Маке
- Лимиты Docker Hub
- 16 Кб хватит всем
- Сборка контейнера со Spring-приложением
- Перенаправление портов
- Боли docker
docs (4)
- Проверка ссылок в Markdown
- Документация как средство повышения качества
- Должны ли аналитики и техписатели читать код, и в каком количестве нужна документация
- Сборник cheatsheet
elasticsearch (13)
- Составные шаблоны индексов в Elasticsearch
- Большие запросы без пагинации и scroll'а в ElasticSearch
- Автоматическая репликация на все узлы Elasticsearch
- Индексирование нового поля в ElasticSearch
- Балансировка в клиенте Elasticsearch
- Контексты Painless
- Term vs match query
- Ограничение запросов ElasticSearch со стороны клиента
- Что означает поле update в результатах update by query в Elasticsearch?
- Переиндексация данных в Elasticsearch
- Acknowledged в elasticsearch
- Тюнинг elasticsearch
- Значение по умолчанию minimum_should_match
elm (2)
- Понятность ошибок компилятора
- Альтернативный рейтинг профунктора, или как я опять вляпался во фронтенд
encoding (3)
events (7)
- Сравнение протоколов для событий от бека к фронту
- Уведомления от сервера клиенту
- Модель акторов для построения бигдаты
- Пять стадий принятия саги
- Идемпотентность
- Отличие команд и событий
- Разновидности event-driven архитектуры
f# (1)
firefox (2)
frontend (11)
- Статистика меток тикетов GitHub
- Карта GitHub
- Розеттские камни
- Пофлексить
- Эволюция JS-фреймворков
- Даты изобретения сортировок и кроссбаузерность
- Альтернативный рейтинг профунктора, или как я опять вляпался во фронтенд
- Облегчение Font Awesome и задержка из-за CSS
- SQLite на статическом сайте
- Впечатления от CSS, или как я галерею со смешнявками делал
- GitHub Pages
fs (5)
- Работа с файловой системой
- Двойные и тройные слеши в пути
- "Стандарт" UTF-8
- Что внутри у мягкой ссылки
- Как работает Live Reload?
fun (18)
- Intellij как игровой движок
- Deepfake game
- Сапер для вымышленной консоли на Nim
- Как получить хорошую производительность, но не писать на C++
- ОС и Paint в браузере
- Угадайка RGB
- Веселые правила паролей
- Игра про SQL
- Балансировка нагрузки
- Тьюринг-полнота почти везде
- Тренажер сисадмина
- Как выиграть в "города" (России)
- Сам себе схемотехник
- Сборник просвещающих игр
- Насколько быстро комп делает "типовые" операции?
- Полезные и не очень сайты для curl
- Из чего только не строят графы
- Расширенные возможности команды ping
geo (2)
git (27)
- Поиск файла в git
- Обновление старой ветки
- Как разбить коммит на два
- Сборка мусора в git, GitHub и GitLab
- Подарок от Git для Windows
- Копирование файлов из другой ветки
- Поиск TODO и FIXME в ветке
- Добавление изменений в PR из форка
- Список измененных файлов в ветке
- Исключение файлов без расширения в .gitignore
- Время коммита
- Разделение рабочего и личного на ноуте
- Выбор коммита для добавления изменений в git
- Автоматический префикс для коммитов в Idea
- Action для коммита в другой репозиторий
- Mercurial мертв?
- Переопределение команд в git
- Git read-tree
- Коммит в соавторстве
- Переключение на форк
- Инструкция по отмене почти всего в git
- Хранение нескольких версий продукта в git
- Поиск неактуальных веток git
- Поиск удаленного в истории git
- Работа с ветками
- Частичный коммит
- Интерактивное обучение git
github (22)
- Миграция блога на GitHub Actions
- Не храните свои пуки где попало
- Несколько GitHub Actions в одной репе
- Автоматический ребейз ветки
- Небольшая оптимизация сайтика
- Сборка мусора в git, GitHub и GitLab
- Отладка GitHub Actions
- Миграция на Kotlin multiplatform
- Статистика меток тикетов GitHub
- Карта GitHub
- Добавление изменений в PR из форка
- Впечатления от GitHub Copilot
- Связи в проекте и Github Action
- Action для коммита в другой репозиторий
- Ревью пулл-реквестов
- Поиск всех пулл-реквестов пользователя в GitHub
- Мои впечатления от Kotlin-JS
- Коммит в соавторстве
- Переключение на форк
- GitHub Actions
- Навигация по коду в Github
- GitHub Pages
gitlab (3)
go (3)
google (3)
graalvm (3)
gradle (6)
- Управление зависимостями в Gradle
- Обновление версий библиотек в Gradle
- Боль code quality
- Локальный запуск билда Gitlab
- Сборка контейнера со Spring-приложением
- Принудительное скачивание исходников
graphics (6)
- Визуализация кода
- Будущее программирования взглядом из 1973
- ОС и Paint в браузере
- Угадайка RGB
- Mermaid
- Что такое шейдер
graphql (1)
habr (8)
- Выбор библиотеки ассертов для проекта на Kotlin
- Как убить на мелкий скрипт кучу времени или история одного пулл-реквеста
- Читаете ли вы Scaladoc для «очевидных» методов коллекций? Или почему лениться не всегда хорошо
- Автоматизация загрузки логов из Kibana в Redmine
- Опыт использования библиотеки Puniverse Quasar для акторов
- Зачем мне твои неизменяемые коллекции? Они же медленные
- Как себе выстрелить в ногу в Kotlin
- О стилистике ответов на форумах
haproxy (2)
hardware (15)
- Как получить хорошую производительность, но не писать на C++
- Как работает светодиод
- Вычисление двоичного логарифма
- Ноутбук как монитор
- Сколько мониторов нужно для счастья
- Передача данных — убийца производительности
- Текущие проблемы с потоками и асинхронщиной
- Вариации сна для компьютера
- Сам себе схемотехник
- Модели памяти языков программирования
- USB-C
- RISC
- Перепрошивка флешки
- Насколько быстро комп делает "типовые" операции?
- Задержка между нажатием клавиши и появлением символа на экране
http (7)
- cgi-bin
- HEAD
- Балансировка нагрузки
- Устройство HTTP
- Статус-код ответа graphql
- Отправка http-запросов в Intellij Idea
- Сравнение производительности web-фреймворков
intellij (15)
- Intellij как игровой движок
- Как разбить коммит на два
- Diff в IntelliJ
- Области поиска в IntelliJ
- Автоматический префикс для коммитов в Idea
- Иерархии в IntelliJ
- Принудительное скачивание исходников
- Форматирование Kotlin и обновления
- Поиск неактуальных веток git
- Навигация по коду
- Частичный коммит
- Импорт вложенных структур
- Отправка http-запросов в Intellij Idea
- Копирование пустой строки в Intellij Idea
- Сравнение веток в Intellij Idea
java (35)
- Список предупреждений компилятора Kotlin и Java
- Улучшение streams
- Генерация классов в Java: ASM и Class-File API
- Соответствие версии Java и версии class-файлов
- Автоматический рефакторинг кода с помощью OpenRewrite
- Ограничения и предохранители
- Бинарная совместимость API Java
- "Понятность" java
- Работа с файловой системой
- Аннотации массивов в java
- Семантики памяти java
- Управление зависимостями в Gradle
- Сломанные строки в Java
- Убьет ли project Loom корутины Kotlin?
- GraalVM
- Переопределение методов в java
- Понятность ошибок компилятора
- Настройки JVM
- Текущие проблемы с потоками и асинхронщиной
- Бесполезные зависимости
- Запретный плод для Java
- Проектирование API
- Хрупкие аннотации Spring
- JMX в Kubernetes
- Уровни компиляции JIT
- Как настроить память для JVM
- OffsetDateTime и Hibernate
- Модели памяти языков программирования
- Принудительное скачивание исходников
- Покрытие тестами схем Camunda
- Как запустить что-то после всех тестов
- Типы дат java.time
- Дебри рефлексии
- Project Panama
- Java становится похожа на Kotlin
javascript (7)
- Статистика меток тикетов GitHub
- Розеттские камни
- Эволюция JS-фреймворков
- Мои впечатления от Svelte
- Мои впечатления от Kotlin-JS
- Scala JS
- Автоматизация загрузки логов из Kibana в Redmine
jenkins (1)
jetbrains (1)
jira (2)
jmh (1)
junit (2)
k8s (10)
- Какие изменения принесет kubectl apply?
- Неймспейсы в k8s
- Приборка подов в k8s
- Потребление ресурсов в k8s
- Контейнер Морозов
- Доступ к базе в приватной сети
- Docker на Маке
- JMX в Kubernetes
- Шпаргалка по отладке проблем kubernetes
- Rollout restart в kubernetes
kafka (4)
kibana (1)
kotlin (33)
- Список предупреждений компилятора Kotlin и Java
- Ограничения и предохранители
- "Понятность" java
- Миграция на Kotlin multiplatform
- Статистика меток тикетов GitHub
- Убьет ли project Loom корутины Kotlin?
- Понятность ошибок компилятора
- let и also в Scala
- Контракты в Kotlin
- Павлик internal
- Запретный плод для Java
- Suspend функции в Scala
- Context receivers
- Версионирование библиотек
- Псевдонимы для типов и value-классы
- Статическая типизация — не панацея
- Проектирование API
- Хрупкие аннотации Spring
- Когда нужно создавать корутины?
- Мои впечатления от Kotlin-JS
- Пулл-реквест в Kotlin
- Устройство компилятора Kotlin
- DSL для роутинга
- Принудительное скачивание исходников
- Форматирование Kotlin и обновления
- Главный метод в Kotlin jar
- Hello world на kotlin native
- Как запустить что-то после всех тестов
- Дебри рефлексии
- Выбор библиотеки ассертов для проекта на Kotlin
- Опыт использования библиотеки Puniverse Quasar для акторов
- Зачем мне твои неизменяемые коллекции? Они же медленные
- Как себе выстрелить в ногу в Kotlin
ktor (2)
legacy (3)
- Автоматический рефакторинг кода с помощью OpenRewrite
- Интерактивное программирование
- Работа с легаси-кодом
linux (70)
- Уведомление о завершении команды
- Многострочный sed
- Повторение команды до посинения
- Региcтрация собственного протокола для ссылок
- Автовыбор браузера с Zig
- Поиск TODO и FIXME в ветке
- HEAD
- awk
- Работа с файловой системой
- Двойные и тройные слеши в пути
- SSH как SOCKS-proxy
- Буфер обмена в скриптах
- "Стандарт" UTF-8
- Что внутри у мягкой ссылки
- Как работает Live Reload?
- Калькулятор
- Проверка наличия команды
- Редактирование команды в редакторе
- Запуск команды без пароля sudo
- Тренажер сисадмина
- Sed и разделитель
- Объединение stderr и stdout в конвеере
- Имитация обрыва связи
- alias при sudo
- Маштабирование старых приложений при HiDPI
- SQL на csv
- Keep alive для ssh
- Буфер обмена с консольной виртуалкой
- Конвертер видео
- Устранение шумов микрофона в Linux
- Приостановка процесса
- Генерация хэшей паролей
- Запуск графического приложения с админскими правами
- Нюансы работы ImageMagick с PDF
- Timeout для команды
- Hexdiff
- Генерация пароля
- Анатомия GNU/Linux
- Про лень и скачивание альбома из ВК
- Конвертация pdf ⟷ png
- Pandoc — конвертация между форматами
- Состояния процесса в linux
- Полезные и не очень сайты для curl
- Нюансы sendmail
- Факторизация чисел
- Баг горячих клавиш Xorg
- Поиск пересечения файлов
- Случайная выборка из csv
- Кто может залогинится на сервере по ssh?
- Сканер портов
- Скалирование экрана
- Перезагрузка systemd
- Преобразование unix-timestamp в человеческую дату
- Управление доступом по ssh
- Compose key
- Монтирование файловой системы через ssh
- Как найти что-то из своего во ВКонтакте и немного grep-магии
- Tcpdump
- Отключение "удобств" journalctl
- Права и символические ссылки
- Перенаправление портов
- Кто пожрал все потоки в linux?
- Список открытых файлов в системе
- Обработка json в командной строке
- Сброс кэша памяти в линуксе
- Свободное место на файловой системе
- Запуск команды на нескольких серваках
- Включение любого файла в сишный код
- Тяжелые задачи с ssh
- Devil's Pie
llvm (1)
mac (11)
- Swift
- Уведомление о завершении команды
- Региcтрация собственного протокола для ссылок
- Автовыбор браузера с Zig
- Ноутбук как монитор
- Буфер обмена в скриптах
- "Стандарт" UTF-8
- Переназначение клавиш в macOS (часть 2)
- Docker на Маке
- Я третий месяц работаю на маке и у меня почти не бомбит
- Переназначение клавиш в macOS
mail (2)
markdown (5)
- Проверка ссылок в Markdown
- Markdown в Google Docs
- Mermaid
- Вложенные куски кода в Markdown
- GitHub Pages
math (5)
- Вычисление двоичного логарифма
- Поиск алгоритма умножения матриц нейронками
- Насколько уникален UUID?
- Проверка простоты числа с помощью регулярки
- Константа Буэнос-Айреса
maven (5)
- Запуск нескольких целей в Maven
- Порядок запуска тестов
- Сборка контейнера со Spring-приложением
- Принудительное скачивание исходников
- Как запустить что-то после всех тестов
memory (9)
- Способы предотвращения ошибок управления памятью
- Семантики памяти java
- Операционная система на Rust
- Как работают аллокаторы памяти
- Передача данных — убийца производительности
- Производительность приложения и расположение в памяти
- Судьба GIL в Python
- Как настроить память для JVM
- Модели памяти языков программирования
mercurial (3)
monitoring (2)
net (4)
nim (1)
os (2)
owasp (3)
privacy (4)
puppet (1)
python (20)
- Не храните свои пуки где попало
- Как выстрелить себе в ногу с Rust (и Python)
- GUI для Python-скриптов
- Вызов C++ из питона
- Калькулятор
- Понятность ошибок компилятора
- Порядок ключей в словаре в питоне
- Запретный плод
- Рейтинг постов канала в Telegram
- Судьба GIL в Python
- Неявная конкатенация строк в Python
- Pattern matching в Python
- История ввода в python
- Импорты в питоне
- Сериализация DTO python в JSON
- DTO в python
- Форматирование строки в python
- Как убить на мелкий скрипт кучу времени или история одного пулл-реквеста
- Значения по умолчанию в dict в питоне
- Моржовый оператор в питоне
quasar (1)
rabbitmq (4)
- Отличие команд и событий
- Миграция очередей в RabbitMQ
- Dead letter queue для очередей RabbitMQ
- Routing key в RabbitMQ
redis (1)
redmine (3)
- Связи в проекте и Github Action
- Поиск тикета в Redmine
- Автоматизация загрузки логов из Kibana в Redmine
regex (3)
- Будущее программирования взглядом из 1973
- Проверка простоты числа с помощью регулярки
- Backreference в регулярках
rust (5)
- Как выстрелить себе в ногу с Rust (и Python)
- Операционная система на Rust
- Понятность ошибок компилятора
- Устройство HTTP
- Rust и Wasm
sbt (1)
scala (18)
- Инкрементальная компиляция в Scala 3
- О важности ориентиров
- Простая Scala
- Будущее эффектов
- Стоимость боксинга в Scala
- Проблемы GraalVM
- Понятность ошибок компилятора
- let и also в Scala
- Текущие проблемы с потоками и асинхронщиной
- Работа с эффектами в Scala
- Suspend функции в Scala
- Псевдонимы для типов и value-классы
- Круглые скобки в Scala
- Проверяемые исключения в Scala
- Scala JS
- Читаете ли вы Scaladoc для «очевидных» методов коллекций? Или почему лениться не всегда хорошо
- Зачем мне твои неизменяемые коллекции? Они же медленные
- Как себе выстрелить в ногу в Kotlin
slack (2)
smartrhino (6)
- Программист — существо социальное
- Лучшие практики и с чем их едят
- Teamlead: постановка задач
- НПиО 2019
- SmartRhino 2019
- SmartRhino 2018
smt (3)
softskills (13)
- Не надо быть перфекционистом
- Карта культурных различий
- Небольшая оптимизация сайтика
- Инженерная культура
- Ответственность разработчиков за бесплатный код
- Рефлексия и продуктивность
- Макакачность
- Альтернативы классическому менторству
- Про продуктивность
- Прозрачность и обратная связь
- Как распознать хорошего лидера
- Программист — существо социальное
- Teamlead: постановка задач
sorting (1)
spring (6)
- Генерация классов в Java: ASM и Class-File API
- Хрупкие аннотации Spring
- DSL для роутинга
- Порядок запуска тестов
- ConditionalOnMissingBean
- Сборка контейнера со Spring-приложением
sql (18)
- PRQL
- Игра про SQL
- Автоматический поиск индексов для базы
- Удаление дубликатов в таблице-списке
- Значение по умолчанию в SQL-запросе
- SQL на csv
- Визуализация explain для SQL-запроса и рекомендации по индексам
- Запросы к jsonb
- Null в SQL
- Частичная выгрузка данных в SQL
- Безопасность SELECT
- OffsetDateTime и Hibernate
- SQLite на статическом сайте
- Авторизация на уровне запросов к БД
- Грабли генерации id в Hibernate
- Как тестировать работу с реляционной БД
- Пагинация в SQL
- Поиск источника SQL-запроса
ssh (7)
- SSH как SOCKS-proxy
- Keep alive для ssh
- Кто может залогинится на сервере по ssh?
- Управление доступом по ssh
- Монтирование файловой системы через ssh
- Перенаправление портов
- Запуск команды на нескольких серваках
svelte (1)
swift (1)
teamlead (32)
- Карта разработки
- Роли и люди в процессах
- Адаптивная архитектура
- Карта культурных различий
- Инженерная культура
- Директор цирка
- Улучшение процессов в компании
- Асинхронная коммуникация вместо встреч
- Приоритизация продуктовых задач
- Премии
- Нужны ли аналитики
- Рефлексия и продуктивность
- Влияние размера организации на эффективность
- Нулевая терпимость к багам
- Кому повысить зарплату?
- Камеры на созвонах
- Пирамида код-ревью
- Порядок просмотра файлов при код-ревью
- Из-за чего команда профессионалов может работать фигово
- Связи в проекте и Github Action
- Что говорит наука о разработке?
- Цвета организаций
- Координационные модели в организации
- Самые сложные проблемы в разработке
- Как энтерпрайз убивает программирование
- Иерархия мотивации
- Самоорганизующаяся команда
- Задачи: делить или не делить? (или "У меня бомбит от скрама")
- Чек-лист тимлида
- Как распознать хорошего лидера
- Программист — существо социальное
- Teamlead: постановка задач
telegram (7)
- Комменты телеграма на сайте и похвала роботам
- Долгой круглое время!
- API телеграма и баны
- Рейтинг постов канала в Telegram
- Inline-бот для кода
- Про Slack
- Как убить на мелкий скрипт кучу времени или история одного пулл-реквеста
testing (17)
- Frame pointer
- Боль code quality
- Имитация обрыва связи
- Запретный плод для Java
- Тестовые флаги
- Почему формальные методы редко используются
- Есть ли будущее у мутационного тестирования?
- Генерировать или валидировать?
- Тестирование распределенных систем
- Порядок запуска тестов
- Динамические тесты в JUnit и Before/AfterEach
- Нагрузочное тестирование
- Как тестировать работу с реляционной БД
- Mock и Wiremock
- Покрытие тестами схем Camunda
- Как запустить что-то после всех тестов
- Выбор библиотеки ассертов для проекта на Kotlin
time (5)
- Долгой круглое время!
- OffsetDateTime и Hibernate
- Типы дат java.time
- Преобразование unix-timestamp в человеческую дату
- Работа со временем
timeout (4)
- Паттерны обработки ошибок в микросервисной архитектуре
- Timeout для команды
- Ограничение запросов ElasticSearch со стороны клиента
- Таймауты и токены отмены
tutorial (24)
- Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines
- CrypTool
- Cтруктура QR-кода
- Структура TLS
- Что такое шейдер
- awk
- Запись команд терминала
- CRDT
- Тренажер промптов для обхода ограничений
- Что внутри у мягкой ссылки
- Как работают аллокаторы памяти
- Игра про SQL
- Балансировка нагрузки
- Конспект по солверам
- Мои впечатления от солвера z3
- Тренажер сисадмина
- Пофлексить
- Устройство HTTP
- Сам себе схемотехник
- Интерактивное обучение DNS
- Интерактивное обучение λ-исчислению
- Сборник просвещающих игр
- Сборник cheatsheet
- Интерактивное обучение git
twitter (1)
types (4)
- Варианты реализации совместимости типов
- Ковариантность и контравариантность
- Псевдонимы для типов и value-классы
- Статическая типизация
typescript (3)
upsource (1)
usb (2)
util (11)
- ОС и Paint в браузере
- CrypTool
- Переводчик Curl
- Cyber Chef
- Как выиграть в "города" (России)
- Визуализация explain для SQL-запроса и рекомендации по индексам
- Удаление фона
- Сайты с геоинформацией
- Полезные и не очень сайты для curl
- Из чего только не строят графы
- Чтение тредов твиттера
vault (1)
vscode (3)
wasm (5)
- Bootstrapping для Zig
- Сапер для вымышленной консоли на Nim
- ОС и Paint в браузере
- SQLite на статическом сайте
- Rust и Wasm
web (24)
- Миграция блога на GitHub Actions
- URI vs URL vs URN
- "Поиск" по научным статьям
- Будущее программирования взглядом из 1973
- Мертвый поиск для мертвого интернета
- Угадайка RGB
- Сравнение протоколов для событий от бека к фронту
- Региcтрация собственного протокола для ссылок
- Автовыбор браузера с Zig
- Уведомления от сервера клиенту
- "Стандарт" UTF-8
- Несколько аккаунтов с одной почтой
- Фингерпринтинг
- Мои впечатления от Svelte
- Облегчение Font Awesome и задержка из-за CSS
- CORS
- OWASP наглядно
- OWASP CheatSheet
- Proxy auto config
- Впечатления от CSS, или как я галерею со смешнявками делал
- Push-уведомления в браузере
- GitHub Pages
- Сравнение производительности web-фреймворков
- Автоматизация загрузки логов из Kibana в Redmine
windows (2)
words (2)
z3 (1)
zig (2)
архитектура (22)
- Адаптивная архитектура
- Визуализация кода
- Типичные ошибки при построении микросервисной архитектуры
- Интерактивное программирование
- Микросервисы — решение для тех, кто не осилил модули
- Модель акторов для построения бигдаты
- Модель акторов для построения отказоустойчивой системы
- Пять стадий принятия саги
- Идемпотентность
- Хуки СУБД и Transactional outbox
- Принципы разделения на компоненты
- Отличие команд и событий
- Будьте проще
- Local-first приложения
- Паттерны обработки ошибок в микросервисной архитектуре
- Service mesh
- Слои API
- Чек-лист архитектуры
- CQRS
- Большие стрелки и маленькие квадратики
- Разновидности event-driven архитектуры
- Чек-листы для кода и архитектуры микросервисов
бд (21)
- Как Postgres хранит данные на диске
- Проблемы автонастройки БД
- Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines
- Автоматический поиск индексов для базы
- Удаление дубликатов в таблице-списке
- Хуки СУБД и Transactional outbox
- Доступ к базе в приватной сети
- Запросы к jsonb
- OffsetDateTime и Hibernate
- Тестирование распределенных систем
- CAP теорема
- Raft
- Авторизация на уровне запросов к БД
- Грабли генерации id в Hibernate
- Как тестировать работу с реляционной БД
- Пагинация в SQL
- Лок в liquibase
- Что разработчикам стоит знать о БД
- Проверка качества изоляции в СУБД
- Jepsen
- Поиск источника SQL-запроса
видео (5)
вк (2)
иб (21)
- Не храните свои пуки где попало
- "Приватность" в Firefox
- FAQ по безопасности AI
- Как выстрелить себе в ногу с Rust (и Python)
- Мой уровень в ИБ :)
- CrypTool
- У людей еще есть шанс в го
- Работа с файловой системой
- Атака на мультимодальные нейронки
- Основы безопасности API
- Веселые правила паролей
- Наборы инъекций
- Тренажер промптов для обхода ограничений
- Фингерпринтинг
- Тьюринг-полнота почти везде
- Безопасность SELECT
- Google Calendar API
- CORS
- OWASP наглядно
- OWASP CheatSheet
- Канал о безопасности сильного ИИ
менторство (1)
мониторинг (7)
- Отличия Prometheus от InfluxDB
- No data в Grafana
- Как запихнуть данные в Prometheus
- Трейсинг
- Нулевая терпимость к багам
- Чек-лист для алертов
- Мониторинг приложения
мысли (57)
- Карта разработки
- Роли и люди в процессах
- Swift
- Автогенерация субтитров с помощью Whisper
- Не надо быть перфекционистом
- Про телеметрию
- "Поиск" по научным статьям
- Карта культурных различий
- Ограничения и предохранители
- Когнитивная нагрузка кода
- Небольшая оптимизация сайтика
- Документация как средство повышения качества
- Комменты телеграма на сайте и похвала роботам
- Мертвый поиск для мертвого интернета
- Ответственность разработчиков за бесплатный код
- Профдеформация и C
- Мой профессиональный рост
- Асинхронная коммуникация вместо встреч
- Приоритизация продуктовых задач
- API телеграма и баны
- Премии
- cgi-bin
- Нужны ли аналитики
- Рефлексия и продуктивность
- awk
- Сколько мониторов нужно для счастья
- Статистика меток тикетов GitHub
- ChatGPT не смог сгенерить нормальный пост
- Не всё то disruptive technology, что AI
- Микросервисы — решение для тех, кто не осилил модули
- Мои впечатления от солвера z3
- Обманчивая простота API Redis
- Боль code quality
- Leetcode — это скам
- Обучение через использование
- Принципы разделения на компоненты
- Не деплойте в облака пацаны, вы матерям еще нужны
- Влияние размера организации на эффективность
- Нулевая терпимость к багам
- Тестовые флаги
- Разделение рабочего и личного на ноуте
- Камеры на созвонах
- Экономьте газ
- Круглые скобки в Scala
- Запросы к jsonb
- Local-first приложения
- Цвета организаций
- Принцип наименьшего удивления
- Самые сложные проблемы в разработке
- Макакачность
- Задачи: делить или не делить? (или "У меня бомбит от скрама")
- Про продуктивность
- Прозрачность и обратная связь
- Пост стыда
- Про лень и скачивание альбома из ВК
- Про Slack
- Опрос про баги
ноги (1)
общение (1)
стрельба (2)
утюг (15)
- Не надо быть перфекционистом
- Deepfake game
- Сборник бесплатных API
- "Приватность" в Firefox
- Когнитивная нагрузка кода
- Передача данных через ICMP (ping)
- CRDT
- Атака на мультимодальные нейронки
- Веселые правила паролей
- Игра про SQL
- Балансировка нагрузки
- Камеры на созвонах
- Судьба GIL в Python
- Pattern matching в Python
- Анатомия GNU/Linux
форумы (1)
фп (21)
- Способы предотвращения ошибок управления памятью
- Улучшение streams
- Будущее программирования взглядом из 1973
- Профдеформация и C
- Простая Scala
- Будущее эффектов
- CRDT
- Стоимость боксинга в Scala
- Проблемы монад и алгебраические эффекты
- Ковариантность и контравариантность
- Псевдонимы для типов и value-классы
- Альтернативный рейтинг профунктора, или как я опять вляпался во фронтенд
- Круглые скобки в Scala
- Будьте проще
- Интерактивное обучение λ-исчислению
- Чисто функциональный QuickSort
- Проверяемые исключения в Scala
- Уровни языков программирования
- Впечатления от F#
- Почему функциональное программирование не распространено
- SmartRhino 2019