Как стать автором
Обновить
1
0
Дмитрий @DiMoNTD

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

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

Образы и контейнеры Docker в картинках

Время на прочтение6 мин
Количество просмотров189K
docker container

Перевод поста Visualizing Docker Containers and Images, от новичка к новичкам, автор на простых примерах объясняет базовые сущности и процессы в использовании docker.

Если вы не знаете, что такое Docker или не понимаете, как он соотносится с виртуальными машинами или с инструментами configuration management, то этот пост может показаться немного сложным.

Пост предназначен для тех, кто пытается освоить docker cli, понять, чем отличается контейнер и образ. В частности, будет объяснена разница между просто контейнером и запущенным контейнером.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии6

Как работает Android, часть 2

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


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

Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии34

4 вида утечек памяти в JavaScript и как с ними бороться

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

В этой статье мы рассмотрим распространённые виды утечек памяти в клиентском JavaScript. Также мы узнаем, как их обнаружить с помощью Chrome Development Tools.


timeline в Chrome Dev Tools

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

Интернационализация приложения в React (и не только)

Время на прочтение4 мин
Количество просмотров39K
Недавно я уже писал статью о том, как можно достаточно удобно валидировать формы в React с помощью компонента Formsy-React. Сегодня я бы хотел рассказать о подходе, который использовал для интернационализации разрабатываемого приложения. Как бонус, используемая библиотека добавляет возможность плюрализации, что является весьма полезной фишкой при разработке многоязычного приложения. Если интересно, прошу под кат!
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии36

Текстовый туториал по React.js и Redux на русском

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

(у учебника по Основам React вышло второе издание, Redux-учебник в процессе обновления)

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


Курс про Redux попал в официальную документацию.


Оба руководства бесплатны и выложены на gitbook (можно скачать PDF, ePub, mobi).


В текстах нарочно участвуют термины переведенные на русский (например, состояние), английские (state), либо английский термин написанный по-русски — стейт. Считаю это допустимым, и даже более того, удобным для читателя.

Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии22

Async/Await в javascript. Взгляд со стороны

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


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

Первое что хочется развеять, это распространенное заблуждение о том, что async/await — это фича ES7.

По моему мнению, использование терминов ES6 и ES7 само по себе не очень верное и может ввести разработчиков в заблуждение. После удачного релиза спецификации ES2015, называемой ES6, у многих людей сложилось ошибочное мнение, что все в нее не вошло и заполифилено через babel — это фичи ES7. Это не так. Вот список того что появится с релизом спецификации ES2016. Как видите он не такой большой и async/await в нем никак не значится.

Я хочу, чтобы мы говорили правильно. И говоря о той, или иной фиче, ссылались на конкретную спецификацию в рамках которой она описана и реализована, а не мифические ES6, ES7 … ESN.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии53

Архитектура приложений — горячие точки

Время на прочтение9 мин
Количество просмотров26K
Как часть нашего проекта, мы свели вместе информацию об общих подходах к разработке архитектуры приложений.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии31

Улучшаем код JavaScript на примере StarWars API

Время на прочтение6 мин
Количество просмотров15K
image

Привет, меня зовут Рэймонд, и я пишу плохой код. Ну, не совсем плохой, но я точно не следую всем «лучшим практикам». Однако давайте я расскажу вам, как один проект помог мне начать писать код, которым я могу гордиться.

Как-то в выходной я решил отказаться от использования компьютера. Но ничего не вышло. Я наткнулся на Star Wars API. Этот простой интерфейс основан на REST, и с его помощью можно запрашивать информацию о персонажах, фильмах, космических кораблях и других вещах из вселенной SW. Поиска нет, но сервис свободный.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии4

Размышления о стандартной библиотеке JavaScript. Core.js

Время на прочтение64 мин
Количество просмотров104K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

JavaScript это, в том числе, и стандартная библиотека, о которой здесь и пойдёт речь. Под стандартной библиотекой я подразумеваю модули, конструкторы, методы, что должны присутствовать на любой платформе, будь то браузер или сервер, без лишних действий со стороны программиста, не включая API, специфичный для платформы. Даже если вы пишите не на JavaScript, а на языке в него компилируемом, скорее всего, вам придется иметь дело с его стандартной библиотекой.

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Всего голосов 87: ↑82 и ↓5+77
Комментарии40

