Обнаружил серию статей по принципам организации информации и базам данных от математика из Стокгольмского университета и с энтузиазмом перевожу. Моя уверенность в том, что реляционки с 3-й формой нормализации - лучшее, что придумало человечество, резко убавилась... Я бы назвал это "субъективной теорией информации", автор называет "Transitional modeling", но обычно это применяется под названием "якорная модель данных"...
Руководитель онлайн-школы Systems.Education, CPRE
Декомпозиция программных компонент
Здравствуйте, меня зовут Дмитрий Карловский и я.. люблю власть. Когда я берусь за клавиатуру, каждый байтик начинает плясать под мою дудку. Но когда этих байтиков становится по настоящему много, уследить за всеми становится сложно. Поэтому давайте сравним популярные паттерны проектирования, позволяющие разделить большое приложение на компоненты, чтобы властвовать над ними максимально эффективно и независимо.
Так как одна и та же прикладная сущность встречается в приложении во многих местах, в разных контекстах, и должна иметь разное представление, то базовая декомпозиция заключается в выделении модели предметной области, которая является источником истины для всех мест её отображения.
Микросервисы прагматика: как построить большую систему с помощью пачки монолитов
...
Попробую, попытаюсь объяснить. Наверное, для кого-то это будет оправданием, но я просто объясняю.
Как быстро зафейлить новый проект Java? Просто взять и применить все, что ты услышал на последней Java конференции;) Как быстро сделать энтерпрайзный проект минимальной командой в короткие сроки? Верно — подобрать оптимальную архитектуру и правильные инструменты. Senior Developer из команды Jmix Дмитрий Черкасов рассказывает о компромиссном варианте между хайповыми (все еще) микросервисами и монолитами, который называется Self-Contained Systems. Кажется, он выпьет меньше крови и сохранит ваши нервы. Дальше — рассказ от первого лица.
Протоколы семейства TCP/IP. Теория и практика
В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам.
Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов. Многие сетевые протоколы реализованы в ядре операционной системы, и что-либо изменить может оказаться сложной задачей, так как это требует навыков в написании драйверов для операционной системы. Но использование специализированных библиотек позволяет работать с протоколами на низком уровне из пространства пользователя.
В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания.
Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.
В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
PokiToki: Удобный GPT-бот в телеграме
За последние месяцы только ленивый не сделал телеграм-бота, который работает с API OpenAI. Были такие статьи и на Хабре.
Написать игрушечного ChatGPT-бота можно хоть за час. А вот сделать его удобным в повседневной работе заметно сложнее. Я занимался этим последние несколько недель и хочу показать, что получилось.
API от А до Я (теория и практика)
Я работаю с совершенно разными проектами и встречаюсь с разными технологиями: графы, пространственные данные, риалтайм обработка, ML и NER сервисы и т.п., но есть классические основы, которые должен знать каждый в ИТ от аналитиков до руководителей, так называемый фундамент без которого построить хорошую карьеру специалиста сложно. Так как я долго занимал различные аналитические должности, то прошу не обижаться, так как буду часто говорить о том для чего это аналитику.
Что такое психическое здоровье: взгляд со стороны психологии / психотерапии
Прошлая моя статья вышла несколько “суховатой”, в чем меня справедливо упрекнули на нескольких площадках, поэтому я решил написать другую, более наполненную живыми примерами и понятными объяснениями. Поговорить сегодня я предлагаю о психическом здоровье в целом — что это такое, в чем проявляется, где грань между ним и… не совсем здоровыми состояниями и т.п.
ПРЕДСТАВЬТЕ, ЧТО ТУТ — КАРТИНКА ДЛЯ ПРИВЛЕЧЕНИЯ ВНИМАНИЯ
tl:dr: В статье рассматривается вопрос психического здоровья на примере модели, предложенной Нэнси Мак-Вильямс (“16 элементов психического здоровья”). По каждому элементу я постараюсь дать примеры — как выглядит “сломанная” в этом аспекте психика, что было сделано, чтобы её “починить” (в данном конкретном случае), какие ошибки были допущены, что ещё можно было бы сделать и т.д.
К сожалению, стремление к упрощению материала с моей стороны значительно снизило точность и объективность формулировок, предупреждаю сразу.
Право на ошибку. Деньги и методологии разработки в ИТ
Есть много разных методологий разработки: Waterfall, Agile, Lean и другие. Ситуацию усложняют различные схемы оплаты разработки в ИТ. Что лучше: Fixed Price, Time&Material или взять людей на аутстафф? Человеку, далёкому от коммерческой разработки, бывает сложно разобраться что и когда стоит использовать. Чтобы помочь с этим разобраться, рассмотрим разные методологии и схемы оплаты с точки зрения работы с рисками и права на ошибку. Попробую писать простым языком, чтобы было понятно всем.
Требования не меняются, это мы их недовыявили. 10 техник проверки полноты требований
Требования, конечно, меняются. Иногда. Но гораздо чаще случается, что мы не до конца выяснили у заказчика и стейкхолдеров все требования, оставив множество умолчаний.
В этой статье я опишу примеры подобных ситуаций и расскажу о техниках, позволяющих задать нужные вопросы, выявить максимальное количество требований на ранних этапах анализа, обсудить со стейкхолдерами нужность этих требований и их приоритеты. Как правило, после применения всех техник в 1,5−2 раза возрастает объём требований и юзкейсов для обсуждения — и это одна из основных задач аналитика: задать все вопросы и выяснить все детали до начала проектирования и разработки системы.
Возможно, многие подходы вы уже применяете, а о некоторых даже не слышали; я попробую свести их в единую систему.
Эта статья носит практический характер, составлена в виде пошагового чек-листа. Если вы сочтёте полезными описанные в статье техники и начнёте применять что-то из изложенного в этом материале, буду рад получить обратную связь.
Теория ограничений в интерфейсах (кто убил старого графа?)
Большая подборка каналов для продакт менеджеров
В последние пару месяцев постоянно слышу от продактов, что они не знают кого почитать по продакт менеджменту, где черпать практическую и актуальную информацию.
Большая подборка полезных telegram-каналов и чатов для product managers, project managers и product owners. Здесь ты найдешь как крупные популярные каналы с десятками тысяч подписчиков от знаменитых продактов, так и ламповые каналы на пару сотен человек без рекламы и смс.
Исключительно актуальные и действующие каналы от профессионалов рынка. Обязательно к изучению тем, кто только начинает свой путь в управлении продуктами.
13 инструментов для обработки текста в командной оболочке
git
, основы SQL, инструменты вроде Make
, jq
и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.Содержание
Построение приложений командной строки (CLI)
Для начала я задам вопрос. Если посмотреть на сообщества IT-шников, можно заметить, что несмотря на обилие программ с красивым графическим интерфейсом, приложения командной строки остаются весьма популярны. Почему?
Ответов несколько. Во-первых, это
В значительной степени философия Unix базируется на том принципе, что множество маленьких утилит, каждая из которых умеет делать свою конкретную задачу — это лучше, чем одна многофункциональная программа-универсал. И это одна из причин успеха Unix-систем в мире IT-шников.
Наверное, каждый понимает, что обычного пользователя вряд ли удастся сманить от GUI к CLI, давайте сосредоточимся на нас, «компьютерщиках» и конкретизируем наши пожелания к CLI-приложениям.
Развитие стохастических продуктов
Не все классические метрики и инструменты одинаково полезны для каждого продукта. Retention, churn, DAU/MAU и пр. — это всё замечательно, если у тебя продукт по духу близок к FAANG-истории, где всё взаимодействие, ключевая ценность находится в рамках продукта, а контакт с пользователем регулярный и прогнозируемый. Но бывает так, что ключевой пользовательский опыт происходит в офлайне, продуктом могут пользоваться раз в несколько лет и, к тому же, мы не можем повлиять на возникновение потребности у конкретного Пользователя. Что выбрать как показатель успеха? На что смотреть, если Retention, оттоки и активации не работают или их не удается жёстко связать с изменениями?
REST, что же ты такое? Понятное введение в технологию для ИТ-аналитиков
Проектирование и работа с REST-сервисами стали повседневными задачами для многих аналитиков. Однако мы часто встречаемся на работе с различными или даже противоречащими друг другу трактовками таких понятий, как REST, RESTful-сервис, RESTAPI.
Сегодня мы разберём, какие принципы вложил в парадигму REST её автор и как они могут помочь нам при проектировании систем.
Выясним, почему существует терминологическая путаница вокруг REST и как нам научиться лучше понимать коллег.
Поговорим о том, как связаны HTTP и REST. А также почему REST противопоставляют SOAP.
Использование диаграммы классов UML при проектировании и документировании программного обеспечения
В этой статье я постарался подробно рассказать о том, как использовать диаграмму классов UML на практике. В качестве основного примера был взять мой проект "Построитель графиков функций". Помимо этого статья наполнена множеством маленьких примеров, поясняющих отдельные элементы диаграммы.
Как, где и зачем искать IT-наставника?
Говорят, что правильный разговор проясняет ситуацию лучше, чем десять часов поисков в интернете. В этом году родился проект GetMentor.dev, который помогает найти человека с экспертизой и обсудить свой вопрос один на один. Это открытое сообщество IT-наставников, готовых делиться знаниями и опытом.
Важная особенность GetMentor — его некоммерческая суть. Комиссии за проведенные сессии менторинга не существует, а часть наставников и вовсе не берет деньги за помощь. О том, как родился проект, в чем его цель и чем может помочь ментор, мы поговорили с создателем проекта Георгием Могелашвили.
Монтируем видео на облачном сервере в AWS
Мой рабочий компьютер - Macbook Air 2020 (Intel), и его вполне хватает для написания кода и прочих задач. Однако, когда потребовалось смонтировать небольшой видеоролик, выяснилось что мощи моего ноута катастрофически не хватает, и я стал искать варианты.
Бесплатный удобный ETL инструмент с открытым кодом на основе Python — фантастика или нет?
Сегодня я хочу рассказать об open-source инструменте, который позволяет извлекать и очищать данные для широкого спектра задач. В этом посте речь пойдет о ViXtract, нашей собственной сборке открытых технологий для работы с данными. Под катом — рассуждения о том, каким должен быть идеальный ETL, рассказ о том, почему его лучше делать на Python (и почему это совсем не сложно), мысли о скриптовом и графическом подходе.
Как организовать эффективное управление продуктом в b2b
Есть ли разница между созданием продукта для потребителя и для бизнеса? Очевидно, что есть, хотя продуктовый менеджмент в b2b очень похож на b2c, здесь также есть пользовательские проблемы и опыт, гипотезы и требования, цели и метрики. Но есть и важное отличие – в b2b принимать решения о покупке продукта и пользоваться им часто могут разные люди.
Как организовать эффективный продуктовый процесс? Рассказываю на своем опыте и подробно объясняю, что мы делаем на каждом из этапов.
Information
- Rating
- 2,815-th
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity