От переводчика:
Уже опубликовано много материалов по MVC и его производным паттернам, но каждый понимает их по-своему. На этой почве возникают разногласия и холивары. Даже опытные разработчики спорят о том, в чем отличие между MVP, MVVM и Presentation Model и что должен делать тот или иной компонент в каждом паттерне. Ситуация усугубляется еще и тем, что многие не знают истинную роль контроллера в классическом варианте MVC. Предлагаю вашему вниманию перевод хорошей обзорной статьи, которая многое проясняет и расставляет всё по своим местам.
Пользователь
Паттерны разработки: MVC vs MVP vs MVVM vs MVI
От переводчика: данная статья является переработкой английской статьи по паттернам разработки. В процессе адаптации на русский немало пришлось изменить. Оригинал
Выбор между различными паттернами разработки, всегда сопровождается рядом споров и дискуссий, а разные взгляды разработчиков на это еще больше усложняют задачу. Существует ли решение этой идеологической проблемы? Давайте поговорим о MVC, MVP, MVVM и MVI прагматично. Давайте ответим на вопросы: “Почему?”, “Как найти консенсус?”
eBay API: Первые шаги
Этот пост предназначен для тех, кому нужно быстро начать работать с eBay API ну и для меня самого, что бы в будущем ничего не забыть.
Git Wizardry
1 Введение
В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.
Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.
Git на практике
Забытая история ООП

Как использовать implicit'ы в Scala и сохранить рассудок
Scala богата выразительными средствами, за что ее и не любят опытные программисты на классических ООП-языках. Неявные параметры и преобразования — одна из самых спорных фич языка. Слово "неявные", уже как-бы намекает на что-то неочевидное и сбивающее с толку. Тем не менее, если с ними подружиться, implicit'ы открывают широкие возможности: от сокращения объема кода до возможности многие проверки делать в compile-time.
Хочу поделиться своим опытом по работе с ними и рассказать о том, о чем пока умалчивает официальная документация и блоги разработчиков. Если вы уже знакомы со Scala, пробовали использовать неявные параметры, но все еще испытываете некоторые сложности при работе с ними, либо хотя-бы о них слышали, то этот пост может оказаться вам интересен.
Советы начинающему скалисту (часть 2)
Часть 2. Обо всем и ни о чем
Сегодня мы обсудим ряд скалических идиом, которые не поместились в первую часть статьи. Мы рассмотрим вопросы интероперации языка с Java и, главное, неправильное использование объектно-ориентированных особенностей Scala.
Никто и не заметил, как вышел MySQL 8.0
Неожиданно для себя обнаружил, что mysql вдруг релизнулся буквально на днях (19 апреля), а статьи на хабре нет — все обсуждают сами-знаете-что.
Постараюсь перевести выжимку из "What's new". Для тех, кто следит за разработкой, тут вероятно не будет ничего или почти ничего нового, для интересующихся время от времени — может показаться интересным. Сразу скажу, что в оригинальном посте более детальный
разбор всех пунктов — тут лишь краткая выжимка со ссылочками.
Git Rebase: руководство по использованию
Теория
Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.

Yandex «Почта для домена» как почтовый шлюз для ваших серверов
Каждый раз поднимая новый сервер в облаках, вы получаете случайный IP-адрес. Не все понимают, что IP-адрес может попасть к вам с "историей". Часто приходится тратить время на удаление IP из публичных черных списков. В моём случае в последний раз это была очень неторопливая переписка с mail.ru, которая ни к чему не привела. После этого, создав новый сервер, я задумался: как же сделать так, чтобы не огребать проблем с такими IP-адресами?
Bash-скрипты: начало
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит
Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.

Нейросети: как искусственный интеллект помогает в бизнесе и жизни
В работе Oxford Martin School 2013 года говорилось о том, что 47% всех рабочих мест может быть автоматизировано в течение следующих 20 лет. Основным драйвером этого процесса является применение искусственного интеллекта, работающего с большими данными, как более эффективной замены человеку.

Машины теперь способны решать все больше процессов, за которые раньше отвечали люди. Кроме того, делают это качественнее и во многих случаях дешевле. О том, что это значит для рынка труда, в июле этого года говорил Герман Греф, выступая перед студентами Балтийского федерального университета им. Канта:
“Мы перестаём брать на работу юристов, которые не знают, что делать с нейронной сетью. <...> Вы — студенты вчерашнего дня. Товарищи юристы, забудьте свою профессию. В прошлом году 450 юристов, которые у нас готовят иски, ушли в прошлое, были сокращены. У нас нейронная сетка готовит исковые заявления лучше, чем юристы, подготовленные Балтийским федеральным университетом. Их мы на работу точно не возьмем.”
Продолжая освещать #технобудущее, команда DTI подготовила все, что необходимо знать для первого погружения в нейронные сети: как они устроены, почему все больше компаний предпочитают нейросети живым сотрудникам и какой потенциал по оптимизации различных процессов несет эта технология.
Удачная модель ветвления для Git
В этой статье я представляю модель разработки, которую использую для всех моих проектов (как рабочих, так и частных) уже в течение года, и которая показала себя с хорошей стороны. Я давно собирался написать о ней, но до сих пор не находил свободного времени. Не буду рассказывать обо всех деталях проекта, коснусь лишь стратегии ветвления и управления релизами.

В качестве инструмента управления версиями всего исходного кода она использует Git.
Продвинутое конфигурирование Docker Compose (перевод)

Контроль порядка запуска
Docker Compose запускает контейнеры в порядке зависимостей, используя опцию depends_on, чтобы указывать, когда запускается сервис. Для определения порядка запуска Compose применяет depends_on, links, volumes_from и network_mode: «service: ...».
Если контейнер должен дождаться состояния “ready” другого контейнера, можно использовать инструменты wait-for-it или dockerize. Они будут проверять хосты и порты до тех пор, пока TCP соединение не будет подтверждено. Для включения принудительного ожидания в композицию необходимо добавить entrypoint:
version: '2'
services:
web:
build: .
ports:
- "80:8000"
depends_on:
- db
entrypoint: "./wait-for-it.sh db:5432"
db:
image: postgres
Вы всегда можете самостоятельно написать скрипт-обёртку, если возникнет необходимость в усилении контроля.
Шпаргалка с командами Docker

Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Выбор технологий для большого и не очень большого веб-проекта
Но прежде, чем что-то выбирать, давайте посмотрим, какие технологии бывают, чем они отличаются и в каких случаях какую технологию выбрать.
Как стать веб-разработчиком в 2017 году — план действий

Часть 3. Где хранить данные децентрализованным приложениям на блокчейне?
Часть 2. Где хранить данные децентрализованным приложениям на блокчейне?
Information
- Rating
- Does not participate
- Location
- Ростов-на-Дону, Ростовская обл., Россия
- Registered
- Activity