Обзор сервисов отсылки мобильных push-уведомлений

Время на прочтение4 мин
Количество просмотров45K
Недавно заметил за собой, что получать уведомления из разных программ на email для меня стало неудобным. Уже давно устоялся термин “email overload” и компании вроде Google с этим стараются работать (вводят папки, фильтры, а теперь и вкладки в Gmail).

Мне понравилась концепция центра уведомлений, которая успешно показала себя на ОС Android, появилась в iOS6 и запланирована к выпуску в Windows Phone. Это одна лента уведомлений для всех сервисов, удобный просмотр, работа с уведомлениями, простая очистка списка. На своем опыте убедился, что это в разы удобнее, чем привычные email уведомления, которые превращают inbox в кашу.

Поскольку наша команда работает одновременно над несколькими проектами (где-то летят “билды”, где-то пушатся изменения и так далее), мне показалась интересной идея подключить свои проекты к такому варианту уведомлений о событиях, происходящих в системе. В идеале я хотел иметь возможность рассылать уведомления разным членам команды, а при необходимости и на всю команду целиком. Только мне хотелось получать их именно от ПО, с которым я работаю — начиная от инструментов Continuous Integration и автоматического тестирования, и заканчивая непосредственно логами ошибок, статистикой и критикалами из проектов.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии7

О том, как пресекать накрутки показателей

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

Здравствуй.

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

Для начала стоит определиться: что считать накрутками и с помощью чего эти накрутки происходят. Что можно накручивать? Рейтинг чего угодно — статей, людей, другого контента и посещаемость (имеет смысл это пресекать, если от посещаемости зависят какие-то важные параметры).
Читать дальше →
Всего голосов 1: ↑0 и ↓1-1
Комментарии19

Работа с COM портом в web-проекте

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

Пролог


Один из клиентов нашего web-проекта захотел использовать для поиска заказов в системе сканер штрихкодов. Но, к сожалению, полностью отказался от идеи работы с ними в режиме имитации клавиатуры — только эмуляция COM-порта.
Вариантов решения было не особенно много:
  • отдельное нативное приложение, которое бы отправляло запрос на наш сервер, а сервер бы отдавал команду в браузер
  • работа с COM портом непосредственно из браузера

К счастью, есть способ решения проблемы вторым путём.

Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии31

Несколько интересностей и полезностей для веб-разработчика #30

Время на прочтение6 мин
Количество просмотров51K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Cloudtunes



Cloudtunes один из тех проектов, глядя на которые я не понимаю мотивации разработчиков выкладывать такие наработки в открытый доступ. Не сочтите меня за сугубо меркантильную личность, но данный проект — это грубо говоря клон iTunes в облаке и это просто великолепный сервис. Cloudtunes обеспечивает единый интерфейс для вашей медиатеки, синхронизируя данные между Dropbox, Youtube, Lastfm и тд. Серверная часть написана на Python (Tornado, Celery, Mongo DB, MongoEngine, Redis), а клиентская на CoffeeScript (Backbone.js, SocketIO, Handlebars, Compass, SoundManager).

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

Выразительный JavaScript: Структура программ

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

Содержание




Сердце моё сияет ярко-красным светом под моей тонкой, прозрачной кожей, и им приходится вколоть мне десять кубиков JavaScript, чтобы вернуть меня к жизни (я хорошо реагирую на токсины в крови). От этой фигни у вас враз жабры побледнеют!

_why, Why's (Poignant) Guide to Ruby


В этой главе мы начнём заниматься тем, что уже можно назвать программированием. Мы расширим использование языка JavaScript за пределы существительных и фрагментов предложений к более-менее осмысленной прозе.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии20

Всё, что вы хотели знать об областях видимости в JavaScript (но боялись спросить)

Время на прочтение8 мин
Количество просмотров82K
У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →
Всего голосов 57: ↑47 и ↓10+37
Комментарии38

30 полезных сервисов для веб-разработчиков и дизайнеров v2

Время на прочтение3 мин
Количество просмотров86K
Предыстория: я веду свой паблик ВК о веб-разработке, в связи с чем я каждый день имею дело с большим количеством материалов о веб-разработке. Однажды (3 месяца назад) мне пришла в голову идея опубликовать на хабре подборку «30 полезных сервисов для веб-разработчика». Тот пост набрал почти 100 000 просмотров, и мне приятно, что он оказался полезен сообществу. С тех пор у меня поднакопилось больше 30 новых сервисов, которые будут полезны как разработчикам, так и дизайнерам. Лучшие из них я собрал в этом посте. Осторожно, под катом много картинок!
Читать дальше →
Всего голосов 67: ↑63 и ↓4+59
Комментарии19

10 самых распространённых ошибок при программировании на JavaScript

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


Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.

На первый взгляд, этот язык может показаться довольно простым. Встраивание в веб-страницу базового функционала JavaScript — это не проблема для любого опытного разработчика, даже если он ранее не сталкивался с этим языком. Однако это обманчивое впечатление, поскольку JavaScript гораздо сложнее, мощнее и чувствительнее к нюансам, чем кажется поначалу. Немало тонкостей в этом языке приводит к большому количеству распространённых ошибок. Сегодня мы рассмотрим некоторые из них. На эти ошибки нужно обратить особое внимание, если вы хотите отлично программировать на JavaScript.
Читать дальше →
Всего голосов 205: ↑176 и ↓29+147
Комментарии127

HTML-импорт — include для веба: часть 1

Время на прочтение6 мин
Количество просмотров95K
Перевод статьи «HTML Imports #include for the web», Eric Bidelman.

От переводчика

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

Для чего нужен HTML-импорт?


Давайте поговорим о том, как мы загружаем различные ресурсы. JavaScript мы загружаем при помощи
<script src>
. Для CSS у нас есть
<link rel="stylesheet">
. Для изображений
<img>
. Для видео есть
<video>
. Для аудио —
<audio>
… Давайте ближе к сути! Для большинства видов контента есть простые способы его подгрузки. Но не для HTML. Для HTML у нас есть следующие варианты:
  1. <iframe>
    — испробованный и рабочий, но тяжеловесный способ. Контент iframe'а живет в отдельном от главной страницы контексте. Хоть это и хорошая особенность, она также создает дополнительные трудности: подгонка размера айфрейма к его содержимому, работа с внутренними скриптами и стилями.
  2. AJAX — мне нравится
    xhr.responseType="document"
    , но загрузка HTML при помощи JS выглядит как-то неправильно.
  3. КривыеКостылиTM — html код в виде JS строк или комментариев, например
    <script type="text/html">
    .

HTML код, это самый простой тип контента, но в этом плане, он требует наибольших усилий. Хорошо, что у нас есть Web Components, они помогут нам справиться с этой и другими проблемами.
Читать дальше →
Всего голосов 38: ↑28 и ↓10+18
Комментарии26

Как инвестировать в стартапы: теория пестиков и тычинок

Время на прочтение8 мин
Количество просмотров44K
Мир, в котором мы живем, определенно помешался на стартапах. И есть от чего – воображение предпринимателей и потенциальных вкладчиков будоражат истории головокружительного успеха небольших IT-компаний, в один, казалось бы, миг шагнувших из прозябания в коворкинге с парой сотрудников в штате, в бизнес-элиту с многомиллионным финансированием.



Масла в огонь подливают Apple и Google. Эти просто скупают таланты на корню, на инвестиции не размениваясь. Первая недавно отчиталась о 29 приобретенных компаниях, ее главный конкурент число скупленных активов не раскрыл, но потраченную за полгода на покупки сумму назвал – $4.2 миллиарда.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии31

Собеседование на должность JavaScript разработчика

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


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Всего голосов 126: ↑115 и ↓11+104
Комментарии313

Информация

В рейтинге
Не участвует
Откуда
Кишинев, Молдова, Молдова
Дата рождения
Зарегистрирован
Активность