Обновить
28
3.7

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

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

Domain-Driven Design: чистая архитектура снизу доверху

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

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

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

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Издательство «БХВ» теперь на Хабре. С чем мы к вам пришли

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

Приветствуем, коллеги!

Вы читаете первую статью от имени издательства «БХВ» (BHV) из Санкт-Петербурга, которое наконец-то решило официально обосноваться на Хабре и попробовать систематизировать нашу работу на этой великолепной платформе, объединив рекламный контент, тизеры и спойлеры в корпблоге. Меня зовут Олег Сивченко, я тружусь в БХВ менеджером проектов в области компьютерной литературы 4+ года, одновременно работаю в редакции Хабра, где веду небесспорный, но очень интересный научно-популярный блог @OlegSivchenko и блог с IT-переводами @Sivchenko_translate Кроме меня в команде БХВ есть ещё один маститый хабровчанин, пишущий под псевдонимом Валентин Холмогоров @Holmogorov — ведущий редактор журнала «Хакер», ранее работавший в отрасли кибербеза, руководил командой технических писателей. Так что, феномен хаброблога и хабрааудитории для нас не в новинку. Далее — немного о нашем издательстве.

Читать далее

Почасовая оплата

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

Во многих компаниях, занимающихся заказной разработкой ПО, исторически сложилось правило вести тайм-трекинг.

И эта привычка настолько укоренилась, что работодателям сложно представить, «как ещё узнать, что люди, действительно, работают?!»

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

Читать далее

Окружения развёртывания программного обеспечения

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

image


Только что опубликовал в русской википедии перевод статьи Deployment environment.


Публикую этот перевод здесь также. Замечания и комментарии приветствуются.

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

Как написать простейшую нейросеть на python, простыми словами о сложном

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

В мире Data Science написание нейронных сетей, кажется чем‑то очень трудоёмким, доступным для понимания лишь математикам с многолетним опытом. Многие руководства, начинаются со сложных объяснений backpropagation, градиентного спуска и т.п, от которых у новичков складывается впечатление, что написание нейросетей — им не по силам. В данной статье, я хочу развеять подобные убеждения и показать пример, написания простейшей нейронной сети на python. Мы не будем углубляться в теоретические основы высшей математики. Вместо этого, мы просто возьмем данные, напишем код, посмотрим на результат и проанализируем его.

Читать далее

Погружение в контейнеризацию

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

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

Читать далее

Контейнеризация понятным языком: от самых азов до тонкостей работы с Kubernetes

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


Чем контейнеры отличаются от виртуальных машин, почему Docker настолько популярен, что такое Kubernetes и в чём его преимущества и недостатки. В интервью АйТиБороде СТО «Слёрма» Марсель Ибраев и старший инженер Southbridge Николай Месропян рассказали о контейнеризации понятным языком. Мы перевели интервью в текст для тех, кому лень смотреть.
Мне не лень смотреть, мне лень читать

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

Лучшие альтернативы для Docker

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

Изобретение интермодальных контейнеров вызвало бум международной торговли и стало одним из основных элементов глобализации

Контейнеры от компании Docker произвели настоящую революцию в разработке, тестировании и развёртывании приложений. Хотя вовсе не она изобрела Linux-контейнеры. Ведь LXC и OpenVZ появились раньше под Linux, а до них много лет существовали Jails/Zones в BSD/Solaris.

Но именно Docker представил контейнеры в виде удобного и простого «массового продукта». Примерно как Apple позаимствовала идеи MP3-плеера и смартфона и доработала их. То же самое сделал Docker. Хотя не довёл дело до конца, то есть до получения прибыли.

Сейчас компания Docker разваливается на глазах. Однако Linux-контейнеры отлично работают и без неё, это же опенсорс.
Читать дальше →

Нововведения Java 25

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

Java не стоит на месте и продолжает активно развиваться. Скоро выйдет уже 25-я версия языка. В этом релизе изменили работу с boilerplate-кодом и конструкторами, а также отказались от поддержки устаревших систем. Обо всех этих и других нововведениях расскажем в статье.

Читать далее

Что нового в Maven 4?

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

В новом переводе от команды Spring АйО рассматриваются основные изменения, которые ждут нас в новой версии Maven. Изменения затронули performance, POM, новый тип упаковки, улучшения для подпроектов и много другое. 

Читать далее

Что такое Docker: краткий экскурс в историю и основные абстракции

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

10 августа в Слёрм стартовал видеокурс по Docker, в котором мы разбираем его полностью — от основных абстракций до параметров сети.


В этой статье поговорим об истории появления Docker и его основных абстракциях: Image, Cli, Dockerfile. Лекция рассчитана на новичков, поэтому вряд ли будет интересна опытным пользователям. Здесь не будет крови, аппендикса и глубокого погружения. Самые основы.


10 лет Docker: от революционной идеи до современной практики

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

Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.

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

Читать далее

Не смотрите на % использования процессора при гиперпоточности

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

Этот небольшой этюд служит как бы продолжением статьи "Проценты использования процессора — это ложная метрика". Мы попытаемся копнуть чуть поглубже и более детально разобраться как работает гиперпоточность (или гипертрединг, как его иногда называют).

Читать далее

Что делать интроверту на конференциях?

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

И зачем ему туда вообще идти — как участнику или как представителю компании на стенде.

Когда вы слышите слово «конференция», что приходит в голову? Толпы людей, шумный зал, кофе-брейки, анонсы докладов, стикеры, носки и человек в костюме банана возле стенда партнёра?

Каждый воспринимает конференции по-своему. Для кого-то это праздник общения, для кого-то — ценный нетворкинг, для кого-то — бесплатные стикеры и лекции уровня «вау».

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

Читать далее

Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны

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

– Ваш терминал и ваше интернет соединение – это файл!
– Да что вы такое говорите?
– Скажите ещё, что и мышка в моей руке или жёсткий диск – это тоже файл.
– Абсолютно верно!

На самом деле, с точки зрения Linux – это так.

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

Читать далее

Как не подготовить проходной доклад и что сделать, чтобы на конференциях вас слушали

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

Привет! Меня зовут Ксения Ершова. Я работаю младшим UX-проектировщиком в Selectel. Помимо проектирования интерфейсов и исследования пользовательского опыта, я регулярно посещаю митапы, слушаю доклады, читаю статьи — и иногда ловлю себя на мысли: «Зачем я трачу на это время?». Обычно лейтмотив интересующих меня тем это менеджмент, UX, soft skills или созидание чего-либо. Уверена, вы тоже не раз сталкивались с такими материалами — и замечали, как часто они повторяют друг друга, не неся за собой ничего нового и полезного.

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

Читать далее

Издательство Питер. Колонка редактора, сентябрь 25 г

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

Привет, Хаброжители!

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

Читать далее

13 законов разработки ПО

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

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

  1. Закон Паркинсона.
  2. Закон Хофштадтера.
  3. Закон Брукса.
  4. Закон Конвея (и обратный закон Конвея).
  5. Закон Каннингема.
  6. Закон Старджона.
  7. Закон Завински.
  8. Закон Хайрама.
  9. Закон Прайса.
  10. Эффект Рингельмана.
  11. Закон Гудхарта.
  12. Закон Гилба.
  13. Закон Мёрфи.

Поехали.
Читать дальше →

Сравнение подходов к реализации распределенных транзакций для микросервисов

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

Как архитектор-консультант в Red Hat, я имел возможность поработать над множеством проектов для наших клиентов. У каждого из них есть свои особенности, которые, однако, имеют некоторые общие черты. Большинство клиентов хотят знать, как скоординировать запись в несколько систем одновременно. Ответ на этот вопрос обычно включает подробное объяснение двойной записи, распределенных транзакций, современных альтернатив, а также возможных сценариев сбоев и недостатков каждого подхода. Как правило, именно в этот момент заказчик понимает, что разделение монолитного приложения на микросервисы - долгий и сложный путь, обычно требующий компромиссов.

Читать далее

Рецензия на книгу “Spring и Spring Boot. Разработка облачных приложений на Java”

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

Spring и Spring Boot — это фундаментальные технологии для современных Java-разработчиков. С их помощью создаются сложные и гибкие корпоративные приложения, при этом минимизируются рутинные задачи. Если вы действующий разработчик на Java или пока учитесь на ИТ-курсах / в ВУЗе и только планируете им стать, знание Spring будет “must have” скиллом. Ведь практически все новые проекты ведутся с его использованием. Более того, Spring Boot существенно упрощает работу с Spring Framework, автоматизируя настройку и позволяя разработчикам сосредоточиться на логике приложения.

Читать далее

Информация

В рейтинге
1 201-й
Зарегистрирован
Активность