Pull to refresh
0
0

Пользователь

Send message

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficultyEasy
Reading time8 min
Views202K

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

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Total votes 156: ↑149 and ↓7+177
Comments178

ClickHouse в ритейловом проекте

Level of difficultyMedium
Reading time9 min
Views4.5K

Всем привет!

Всегда интересно узнавать, как устроено IT в различных сферах и компаниях: какие задачи ставятся и как находятся решения. Да и в целом, делиться опытом полезно!

Меня зовут Илья Панов, я инженер данных в X5 Tech и участвую в развитии продукта CVM (Customer Value Maximization). В этой статье хочу рассказать о том, как живёт и развивается IT-продукт в ритейле. Расскажу, откуда появилась потребность в инструменте, подобном ClickHouse, и как проходило RnD для его внедрения.

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

Журнал архитектурных решений (ADL) при проектировании информационных систем

Level of difficultyEasy
Reading time4 min
Views7.8K

Для сложных информационных систем бывает крайне сложно принять компромиссные решения с учетом ограниченных ресурсов. Одним из возможных способов решения является подход Architecture Description Log, который внедрен в крупных компаниях, таких как Google, Spotify и Microsoft. В этой статье мы рассмотрим основные положения ADL и обсудим, чем это может быть полезно для создания сбалансированной архитектуры в гибкой методологии разработки.

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

Личный опыт подтягивания английского к собеседованиям

Reading time5 min
Views25K

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

Читать далее
Total votes 27: ↑24 and ↓3+23
Comments18

Enterprise Data Warehouse: компоненты, основные концепции и типы архитектур EDW

Reading time15 min
Views16K
image

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

Наш мозг может и обрабатывать, и хранить информацию, а компаниям для работы с данными требуется множество разных инструментов. И одним из самых важных является корпоративное хранилище данных (enterprise data warehouse, EDW).

В этой статье мы расскажем о том, что же такое EDW, каких типов они бывают и какие функции имеют, а также как они используются в обработке данных. Мы объясним, как корпоративные хранилища отличаются от обычных, какие типы хранилищ данных существуют и как они работают. В первую очередь мы хотим дать вам информацию о ценности для бизнеса каждого архитектурного и концептуального подхода к построению хранилища.
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments1

Ошибки выбора MongoDB в качестве основной БД в стартапе

Reading time6 min
Views39K

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

Я ни в коем случае не считаю, что MongoDB это плохая БД и ее не нужно использовать. Более того, я считаю, что только мои кривые руки завели меня в ситуацию, из которой пришлось выходить переписыванием сервиса под другую БД (ушел на Postgres и кайфую).

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

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

Встать на грабли вместе
Total votes 136: ↑112 and ↓24+115
Comments131

Предохранители для данных: как автоматические выключатели повышают Data Quality

Reading time7 min
Views2.7K


Представьте, что бизнес-метрика неожиданно резко вырастает или проседает. Как понять, реальное это изменение или проблема с качеством данных? Команда VK Cloud перевела статью о том, как в компании Intuit решают этот вопрос с помощью предохранителей для пайплайнов данных.

В чем суть предохранителя


Если возникают проблемы с данными, предохранитель разрывает «цепь» и не пускает некачественные данные в следующие процессы обработки. В результате данные,  которые приходятся на периоды низкого качества, не входят в отчеты. А значит, можно быть уверенным в их корректности. 

Такой проактивный подход сокращает Time-to-Reliable-Insights до минут. А автоматизация обеспечивает прямую зависимость данных от их качества. Это позволяет избежать разрушительных авралов, которые возникают всякий раз, когда нужно проверить и поправить метрики или отчеты. Далее мы в подробностях рассмотрим, как внедрять такие предохранители.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments3

Памятка архитектору

Reading time8 min
Views21K

Я работаю архитектором (Solution Architect если быть точным) в аутсорсинговой компании. В ходе работы я занимаюсь такими активностями как: дизайн и внедрение архитектурных решений, аудит систем заказчика и разного рода консультации вокруг архитектуры систем.

Иногда в разговоре с коллегами я говорю «спокойно, действуем ровно по учебнику». Но тут есть большая доля лукавства, т.к. одной книги где были бы собраны базовые принципы я так с ходу назвать не могу. По большей части это сборная солянка из разных книг, личного опыта и историй, рассказанных коллегами. Что-то освещено в одной из книг Фаулера, что-то есть в курсах от AWS.

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

Что там уже в списке?
Total votes 42: ↑41 and ↓1+51
Comments23

Холостые циклы в Java

Reading time19 min
Views17K

Привет, сегодня поговорим о тонкостях реализации холостых циклов (холостого ожидания) в Java. Эта задача встречается нечасто: за девять с небольшим лет работы я столкнулся с ней лишь пару раз. Тем не менее, тема видится интересной и по ней есть что сказать, так что добро пожаловать! Исходный код примеров доступен здесь.

Читать далее
Total votes 36: ↑35 and ↓1+40
Comments10

Архитектура Архитектуры. Шаг 10. Это конец

Level of difficultyEasy
Reading time15 min
Views7K

Знаете, как называется система, которая приносит постоянную прибыль, работает без особых проблем и обслуживается маленькой командой? Продукт с заканчивающимся сроком обслуживания!

Время ли хоронить архитектора?
Total votes 16: ↑15 and ↓1+17
Comments22

Как перевести деньги из России в Армению в 2023 году?

Reading time4 min
Views60K

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

Совсем недавно ЦБ расширил лимит на вывод денег в дружественные страны до 50000 USD или эквивалента в другой валюте. Лимит от ЦБ РФ , выставленный на платежные системы на данный момент составляет 5000$ в месяц или эквивалент.

Неизвестно, как будут меняться лимиты от ЦБ в ближайшем будущем. Все зависит от соотношения импорт/экспорт и дальнейших приключений РФ на мировой арене, но одно можно сказать точно, лимиты пока никак не затрагивают рубль.

Наиболее популярные виды переводов денег из России в Армению:

Читать далее
Total votes 10: ↑8 and ↓2+9
Comments15

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Reading time1 min
Views43K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее
Total votes 158: ↑157 and ↓1+188
Comments37

Любопытные и неочевидные особенности при работе со Snowflake

Reading time5 min
Views4.3K

Без долгих вступлений, сразу к делу.

Знаете ли вы, что в Snowflake можно создавать объекты с пустыми именами? Например: CREATE DATABASE ""; CREATE SCHEMA ""."";

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

Более интересные и практичные советы под катом.

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

Матрица компетенций: важный инструмент для мотивации команды

Reading time7 min
Views37K

Всем привет!

Меня зовут Иван Антипин, я заместитель технического директора AGIMA. На рынке сложилась тяжелая ситуация: многие компании закрываются, а сработанные и крепкие команды распадаются под давлением обстоятельств. В этой статье расскажу об инструменте управления рисками — о матрице компетенций. Этот подход помогает распределять задачи с учетом балансировки нагрузки, избегать выгорания и неожиданной потери ключевых компетенций в команде. Текст написан на основе нашего с GeekBrains курса для тимлидов, по материалам лекции Ивана Михеева.

Читать далее
Total votes 36: ↑31 and ↓5+28
Comments12

Встречайте UUID нового поколения для ключей высоконагруженных систем

Reading time3 min
Views30K

31 марта 2022 года на сайте IETF был официально размещен текст рабочего документа (копия 1, копия 2) New UUID Formats (далее – стандарт), который должен формально обновить, а фактически заменить давно устаревший и изначально ущербный RFC 4122.

В долгих и жарких спорах удалось выработать стандарт высокого качества. Можно надеяться, что этот стандарт заменит многочисленные «самоделки» энтузиастов и отдельных компаний: ULID, KSUID, CUID и т.д., а в СУБД будут встроены генераторы UUID новых форматов, предназначенных для ключей высоконагруженных систем.

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

Скрутки, клеммники и WAGO под лёгкой перегрузкой

Reading time4 min
Views70K


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

Здесь рассматриваются наиболее доступные способы соединить наиболее типичный для квартирной проводки медный однопроволочный провод сечением 2,5 кв.мм.
Читать дальше →
Total votes 212: ↑211 and ↓1+256
Comments206

Как я решил проблему плохого кода с помощью architecture guide

Reading time13 min
Views15K

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

Читать далее
Total votes 26: ↑20 and ↓6+17
Comments36

Не автоматизируйте test cases

Reading time13 min
Views20K

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

Общепринятой практикой в индустрии является использование тест кейсов в качестве основы для автоматизации тестирования. QA инженеры разрабатывают их на основе user stories в рамках обычного тестирования, а затем автоматизируют эти тесты. С каждой итерацией тестируется больше историй, автоматизируется больше тестовых случаев, и набор автоматических тестов становится всё больше. Руководители продвигают такие метрики, как, например, «процент покрытия» и хвалят команды с высокими показателями. Некоторые компании даже специально нанимают «инженеров по автоматизации», чья единственная работа состоит в том, чтобы брать тест кейсы и автоматизировать их.

К сожалению, автоматизация тест кейсов и навязывание «процента покрытия» — это антипаттерн обеспечения качества, который неизбежно приводит к раздутым и сложным в обслуживании наборам тестов, которые приносят мало пользы. Хотя автоматизация имеет решающее значение для agile delivery, этот чрезмерно упрощенный подход «фабрики автоматизации» не является хорошим способом автоматизации тестирования.

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

Издержки и преимущества автоматизации тестирования

Чтобы понять, почему автоматизация существующих тест кейсов настолько проблематична, нам нужно вернуться назад и немного проанализировать теорию автоматизации. В частности, нам нужно изучить издержки и преимущества автоматизации, посмотреть на ожидаемую ценность автоматизированных тестов во времени, а затем оценить, как ожидаемая ценность меняется в различных типах тестов. Затем мы сможем увидеть, как автоматизация тест кейсов с использованием простого подхода «фабрики автоматизации» повлияет на тестирование в целом.

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

Как понять, что перед вами плохой разработчик

Reading time12 min
Views179K

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

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

Читать далее
Total votes 263: ↑159 and ↓104+93
Comments403

Зарубежный опыт: как избавиться от 80% кода, увеличить скорость разработки и уменьшить количество ошибок

Reading time12 min
Views28K

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

Под катом тех– и тимлид Йонас Тулструп, один из разработчиков датского сервиса MobilePay, демонстрирует, что отказ от излишних абстракций позволяет писать более чистый код. А именно: существенно уменьшать его сложность, повышать читабельность и удобство поддержки. Обсуждаемые подходы основаны на широко известных принципах KISS («Делай проще») и YAGNI («Вам это не понадобится»), и применимы к большинству видов разработки ПО.

Обращаем ваше внимание, что позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее
Total votes 26: ↑22 and ↓4+19
Comments6

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity