Pull to refresh

Technotext

Шардированный кластер ClickHouse

Level of difficultyEasy
Reading time21 min
Views5.8K

Хочу рассказать, как спроектированы распределённые вычисления в ClickHouse. Вы узнаете, на что влияет схема кластера (и на что не влияет). Расскажу, как можно на ровном месте создать себе проблему при помощи всего одной таблицы Kafka и нескольких матвьюх. Поделюсь опытом про дебаг и оптимизацию SELECT-запросов к Distributed таблицам: поизучаем планы выполнения и поэксперементируем с настройками в блоке SETTINGS.

Читать далее

Немного об отладке. Часть 1

Level of difficultyMedium
Reading time127 min
Views7.2K

Приветствую.

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

Но вот знаете ли вы как отладка устроена: точки останова, шаги, бэктрейс, чтение переменных?

Нет или да - ответ не важен. Эта статья даст ответы на многие вопросы об отладке, которые вы, возможно, и не задавали себе.

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

Путешествие на 20 минут

Objective-C не кусается: как перестать бояться Legacy и стать настоящим iOS-ниндзя

Level of difficultyEasy
Reading time23 min
Views4.3K

Всем привет! Меня зовут Сергей, и я работаю разработчиком мобильных приложений. Также мы с ребятами развиваем международное комьюнити Coffee&Code, а сам я частый гость на встречах в Санкт-Петербурге.

Хочу поговорить о теме, которая волнует многих разработчиков: использование старых технологий в iOS-разработке, таких как Objective-C. Тут возникает очень насущный вопрос, являются ли он легаси?

Читать далее

Обнаружение SSH-туннелей по размеру пакетов

Level of difficultyMedium
Reading time8 min
Views23K

Иллюстрация из книги «Справочник киберсантехника»

Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Читать дальше →

Как AMD выкрутилась и научилась воспроизводить операции ядер CUDA на своих видеокартах. История ROCm

Level of difficultyMedium
Reading time8 min
Views48K

Как AMD смогла обойти монополию NVIDIA в мире ИИ? История о том, как команда AMD создала ROCm — технологию, позволяющую запускать CUDA-приложения на своих видеокартах. Как компании удалось совершить этот технологический прорыв? Разберём путь от первых экспериментов с HSA до современных версий ROCm, поддерживающих самые популярные фреймворки для машинного обучения. А главное — в конце расскажу, как установить ROCm на Windows и Linux, избежав всех подводных камней.
Читать дальше →

Потоки под капотом: как работают многопоточность и синхронизация в iOS

Level of difficultyMedium
Reading time25 min
Views17K

Привет! Я Александр Сычев, iOS‑эксперт в KTS. В этой статье поговорю о потоках.

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

В данной статье мы рассмотрим детали этой темы, а именно:

проанализируем работу потоков;

выявим скрытые механизмы, обеспечивающие их функционирование;

определим, какую пользу практикующим iOS‑разработчикам приносит понимание внутреннего устройства потоков.

Читать далее

Макросы в swift — напишут код за вас, но есть нюанс…

Level of difficultyMedium
Reading time38 min
Views12K

Привет! Меня зовут Настя Ищенко, я — iOS-разработчик в KTS.

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

Читать далее

Как я создал архиватор из задачки с техсобеса: сжатие файлов с помощью RLE

Level of difficultyMedium
Reading time17 min
Views14K

Привет, меня зовут Рома. Я работаю в отделе спецпроектов KTS на позиции Python backend-разработчика. 

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

Читать далее

16 типов менеджеров проектов: от токсика и пингатора до бюрократа и мамы-утки

Level of difficultyEasy
Reading time10 min
Views24K

Менеджеров проектов можно классифицировать тысячей разных способов: по опыту, по навыкам, по вовлеченности или по сфере работы. Но мы выбрали самый сложный — классифицировать по их манере управления. Один PM на всё готов и вписывает команду в любой движ, другой — напротив, отказывается от активностей и всячески оберегает «своих» от перегруза. В общей сложности мы насчитали 16 ярких типажей. Попробуем разобрать плюсы и минусы каждого.

