Pull to refresh
83
0
Send message

Когда не стоит полагаться на DRY

Reading time5 min
Views3.8K

Один из самых распространённых принципов, часто упоминаемых в отзывах к пул-реквестам — это Don’t Repeat Yourself («не повторяйся»). Изначальные предпосылки для использования принципа DRY были вполне разумными.

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

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

Конфликты в команде между БА и разработкой: как реализовать проект и не подраться

Reading time4 min
Views2.5K

Привет! Меня зовут Ольга Павлова, я бизнес-аналитик, и сегодня я расскажу о конфликтах между разработчиками и аналитиками. Свой путь я начала более десяти лет назад, так что опыт конфликтов с разработкой у меня большой. В разные периоды времени причины конфликтов тоже были разными: это и моя низкая квалификация, и отсутствие опыта на начальном этапе, и отсутствие прокачанных soft skills. В общем, всего хватало.

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

Коллектив СИБУР Диджитал в целом отличается своей дружелюбной атмосферой, но даже там несколько лет назад на одном из проектов стали возникать конфликты. 

У нас было два бизнес-аналитика, два системных и команда разработки, мы между собой ссорились, хотя по отдельности все общались отлично. И я задалась вопросом: почему же так происходит? Затем решила провести среди своих коллег небольшое исследование. Задала вопросы бывшим и текущим коллегам, участвовало около 20 человек с соотношением аналитиков к разработчикам 50/50. Вариантов ответов не было, потому что мне было важно получить развернутые ответы, чтобы дальше их проанализировать.

Читать далее

Безопасность контейнеризированных приложений в рамках DevSecOps: какие практики использовать и с чего начать

Reading time9 min
Views5.5K

Привет! Меня зовут Михаил Черешнев, я работаю в компании Swordfish Security, где плотно занимаюсь вопросами внедрения DevSecOps. В этой статье мы рассмотрим процесс безопасной разработки контейнеризированных приложений от IaC манифестов до Runtime. А также попробуем определить самые простые и эффективные методы обеспечения защищенности и приземления технологий с минимальными затратами.

Читать далее

Как мы в SM Lab сделали редизайн системы «Оценка вклада»

Reading time5 min
Views953

Привет! Меня зовут Сергей Топунов, я фронт-разработчик в SM Lab. Недавно мы сделали редизайн одной из наших внутренних систем, о чем я и хочу вам сегодня рассказать.    

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

Основная задача, которая стояла перед нашей командой, заключалась в том, чтобы качественно и за ограниченное время обновить интерфейс Backoffice-системы. Интерфейс был собран с использованием фреймворка Vuetify, представляющего из себя стандартную дизайн-систему Material Design от Google. Были достаточно серьезные недостатки и проблемы, связанные с UX/UI, потому что версию делали в определенной спешке.

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

Читать далее

Пишем форк Chrome, который рендерит браузер в терминале

Level of difficultyMedium
Reading time12 min
Views6.1K

Несколько месяцев назад я писал о форке Chrome, превращающем HTML в SVG, а сегодня хочу сделать нечто похожее, заставив его выполнять рендеринг в терминал.

Представляю вашему вниманию веб-браузер Carbonyl!
Читать дальше →

Собеседование как экзамен

Level of difficultyEasy
Reading time9 min
Views21K

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

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

Я угодил в ту же ловушку, что и они.

Далее

Real-time optimization (RTO) — продолжение

Level of difficultyMedium
Reading time8 min
Views5.5K

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

Читать далее

В чём разница между хорошим и плохим кодом? Объяснение для непрограммистов

Reading time4 min
Views9.7K

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

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

Кажется, это заявление я прочитал в каком-то крупном СМИ. Статья называлась примерно так: «Опасайтесь плохого кода, он может вас убить; хотя постойте, он невидим, так что не стоит беспокоиться!». Весьма успокаивающее послание для читателей, как считаете? Сейчас я думаю, что авторы статьи просто пытались создать сенсацию из наличия таящегося «плохого кода» в авиалайнерах, поездах и беспилотных автомобилях, которых становится в нашем обществе всё больше, и таким образом увеличить количество просмотров.

Так как же объяснить концепцию «плохого кода» обывателю?


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

Для таких людей я представлю ответ на вопрос: «Если вы кодер, то чем вы занимаетесь?»
Читать дальше →

Почему честность так важна для обратной связи

Reading time5 min
Views2.5K

Привет!

Меня зовут Вячеслав Демин, я аналитик данных в СИБУР Диджитал. Почему меня так интересует тема обратной связи?

Во-первых, профдеформация. Занимаясь анализом, не только данных, я так или иначе привык рефлексировать на разные темы.

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

В-третьих, в свободное же от работы время я — мастер-ведущий игры D&D (Dungeons & Dragons). И здесь очень полезны оценки и впечатления участников о компании. 

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

Читать далее

Clickhouse: сжимаем данные эффективно

Level of difficultyMedium
Reading time5 min
Views12K

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

Читать далее

Самый простой способ ввести Linux в домен

Level of difficultyMedium
Reading time5 min
Views65K

Всем привет!

Термин Microsoft Active Directory Domain Services включает в себя множество технологий, поэтому сразу уточню, в этой статье речь пойдет про использование контроллера домена только для аутентификации пользователей. То есть в финале, нужна возможность любому сотруднику предприятия сесть за любую рабочую станцию Linux, используя свой доменный логин и пароль.

Начиная с Windows 2000 Server для аутентификации пользователей домена используется протокол Kerberos, разработанный еще в 80-х годах прошлого столетия, алгоритм работы которого, ИМХО, являет собой пример отличного инженерного хака, в хорошем (изначальном:) смысле этого слова. В конце статьи есть ссылка на описание его работы, а сейчас надо сказать, что имеется несколько реализаций этого протокола и решение из этой статьи не привязано только к Microsoft Active Directory

Читать далее

Своя альтернатива Google Maps: хостим сервер OpenStreetMap

Level of difficultyMedium
Reading time7 min
Views17K

Зачем? Это странно...


Нет, не странно! Google Maps — это, наверно, самый потрясающий сервис, который мы получаем бесплатно [в обмен на свои персональные данные].

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

Но что, если бы нам вообще не нужен был Google?

OpenStreetMap бесплатно предоставляет всему миру данные карт, собранные при помощи краудсорсинга. Но я не имею в виду, что можно просто воспользоваться OSM. Эта организация предоставляет данные, однако политика использования стимулирует пользователей не полагаться на её серверы при личном пользовании, а брать на себя ответственность за хостинг. И глядя на этот проект, я понимаю, почему. Его аппаратные требования не для слабонервных.
Читать дальше →

Как мы развиваем айтишников в СИБУР Диджитал

Reading time10 min
Views4.3K

Привет! Меня зовут Таня, я инженер-физик, специалист по электронике электрофизических установок. Когда я 16 лет назад выходила из института, мне задали вопрос: “Таня, кем ты хочешь стать, когда вырастешь?” Я не очень понимала, кем хочу стать, но точно знала, чего я делать не хочу. Я сказала: “Я никогда не буду работать с айтишниками”.

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

Итак, СИБУР. Достаточно крупная производственная компания. Зачем мы начали придумывать какие-то штуки, чтобы обучать IT-специалистов? Дело в том, что в 2020 году мы столкнулись с офигенной такой текучкой IT-специалистов, ребята достаточно высокого уровня стали активно искать работу и покидать нас. 

С чем это связано? Мы производственная компания, каких-то драйвовых задач мы постоянно давать сотрудникам не можем. IT-специалисты делятся по трем уровням знаний: Junior - начальный уровень, Middle - средний и Senior - высокий. В нашей компании была такая проблема, что люди, наращивающие экспертизу годами, уходят из компании. Как вы понимаете, все то, что они нарастили и сделали, активно уходит вместе с ними. Мы поняли, что эту экспертизу было бы неплохо как-то сохранять и что сотрудники начальных уровней активно хотят развиваться, но мы не знаем, как их развивать.

Кстати, мало кому известно, что 32% IT-специалистов планировали уйти с работы, потому что их там не растят и никак не развивают. На основании этого мы подумали, что круто бы было сделать какую-то штуку, где мы бы все эти вопросы закрыли. Но перед тем, как говорить о создании Центра Экспертизы, давайте обсудим, почему же я с такой опаской относилась к IT-специалистам. 

Читать далее

Как я засунул Stable Diffusion в IPhone

Reading time7 min
Views7K

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

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

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

Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Пробуем новое

Reading time9 min
Views13K

Привет! Продолжим тему гексагональной архитектуры и DDD, первый пост — здесь

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

Гексагональная архитектура

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

Я приведу основные мысли.

Гексагональная архитектура имеет три фундаментальных блока:

Читать далее

Компьютерные модули. Описание преимуществ применения и обзор популярных стандартов

Reading time16 min
Views5.6K

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

Читать далее

CI/CD для iOS-проектов: на железе или в облаке? Что лучше, по версии Doubletapp

Reading time6 min
Views5.8K

Привет, Хабр! Меня зовут Ярослав Фоменко, я iOS-разработчик в компании Даблтап. После того, как мы с ребятами из iOS-отдела настроили наш CI/CD на Mac mini, начали задумываться о его масштабировании и инкапсулировании и пошли ресерчить то, как это можно сделать. Первым на ум пришел Docker, но инфы оказалось довольно мало как о нем, так и о других возможных способах. В этой статье мы рассмотрим найденные нами возможные решения по развертыванию Gitlab CI/CD на железе и в облаке.

Читать далее

Учёба — это запоминание

Reading time4 min
Views7.2K

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

Начинаем читать страницу Википедии о квантовой механике

Столкнувшись с непонятной нам концепцией, (назовём её Концепцией 1):Переходим на страницу Википедии о Концепции 1Читаем о Концепции 1, пока мы не поймём её. Затем возвращаемся к статье о квантовой механике и продолжаем с того места, на котором закончили

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

Как думаете, позволит ли нам эта стратегия выучить квантовую механику?

Скорее всего, вы интуитивно понимаете, что нет. Большинство из нас спустя пять минут запутается и сдастся. Если вы не уверены в этом, то попробуйте проверить.

Вся информация есть в Википедии, так почему же такое изучение не работает?

Читать далее

Видеоаналитика на взрывоопасном заводе площадью в 700 футбольных полей

Reading time10 min
Views8.1K

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

Меня зовут Щемелинин Вадим, я четыре года работаю в сфере цифровизации промышленности в компании «СИБУР Диджитал». Моя основная задача — развитие Индустрии 4.0 в холдинге. Одним из продуктов моего направления является видеоаналитика. Сегодня я расскажу про сложности, с которым сталкиваются Python-разработчики, внедряя машинное зрение в нефтехимическую индустрию.

Читать далее

Yamal Dev Conf — Север, дикий дубак и ИТ (5 и 6 ноября)

Reading time3 min
Views1.3K

Привет! Меня зовут Никита Горчаков, мы с моим другом Юрием Лёгким собираем ИТ-конференции на Ямале. Ближайшая уже скоро, 5 и 6 ноября.

Ситуация с ИТ на Севере сейчас не самая радостная — запрос на хороших специалистов есть, и довольно высокий, но вот народу тут не очень много. Причем не столько из-за погодных условий, сколько именно из-за отсутствия нормального профильного коммьюнити.

Поэтому мы (я и Юра Лёгкий, технический директор Ямал Медиа) решили исправить ситуацию. Добавочным поводом стал поход Юры на Krasnodar dev Days 2019, после чего мы точно поняли, что локальному сообществу — быть. Примерно полгода мы корпели над организацией, искали деньги, спикеров и возможности.

Читать далее

Information

Rating
Does not participate
Works in
Registered
Activity