Pull to refresh
39
0
Николай Костюрин @JiLiZART

JS Dev. Ex JS Dev in Muse Group (Musescore)

Send message

Управляем состоянием в Angular при помощи Mobx

Reading time 4 min
Views 15K

State Managment


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


В мире Angular есть несколько решений, которые могут сделать управление состоянием менее сложным, болезненным и хрупким.


Два наиболее популярных решения это ngrx/store, вдохновленной по большей части Redux, и Observable сервисы данных.


Лично мне очень нравится Redux, и он стоит каждой строчки бойлерплейт кода. Но, к сожалению, некоторе со мной могут не согласиться или Redux не особо применим в их приложениях.


Поэтому я решил поведать вам, как может пригодится Mobx, в решении проблемы управления состоянием. Идея заключается в том, чтобы объединить два мира, Redux и Mobx.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 3

Что нового нас ждет в Swift 4?

Reading time 9 min
Views 20K
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 9

Композиция протоколов для инъекции зависимостей

Reading time 3 min
Views 7.8K

Мне нравится использовать композицию и инъекцию зависимостей, но когда каждая сущность начинает инъектится несколькими зависимости, получается некое нагромождение.


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


Но есть более управляемый способ.


Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 9

Все рушится

Reading time 5 min
Views 31K
Давайте постараемся вместе уменьшить фрагментацию в мире JavaScript. Недавно, после анонса Yarn (пакетный менеджер для node.js от facebook прим. пер.), некоторые в JavaScript сообществе раскритиковали Facebook и проект в целом.

Существует тенденция для компаний или индивидумов форкать или пересоздавать OSS проекты, вместо работы над существующими в сообществе. Это случается по многим причинам, но это случается чаще чем нужно. Это объясняет, почему появился Yarn.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 76

Mobx — управление состоянием вашего приложения

Reading time 8 min
Views 130K

MobX это простое, опробованное в бою решение для управления состоянием вашего приложения. Этот туториал научит вас основным концептам MobX. MobX это автономная библиотека, но большинство используют ее в связке с React и этот туториал будет сфокусирован на этой комбинации.


Основная идея


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


MobX позволяет сделать управление состоянием вновь простым, вернувшись к корню проблемы: он делает невозможным инконсистентность состояния. Стратегия достижения этого довольно проста: убедится что, все что может быть вынуто из состояния, будет вынуто. Автоматически.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 40

Изоморфное Приложение с React и Redux

Reading time 15 min
Views 99K
Итак, я знаю что ты любишь Todo списки, то есть, что тебе очень нравится писать Todo списки, поэтому мне хочется, чтобы ты создал один из них, используя новый, восхитительный и питательный («nutritious» прим. пер.) Flux фреймворк, Redux! Я желаю тебе только лучшего.

В этой статье ты научишься как сконструировать свое собственное Redux приложение, не ограничиваясь, но так же включая.

  • Цельнозерновой рендеринг на сервере
  • Расширенный роутинг, богатый Omega-3
  • Маслянистая асинхронная загрузка данных
  • Гладкое функциональное послевкусие


Если это похоже на то, чего ты хочешь в этой жизни, вперед под кат, если нет, то не заморачивайся.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Comments 12

Настоящее модульное тестирование в AngularJS

Reading time 12 min
Views 42K
AngularJS молод и горяч, когда дело доходит до современной веб разработки. Его уникальный подход к компиляции HTML и двусторонней привязки данных делает его эффективным инструментом для создания клиентских веб приложений. Когда я узнал что Quick Left (студия в которой работает автор. прим. пер.) будет использовать его для создания приложения для одного из наших клиентов, я был взволнован и постарался узнать о angular столько сколько мог. Я обошел весь интернет, каждый урок и руководство, которые смог найти в Google. Они были реально полезны в понимании работы директив, шаблонов, компиляции и цикла обработки событий (digest), но когда дело дошло до тестирования, я обнаружил что эта тема была просто упущена.

Я обучался подходу TDD (Разработка через тестирование) и я чувствую себя не в своей тарелке без подхода «Красный-Зеленый-Рефакторинг». Так как мы все еще разбирались что к чему в тестировании в Angular, команде иногда приходилось полагаться на подход «тестирование-после». Это начало нервировать меня, поэтому я решил сосредоточится на тестировании. Я потратил на это недели, и в скором времени покрытие тестами поднялось с 40% до 86% (Кстати, если вы еще этого не делали, можете попробовать Istabul для проверки покрытия кода в вашем JS приложении).

Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 1

Ansible и Docker, почему и зачем?

Reading time 5 min
Views 76K
Достаточно много интереса проявляется среди технического сообщества к Docker и Ansible, я надеюсь, что после прочтения данной статьи, вы тоже разделите этот интерес. Вы так же получите навыки практического применения Ansible и Docker в настройке сервера и окружения для Rails приложения.

«Почему бы просто не взять и использовать Heroku?», спросите вы.
Прежде всего, я могу запустить Docker и Ansible на любой машине, с любым хостинг провайдером. Во вторых, я предпочитаю гибкость, удобству. Я могу, таким же образом, запускать все что угодно, не только web приложения. Ну и напоследок, потому что я эксперементатор в душе, я получаю удовольствие от понимания того как оно все вместе работает. Фундаментальная основа Heroku это Linux контейнер. Та же технология лежит и в основе Docker'a. На самом деле, одним из девизов Docker'a является «Контейнеризация это новая виртуализация»
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 25

Вышел Laravel 4

Reading time 2 min
Views 14K
Состоялся долгожданный релиз четвертой версии замечательного фреймворка.
Также обновился официальный сайт.

Быстрая установка


Для установки Laravel, скачать копию репозитория с Github.
Далее, после установки Composer, запускаем composer install команду в корневой папке. Composer скачает и установит все зависимости.
Читать дальше →
Total votes 41: ↑32 and ↓9 +23
Comments 23

MVC умер, пришло время MOVE

Reading time 3 min
Views 76K
MVC феноменальная идея. У вас есть модели, самостоятельные кусочки состояний, представления которые самостоятельные кусочки UI, и контроллеры которые самостоятельные кусочки… эм?

Что?


Я конечно не первый кто это замечает, но проблема с MVC в том что в контроллеры пихают слишком много кода.

Чтобы исправить это, я использую новый паттерн: MOVE. Models, Operations, Views и Events.
Читать дальше →
Total votes 107: ↑71 and ↓36 +35
Comments 120

Laravel — PHP Framework для ремесленников

Reading time 2 min
Views 108K
Laravel PHP Framework
Laravel — это чистая и стильная основа для разработки. Он избавит вас от спагетти кода. Поможет вам создавать прекрасные веб-приложения используя простой и выразительный синтаксис. Разработка должна доставлять удовольствие. Наслаждайтесь глотком свежего воздуха.
Читать дальше →
Total votes 38: ↑29 and ↓9 +20
Comments 68

Kartograph — фреймворк для создания интерактивных карт

Reading time 1 min
Views 19K
Kartograph — это новый фреймворк для создания интерактивных картографических веб приложений без использования Google Maps/Bing Maps или любого другого сервиса. Он создавался с учетом потребностей дизайнеров и журналистов.

Можно поглядеть на демки, чтобы узнать на что способен Kartograph.
или узнать как это все работает.
Total votes 67: ↑66 and ↓1 +65
Comments 16

Шрифт использующий точки вместо букв

Reading time 1 min
Views 5.4K
Dotsies

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

Если верить сайту то за 20 минут можно освоить чтение данного шрифта.
Total votes 64: ↑47 and ↓17 +30
Comments 35

JSZip Создаем .zip файлы

Reading time 3 min
Views 23K
Очень хороший и простой способ отдать клиенту несколько файлов в zip архиве. Не нагружая и без того нагруженный сервер.
var zip = new JSZip();
zip.add("Hello.txt", "Hello World\n");
img = zip.folder("images");
img.add("smile.gif", imgData, {base64: true});
content = zip.generate();
location.href="data:application/zip;base64,"+content;

Итак давайте разберем, что тут происходит.
Создается экземпляр нашего zip архива, класс JSZip,.
Далее мы можем добавлять в него любые данные, допустим Hello.txt, также можно добавить папку images.
Далее положить в нее smile.gif, все это завернуть, и отдать вам как zip фаил.
Узнать вкусные подробности
Total votes 66: ↑60 and ↓6 +54
Comments 34

Kerning.js

Reading time 1 min
Views 2.7K
Свершилось, теперь чудеса типографики стали доступны и нам простым смертным.

Как использовать


Да легко, просто подключаем и используем.
<script src="kerning.js"></script>

Больше ничего не нужно, остальное она сделает сама.

Узнать о самых крутых вкусностях
Total votes 115: ↑106 and ↓9 +97
Comments 88

Скоро все сервисы Google будут доступны через IPv6

Reading time 2 min
Views 3.3K
Еще в январе, мы присоединились к Интернет Обществу и нескольким ведущим интернет-компаниям, чтобы объявить о Всемирном дне IPv6. Объявление станет призывом для принятия нового интернет-протокола. Менее чем через шесть месяцев, мы выросли до 400 организаций. Мы считаем, что IPv6 является единственным долгосрочным решением проблемы адресного истощения IPv4, и его развертывание имеет решающее значение для дальнейшего роста открытого интернета.

Начиная с этого момента, на протяжении 24 часов, в полночь 8 июня (вторник днем ​​в США, в среду утром в Азии), все участники общества включат поддержку IPv6 на своих сайтах. Для нас это будет означать практически все наши сервисы, включая Поиск, Gmail, YouTube и многое другое.
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 40

У сокращалки ссылок от Google появился полноценный API

Reading time 1 min
Views 8.5K
В сентябре, когда мы запустили сервис сокращения ссылок, для него ещё не было сопутствующего API, чтобы позволить людям интегрировать goo.gl в свои приложения и веб странички. Однако, как мы говорили, что работаем над этим, и сегодня рады вам сообщить, что запустили полноценный goo.gl API доступный в Google Code Labs. Документация расположена на сайте Google Code, с примерами кода в секции Getting Started.

С этим API, разработчики могут программно получить доступ ко всем быстрым, гладким вкусняшкам, которые доступны через веб интерфейс. Вы можете сокращать и разворачивать URLы используя API, а также получать историю и аналитику. Вы сможете использовать эти возможности для широкого спектра приложений, начиная от автоматического сокращения ссылок в Twitter или Google Buzz клиентов запуская процесс мониторинга статистики и данные трафика. Для начала вы можете ознакомится с консолью Google API.

Мы очень рады возможности предоставить вам наш API для доступа к одному из самых быстрых сервисов сокращения ссылок. Мы продолжаем работать над некоторыми улучшениями юзабилити и возможностью автоматического определения спама или вредоносного контента. Мы надеемся, что с новым API, вы найдете место для goo.gl в своей будущей деятельности. Если вы являетесь разработчиком, ознакомьтесь с документацией по goo.gl API и посмотрите как это все работает.
Читать дальше →
Total votes 60: ↑53 and ↓7 +46
Comments 13

парсим сайты легко и непринуждённо вместе с phpQuery

Reading time 3 min
Views 111K
Привет хабр, думаю у некоторых из вас возникала потребность стянуть что нибудь нужное с какова нибудь сайта. Но писать тонны функций, чтобы вытащить фразу, это очень муторно, долго и не продуктивно.
Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
Автор постарался на славу и портировал почти всё что нам нужно.
  • Selectors
  • Attributes
  • Traversing
  • Manipulation
  • Ajax
  • Events
  • Utilities
  • Plugin ports

Давайте посмотрим что она умеет.
Поехали
Total votes 42: ↑38 and ↓4 +34
Comments 35

Information

Rating
Does not participate
Location
Гурьевск (Калининградская обл.), Калининградская обл., Россия
Date of birth
Registered
Activity