Нас зовут Аня Ионова и Миша Дырма, мы оба уже много лет работаем в AGIMA, оба прошли путь от линейного проджекта до руководителя проектного офиса. За эти годы мы вырастили десятки РМ-ов, а общались, наверное, с сотнями, если не с тысячами. Мы поняли, что это хороший материал для — немного субъективного — обобщения. В этой статье мы описываем те типы управления, которые видели собственными глазами. А заодно — даем рекомендации, как выявить и грамотно применить скиллы каждого PM.

Читать далее

Как не сжечь команду дотла, или Почему Work-life balance — задача руководителя

Level of difficultyEasy
Reading time9 min
Views21K

Всем привет! Я Саша Ворожищев, руководитель мобильной разработки в AGIMA. В интернете сотни статей о том, как важно не выматывать себя на работе, но всё без толку. Согласно недавнему исследованию Хабр Карьеры, более 90% российских IT-специалистов сталкивались с выгоранием. При этом более 40% доводят себя до поздних стадий, когда эмоциональное истощение уже перерастает в депрессию.

В этой ситуации будет полезным напомнить, что любой руководитель может влиять на состояние команды. И это важно не только с точки зрения человеколюбия, но и с точки зрения бизнеса. В конце концов энергичный сотрудник, который любит свою работу, принесет компании больше счастья, чем выгоревший и усталый. Поэтому давайте разберем, как мотивировать команду соблюдать Work-life balance.

Читать далее

Мы построили бесконечный винный фонтан своими руками, потратив всего 6000 рублей. Рассказываю, из чего он сделан

Level of difficultyMedium
Reading time5 min
Views7.7K

Привет! Меня зовут Леша Штанько, я работаю системным администратором, интегратором и пишу автоматизации в Google App Scripts на JS в AGIMA. Но есть у меня и еще одна ипостась — я активный участник нашего винного клуба. Мы с ребятами дегустируем вина, изучаем их специфику и историю, разбираемся во вкусах и ароматах. В общем, эстетствуем. А недавно для корпоративного конкурса собрали своими руками настоящий винный фонтан, который может работать бесконечно.

Рассказываю, как (и зачем) мы его построили, что он собой представляет и как в домашних условиях сделать точно такой же. Спойлер: это намного проще, чем кажется.

Читать далее

Я так устал вводить логин и пароль

Level of difficultyEasy
Reading time3 min
Views39K

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

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

Одна из них — срок жизни авторизации в приложениях.

В Steam и Gmail токены авторизации живут достаточно долго. В Steam авторизация вообще может жить годами. Это положительные примеры.

Отрицательных примеров гораздо, гораздо больше.

Читать далее

Как одна приоритетная очередь спасла наш биллинг от кэш-хаоса

Level of difficultyMedium
Reading time6 min
Views2.2K

Привет! Меня зовут Дмитрий Бандурин, я заместитель директора департамента биллинговых решений в компании «СИГМА». Моя команда регулярно выполняет нетривиальные задачи для стабильной работы высоконагруженных систем. Сегодня расскажу, как мы переработали логику обработки пакетных процессов в нашей системе массовых операций, на примере расчета дебиторской задолженности. Нам было необходимо, чтобы она справлялась с возрастающим объемом данных — и всё это в жестких временных рамках и в условиях многопоточности.

Мы должны идти глубже

Использование JSONB-полей вместо EAV в PostgreSQL

Level of difficultyEasy
Reading time7 min
Views5.5K

На одной из конференций PGConf мы обнаружили, что комьюнити с большой опаской относится к использованию JSONB-полей в своих системах. Интернет при этом не столь радикален. Наша же команда в это время вовсю использует JSONB у себя в проекте. Мы решили поделиться нашим вполне успешным кейсом в реальной нагруженной системе с сотнями миллионов строк в таблицах, где эти поля используются.

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views1.2K

В конце 2024 года аналитическое агентство CNews Analytics опубликовало рейтинг разработчиков корпоративных мобильных приложений. Он составлялся на основе результатов выручки компаний по данному направлению за 2023 год. В этом рейтинге СИГМА участвовала впервые, но результаты компании позволили сразу войти в топ-10. Чтобы оценить потенциал рынка корпоративной мобильной разработки и выделить наиболее перспективные направления работы на нем, мы решили проанализировать, как развивалось это направление в мире и России в последние годы, что отличает лидеров рынка и какие приложения наиболее востребованы.

Читать далее

Рептилоиды победили… но это не точно

Level of difficultyEasy
Reading time12 min
Views11K

На свете есть много всяких дремучих мракобесов: антиваксеры, плоскоземельцы, любители кошек, евроскептики и проч. Я вот, например, нейроскептик. Может тут особенно и гордиться‑то нечем, но уж какой есть. Последовательный и упорный. Но честный и научно‑добросовестный. Поэтому, заметив нездоровую истерию в недружественной прессе по поводу грядущего (почти завтра) AGI полез разбираться, чего ж там такого ужасного натворили с chatGPT за последнее время. И таки да, временами действительно это выглядело пугающе, но все таки еще не все потеряно....

Читать далее

Офлайн А/Б тесты в ресторанах фастфуда. Часть 1: Планирование и верификация офлайн A/B-тестов

Level of difficultyMedium
Reading time16 min
Views2K

Привет! Меня зовут Елена Малая, я занимаюсь офлайн A/B-тестами в Бургер Кинг Россия.

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

Эта статья — о том, как я выстраивала методологию A/B-тестирования в условиях оффлайн-ритейла. Она для тех, кто работает с данными не в идеальном вакууме, а на земле — в ресторанах, ритейле, логистике.

Здесь не будет учебных формул — только рабочие подходы, предостережения и лайфхаки, собранные через тесты, ошибки и (маленькие) победы. Если вы, как и я, когда-то поняли, что "по книжке" оно не взлетает — welcome.

Читать далее

Нужно ли вам красивое резюме? Оцениваем результаты эксперимента с помощью статистики

Level of difficultyEasy
Reading time5 min
Views8.2K

Недавно YouTube подкинул мне видео об оценке эффективности резюме. Автор ролика создал пять вариантов, чтобы изучить влияние четырёх факторов: имени соискателя, названия компании, перерыва в работе и оформления. Каждое резюме было отправлено на 100 релевантных вакансий.

Меня зовут Ольга Матушевич, я наставница на курсе «Аналитик данных» в Яндекс Практикуме. В этом тексте я расскажу, какие результаты показал эксперимент из YouTube, и попробую выяснить, являются ли они статзначимыми.

Читать далее

Энтровсплеск, или «Большая игра» (научно-фантастическая новелла)

Reading time20 min
Views1.2K

Новелла в стиле футурологического прогноза из другой реальности.

Нейросети при создании текста не использовались.

Файл 2–7–0. Распаковка.

29 сентября, 2047 год, 15:32 по Гринвичу. Пользователь Y активирован.

\\

Здравствуй, предок. Да — это не ошибка, сейчас 2047. Среди нас, возможно, есть твои потомки: сыновья, дочери, внуки, правнуки. Повзрослевшие друзья и... ты сам.

Странно, правда? Как можно писать из будущего, рассказывая то, что не произошло? Это нарушает все фундаментальные законы.

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

Чтобы понять — нужно знать историю. Нашу историю. Не удивляйся, если она отличается от твоей.

Заглянуть в альтернативное будущее

Red Team против умного замка: взламываем биометрическую СКУД при помощи скрепки и магнита

Level of difficultyMedium
Reading time6 min
Views26K

Один из самых «вкусных» моментов в работе пентестера — red-team тестирование, позволяющее ненадолго ощутить себя эдаким Джейсоном Борном от мира кибербезопасности. Подобно героям боевиков, мы постоянно проникаем на объекты разной степени защищенности: ломаем замки, обходим системы видеонаблюдения. Разве что не спускаемся в серверную на тросе с вертолета.


Поработав на таких проектах, начинаешь смотреть на любую дверь с перспективы потенциального нарушителя и выискивать уязвимости в каждой встречной СКУД. Поэтому первое, что бросилось нам в глаза, когда Бастион переехал в новый офис, — это биометрические терминалы, установленные на дверях нескольких особо важных кабинетов. Словом, пока сисадмины распаковывали сервера и ломали голову над тем, как расставить офисную технику по правилам фэн-шуя, мы решили провести небольшой внутренний пентест…

Читать дальше →
1
23 ...