Pull to refresh
8
0
Андрей Филаткин @anfilat

User

Send message

NodeJS: 12 пакетов для продуктивности разработчика

Reading time6 min
Views7.2K


Менеджер процессов для продакшна с балансировщиком нагрузки. Обёртки над отладкой и хуками Git, защита express-приложений через HTTP-заголовки, утилита в более чем 180 функциями для работы с датами и другие инструменты, которые сэкономят ваше время. Подборка особенно полезна начинающим разработчикам NodeJS, но может порадовать опытных скептиков.
Добро пожаловать под кат!
Total votes 22: ↑14 and ↓8+10
Comments11

Элегантная обработка ошибок в JavaScript с помощью монады Either

Reading time18 min
Views22K
Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобраться со всеми исключениями в разделе catch. Неплохой вариант. Это позволяет сосредоточиться на текущей задаче, не думая о каждой возможной ошибке. Определённо лучше, чем засорять код бесконечными if.

Без try...catch трудно проверять результаты каждого вызова функции для неожиданных значений. Это полезная конструкция. Но у неё есть определённые проблемы. И это не единственный способ обрабатывать ошибки. В статье мы рассмотрим использование монады Either в качестве альтернативы try...catch.

Прежде чем продолжить, отмечу пару моментов. Статья предполагает, что вы уже знаете о композиции функций и каррировании. И предупреждение. Если вы раньше не сталкивались с монадами, они могут показаться действительно… странными. Работа с такими инструментами требует изменить мышление. Поначалу это бывает тяжело.

Не волнуйтесь, если сразу запутались. У всех так. В конце статьи я перечислил несколько ссылок, которые могут помочь. Не сдавайтесь. Эти штуки опьяняют, как только проникают в мозг.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments12

Оптимизация node.js приложения

Reading time5 min
Views16K
Дано: старое http node.js приложение и возросшая нагрузка на него.

Стандартные решения проблемы: докинуть серверов, все переписать с 0, оптимизировать уже написанное.

Давайте попробуем пойти путем оптимизации и разобраться, как можно найти и улучшить слабые места приложения. А быть может ускориться не трогая ни строчки кода :)

Всех заинтересованных добро пожаловать под кат!
Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments11

Собеседуем работодателя или как не уволиться в первый месяц

Reading time2 min
Views74K
Первый рабочий день и… о боже, что я тут делаю?! Нет, ну серьезно кто вообще так пишет код?
Дружный коллектив? Мои коллеги вообще заметили, что я вышел на работу?

Древний SVN, шумный опен спейс и «типа SCRUM», и это лишь малая часть из тех «приятных» сюрпризов, которые вас могут поджидать в первый рабочий день.
Знакомая ситуация?
Читать дальше →
Total votes 155: ↑134 and ↓21+113
Comments176

Mkcert: валидные HTTPS-сертификаты для localhost

Reading time2 min
Views87K

В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

Традиционно есть два решения.
Читать дальше →
Total votes 65: ↑54 and ↓11+43
Comments35

Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей

Reading time7 min
Views67K

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



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


Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments40

Использование инспектора анимации в инструментах разработчика Chrome

Reading time5 min
Views8.1K
В следующий раз, когда вы создадите очередные анимации на основе CSS3, вам может быть полезно перейти в инструменты разработчика Chrome и воспользоваться преимуществами функций проверки и настройки анимации. В этой краткой статье мы расскажем вам о том, какие инструменты анимационной разработки доступны в Chrome, как получить к ним доступ и чем они могут вам помочь.

Если вы хотите протестировать ваши CSS3 анимации с помощью этих инструментов то можете воспользоваться готовым кодом из нашего курса: 10 Проектов CSS3: интерфейс и макет.


Вот полная версия страницы.
Total votes 6: ↑5 and ↓1+4
Comments1

Как учить английский бесплатно: 3 банальных инструмента и подробная инструкция для каждого

Reading time9 min
Views53K
Изучение английского языка уже давно превратилось в бизнес. Скорость учебы измеряется в деньгах, и многие репетиторы утверждают, что учить английский самостоятельно даже вредно — придется переучиваться.

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

Главное требование для самостоятельных занятий — систематичность. Если вы часто чувствуете желание полениться или отложить занятия на потом, лучше потратиться и нанять репетитора или пойти в языковую школу на групповые занятия.
В этой статье мы собрали топ-3 самых эффективных способов, с помощью которых можно изучать английский совершенно бесплатно. Вы точно знаете их и, возможно, используете их сами, но мы разработали подробные инструкции, как этими методами пользоваться для наибольшего позитивного эффекта. Поехали.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments26

22 совета Angular-разработчику. Часть 1

Reading time10 min
Views29K
Автор статьи, первую часть перевода которой мы публикуем, говорит, что он уже около двух лет работает над крупномасштабным Angular-приложением в Trade Me. В течение последних нескольких лет команда разработчиков приложения постоянно занимается совершенствованием проекта — как в плане качества кода, так и в том, что касается производительности.


В этой серии материалов речь пойдёт о подходах к разработке, используемые командой Trade Me, которые выражены в виде более чем двух десятков рекомендаций, касающихся таких технологий, как Angular, TypeScript, RxJS и @ngrx/store. Кроме того, определённое внимание здесь будет уделено универсальным техникам программирования, которые направлены на то, чтобы сделать код приложений чище и аккуратнее.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments23

Простое создание git репозитория на OneDrive

Reading time4 min
Views6.8K
Всем привет. Решил написать шпаргалку себе на будущее в большей степени, но может она пригодиться еще кому-нибудь.

Наверняка специалисты по git все и так прекрасно знают, но ведь на Хабре ищут решений своих вопросов и много нубов начинающих, как я сам, кто больше читатель, а не писатель.
Читать дальше →
Total votes 24: ↑7 and ↓17-10
Comments32

Найм программистов. Советы от программиста

Reading time2 min
Views38K
image

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

Мои впечатления? Я в печали... Почти все материалы, на мой взгляд, напоминают «вредные советы».
Читать дальше →
Total votes 52: ↑42 and ↓10+32
Comments225

Работа с формами в React.js, используя базовый инструментарий

Reading time6 min
Views38K

Введение


За время работы на React.js мне часто приходилось сталкиваться с обработкой форм. Через мои руки прошли Redux-Form, React-Redux-Form, но ни одна из библиотек не удовлетворила меня в полной мере. Мне не нравилось, что состояние формы хранится в reducer, а каждое событие проходит через action creator. Также, согласно мнению Дана Абрамова, «состояние формы по своей сути является эфемерным и локальным, поэтому отслеживать его в Redux (или любой библиотеке Flux) не нужно».


Замечу, что в React-Redux-Form есть компонент LocalForm, который позволяет работать без redux, но на мой взгляд, пропадает смысл устанавливать библиотеку размером 21,9kB и использовать её менее чем на половину.


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


Я начал использовать локальный state компонента, при этом возникли новые трудности: увеличилось количество кода, компоненты потеряли читаемость, появилось много дублирования.

Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments12

Разработка веб-приложения на Rust

Reading time11 min
Views34K
Автор материала, перевод которого мы сегодня публикуем, говорит, что его самым свежим экспериментом в области архитектуры программных проектов стало создание рабочего веб-приложения с использованием исключительно языка Rust и с минимально возможным применением шаблонного кода. В этом материале он хочет поделиться с читателями тем, что он выяснил, разрабатывая приложение и отвечая на вопрос о том, готов ли уже Rust к применению его в различных сферах веб-разработки.


Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments12

Как освоить иностранный язык без преподавателя. Часть 2. «Пошаговая стратегия»

Reading time12 min
Views69K

Languages are not taught, they are learnt!


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


Примечание: Материалы статьи опираются на исследования Е.Д. Авериной, Д.Б. Никуличевой, Э.В. Гуннемарка и П.Нейшна, пропущенные через призму моего восприятия и опыт изучения 3 иностранных языков.

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments65

Трассировка и Javascript

Reading time8 min
Views12K


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

Если что-нибудь выше звучит интересно, или как минимум знакомо — добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments0

Разработка нативных расширений для Node.js

Reading time5 min
Views23K
В этом материале мы поговорим о важнейших концепциях разработки нативных расширений для Node.js. В частности, здесь будет рассмотрен практический пример создания такого расширения, который вполне может стать вашим первым проектом в этой области.


Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

Фреймворк для бессерверных приложений в AWS

Reading time10 min
Views6K
Мы решили создать небольшой фреймворк для бессерверных веб-приложений в AWS. Может более правильно назвать это не фреймворком, а заготовкой, — я не знаю. Но суть в том, чтобы создать основу для быстрой разработки бессерверных приложений в AWS. Код выложен на GitHub и открыт для любых усовершенствований, коих предстоит немало.


В статье речь пойдет о том, как разрабатывать и тестировать бессерверные приложения локально, о роутинге на фронтенде и бекенде, о сервисах Amazon и тому подобных вещах. Кому интересно, добро пожаловать под кат!
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments9

От JavaScript к Rust и обратно: рассказ о wasm-bindgen

Reading time10 min
Views11K

Мы уже видели насколько WebAssembly быстро компилируется, ускоряет js библиотеки и генерирует более компактные бинарники. У нас даже есть общее представление как наладить взаимодействие не только между сообществами Rust и JavaScript, но и с сообществами других языков. В прошлой статье мы упоминали специальный инструмент wasm-bindgen и сейчас я бы хотел остановиться на нем более подробно.

Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments5

Vibe.js — попытка сделать state management без боли

Reading time4 min
Views11K

Всем йо, хабражители.


В общем, так вышло, что я пишу на JavaScript уже довольно долго, и одной из самых главных задач всегда была организация состояния приложения.
TL; DR;
Нет ничего привычнее на свете,
Чем писать колесо на велосипеда


Что-то хочется кешировать, что-то обновлять, причем обновлять везде, а не только в локальном компоненте, не хочется перерисовывать весь компонент если поменялся весь Store (shout out to Vuex), а хочется подписываться на то, что используешь (shout out to MobX).

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments32

Как работает mobx изнутри и сравнение его с redux

Reading time13 min
Views32K


Читая чат русскоязычного react сообщества в телеграмме (https://t.me/react_js), я вижу как с постоянной регулярностью появляются обсуждения mobx-а, сравнения с redux-ом с аргументациями про магию, сложность и "мутабельность" и у многих есть большое недопонимание что такое mobx и какие задачи он решает. И я решил написать эту статью с "разбором полетов" чтобы можно было собрать всю аргументацию в одном посте. Мы разберем как работает mobx изнутри путем реализации собственной версии mobx-а и сравним с тем как работает redux.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments42
1
23 ...

Information

Rating
Does not participate
Location
Саранск, Мордовия, Россия
Date of birth
Registered
Activity