Pull to refresh
62
0
Олег @unfilled

User

Send message

PostgreSQL 16. Страницы и версии строк. Часть 3

Level of difficultyMedium
Reading time10 min
Views3.7K

Данная статья является продолжением: PostgreSQL 16. Изоляция транзакций. Часть 2.

В этой части мы рассмотрим, из каких частей состоит страница в PostgreSQL, как выполняются операции CRUD (создание, чтение, обновление, удаление) для строк с сохранением нескольких версий одной и той же строки в таблице и как на это влияют транзакции. Также рассмотрим вложенные транзакции.

Читать далее
Total votes 11: ↑11 and ↓0+16
Comments2

5 книг, которые стоит почитать начинающему ИТ-архитектору

Reading time5 min
Views28K

Привет, Хабр! Меня зовут Александр Бардаш, я главный архитектор интеграционных платформ в МТС. Сегодня расскажу, почему ИТ-архитекторам важно хотя бы иногда всегда читать книги, и поделюсь подборкой для начинающих. Жду вас под катом и в комментариях!

Читать далее
Total votes 25: ↑19 and ↓6+19
Comments17

Всё что нужно знать про DuckDB

Level of difficultyEasy
Reading time11 min
Views6.8K

В статье рассказано, как вам может помочь утка при работе с данными, с OLAP-нагрузкой и как она может плавать в вашем Data Lake. Вы узнаете всё самое важное про DuckDB и сможете попрактиковаться в работе с DuckDB.

Читать далее
Total votes 16: ↑14 and ↓2+17
Comments16

День защиты (от) детей: подборка игр от семейки айтишников

Level of difficultyEasy
Reading time8 min
Views8K

Привет, Хабр! Меня зовут Андрей. Я работаю в ИТ-компании «Криптонит» и воспитываю шестилетнюю дочь. Совмещать это весьма непросто, поэтому хочу поделиться лайфхаками о том, как провести время с ребёнком и не сойти с ума и увлечь его разными занимательными задачками.

Каждое воскресение мои мечты отоспаться разбиваются о детскую непосредственность дочери Кати:

— Пап, ты можешь со мной поиграть?! — тормошит она чуть свет и, скорее, требует, чем просит.

— Папа много чего может, но пока не хочет. — душнила во мне вяло борется за право подрыхнуть.

Этот бой проигран ещё до начала. Морфей в ужасе бежал от Кати, и я его понимаю. Дочь уже не даст покоя. Она будет «папкать» и натурально прыгать по тебе, пока не получит своё.

Чтобы в следующие выходные было чуть легче, на неделе я придумываю разные активности. Одни помогают сделать ребёнка «самозанятым» хотя бы на 10-15 минут, а другие достаточно просты, чтобы играть в них даже не до конца проснувшимся. Вот некоторые из них в помощь молодым родителям.

Прямоугольники

Для этой игры понадобится листок в клеточку, 1-2 кубика и пара карандашей (фломастеров) разных цветов. Ещё желательно приготовить ручку, чтобы нагляднее записывать цифры. Сама игра отдалённо похожа на «тетрис», только все фигуры — прямоугольники. 

Перед началом игры отмечаем на листке игровое поле произвольного размера, например 24 на 32 клетки. Затем два игрока по очереди рисуют прямоугольники. Их размер задаётся выпавшими цифрами на кубиках как длины сторон в клетках. 

Первый прямоугольник рисуется в углу. В следующий ход нужно нарисовать новый прямоугольник так, чтобы он имел общую сторону с предыдущим на протяжении хотя бы одной клетки. Если нет места, чтобы нарисовать прямоугольник заданного размера, игрок пропускает ход. Игра заканчивается, когда оба игрока не могут сделать следующий ход. Выигрывает тот, чьи прямоугольники заняли большую площадь на листке.  

Читать далее
Total votes 23: ↑22 and ↓1+25
Comments9

Финансовая арифметика в PostgreSQL

Level of difficultyEasy
Reading time5 min
Views9.9K

Иногда перед разработчиком, аналитиком или даже бизнес-пользователем встает задача выполнить какие-то финансовые расчеты, соблюдая два строгих требования. Во-первых, даже для миллиардных сумм необходимо обеспечить точность до копейки, во-вторых, перекрестные итоги тоже должны сходиться до копейки.

Читать далее
Total votes 30: ↑26 and ↓4+28
Comments53

Десять основных упражнений для предотвращения болей в спине у программистов

Reading time5 min
Views11K
Привет всем коллегам-программистам! Давайте углубимся в тему, которая имеет не меньшую важность, чем дебаггинг того дурацкого фрагмента кода, с которым вы столько воюете – тему вашего здоровья, а если конкретнее – предотвращения болей в спине. Речь не о затекающих время от времени мышцах, а о глубокой, настойчивой, ноющей боли, которая является последствием написания кода в режиме марафона. Под катом вы найдете десять упражнений, которые станут для вас палочкой-выручалочкой и сделают вашу спину такой же крепкой, как ваш код.
Читать дальше →
Total votes 22: ↑18 and ↓4+20
Comments12

Стартуем без транзакции. Альтернативный вариант вопросов на собеседовании «по SQL»

Level of difficultyMedium
Reading time29 min
Views13K

Статей о селектах хватает, попробуем про апдейты. "ТОП-100" вопросов не обещаю - тут бы с одним разобраться. Разработчиков OLTP-систем под MS SQL Server и кандидатов на подобные вакансии приглашаю под кат.

Код на T-SQL, и он идеален. Атомарности нет, целостность вернём ручными апдейтами, изоляция с дюрабилити только мешают. Программируем без оглядки на ACID, который жив лишь в статье википедии.

ACID поломать, код не исправить
Total votes 20: ↑20 and ↓0+20
Comments10

Игра змейка на ардуино

Level of difficultyEasy
Reading time3 min
Views5.6K

Игра змейка на ардуино нано.

Логика игры проста, поедая яблоки змейка вырастает на один светодиод, если змейка натыкается на саму себя то вся матрица загорается красными светодиодами обозначая проигрыш. После этого игра начинается сначала.

Читать далее
Total votes 14: ↑12 and ↓2+15
Comments4

Сравнительный анализ методов аппроксимации на основе SQL-запросов

Level of difficultyMedium
Reading time19 min
Views7.3K

При работе с данными часто приходится сталкиваться с ситуацией, когда имеется некоторая функциональная зависимость yi = f(xi), которая получена в результате эксперимента или сбора статистики. То есть исходные данные представлены набором точек (x1, y1), (x2, y2) … (xn, yn), где n – количество экспериментальных значений. Если аналитическое выражение функции f(x) неизвестно или весьма сложно, то возникает чисто практическая задача: найти такую функцию Y = F(x), значения которой при x=xi будут близки к экспериментальным данным. Приближение функции f(xi) к более простой F(x) называется аппроксимацией. Аппроксимация позволяет исследовать числовые характеристики и качественные свойства объекта, сводя задачу к изучению более простых или более удобных объектов. Как правило, выбор модели аппроксимации определяется по минимальному значению погрешности на всем интервале исходных данных. Для расчетов необходимо использовать несколько видов аппроксимаций, чтобы определить более точное описание зависимости экспериментальных данных y = f(xi).

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments8

Как стать Delphi-программистом за час «для самых маленьких»

Level of difficultyEasy
Reading time41 min
Views17K

Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.

В этой статье мы получим все базовые навыки, которые нужны Delphi программисту (включая базовые знания RunTime, работу с Com-объектами и Canvas, вводом\выводом, файлами, парсингом, ооп, и тд), по окончании статьи.

Окунутся в чудесный мир бесконечного скрол
Total votes 39: ↑19 and ↓20+4
Comments186

Большой гайд по энергии. Часть 1 — как получать максимум пользы из питания?

Level of difficultyEasy
Reading time8 min
Views11K

Всем привет, на связи команда Skill Vortex!

Читая комментарии под последней статьей, мы столкнулись с одной, крайне распространенной проблемой – низким уровнем энергии и мотивации.

«Просыпаюсь уже уставшим, весь день хожу разбитым, а вечером хочется просто лечь и смотреть в потолок» - примерно так ее описывают наши читатели.

Мы сочли данную тему достаточно интересной, поэтому решили написать целый цикл статей. Сегодня поговорим о питании и его влиянии на общий уровень энергии.

В этой статье:

Сказка о потерянных силах - как в 33 чувствовать себя на 70?

Откуда берется энергия – весь процесс и подводные камни.

Белки и жиры – типы, особенности и влияние.

БАДы, витамины и стимуляторы – неужели есть чудо-таблетка?

Про запреты – как не угробить себя в первые недели.

Заключение и все полезные ссылки.

Читать далее
Total votes 17: ↑12 and ↓5+10
Comments16

Медитация глазами обычного человека: что, зачем и как

Level of difficultyEasy
Reading time14 min
Views15K

В современном мире мы уделяем время многим вещам (карьера, здоровье, семья, отношениям). Но зачастую забываем про самое важное — себя любимого.

Может ли быть такое, что все вокруг несчастные, а тебе вроде норм? И наоборот, все вокруг такие счастливые, а ты грустный? У меня такое часто, можно даже сказать, что мое настроение мало коррелирует с окружающей действительностью. А могу ли я управлять своим настроение сам? — Кто если не я? А если я могу этим управлять — надо разбираться и осваивать.

Решил освоить алкоголь медитацию. Может это и есть серебряная пуля (ну мало ли) для хорошего настроения и устойчивого психологического состояния?

аамммм
Total votes 29: ↑21 and ↓8+17
Comments32

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS

Level of difficultyEasy
Reading time26 min
Views36K

Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.

Хотите узнать, что скрывается под витриной маркетплейса? Что держит нагрузку в 1 миллион запросов в секунду? Толстые кэши или нечто большее? Про то, как устроено наше кэширование и как мы к этому пришли, — рассказываю в статье.

Читать далее
Total votes 128: ↑128 and ↓0+128
Comments96

Это база: нюансы работы с Redis. Часть 1

Level of difficultyMedium
Reading time15 min
Views39K

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

В серии статей я попытаюсь осветить неочевидные нюансы при работе с Redis и сегодня начну с основных концепций и понятий. А еще в конце статьи приведу небольшой чек-лист, который может помочь вам в оптимизации этого NoSQL решения.

Читать далее
Total votes 79: ↑79 and ↓0+79
Comments5

Вредные советы

Level of difficultyEasy
Reading time4 min
Views7.1K

А что мы все о грустном да печальном, ошибках да UB всяких? Давайте скрасим пятницу парой вредных советов ala Григорий Остер. В бытность мою работы в питерском офисе электроников (EA Spb), был у нас один замечательный QA инженер. В обычной жизни человек довольно замкнутый и неразговорчивый, но на вечеринках, приняв стопку-другую чаю, превращался в искрометного шутника, способного срифмовать все что угодно, чем мы неоднократно пользовались. Василий, за давностью лет, я к сожалению не помню твоей фамилии, если отзовешься в коментах, то обязательно поставлю авторство. Немного из тех виршей у меня сохранились, да смысла их записывать особо не было и некогда, потому что всегда был автор под боком, но кое что сохранилось.

Если ты с утра увидел
Багу в трекере своем
Не спеши её дебажить
Пусть немного полежит
В чате спрашивай побольше
И лида поотвлекай
Пусть о баге этом страшном
В фирме знает весь народ
А потом отправь на репро
И закрой как CNR

ПОСЛУШНЫМ ПРОГРАММЕРАМ ЧИТАТЬ ЗАПРЕЩАЕТСЯ!
Total votes 16: ↑15 and ↓1+16
Comments5

Clickhouse — непростая жизнь в продакшене

Level of difficultyHard
Reading time13 min
Views21K

Около двух лет назад вышла небольшая статья Kafka Streams — непростая жизнь в production, в которой я описывал сложности, с которыми наша команда столкнулась при попытке решить задачи проекта с помощью kafka-streams. Эксперимент вышел неудачным, и мы в итоге совсем отказались от этой технологии. Вместо нее решили попробовать Clickhouse (CH), и сейчас уже можно сказать, что эта база нам очень хорошо подошла и отлично решает почти все задачи, которые нам ставит бизнес. В этой статье я расскажу об особенностях использования CH.

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments8

Kibana. Использование языка запросов KQL при поиске логов

Level of difficultyEasy
Reading time6 min
Views36K

Туториал по работе с логами в Kibana для начинающих специалистов по тестированию ПО.

У Kibana имеется свой язык запросов KQL (Kibana Query Language) - официальный источник. С помощью этого языка можно составлять запросы, которые помогают отфильтровывать и найти необходимую информацию.

Подключение к Kibana для просмотра логов.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments12

Как воспитать в своей семье юного инженера и не разориться?

Level of difficultyEasy
Reading time8 min
Views20K

Говорят, собственный пример – это самое лучшее обучение для ребёнка. Рассказываю, как я проверил справедливость этого высказывания на себе, с нуля погрузился в робототехнику и в итоге у меня даже получилось сконструировать нечто стоящее. А ещё в процессе я поднаторел в вопросах экономии средств на покупке довольно дорогостоящих деталей для такого вида хобби.

Короче, слушайте
Total votes 52: ↑50 and ↓2+60
Comments32

Clean Git History, или Тёмная сторона VCS

Level of difficultyMedium
Reading time13 min
Views14K

Всем привет! Меня зовут Маша, и я Golang Backend Developer в компании Ozon. В этой статье я хотела бы поговорить о теме, так или иначе объединяющую все сферы нашего любимого мира IT. А именно — VCS Git.

Без системы контроля версий сейчас невозможно представить ни один проект. Это оплот любой кодовой базы, это мощнейший инструмент, с помощью которого эту базу можно изменять и отслеживать. Однако нередко чистотой истории изменений пренебрегают, полагаясь на старое доброе «И так сойдёт!», абсолютно игнорируя при этом сложность понимания и поддержки такой истории в будущем.

В этой статье я рассмотрю причины такого подхода, его недостатки, а также способы решения проблем, к которым он приводит. Я  выделила несколько основных принципов, которые помогут прийти к чистой истории изменений проекта. Давайте же вместе исследуем эту темную, неизведанную сторону Git, которая нам в этом поможет.

К тёмной стороне Git...
Total votes 50: ↑45 and ↓5+45
Comments62

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Level of difficultyEasy
Reading time11 min
Views404K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как Wireguard и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера для всего этого.

Но кое о чем мы не поговорили. Во второй статье я вскользь упомянул самую передовую и недетектируемую технологию обхода блокировок под названием XTLS-Reality, и пришло время рассказать о ней поподробнее, а именно - как настроить клиент и сервер для нее.

Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XTLS-Reality гораздо проще, чем описанные ранее варианты - после предыдущих статей я получил довольно много комментариев типа "А что так сложно, нужен домен, нужны сертификаты, и куча всего" - теперь все будет гораздо проще.

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments306
1
23 ...

Information

Rating
Does not participate
Location
Омск, Омская обл., Россия
Date of birth
Registered
Activity