Как стать автором
Обновить
45
0.1
Денис Бесков @beskov

Руководитель онлайн-школы Systems.Education, CPRE

Отправить сообщение

Восхитительная теория [якорных] баз данных от Ларса Рённбека

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

Обнаружил серию статей по принципам организации информации и базам данных от математика из Стокгольмского университета и с энтузиазмом перевожу. Моя уверенность в том, что реляционки с 3-й формой нормализации - лучшее, что придумало человечество, резко убавилась... Я бы назвал это "субъективной теорией информации", автор называет "Transitional modeling", но обычно это применяется под названием "якорная модель данных"...

Читать далее
Всего голосов 9: ↑7.5 и ↓1.5+6
Комментарии16

Декомпозиция программных компонент

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.6K

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

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

И тут начинаются нюансы..
Всего голосов 42: ↑24 и ↓18+6
Комментарии18

Микросервисы прагматика: как построить большую систему с помощью пачки монолитов

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров6.8K

...

Попробую, попытаюсь объяснить. Наверное, для кого-то это будет оправданием, но я просто объясняю.

Как быстро зафейлить новый проект Java? Просто взять и применить все, что ты услышал на последней Java конференции;) Как быстро сделать энтерпрайзный проект минимальной командой в короткие сроки? Верно — подобрать оптимальную архитектуру и правильные инструменты. Senior Developer из команды Jmix Дмитрий Черкасов рассказывает о компромиссном варианте между хайповыми (все еще) микросервисами и монолитами, который называется Self-Contained Systems. Кажется, он выпьет меньше крови и сохранит ваши нервы. Дальше — рассказ от первого лица.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии10

Протоколы семейства TCP/IP. Теория и практика

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров98K
image

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

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

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

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

В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии5

PokiToki: Удобный GPT-бот в телеграме

Время на прочтение4 мин
Количество просмотров25K

PokiToki

За последние месяцы только ленивый не сделал телеграм-бота, который работает с API OpenAI. Были такие статьи и на Хабре.


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


Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии3

API от А до Я (теория и практика)

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров23K

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

Читать далее
Всего голосов 15: ↑10 и ↓5+5
Комментарии7

Что такое психическое здоровье: взгляд со стороны психологии / психотерапии

Время на прочтение28 мин
Количество просмотров52K
Привет, читатель!

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

ПРЕДСТАВЬТЕ, ЧТО ТУТ — КАРТИНКА ДЛЯ ПРИВЛЕЧЕНИЯ ВНИМАНИЯ


tl:dr: В статье рассматривается вопрос психического здоровья на примере модели, предложенной Нэнси Мак-Вильямс (“16 элементов психического здоровья”). По каждому элементу я постараюсь дать примеры — как выглядит “сломанная” в этом аспекте психика, что было сделано, чтобы её “починить” (в данном конкретном случае), какие ошибки были допущены, что ещё можно было бы сделать и т.д.

К сожалению, стремление к упрощению материала с моей стороны значительно снизило точность и объективность формулировок, предупреждаю сразу.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии130

Право на ошибку. Деньги и методологии разработки в ИТ

Время на прочтение16 мин
Количество просмотров6.7K

Есть много разных методологий разработки: Waterfall, Agile, Lean и другие. Ситуацию усложняют различные схемы оплаты разработки в ИТ. Что лучше: Fixed Price, Time&Material или взять людей на аутстафф? Человеку, далёкому от коммерческой разработки, бывает сложно разобраться что и когда стоит использовать. Чтобы помочь с этим разобраться, рассмотрим разные методологии и схемы оплаты с точки зрения работы с рисками и права на ошибку. Попробую писать простым языком, чтобы было понятно всем.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

Требования не меняются, это мы их недовыявили. 10 техник проверки полноты требований

Время на прочтение26 мин
Количество просмотров19K

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

В этой статье я опишу примеры подобных ситуаций и расскажу о техниках, позволяющих задать нужные вопросы, выявить максимальное количество требований на ранних этапах анализа, обсудить со стейкхолдерами нужность этих требований и их приоритеты. Как правило, после применения всех техник в 1,5−2 раза возрастает объём требований и юзкейсов для обсуждения — и это одна из основных задач аналитика: задать все вопросы и выяснить все детали до начала проектирования и разработки системы.

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

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

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Теория ограничений в интерфейсах (кто убил старого графа?)

Время на прочтение10 мин
Количество просмотров29K
Привет, меня зовут Александр Волков, я проектирую интерфейсы в компании Docsvision. Цель этой статьи — помощь разработчикам сложных программных продуктов. Ключевое слово — сложных. Спроектировать сайт-визитку сегодня может даже пятиклассник прямо на своем смартфоне, и при желании можно скачать зип-архив с готовым шаблоном блога или корпоративного сайта. Однако если ваше приложение посложнее обычного интернет-магазина, то, вполне вероятно, строить структуру и определять принципы навигации вам придется самостоятельно, наступая на разбросанные повсюду грабли. Здесь может пригодиться наш опыт. Я опишу один из возможных способов проектирования интерфейсов, который успешно опробован в нашей компании. Это делается легко и просто (практически в полуавтоматическом режиме) при помощи программы FlyingLogic.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии16

Большая подборка каналов для продакт менеджеров

Время на прочтение9 мин
Количество просмотров23K

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

Большая подборка полезных telegram-каналов и чатов для product managers, project managers и product owners. Здесь ты найдешь как крупные популярные каналы с десятками тысяч подписчиков от знаменитых продактов, так и ламповые каналы на пару сотен человек без рекламы и смс.

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

Читать далее
Всего голосов 17: ↑15 и ↓2+13
Комментарии0

13 инструментов для обработки текста в командной оболочке

Время на прочтение17 мин
Количество просмотров87K
Здесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git, основы SQL, инструменты вроде Make, jq и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.

Содержание


Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии65

Построение приложений командной строки (CLI)

Время на прочтение30 мин
Количество просмотров88K
Данная статья написана под влиянием книги Дэвида Коупленда «Build Awesome Command-Line Application in Ruby» (купить, скачать и изучить дополнительные материалы). Большая её часть будет посвящена проектированию дизайна CLI-приложений вне зависимости от используемого языка. По ходу будут обсуждаться и вещи специфичные для ruby, но не страшно, если вы его не знаете, кода будет не слишком много. Можно считать эту статью довольно подробным обзором вышеупомянутой книги с вкраплениями собственного опыта. Книжку рекомендую!

Для начала я задам вопрос. Если посмотреть на сообщества IT-шников, можно заметить, что несмотря на обилие программ с красивым графическим интерфейсом, приложения командной строки остаются весьма популярны. Почему?
Ответов несколько. Во-первых, это красиво удобно — если вы можете описать задачу командой в командной строке, то её гораздо проще автоматизировать, чем если вам приходится анализировать передвижения мыши и клики на разные пункты меню. Во-вторых, это даёт возможность комбинировать программы невероятным числом способов, чего сложно добиться с помощью графических интерфейсов.
В значительной степени философия Unix базируется на том принципе, что множество маленьких утилит, каждая из которых умеет делать свою конкретную задачу — это лучше, чем одна многофункциональная программа-универсал. И это одна из причин успеха Unix-систем в мире IT-шников.
Наверное, каждый понимает, что обычного пользователя вряд ли удастся сманить от GUI к CLI, давайте сосредоточимся на нас, «компьютерщиках» и конкретизируем наши пожелания к CLI-приложениям.
Читать дальше →
Всего голосов 78: ↑72 и ↓6+66
Комментарии31

Развитие стохастических продуктов

Время на прочтение7 мин
Количество просмотров2.7K

Не все классические метрики и инструменты одинаково полезны для каждого продукта. Retention, churn, DAU/MAU и пр. — это всё замечательно, если у тебя продукт по духу близок к FAANG-истории, где всё взаимодействие, ключевая ценность находится в рамках продукта, а контакт с пользователем регулярный и прогнозируемый. Но бывает так, что ключевой пользовательский опыт происходит в офлайне, продуктом могут пользоваться раз в несколько лет и, к тому же, мы не можем повлиять на возникновение потребности у конкретного Пользователя. Что выбрать как показатель успеха? На что смотреть, если Retention, оттоки и активации не работают или их не удается жёстко связать с изменениями?

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

REST, что же ты такое? Понятное введение в технологию для ИТ-аналитиков

Время на прочтение17 мин
Количество просмотров262K

Проектирование и работа с REST-сервисами стали повседневными задачами для многих аналитиков. Однако мы часто встречаемся на работе с различными или даже противоречащими друг другу трактовками таких понятий, как REST, RESTful-сервис, RESTAPI.

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

Выясним, почему существует терминологическая путаница вокруг REST и как нам научиться лучше понимать коллег.

Поговорим о том, как связаны HTTP и REST. А также почему REST противопоставляют SOAP.

Читать далее
Всего голосов 26: ↑23 и ↓3+20
Комментарии5

Использование диаграммы классов UML при проектировании и документировании программного обеспечения

Время на прочтение19 мин
Количество просмотров149K

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии3

Как, где и зачем искать IT-наставника?

Время на прочтение7 мин
Количество просмотров12K

Говорят, что правильный разговор проясняет ситуацию лучше, чем десять часов поисков в интернете. В этом году родился проект GetMentor.dev, который помогает найти человека с экспертизой и обсудить свой вопрос один на один. Это открытое сообщество IT-наставников, готовых делиться знаниями и опытом. 

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

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии2

Монтируем видео на облачном сервере в AWS

Время на прочтение4 мин
Количество просмотров18K

Мой рабочий компьютер - Macbook Air 2020 (Intel), и его вполне хватает для написания кода и прочих задач. Однако, когда потребовалось смонтировать небольшой видеоролик, выяснилось что мощи моего ноута катастрофически не хватает, и я стал искать варианты.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии73

Бесплатный удобный ETL инструмент с открытым кодом на основе Python — фантастика или нет?

Время на прочтение13 мин
Количество просмотров17K

Сегодня я хочу рассказать об open-source инструменте, который позволяет извлекать и очищать данные для широкого спектра задач. В этом посте речь пойдет о ViXtract, нашей собственной сборке открытых технологий для работы с данными. Под катом — рассуждения о том, каким должен быть идеальный ETL, рассказ о том, почему его лучше делать на Python (и почему это совсем не сложно), мысли о скриптовом и графическом подходе.

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии17

Как организовать эффективное управление продуктом в b2b

Время на прочтение9 мин
Количество просмотров5K

Есть ли разница между созданием продукта для потребителя и для бизнеса? Очевидно, что есть, хотя продуктовый менеджмент в b2b очень похож на b2c, здесь также есть пользовательские проблемы и опыт, гипотезы и требования, цели и метрики. Но есть и важное отличие – в b2b принимать решения о покупке продукта и пользоваться им часто могут разные люди.

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии6

Информация

В рейтинге
2 850-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

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

Chief Executive Officer (CEO)
Middle
People management
Business development
Monitoring and market analysis
Product management
Strategic planning
Company management
Organization of business processes
Optimization of business processes
Automation of processes
Customer support