Pull to refresh
0
0
Send message

Австралия, Лорд-Хау — самый странный часовой пояс

Level of difficultyMedium
Reading time14 min
Views12K

Часовые пояса представляют собой довольно запутанную концепцию, но не безнадёжно. И далее я опишу точную принципиальную модель, которая вам понадобится для их понимания.

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

Так что я предлагаю другой подход. В этой статье я покажу вам несколько странных часовых поясов, можно даже сказать самых странных — так как страннее, пожалуй, уже некуда.
Читать дальше →
Total votes 78: ↑77 and ↓1+104
Comments96

Задачки «полуфинала» соревнования МТС (True Tech Arena 2024) — обзор, разбор

Level of difficultyMedium
Reading time8 min
Views1.2K

Немного неожиданно что этот уровень назвали "полуфинал" - участники попадали в него сразу после квалификации, проходившей в первой половине октября. И в квалификации задачки были "не бей лежачего" (коротко упомянем их тоже). В "полуфинале" же предложили 5 задач с тем чтобы решить их за 5 часов, но время можно было выбрать любое в течение нескольких дней. Я решил две, ещё две понимаю как решать и по одной кажется без идей. На решённые задачи затратил минут 20, на нерешенные часа полтора. Давайте посмотрим на них вместе - вдруг вам будет интересно обсудить, поправить или подсказать.

Оговорюсь: я не имею отношения к МТС и не занимаюсь "спортивным/олимпиадным" программированием. Обычный мидл-девелопер из обычной конторы. Отчасти поэтому мне как и большинству из вас подобные задачки в излишних количествах кажутся немного скучными :)

Здесь речь про "алгоритмический трек" - а насчет параллельного соревнования по "роботам" можно посмотреть мою предыдущую статью.

Итак, к задачкам!
Total votes 7: ↑6 and ↓1+7
Comments0

Анализ CVE-2024-43044 — от чтения файлов до удаленного выполнения кода в Jenkins через агентов

Reading time9 min
Views1.3K

Jenkins — это широко используемый инструмент для автоматизации задач, таких как сборка, тестирование и развёртывание программного обеспечения. Он является важной частью процесса разработки во многих организациях. Если злоумышленник получает доступ к серверу Jenkins, это может привести к серьёзным последствиям, таким как кража учетных данных, манипуляции с кодом или даже срыв процессов развёртывания. Доступ к Jenkins предоставляет злоумышленнику возможность вмешаться в программный конвейер, что может привести к хаосу в процессе разработки и компрометации конфиденциальных данных.

В этой статье мы рассмотрим консультативное заключение по уязвимости CVE-2024-43044, которая представляет собой уязвимость, связанную с произвольным чтением файлов в Jenkins. Мы покажем, как можно использовать эту уязвимость для эскалации привилегий с целью достижения удалённого выполнения кода (RCE) на контроллере Jenkins при захвате агента Jenkins.

Обзор архитектуры Jenkins

Архитектура Jenkins основана на модели "контроллер-агенты", где контроллер Jenkins является основным узлом в установке Jenkins. Контроллер управляет агентами Jenkins и координирует их работу, включая планирование задач на агентах и мониторинг их состояния [3]. Взаимодействие между контроллером и агентами может происходить через Inbound-соединение (ранее известное как "JNLP") или SSH.

Читать далее
Total votes 6: ↑4 and ↓2+5
Comments0

Асинхронный SQLAlchemy 2: простой пошаговый гайд по настройке, моделям, связям и миграциям с использованием Alembic

Reading time30 min
Views12K

Наконец-то пришло время взяться за то, что я давно планировал — подробный гайд по асинхронной версии SQLAlchemy 2.0 в стиле ORM. В этой серии статей я подробно расскажу обо всех аспектах: от создания моделей и установления связей между ними до миграций с Alembic и взаимодействия с данными в базе. Мы будем шаг за шагом разбирать ключевые моменты работы с асинхронной базой данных, что позволит вам глубже понять SQLAlchemy и применить эти знания на практике.

Для начала, давайте разберёмся, что такое SQLAlchemy и почему каждый разработчик, работающий с реляционными базами данных (такими как SQLite, PostgreSQL, MySQL и т. д.), должен знать о ней. После этого — настройка. Мы будем работать с PostgreSQL, но не переживайте: код, который мы напишем, универсален для всех реляционных баз данных. Мы начнем с базовой настройки SQLAlchemy для асинхронного взаимодействия, а затем перейдём к созданию таблиц в современном декларативном стиле.

Читать далее
Total votes 29: ↑28 and ↓1+30
Comments27

Postgres, как настроить запросы между разными БД

Level of difficultyEasy
Reading time3 min
Views5.1K

Всем привет. На днях пришлось вспомнить магию Postgres, задача была решена, по результатам написал инструкцию в корпоративную базу знаний, что бы в следующий раз не тратить время на "воспоминания". Решил поделиться.

Ниже речь будет идти о чтении данных одной БД из другой БД. В частности я решал такую проблему:

