Практически невозможно найти двух людей, которые отформатировали бы даже самый простой SQL-запрос одинаково. Причем каждый будет абсолютно уверен, что именно его стиль наиболее понятный и правильный. Что приводит к спорам и баталиям на code review, а самое главное к трудностям при чтении чужих запросов. Не существует и какого-нибудь большого авторитетного style-guide для SQL, какие существуют для других языков. И все решается в основном делом вкуса, о котором как известно не спорят. Возможно проблема в отсутствии теоретической основы, некого физического обоснования почему стоит придерживаться каких либо определенных правил при оформлении SQL кода. Давайте попробуем разобраться.
User
NFT и теории заговоров: Кто на самом деле стоит за продажей джипегов по $300k

Знаменитости утверждают, что покупают картинки с Унылыми Обезьянами за сотни тысяч долларов — при этом многие считают весь рынок NFT пирамидальным пузырем, а участвующих в его раскрутке людей пытаются уличить в сговоре.
Sberbank International: работа в платформенной команде разработки

Всем привет! Многие IT-компании, да и мы в Сбере пытаемся принять на работу лучших сотрудников. Часто наши HR-специалисты отмечают, что у кандидата возникают дополнительные вопросы в части задач и технического стека платформенной команды в SBI (Sberbank International). Так вот, данная статья раскрывает немного деталей о SBI Platform Team, чтобы у кандидата сразу было представление о том, над чем мы работаем.
Я Артём Соковец, руковожу платформенной командой в Sberbank International. До этого был TeachLead&ProductOwner продукта Platform V Studio. Прошёл путь от специалиста по автоматизации тестирования до лидера SDETs, а в 2018 году сменил профиль на разработку и двигаюсь в этом направлении дальше с заплывом в смежные области — DevOps и MobileDev.
Давайте погрузимся в нашу специализацию. Сейчас есть три основных направления, о которых далее пойдёт речь:
1. Адаптация Platform V под дочерние банки в других странах.
2. Разработка новых бизнес-приложений с использованием Platform V.
3. Разработка интеграционного слоя с использованием Synapse.
Кому интересно узнать детали, прошу под <cut>.
Как защитить базы с персональными данными, рассказываем на примере крупного ритейлера
Недавно одна обширная торговая сеть запустила программу лояльности. Команда Бастион участвовала в этом проекте в качестве консультантов по информационной безопасности, и это отличный повод поговорить о защите баз с персональными данными.
В этом посте расскажем, как работает database activity monitoring, какие мощности нужны, чтобы анализировать гигабиты трафика на лету, и в чем внешний мониторинг превосходит встроенный.
Зарубежный опыт: как избавиться от 80% кода, увеличить скорость разработки и уменьшить количество ошибок

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

В данной статье будет рассмотрена графовая система управления базами данных в Neo4j, а именно:
Основы Postgres для администраторов баз данных Oracle

«А кто отвечает за эту базу данных?»
Народ из команды администраторов баз данных пожал плечами, и кто-то спросил: «А сервер Oracle или SQL?»
«По-моему, это My SQL», — сказал руководитель отдела разработки.
За 20 лет работы администратором баз данных зачастую именно в таких ситуациях передо мной возникала необходимость изучения новых RDBMS (система управления реляционными базами данных). В результате я не понаслышке знаю, с какими сложностями вы можете столкнуться, когда приходится с головой погружаться в омут другой системы.
Детройт: как мировая моторная столица дошла до банкротства

Мировая моторная столица (Motown), родина американского среднего класса, арсенал демократии — как только не называли Детройт на пике могущества в 1950-е гг., когда его население достигло 1,85 млн человек. Сегодня же оно едва дотягивает до 640 тыс. и продолжает сокращаться. Что произошло? Однозначного ответа нет, но причин одновременно несколько. Здесь и расовое противостояние, ошибки городского планирования, большая политика, ослабление конкурентоспособности американских автоконцернов, их бегство из-за роста социальной нагрузки после победы профсоюзов. Да и много ещё чего, что в комплексе привело в 2013 г. к крупнейшему в истории США муниципальному банкротству.
Но обо всём по порядку.
Как заинтересовать 120+ HR всего за месяц. Или как захантить к себе аналитика данных

За месяц поиска работы собрал много полезной информации и хочу с вами ею поделиться.
В начале немного статистики по прохождению этапов отбора в компанию:
1 этап "Собеседование с HR-ом": 120+ HR-ов (рекрутеров) написало мне за месяц
2 этап "Собеседование с руководителем" (знакомство и/или "Техническое собеседование" или "Тестовое задание"): все 120+ рекрутеров позвали меня на собеседования с руководителями, но лишь 80 я смог осилить и принял приглашение (почему не всем я сказал да - расскажу дальше). 50 тех собесов было пройдено и 5 заданий было сделано
3 этап "Финальное собеседование" - знакомство с командой: 15 встреч было всего
С какими компаниями успел пообщаться за этот месяц: Яндекс.Облако, СберМаркет, СберЗвук, СберАвто, Ростелеком, Делимобиль, разные команды Х5 Ритейл групп, ВК, Авито, Delivery Club, Skyeng, Учи.ру, DoDo, Joom, YClients (куда я в итоге и пошел) и многие другие.Дальше я раскрою лайфхаки по каждому из этапов прохождения отбора - постараюсь быть полезным как тем, кто в поиске работы, так и нанимающим HR-ам.
В конце статьи поделился полезными материалами для продуктового аналитика и в целом по прохождению собеседований.
Как мы создавали Data Management Platform: архитектура, проблемы, выводы

Для таргетинга мы в Ozon используем сегменты, в которые группируем пользователей по интересам. Интересы могут быть определены через систему трекинга событий. Последние в свою очередь формируются в процессе взаимодействия пользователя с маркетплейсом Ozon. На основе сегментов мы отправляем нотификации, рассылаем письма, показываем рекомендации, баннеры, страницы с товарами и цены на товары, участвующие в маркетинговых акциях. В принципе, на сегменты можно завязать любую механику. Мы даже А/В тесты иногда проводим с ними.
Первоначально сегменты создавались вручную: поступал запрос от заказчика, после чего проводилась аналитическая работа по сбору требований. Количество заявок на создание сегментов со временем только увеличивалось. Чтобы автоматизировать процесс создания сегментов мы решили сделать конструктор сегментов для DMP — Data Management Platform. Это относительно молодой проект, ему чуть больше двух лет, но он полностью себя оправдал. Сегодня расскажу вам о нашем опыте. Меня зовут Евгений Чмель, и я руковожу командой DMP & CDP.
Главная ложь SCRUM. Откуда берётся карго-культ

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

По данным Statista, 42% людей в мире считают своим хобби игры. В своем большинстве это компьютерные, но многие все еще предпочитают классику: карты. Расписать пульку в преферанс, раскинуть партейку в покер или по-простому перекинуться в дурачка — в хорошей компании такой досуг прекрасно заходит.
В этой статье мы расскажем, почему за подделку туза пик в Британии существовала смертная казнь, с чем связано английское название валета и русский Иван-дурак, а также уникальное английское правило, когда дама старше короля. Только история, интересные факты и английский язык. Поехали.
Как детей учат эмоциональному интеллекту

Очевидная первая мысль была такая: EQ в России? Детям? Серьёзно? У нас тут по стране ходит очень дофига взрослых без понимания, как вообще разговаривать ртом — а тут курс для детей.
Пока мы с делали сервис для назначения встреч-консультаций, к нам вдруг пришла детская школа использовать наш движок для управления уроками. И вот поскольку мы тут по хардкору упоролись по образованию, расскажу ещё одну прекрасную историю про то, что они там делают.
Можно сказать, что это специализированный курс «как не быть козлом».
Естественно, мне захотелось немного в этом разобраться, поэтому рассказываю, что там внутри. Основа выглядит следующим образом:
- Научиться декомпозировать своё состояние и впадать в режим отладки (то есть создавать второй поток мышления параллельно основному).
- Понимать, в каком состоянии и что можно делать, и как менять состояния.
- Научиться управлять своим состоянием.
- И, наконец, научиться манипуляции, управляющей состоянием собеседника.
То есть если после курса ребёнок вдруг предложит поменять повестку следующей семейной ссоры — кое-что получается.
Управление рисками проекта

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

Этот архитектор переделывал систему шесть раз, и сейчас к нему пришёл джун сообщить, что пора заходить на седьмую итерацию.
Я работаю человеком, который знает, как лучше поменять что-то в компании, чтобы не сломать что-то другое. Грубо говоря, правильно это называется «бизнес-архитектор», а джун моей специальности называется «бизнес-аналитик».
Мы превращаем людей в скрипты, а потом заменяем их, если получается.
В среднем бизнесе работа бизнес-аналитика или бизнес-архитектора очень похожа на то, что делает ИТ-архитектор. Обычно есть какой-то работающий бизнес, в котором море организационных костылей. Нужно прийти, пересобрать процессы и сделать так, чтобы всё работало лучше.
Как правило, пересбор — это такое разбиение процесса на шаги, которые делает либо микросервис (человек или команда) с известным API, либо, если вам ближе функциональный подход, — функция с понятным входом, выходом, проверками и кодом внутри. По сути, такой человек выстраивает API отделов и команд, потом связывает их между собой по-новому. Иногда бывает нужно перестроить компанию серьёзнее либо создать вообще новое направление.
Почти как программирование, только к ИТ-системам добавляются ещё и живые люди, их потребности и эмоции. В итоге всё настолько декомпозировано на понятные шаги и проверки, что снижаются требования к контексту и компетенциям.
Итак, давайте покажу процесс верхнеуровнево: как разобрать и собрать процессы заново, выстраивая это всё в систему.
Постоянный ток в доме. Риски, которые никто не замечает

Постоянный ток с каждым днём завоёвывает всё новые рубежи в каждом доме. К кому то он приходит со светодиодными лентами, кому то с DIY и Arduino. Время идёт, и вот уже вчерашние любители без страха и упрёка начинают делать мощные аккумуляторные сборки и запитывать бытовую технику напрямую от солнечных панелей. За кадром остаётся главный нюанс - безопасности. Ведь токи и напряжения выросли вместе с игрушками, а о последствиях почти никто не задумывается.
Реверс-инжинирим структуру БД PostgreSQL по плану запроса к ней

Большая часть оптимизаций запросов к базам PostgreSQL может выполняться "механически", следуя разного рода маркерам в плане выполнения запроса, которые подскажут, что и как можно ускорить. Но "глубинные" переработки алгоритма, вроде описанных в статье про DBA-детектив, требуют от разработчика детального понимания используемой структуры логических связей.
И хорошо, когда эта структура уже где-то описана и детально задокументирована. Но плохо, когда такая документация ничтожно мала, избыточно велика, сложно доступна...
А ведь она уже и так находится "под ногами" в момент анализа плана запроса - надо только лишь удобно увидеть ее!
Как, собственно, работает местная анестезия, и где там можно знатно накосячить

Электрический инъектор и ампула ультракаина.
В теории всё достаточно просто: мы электрически деполяризируем мембраны нейронов нервов, они становятся неспособными к передаче информации, в итоге в вас можно тыкать скальпелем, а мозг об этом никогда не узнает.
Сложности начинаются уже на той стадии, когда вместо электротока на мембраны нейронов мы вводим вам в организм химическое соединение. Потому что так куда практичнее и легче. Точнее, мы, наверное, никогда бы не догадались про такой химический эффект, если бы не наркоманы. Когда кокаин ещё был разрешён и активно использовался в разных целях, испытатели заметили характерное онемение слизистых при введении. Это вызвало интерес, в частности, научный. Небезызвестный товарищ Зигмунд Фрейд, будучи студентом, очень увлёкся темой и исследовал местное анестезирующее действие. Дальше выяснилось, что раствор вещества просто изъязвляет слизистую, и спустя годы получилось выделить нужный амин, который, собственно, дальше и создаёт поток ионов Na+. Пропуская ещё несколько шагов на молекулярном уровне — нерв временно инактивируется.
Боль — это информация, и, блокируя информационный обмен через нерв, мы обезболиваем какой-то участок тела.
Мало что изменило стоматологию так, как открытие местной анестезии. Никакое материаловедение, никакие новые лекарственные средства и никакие знания об анатомии не дали такого большого толчка лечебным действиям. Под местной анестезией стало можно делать с зубами фактически что угодно, а не просто быстренько их выдирать, пока пациент не успел опомниться.
И, конечно, анестезия анестезии рознь. Давайте расскажу, в чём там ещё подводные камни.
Переводы всех статей Пола Грэма на всех языках (210+)

(иллюстрация Asya_Dyu)
Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ.
Своими помыслами и разумом Пол Грэм врывается в широкий спектр областей: от прогнозирования развития языков программирования на сто лет вперед до человеческих качеств и способов починить/хакнуть экономику. А ещё он осознает важность того, чтобы формулировать свои мысли в текст и делиться ими с окружающими.
Когда в 2015 году я начал читать Пола Грэма мой взгляд на жизнь поменялся. Я считаю его эссе одними из самых важных текстов, которые стоит прочитать все как можно раньше, чтобы сформировать у себя мышление, способ рассуждения и изложения мыслей.
Сейчас около 2 миллиардов человек могут прочитать эссе Пола Грэма. Моя задумка в том, что если перевести его эссе на топ-20 языков, то это даст возможность еще 2 миллиардам людей случайно наткнуться на перевод на родном языке (как это было у меня) и встать на путь стартапера.
Читать лучше в оригинале, но путь к оригиналу иногда бывает (только) через перевод.
Новый язык обычного и параллельного программирования Planning C 2.0
Здравствуйте, уважаемые читатели.
Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-препроцессора, множество примеров, конвертер простых программ MPI->Planning C). От других языков Planning C отличается тем, что многие его новые конструкции построены на базе так называемых процедур с планированием повторного входа, которые в первую очередь удобны для программирования некоторых алгоритмов, использующих стек, дек или очередь (но могут использоваться и для программирования произвольных алгоритмов). Язык содержит различные средства алгоритмизации и распараллеливания, более-менее унифицированные и для обычных в наше время компьютеров с многоядерными процессорами, и для видеокарт, и для кластерных систем. Во второй версии языка были введены стандартные средства расширения языка новыми конструкциями, «интеллектуальная» мемоизация и еще некоторые возможности. Надеюсь, кому-нибудь данный язык покажется интересным, может быть даже перспективным для применения и/или развития. Сам я иногда им пользуюсь для быстрого написания некоторых расчетных параллельных программ.
В этой статье напишу лишь о самых базовых возможностях языка, преимущественно на примерах. Если тема вызовет интерес, то, возможно, впоследствии напишу еще одну-две статьи о «продвинутых»/необычных возможностях.
Information
- Rating
- Does not participate
- Location
- Praha, Hlavni Mesto Praha, Чехия
- Date of birth
- Registered
- Activity