Как стать автором
Обновить
0
@dim_ok32read⁠-⁠only

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

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

Различия между MVVM и остальными MV*-паттернами

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


От переводчика:
Уже опубликовано много материалов по MVC и его производным паттернам, но каждый понимает их по-своему. На этой почве возникают разногласия и холивары. Даже опытные разработчики спорят о том, в чем отличие между MVP, MVVM и Presentation Model и что должен делать тот или иной компонент в каждом паттерне. Ситуация усугубляется еще и тем, что многие не знают истинную роль контроллера в классическом варианте MVC. Предлагаю вашему вниманию перевод хорошей обзорной статьи, которая многое проясняет и расставляет всё по своим местам.
Разобраться в MV-паттернах
Всего голосов 38: ↑37 и ↓1+36
Комментарии29

Sampler. Консольная утилита для визуализации результата любых shell команд

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

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Всего голосов 298: ↑297 и ↓1+296
Комментарии54

Встроенная альтернатива Redux с React Context и хуками

Время на прочтение6 мин
Количество просмотров11K
От переводчика:

Представляю вольный перевод статьи о том, как реализовать эффективное решение для замены Redux контекстом React и хуками. Указание на ошибки в переводе или тексте приветствуются. Приятного просмотра.



С момента выхода нового Context API в React 16.3.0 многие люди задавали себе вопрос, достаточно ли хорош новый API, чтоб рассматривать его как замену Redux? Я думал о том же, но до конца не понимал даже после выхода версии 16.8.0 с хуками. Я стараюсь пользоваться популярными технологиями, путь даже не всегда понимая всего спектра проблем, которые они решают, так что я слишком сильно привык к Redux.

И вот так получилось, что я подписался на новостную рассылку от Кента Си Доддс (Kent C. Dodds’) и обнаружил несколько email на тему контекста и управлением состоянием. Я начал читать…. и читать… и спустя 5 блог постов что-то щелкнуло.

Чтобы понять все основные концепты стоящие за этим, мы сделаем кнопку, по клику на которую мы будем получить анекдоты с icanhazdadjoke и отображать их. Это небольшой, но достаточный пример.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии8

Всё что вам нужно знать о Node.js

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Everything you need to know about Node.js" автора Jorge Ramón.



В наши дни платформа Node.js является одной из самых популярных платформ для построения эффективных и масштабируемых REST API's. Она так же подходит для построения гибридных мобильных приложений, десктопных программ и даже для IoT.


Я работаю с платформой Node.js более 6 лет и я на самом деле люблю её. Этот пост главным образом пытается быть путеводителем по тому, как Node.js работает на самом деле.

Читать дальше →
Всего голосов 75: ↑71 и ↓4+67
Комментарии18

Полный цикл тестирования React-приложений. Доклад Авто.ру

Время на прочтение13 мин
Количество просмотров25K
Стремление уйти от ручного регрессионого тестирования — хороший повод внедрить автотесты. Вопрос, какие именно? Разработчики интерфейсов Наталья Стусь и Алексей Андросов вспомнили, как их команда прошла несколько итераций и построила тестирование фронтенда в Авто.ру на базе Jest и Puppeteer: юнит-тесты, тесты на отдельные React-компоненты, интеграционные тесты. Самое интересное из этого опыта — изолированное тестирование React-компонентов в браузере без Selenium Grid, Java и прочего.



Алексей:
— Для начала надо немного рассказать, что такое Авто.ру. Это сайт по продаже машинок. Там есть поиск, личный кабинет, автосервисы, запчасти, отзывы, кабинеты дилеров и многое другое. Авто.ру — очень большой проект, очень много кода. Весь код мы пишем в большой монорепе, потому что это все перемешивается. Одни и те же люди делают схожие задачи, например, для мобильных и десктопа. Получается много кода, и монорепа нам жизненно необходима. Вопрос — как ее тестировать?

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

Разбираем Async/Await в JavaScript на примерах

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


Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async/Await, разбирая различные примеры.
Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии3

KISS Architecture. От микросервиса до монолита

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

Андрей Копылов, наш технический директор, рассказывает, какой подход к проектированию архитектуры приложений использует команда веб-разработчиков AREALIDEA, и, чем KISS Architecture, его собственная разработка, так хороша.


Читать дальше →
Всего голосов 32: ↑19 и ↓13+6
Комментарии26

Всё, что нужно для начала работы с Vue.js

Время на прочтение13 мин
Количество просмотров106K
Скорее всего, вы, читая эти строки, уже слышали о JavaScript-фреймворке, который называется Vue. Если вы собирались его опробовать, но не очень хорошо представляли себе то, с чего вам стоит начать, значит — этот материал написан специально для вас. Его автор говорит, что хочет рассказать о том, почему ему очень нравится Vue. Кроме того, он собирается представить всем желающим 4 способа написания первого приложения на Vue.



В конце этого материала, вы найдете ссылки на целый курс по Vue.js.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии31

Unit тестирование в Laravel

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

Я часто слышу среди обсуждений в сообществе мнение, что unit тестирование в Laravel неправильное, сложное, а сами тесты долгие и не дающие никакой пользы. Из-за этого эти тесты мало кто пишет, ограничиваясь лишь feature тестами, а польза unit тестов стремится к 0.
Я тоже так считал когда-то, но, однажды я задумался и спросил себя — может быть я не умею их готовить?


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

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии10

Как мы сломали старую хибару и построили на ее месте небоскреб

Время на прочтение9 мин
Количество просмотров4.5K
Зураб Белый, руководитель группы, практика Java, рассказывает свою историю работы в проекте для одной крупной компании и делится накопленным опытом.

Как я заселился…


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

Расскажу немного о проекте в целом. Это официальный портал одной крупной компании с общей информацией, новостями, акциям и другим контентом. Все маркетинговые рассылки содержат ссылки на те или иные страницы сайта, т. е. нагрузка стабильно средняя, но в отдельные моменты времени может достигать высоких значений. Особое внимание требует стабильность и доступность веб-приложения — каждая минута простоя сервиса ведет к большим убыткам у заказчика.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии5

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

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

Примечание


Michael NielsenПеред вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по программированию, "Выразительный JavaScript". Книга по нейросетям тоже достаточно популярна, на неё активно ссылаются авторы англоязычных статей. Её переводов я не нашёл, за исключением перевода начала первой главы с сокращениями.

Желающие отблагодарить автора книги могут сделать это на её официальной странице, переводом через PayPal или биткоин. Для поддержки переводчика на Хабре есть форма «поддержать автора».


Введение


Этот учебник подробно расскажет вам о таких понятиях, как:

  • Нейросети — прекрасная программная парадигма, созданная под влиянием биологии, и позволяющая компьютеру учиться на основе наблюдений.
  • Глубокое обучение – мощный набор техник обучения нейросетей.

Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии4

Старикам здесь не место? Программируем после тридцати пяти

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



Привет, меня зовут Дмитрий, мне 35 лет. Раньше я часто слышал, что программист — профессия для молодых. Тем не менее прошлым летом я получил приглашение в Яндекс и перебрался работать в Москву.


В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом после 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом? Я не согласен с мнением, что программирование — это удел молодых. Считаю его вредным и сейчас расскажу почему.


Существует несколько доводов, на которые опирается этот миф. Давайте-ка их подробно рассмотрим.

Читать дальше →
Всего голосов 238: ↑222 и ↓16+206
Комментарии657

Введение в Postman

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

image


“Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, Inc

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


В этой статье мы расскажем о Postman и попробуем написать свой первый скрипт.

Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии43

Настоящее реактивное программирование в Svelte 3.0

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

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


Учтите, что это не урок по началу работы со Svelte. Уже существует прекрасное пошаговое интерактивное руководство от команды Svelte, которое погрузит вас в мир реактивного программирования.


Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии212

За что я ненавижу Eloquent ORM

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

image


Всем привет. Хочу перед вами исповедаться и рассказать немного о том, что я чувствую, когда разрабатываю на Laravel. Нет, не подумайте, я обожаю этот фреймворк и безумно благодарен команде, которая его создала и поддерживает, они делают крайне крутое дело и, на мой взгляд, Laravel является лучшим продолжением не менее горячо любимого мною Symfony.


Я обожаю тупой код. Тупой в том смысле, что даже через 10 лет, если заказчик попросит тебя внести изменения в него, ты сможешь сделать это не вникая во всю логику, даже будучи после пятничного корпоратива, ничего в старом коде не сломав. И тупой в том смысле, что не нужно прикладывать никаких когнитивных усилий, чтобы его понять. Но есть в Laravel Eloquent ORM одно архитектурное решение, которое заставляет меня плакать. Интересно? Заходите под кат.

Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии113

Микрофреймворк slim

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

25 апреля 2019 года свет увидела новая мажорная alpha-версия микрофреймворка Slim, а 18 мая она выросла до beta. Предлагаю по этому поводу ознакомиться с новой версией.


Под катом:


  • О новшествах фреймворка
  • Написание простого приложения на Slim-4
  • О дружбе Slim и PhpStorm
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии29

Тесты на Codeception для PHP-бэкендов

Время на прочтение11 мин
Количество просмотров18K
Всем привет! Меня зовут Паша, и я QA инженер команды Order Processing в Lamoda. Недавно я выступал на PHP Badoo Meetup. Сегодня хочу представить расшифровку своего доклада.

Речь пойдет про Codeception, про то, как мы его используем в Lamoda и как на нем пишем тесты.


Всего голосов 29: ↑29 и ↓0+29
Комментарии8

Запуск Bash в деталях

Время на прочтение3 мин
Количество просмотров34K
Если вы нашли эту страницу в поиске, то наверняка пытаетесь решить какую-то проблему с запуском bash.

Возможно, в вашем окружении bash не устанавливается переменная среды и вы не понимаете, почему. Возможно, вы засунули что-то в различные загрузочные файлы bash или в профили, или во все файлы наугад, пока это не сработало.

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

Диаграмма


Эта блок-схема обобщает все процессы при запуске bash.



Теперь подробнее рассмотрим каждую часть.
Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии4

Всё, что вы хотели знать о CLI, CGI, MOD, но стеснялись спросить

Время на прочтение3 мин
Количество просмотров17K
… Я знаю кун-фу, каратэ, таэквондо и еще много страшных слов!
(с) анекдот



Меня начинающие админы последнее время стали часто спрашивать «А чем отличаются пакеты php-cgi, php-cli и mod_php? И почему, например, для Python есть mod_python, но нет python-cgi?»
Сначала было смешно, но потом стало ясно, что сей вопрос хоть раз да возникал у каждого, кто занимается администрированием LAMP(ссылка) и подобных серверов.
Статья написана по мотивам моей беседы с felvis, поэтому заранее извиняюсь за некоторую вольность изложения.
Поехали!
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Гид по докладам PHP Russia 2019

Время на прочтение3 мин
Количество просмотров5.6K
Всем привет! До единственной профессиональной конференции, сфокусированной на PHP, осталось всего несколько дней. В чате конференции в Telegram участники готовятся к митапам, пишут вопросы, уточняют расписание и обсуждают доклады. Именно поэтому мы решили рассказать про доклады подробнее — провести вас по знаменательным местам конференции. Вместо исторических развалин у нас фреймворки, вместо падающих башен — ООП и бизнес-логика, а соборы заменяют линтеры и анализаторы. Подробности под катом.

image
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии0

Информация

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