В нашей Системе данные о пользователях записаны в одной БД, а данные об их торгах в другой, без дополнительных настроек Postgres не позволяет использовать в одном запросе данные из разных БД.

То есть запрос вида:

select a.id from auth.public.user a join trade.public.tenders t on a.id = t.user_id;

Вызовет ошибку "[0A000] ERROR: cross-database references are not implemented".

Что делать ?

Читать далее
Total votes 11: ↑6 and ↓5+4
Comments11

Open source решения для управления и работы с данными в облаке

Level of difficultyMedium
Reading time4 min
Views2.7K

Хабр, привет! Сегодня у нас подборка перспективных open source решений, которые могут упростить хранение данных и работу с ними в облаке. Говорим про Garage, LinDB, LitData и Triplit.

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

Читать далее
Total votes 7: ↑7 and ↓0+10
Comments1

Нотификации в telegram о падении приложения, через графану

Level of difficultyEasy
Reading time2 min
Views1.5K

Это не анонсированная третья часть. Первые две здесь:

1. Подготовка Django приложения для локальной разработки и деплоя

2. Django приложение в докере. Логирование и мониторинг (тоже в докере)

Не анонсированная, потому что этот способ подходит для любого приложения с метриками через Prometheus, но как настраивать их для конкретного Django приложения можно посмотреть в предыдущих частях.

Читать далее
Total votes 7: ↑3 and ↓4+4
Comments5

Kubernetes в миниатюре для локального запуска: k0s, MicroK8s, kind, k3s и Minikube

Reading time12 min
Views39K

Тех, кто работал с Kubernetes, вряд ли удивит ситуация, когда внезапно пришла идея по автоматизации, унификации, преобразованию чего-либо в кластере, но так, чтобы не волноваться за конечный результат. Когда возникает потребность в какой-то песочнице, чтобы провести тестирование, проверить гипотезу «на коленке», не используя рабочий Kubernetes-кластер.

В таких случаях приходят на помощь «мини-кластеры». Их можно запустить на рабочем ПК, «поиграться» с примитивами, построить новую структуру, а после завершения эксперимента — безвозвратно удалить (ведь это уже отработанный материал!).

Отвечая на эту потребность, разработчики со всего мира пришли со своими решениями для быстрого запуска облегчённого варианта Kubernetes. Все они по-разному организованы и, конечно, обладают разными возможностями. Чем пользоваться, зависит от нужд и предпочтений. Чтобы получше разобраться в них или вообще понять, с чего стоит начать, предлагаем результаты нашего беглого знакомства с некоторыми популярными решениями. Благо, все они достаточно хорошо документированы (как на сайтах, так и в CLI), что существенно ускоряет первое погружение и взаимодействие с ними. В конце статьи будет сводная таблица с основными особенностями решений.

Читать далее
Total votes 41: ↑40 and ↓1+49
Comments28

Нейросеть для презентаций, хранилище для паролей – и еще 8 российских стартапов

Reading time4 min
Views3.1K

10 новых российских сервисов для управления проектами, работы в команде, автоматизации рабочих процессов и многого другого. Битва за «Продукт недели» началась!

Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.

Читать далее
Total votes 18: ↑11 and ↓7+9
Comments0

Переезжаем с Oracle и Microsoft SQL Server на Platform V Pangolin: опыт Сбера

Reading time8 min
Views17K

Привет, Хабр! На связи Михаил Семенов, лидер дивизиона баз данных в СберТехе, Артем Лаптев, руководитель эксплуатации продукта Platform V Pangolin в SberInfra, и Вячеслав Гавришин, руководитель команды развития Platform V Pangolin в SberInfra. 

В этом посте мы поделимся историей импортозамещения систем управления базами данных в Сбере и опытом миграции с MSSQL и Oracle на собственную СУБД Platform V Pangolin. Расскажем, как разрабатываем и кастомизируем отечественную СУБД уровня enterprise и какие решения помогли нам упростить процесс миграции и использовать продукт в микросервисной архитектуре банка.

Читать далее
Total votes 16: ↑11 and ↓5+12
Comments29

Как я решал задачу получения доступа к данным банковских приложений на iOS

Reading time5 min
Views4.5K

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

Можно было бы эти категории записывать на листик или куда-то в заметки, но я решил сделать iOS приложение, в котором можно добавлять выбранные категории кешбэка, а они уже будут выводиться в виде виджета.

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

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

Как небольшой команде переехать на ClickHouse: на какие грабли мы наступили и о каких фишках не знали

Level of difficultyEasy
Reading time21 min
Views13K

Привет, Хабр!

Меня зовут Петр. Я работаю инженером по данным в Okko и обожаю ClickHouse. 

Примерно в середине прошлого года мы начали переезжать с PostgreSQL на ClickHouse. Одной из главных причин переезда была низкая производительность: среднее время аналитического запроса составляло около минуты. Сейчас, после переезда, среднее время запроса в аналитическом кластере — около 2 с. И это не предел.

Я расскажу, как мы пришли к текущему состоянию хранилища данных, какие ошибки совершили, какие шишки набили, и о каких фишках кликхауса предпочли бы знать заранее.

Статья в основном для тех, кто только начинает свой путь работы с кликхаусом: мы посмотрим, как делать не надо, и как можно сделать лучше.

В этой статье не будет объяснений почему для переезда мы выбрали именно этот инструмент. Не будет и глубокой теории о его внутреннем устройстве. Отметим лишь: в правильных руках ClickHouse — одна из самых быстрых колоночных СУБД для OLAP запросов.

Читать далее
Total votes 42: ↑42 and ↓0+59
Comments26

ТОП ошибок тех. интервьюеров

Level of difficultyEasy
Reading time6 min
Views6.3K

За последние 2 года я провел множество тех. собесов, но после статьи @AlfaTeamдолго думал «‎мне есть что сказать» или лучше помолчать. В итоге таки решил описать типовые ошибки интервьюеров, которые я не замечал «до»‎, но стал замечать «после»‎ этого марафона собесов.

Читать далее
Total votes 11: ↑9 and ↓2+13
Comments14

Who are you, Platform Engineering. Часть 3: знакомство с Dev Platform

Reading time12 min
Views2.9K

Внутренние платформы разработки (Internal Development Platform, IDP), как один из артефактовпримеров реализации платформенного подхода (Platform Engineering) становятся важной точкой роста для многих компаний, занимающихся разработкой: помогают унифицировать стек, снизить не целевую нагрузку на команды, увеличить ускорить time-to-market. Поэтому многие компании начинают двигаться в сторону создания развертывания своих IDP. 

Мы продолжаем серию статей о Platform Engineering и Internal Development Platform (IDP). В первом и втором материалах цикла мы уже рассмотрели базовую теорию, познакомились с типовой архитектурой IDP и вариантами реализации. А в этой статье остановимся на обзоре Dev Platform, разрабатываемой командой VK Cloud.

Читать далее
Total votes 21: ↑20 and ↓1+26
Comments0

Анализ Docker-образов на соответствие требованиям комплаенс

Reading time26 min
Views4K

Всем привет! Меня зовут Максим Чиненов, я работаю в компании Swordfish Security, где занимаюсь внедрением, развитием и исследованием инструментов и процессов связанных с практиками Cloud & Container Security.

Сегодня мы разберем работу инструмента OCI‑image‑compliance‑scanner, разработанного в нашей компании для покрытия задач по аудиту образов на лучшие практики компоновки.

Читать далее
Total votes 7: ↑6 and ↓1+9
Comments1

Операционка реверсера. Обзор виртуальной среды FLARE-VM

Level of difficultyEasy
Reading time6 min
Views2.7K

Каждый раз открывая новостную ленту ты скорее всего замечал посты про очередную вирусную атаку. Хакеры и злоумышленники очень любят применять в своих атаках малварь разного вида. Но наша с тобой задача на сегодня научиться ковырять такие вещи используя отдельное ПО для этого. Разбирать все это дело на личном хосте будет крайне не логично и опасно, поэтому я предлагаю погрузится в мир реверса и научиться создавать собственную виртуальную среду для анализа вредоносного кода.

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

Как информативно оформить профиль на GitHub?

Level of difficultyEasy
Reading time6 min
Views16K

Тетрадь, дневник — ваше лицо. А круто оформленный профиль на гитхабе — статус вашей занятости. Чем больше участий в проектах, тем безработнее... Пока молодые специалисты оформляют свои страницы с "Lib-Meta-Neo ML-Scientist 10 years of expirience" на LinkedIN настоящий амбассадор HR и трудового найма бегут на GitHub. Именно там выискиваются самые закостенелые гики программирования, вносящие тридцать пять тысяч коммитов в безбюджетные опенсорс проекты; именно там рождаются гении, разрабатывающие AAA-проекты геймдева на ассемблере. 

Все это шутки. 

Но реальность такова, что многие из рекрутеров не против оценить ваш профиль. Подавать себя, как в маркетинге, важно. И неплохо бы сразу представить всю статистику развернуто перед глазами, чтобы бедный HR не искал ваши коммиты, а гордо проведенные тысячи часов в GitHub не остались за кадром. Каждый проект служит материальным доказательством способностей разработчика, позволяя потенциальным соавторам или работодателям оценить его стиль программирования, навыки решения задач и умение управлять проектами. 

Для этого на гитхабе есть много утилит, которые помогают оформить Readme личного профиля. Но для начала давайте быстренько его создадим.

Читать далее
Total votes 26: ↑24 and ↓2+26
Comments5

OFGB, или Как Linux-разработчица решила проблему рекламы в ОС Windows 11

Reading time4 min
Views10K

Программистка из Arch Linux написала утилиту для пользователей операционной системы Windows 11. Её основное назначение — удаление всей рекламы в ОС. Программа убирает даже те материалы, на которые не действуют стандартные методы, а ведь их объём увеличивается с каждым обновлением ОС. Софт не занимает много места на диске и пока что доступен для скачивания и бесплатного использования. Подробности — под катом.

Читать далее
Total votes 13: ↑8 and ↓5+11
Comments24
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity