Обновить
27
Victor Demin@sg4tech

CTO and IT consultant

6
Подписчики
Отправить сообщение

GRASP: почему настоящая архитектура начинается не с SOLID

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели91K

Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие.

Также не обошли меня и классические принципы проектирования — SOLID, KISS, DRY — и, думаю, каждый читатель добавит сюда свои.

Безусловно, это всё важные и фундаментальные вещи.

Но однажды на горизонте появилось DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления.

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

Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал: как он это делает?

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

Складывалось ощущение, что мы это уже откуда‑то должны были знать. А откуда — остаётся загадкой.

Читать далее

Смысл жизни с точки зрения программиста-буддиста

Уровень сложностиПростой
Время на прочтение24 мин
Охват и читатели18K

Несколько лет тому назад я опубликовал на Хабре статью под названием "Буддизм с точки зрения программиста". Этот пост имел огромную популярность, читатели приняли его с большой теплотой. До сих пор я часто получаю от людей сообщения с благодарными отзывами на него и рассказами о том, как после прочтения этого текста поменялись их взгляды на жизнь.

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

Читать далее

Не так уж и страшен этот FAANG: 8 мифов о собеседованиях в BigTech

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели37K

Привет, на связи таинственный Software Engineer из FAANG компании, пишущий только о собеседованиях. Ранее мы уже сравнивали Тинькофф с FAANG’oм и отказывались от миллионов RSU в Озон, а теперь поговорим о собеседованиях в BigTech: в знаковые для индустрии зарубежные компании, оффер которых — это билет в будущее.

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

Читать далее

Японский подход, или Что Toyota дала современной разработке

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели14K

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

Но Kanban придумали совсем не разработчики: еще 60 лет назад его внедрила компания Toyota на своем производстве. И он стал частью общей философии компании, которая получила название Lean Manufacturing — «бережливое производство». Успехи Toyota и ее подхода очевидны: на 2022 год компания занимает первое место в мире по числу проданных автомобилей — 10,48 млн, опережая Volkswagen AG на 2,22 млн штук.

И между производством автомобилей и разработкой ПО напрашивается параллель. Давайте попробуем разобраться, в чем же особенности TPS (Toyota Production System), откуда все это появилось и как применяется в современной разработке.

Читать далее

Управление ресурсами нашего мозга

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели10K

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

Если хотите посмотреть оригиналы, то вот ссылки на её видео:
Как изменить mindset в Agile сторону
OKR изнутри — как мозг ставит цели

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

Читать далее

Купил или продал акцию на счете в Interactive Brokers? Лови штраф 40% от налоговой

Время на прочтение10 мин
Охват и читатели26K

Если у вас есть российское гражданство, и вы собрались совершать сделки с любыми ценными бумагами (в любой стране и на любом счете) – то вам нужно иметь доказательства того, что покупатель/продавец не является «недружественным лицом». А иначе вы рискуете нарушить законы РФ и получить штраф до 40% от всей суммы... Разбираем ситуацию с юристом.

Читать далее

Рецепт идеального Хабропоста

Время на прочтение5 мин
Охват и читатели7.8K


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

Мы в Cloud4Y хотели бы. Поэтому мы провели глубокий анализ публикаций на Хабрахабре за последние полгода и сегодня хотим поделиться новыми полезными находками.
Читать дальше →

5 способов выбрать тему для выступления на ИТ-конференции

Время на прочтение7 мин
Охват и читатели6.4K

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

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

Читать далее

5 моделей эффективного командного взаимодействия

Время на прочтение6 мин
Охват и читатели94K
Выбор моделей и подходов для повышения эффективности работы команды — это извечная головная боль менеджеров продуктов, тим лидов, собственников бизнеса, HR, ученых и психологов.

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

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

Теория счастья. Закон арбузной корки и нормальность ненормальности

Время на прочтение10 мин
Охват и читатели77K
Представляю на суд читателей Хабра неупорядоченные главы из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



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

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

Как лучше разбираться в людях

Время на прочтение31 мин
Охват и читатели115K
Рассказывать айтишникам про психологию то еще дело, некоторые читатели скажут: «Bullshit!», и вообще не поверят, потому что психологию, даже прикладную, нельзя назвать точной наукой. Тем не менее, задача этой статьи — показать и доказать вам, что некоторые модели действительно работают. В основе доклад Сергея Котырева из UMI на РИТ++ 2017, от его лица дальше и пойдет повествование.



Я — IT-предприниматель с 20 летним стажем. Так получилось, что с самого начала карьеры мне пришлось управлять людьми. Как выпускник технического вуза и айтишник, я изначально понял, что люди сложно поддаются алгоритмизации, и вообще осознанию, пониманию и прогнозированию.

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

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

Генеральная уборка в компании

Время на прочтение8 мин
Охват и читатели47K


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

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

А знаете, что такое большая компания? Это когда ты не знаешь в лицо кого-то. Когда в команде есть люди, которые работают по должностным обязанностям без понимания, для чего нужна их работа. Когда простая задача «напечатайте табличку с текстом в магазин» начинает гулять по согласованиям и решается за 22 дня. Реальный случай. Это когда договор подписывается 4 месяца. И куча других приколов звериного оскала бюрократизма.

Разгребать всё это… хм, ну, скажем, увлекательно.
Читать дальше →

Пошаговый план старта на Upwork

Время на прочтение3 мин
Охват и читатели271K
image

Рано или поздно разработчик всерьез задумывается о фрилансе. В этот момент большинство идут на биржи. Выбор бирж огромен. В СНГ: fl.ru, weblancer и прочие. Но когда доходишь до дела начинаешь понимать в каком все упадке. Единственным местом где водятся более-менее нормальные заказы можно назвать fl.ru и еще одну-две биржы. Но на fl.ru нужен pro аккаунт, ведь оказывается чтобы взять заказ нужно заплатить бирже, и далеко не факт что тебе что-то светит. Поэтому было решено идти на Upwork.
Читать дальше →

Чистый код на PHP

Время на прочтение19 мин
Охват и читатели119K


Это принципы разработки ПО, взятые из книги Clean Code Роберта Мартина и адаптированные для PHP. Это руководство не по стилям программирования, а по созданию читабельного, многократно используемого и пригодного для рефакторинга кода на PHP.


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


Статья вдохновлена clean-code-javascript.

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

Тихий кризис в разработке софта

Время на прочтение12 мин
Охват и читатели35K


Обо мне


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

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

Во Вселенной работает довольно жестокий вид кармы.

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

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

Сложно ли угнать коптер? Несколько уже реализованных способов перехвата управления

Время на прочтение7 мин
Охват и читатели80K


Квадрокоптеров сейчас становится все больше, они постепенно «умнеют», становятся более функциональными. Дроны такого типа уже служат не только развлечением, они помогают спортсменам, фотографам, ученым и, конечно же, злоумышленникам разного рода. При помощи коптеров часто ведется несанкционированное наблюдение за людьми, промышленными и другими объектами.

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

Бот в Telegram использует IBM Watson для определения котиков

Время на прочтение2 мин
Охват и читатели16K
Привет!

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

image

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

N+5 полезных книг

Время на прочтение5 мин
Охват и читатели59K


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

Конструкции, или почему не ломаются вещи, Дж. Гордон
Прекрасная, хоть и очень длинная штука, которая рассказывает про сопромат простыми словами и почти для детей. Но на уровне жёсткого хардкора. По своей полезности для осознания физики вокруг может сравниться с не менее прекрасной современной «Квантовая вселенная. Как устроено то, что мы не можем увидеть» Брайана Кокса и Джеффа Форшоу. Рекомендую обе. Будет, что почитать в дороге, если вдруг почувствуете, что играть на планшете надоело. И о чём подумать, когда выяснится, что вся та фигня, которую вам давали на уроках химии, физики и прочего в школе и университете вдруг начинает выстраиваться в стройную теорию.

Evil by Design, Крис Ноддер
Один из лучших подходов к проектированию чего-то хорошего — это спроектировать сначала самое ужасное из возможного. Пользователь обычно не скажет, как сделать ему хорошо, но точно знает, как бывает плохо. Например, юзер не говорит «я хочу, когда нажимаю на ссылку напоминания пароля, там в поле уже была введена почта», зато вполне способен сказать: «слушай, меня дико бесит, когда логинишься, тебе показывают новую страницу про то, что пароль не подошёл, и, чтобы его восстановить, надо ещё один долбанный раз вводить почту». Вся книга Криса состоит из таких «тёмных» шаблонов, когда какие-то гады намеренно вводят вас в заблуждение. Он там очень переживает за этику, поэтому вступления лучше пропустить. Единственная в этом обзоре книга на английском, но довольно простом.
Читать дальше →

Деанонимизируем пользователей Windows и получаем учетные данные Microsoft и VPN-аккаунтов

Время на прочтение6 мин
Охват и читатели132K

Если вы не видите эту картинку, то данные вашей учетной записи Windows уже скомпрометированы.

Введение

Давным-давно, когда компьютеры были одноядерными и прекрасно работали с 256 МБ RAM, а сети под управлением Windows уже использовались очень широко, ребята из Microsoft подумали, что было бы удобно аутентифицироваться только один раз, при загрузке компьютера, а доступ на внутренние ресурсы происходил бы автоматически, без ввода пароля, и сделали так называемую технологию единого входа (Single Sign-on). Единый вход работает очень просто: когда пользователь пытается получить доступ к какому-либо ресурсу с NTLM-аутентификацией (стандартный способ аутентификации в сетях Windows), ОС сразу передает название домена, имя учетной записи и хеш пароля текущего пользователя, и если под этими данными войти не удалось, показывает диалог ввода имени пользователя и пароля. Шли годы, проблемы с безопасностью реализации технологии единого входа давали о себе знать, одни из которых успешно исправляли, другие исправляли менее успешно, а о третьих почему-то совсем забыли. Так и забыли о проблеме передачи учетных данных для единого входа на SMB-ресурсы (сетевые ресурсы: файлы и папки, принтеры, и т.д.) через интернет, которую можно эксплуатировать во всех современных ОС, включая Windows 10 со всеми последними обновлениями. Об этой особенности работы стека аутентификации вспоминают каждые 1-2 года, последний раз о ней рассказывали на Blackhat US 2015, но Microsoft не спешит что-либо менять.
Читать дальше →

Квантовая физика: что на самом деле реально?

Время на прочтение8 мин
Охват и читатели110K
image

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

Именно это навело Маруни сотоварищи на мысль разработать новую серию экспериментов для раскрытия сути волновой функции – загадочной сущности, лежащей в основе квантовых странностей. На бумаге, волновая функция – просто математический объект, обозначаемый буквой пси (Ψ) (одна из тех самых закорючек), и используется для описания квантового поведения частиц. В зависимости от эксперимента, волновая функция позволяет учёным вычислять вероятность наблюдения электрона в каком-то конкретном месте, или шансы того, что его спин ориентирован вверх или вниз. Но математика не говорит о том, что на самом деле такое волновая функция. Это нечто физическое? Или просто вычислительный инструмент, позволяющий работать с невежественностью наблюдателя касательно реального мира?
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Технический директор, Директор по информационным технологиям