Search
Write a publication
Pull to refresh
1
0
Sergey Kaleev @skaleev

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

Send message

Когда использовать микросервисы: отвечают Сэм Ньюмен и Мартин Фаулер

Reading time5 min
Views11K
image

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

Особенности национального ПО: обзор РЕД ОС

Level of difficultyEasy
Reading time18 min
Views36K

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

Именно поэтому было решено посвятить статью одному из таких продуктов. Речь пойдет о российской операционной системе РЕД ОС — дистрибутиве, построенном на базе ядра Linux и пакетной базе RPM. Со слов разработчиков дистрибутива, РЕД СОФТ опирается на опыт ведущих мировых сообществ Open Source и придерживается конвенций о наименовании пакетов и спецификации сборок.

Решающим фактором в выборе РЕД ОС является наличие свидетельства государственной регистрации программ ЭВМ и ее наличие в едином реестре российских программ.

В рамках статьи будет продемонстрировано развертывание простого Bitrix окружения на этой ОС, а именно развертывание стандартного LEMP (Linux, Nginx, MySQL, PHP) и установка дополнительных решений для работы проекта на данном дистрибутиве. Однако мы посчитали скучным описание установки стека LEMP только из родного репозитория, поэтому решили в рамках статьи развернуть СУБД MySQL 5.7, пакеты которой отсутствуют в репозиториях РЕД ОС. Как показывает наша практика, данная версия MySQL все еще остается одной из самых популярных для LEMP‑стек проектов.

Читать далее

Нужно ли говорить на собеседовании, что предложенная задача вам уже встречалась?

Reading time4 min
Views16K
Если на техническом собеседовании вы понимаете, что уже решали эту задачу – что делать?

Недавно мое внимание привлек пост на Reddit. Автор поста спрашивал, как быть, если на собеседовании вам предлагают задание, которое вы разбирали до этого. Занятно, что данная тема и до того поднималась много раз, и обсуждения, которые неизбежно за этим следуют, на мой взгляд, представляют немалый интерес.
Читать дальше →

Чего опасаются руководители организаций при внедрении 1С:ERP

Level of difficultyMedium
Reading time13 min
Views6.8K

1С:ERP — внедрять или подождать? Для нас это уже пройденный этап, поэтому я собрал распространенные опасения, что проект внедрения 1С:ERP затянется, вас разорит или банально провалится. И, соответственно, ответил на них — что делать, чтобы внедрение или миграция на 1С:ERP стали не болью, а как на сленге маркетологов, «историей успеха».

Читать далее ...

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

Level of difficultyEasy
Reading time17 min
Views13K

В период с 199x по 201x развелось очень много программистов-микроконтроллеров, которые никогда не представляли свою работу без IDE (IAR, KEIL, Code Composer Studio, AtilocTrueStudio).

В этом тексте я написал про недостатки работы в IDE и альтернативный способ сборки и масштабирования кодовой базы. Про MakeFile(ы).

Читать далее

Математическая продлёнка. Мир треугольников

Level of difficultyMedium
Reading time19 min
Views12K

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

Читать далее

Выбираем корпоративный менеджер паролей: обзор популярных решений

Level of difficultyEasy
Reading time6 min
Views38K

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

Читать далее

Есть ли жизнь после Lego?

Level of difficultyEasy
Reading time11 min
Views9.7K

Привыкнуть к тому, что ты дед, невозможно. Наверное, когда у меня будут правнуки, я все равно буду вздрагивать, слыша слово «дедушка» в свой адрес. Какой дедушка? Я все тот же случайно выживший мальчик, только игрушки дороже!

Кстати, об игрушках. С некоторых пор я уже не уверен, что мои дороже. Примерно с тех самых пор, как мой внук (каюсь, не без моей помощи) стал заниматься робототехникой. А современная образовательная робототехника, если вы еще не знали, это по большей части Lego. Не то Lego, которое с кубиками, а серьезно повыше уровнем – с контроллерами, датчиками, приводами, программированием и вот этим всем. Цена у него тоже повыше уровнем, но оно того стоит, поверьте. Мне как «яжинженеру», конечно, приятно видеть, что мой внук осваивает многие важные для инженера вещи с раннего возраста, значительно раньше сверстников. Но как родного человека меня в этом гораздо больше радует совсем другое: меняется круг общения,  меняются темы для общения. Еще не так давно максимум, что я мог услышать из разговоров внука с друзьями, было что-то типа «Го, я создал», то теперь я все чаще слышу что-то из другой оперы: «Блин, ну я все равно не понимаю, зачем в ПИД-регуляторе интегральная составляющая!». Нет, игры никуда не делись. Но они теперь не главное в жизни ребенка – а это сегодня, пожалуй, чуть ли не главное в жизни многих родителей.

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

Читать далее

Если собеседник перебивает вас на полусло

Level of difficultyEasy
Reading time4 min
Views6.3K


Если вас перебивают / собеседники отмораживаются у вас сложности с построением разговора с конкретным человеком, сверьтесь с диаграммой, возможно вы и ваш собеседник просто разного «вероисповедания».

Приятнее общаться, когда оба собеседника попадают или в левый верхний или правый нижний квадрант. Но работать иногда проходится с людьми самых разных «конфессий».

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

  • терпеть не можете, когда кто-то кого-то перебивает на полуслове;

или
  • не видите смысла дослушивать информацию, которую вы и так поняли.

Читать дальше →

Ты помнишь, как всё начиналось?

Level of difficultyEasy
Reading time4 min
Views20K

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

Мой папа

 В качестве эпилога

Как-то ночью я проснулся и понял: «Хочу написать статью для Хабра». Но о чем? А ведь я родился в прошлом веке, и, как говорят современные дети, «видел еще динозавров». Вернее застал время, когда не то что сотовых, проводных телефонов в квартирах не было. По телевизору транслировалось два канала, которые так и назывались: первый и второй. А игры были либо на улице – подвижные, либо тихие типа шахмат и морского боя. При этом, вся моя жизнь так или иначе связана с информационными технологиями. Еще в детстве я изучал программирование по книгам, потом делал джойстики из мыльниц, а первый сайт нарисовал то ли в 1995, то ли в 1996 году. И не смотря на это я не стал ни миллионером, ни фаундером стартапа, ни даже профессиональным программистом. Живу я не в Калифорнии и даже не в Москве. Как и большинство моих друзей и знакомых. 

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

Читать далее

На что способен хороший отладчик

Reading time13 min
Views8.6K

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

Tl;dr — в этом эпизоде дедовского нытья вы узнаете, что хороший отладчик поддерживает различные виды точек останова, предлагает широкие возможности визуализации данных, имеет среду REPL для выполнения выражений, может показывать зависимости между потоками и контролировать их выполнение, может подхватывать изменения в исходном коде и применять их без перезапуска программы. Также он может проходить код от конца к началу и перематывать состояние программы до любого момента в истории её выполнения. Можно даже записать весь ход управления программы и визуализировать поток управления и историю потока данных.

Читать далее

Как одиночество перестраивает мозг

Reading time11 min
Views24K

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



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

Читать дальше →

Технический долг. Как не обанкротиться

Level of difficultyEasy
Reading time4 min
Views11K

Привет, Хабр! Хотел бы поделиться с вами своим анализом работы с техническим долгом.

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

? Экстремальное программирование — это пример разработки с кредитом

Читать далее

Наставничество и ревьюерство как апскилинг для мидла

Reading time7 min
Views20K

Плох тот джун, который не мечтает стать мидлом. Быть самостоятельным, справляться с задачами без советов старших коллег. Но и мидл хочет расти дальше — к сеньору. К новым вызовам, новой ответственности и высокой зарплате. У многих мидлов и знаний достаточно, чтобы с работой сеньора справляться. Казалось бы, ничто не мешает перейти на следующую ступень, но не переходится. Где же выход? 

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

Истории менторов

Правила выживания начинающего программиста или как работает эффект Данинга-Крюгера

Level of difficultyEasy
Reading time8 min
Views6.1K

Эффект Данинга‑Крюгера — это такое когнитивное искажение, которое выражает зависимость уверенности в предмете от компетентности в нем. Компетентность практически равна времени, потраченного на обучение.

Представим, что у нас есть сферический конь Вася, который решил изучить китайский язык. Он открыл ютуб, посмотрел пару роликов. И всё! Ему уже кажется, что чуть‑чуть и можно ехать в солнечный Китай, общаться с прекрасными китайцами. Но чем дальше он учит, тем сложнее он ему кажется — эти бесконечные иероглифы, тональность, нюансы культуры и так далее. В какой‑то момент он решит бросить эту затею. Но если нам повезло и Вася не сдался, то постепенно он становится экспертом в Китайском. Но никогда он не станет нэйтивом, никогда он не поймет до конца эту тонкую китайскую душу.

Читать далее

Рисуем верёвку в формате SVG при помощи JavaScript

Level of difficultyMedium
Reading time8 min
Views8K

Сегодня я расскажу о процессе, который я придумал для преобразования SVG‑контура в векторный рисунок верёвки.

Вы узнаете, как превратить показанный слева контур в верёвку справа:

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

Стоит учесть, что это не туториал по кодингу, а подробный обзор каждого из этапов. Но не беспокойтесь, код полностью доступен.

Замысел

Взглянув на это фото верёвки, вы заметите, что она состоит из множества переплетённых друг с другом прядей. Визуально они делят верёвку на сегменты. 2D‑проекция каждого сегмента напоминает изогнутый многоугольник.

Наша задача будет заключаться в создании этих многоугольников при помощи JavaScript.

Читать далее

Книга «Алгоритмы на практике»

Reading time16 min
Views17K
image Привет, Хаброжители!

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

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

Безопасная информатизация: как мы создали единую инфраструктуру для всех бюджетных учреждений республики

Level of difficultyEasy
Reading time3 min
Views2.2K

Как безопасно создать инфраструктуру и объединить все органы государственной власти, муниципальные образования республики, организации здравоохранения, культуры, образовательные и другие учреждения? Рассказываем об опыте Татарстана - здесь работает единая Государственная интегрированная система телекоммуникаций, в которой общаются сотрудники, решаются задачи и предоставляется информация. 

Читать далее

Sore query language, или 5 ошибок при первом изучении SQL

Level of difficultyEasy
Reading time8 min
Views6.5K

Эта статья о том, как аналитик изучает основы SQL, какие допускает ошибки и как старается их исправить. В статье будет то, что помогает погрузиться в SQL впервые: схемы и примеры кода, понятия и определения, проблемы и решения. Статья рассчитана на аналитиков-новичков.

Предыстория: аналитик создает отчёты в BI для директора компании «ABC». Аналитик не умеет программировать и подключается к данным по инструкции. Директор требует срочно добавить в отчёт данные из 3 источников: SAP – объем выручки от продаж; HRLink – затраты на персонал; Битрикс – время обработки заявок. 

Аналитик ставит задачу data инженеру на добавление новых данных в BI. Data инженер – единственный специалист по работе с данными в офисе из 400 человек. Он критически оценивает сроки выполнения задачи и объявляет: «Минимум – 2 недели». Такой срок директора не устраивает. Инженер предлагает аналитику альтернативное решение...

И вот какое...

CADBase – бесплатная платформа теперь на русском

Level of difficultyEasy
Reading time4 min
Views5.4K

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

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

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

Своевременный обмен информацией для получения изделий с учётом изменений, ограничений и сроков поставки оказывает существенное влияние на издержки разработки продукта.

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

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

Читать далее

Information

Rating
Does not participate
Location
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity