Обновить
10
0
Павел@Unixspv

Frontend Developer

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

ES6 и за его пределами. Глава 1: ES? Настоящее и Будущее

Время на прочтение5 мин
Охват и читатели35K


Хочу уделить внимание книге, которую написал Kyle Simpson — «ES6 и за его пределами» (англ. «ES6 & Beyond»). Конечно, вклад внес не только он, а множество замечательных контрибьюторов. Благодарности.
На данный момент имеет статус — завершенный черновик.

Оглавление:
  • Глава 1: ES? Настоящее & Будущее
  • Глава 2: Синтаксис
  • Глава 3: Организация
  • Глава 4: Асинхронное управление потоком
  • Глава 5: Коллекции
  • Глава 6: API Дополнения
  • Глава 7: Мета программирование
  • Глава 8: За пределами ES6

Перед тем как начать читать эту книгу, я полагаю, что вы уже обладаете твердым знанием JavaScript вплоть до самого популярного стандарта (на момент написание этой книги), который обычно называют ES5 (технически это ES5.1). Здесь мы будем говорить о предстоящем стандарте ES6 и попытаемся понять дальнейшее развитие JS.
Читать дальше →

ES6 в деталях: введение

Время на прочтение3 мин
Охват и читатели119K
ES6 в деталях
Добро пожаловать в серию «ES6 в деталях»! В этой еженедельной серии статей мы будем изучать ECMAScript 6 — новую готовящуюся к выходу спецификацию языка JavaScript. ES6 имеет множество новых возможностей, которые делают JS мощнее и выразительнее, и каждую неделю мы будем рассматривать эти возможности. Но прежде чем мы приступим, неплохо бы поговорить о том, чем является ES6 и что от него ожидать.
Читать дальше →

Кубикостроение — продолжение

Время на прочтение2 мин
Охват и читатели7.3K
В прошлой публикации мы рассказали о том, как один из наших покупателей спроектировал и повторил необходимые ему детали детского конструктора на 3D принтере.

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

Поэтому мы стали думать над модификацией кубика. Было проведено много экспериментов и напечатано много образцов, пока удалось добиться при схожих размерах необходимой прочности и полностью исключить печать поддержек. У нас, по сути, появился совсем новый продукт – модель кубика, адаптированная под печать в домашних условиях на обычном 3D принтере.


Читать дальше →

10 основных ошибок при разработке на Node.js

Время на прочтение9 мин
Охват и читатели72K


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

Но, как и любая платформа, Node.js не застрахован от ошибок самих разработчиков. В одних случаях падает производительность, в других — система становится практически непригодной к использованию. И в этом посте я хотел бы рассмотреть 10 наиболее частых ошибок, которые делают разработчики с недостаточным опытом работы с Node.js.
Читать дальше →

Конструктор из кубиков. Сделать дешевле чем купить

Время на прочтение2 мин
Охват и читатели19K
С тех пор, как мы разработали и начали продавать наборы для сборки 3D принтеров, к нам стали приходить письма (как на ТВ «к нам в редакцию») с откликами и пожеланиями о работе устройства, но, самое главное, стали приходить и некоторые работы, которыми обладатели принтеров решили с нами поделиться. Ну, а мы решили поделиться ими с вами.

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

Цитата:

«Здравствуйте МастерКит, нам знакомые из Москвы привезли детский конструктор Артек Блокс.


Читать дальше →

Путешествие на остров Пасхи. Экспедиция «Сибирь — Полинезия»

Время на прочтение5 мин
Охват и читатели13K
Вот и закончилось наше путешествие на загадочный остров Пасхи. Трудно уместить в одну статью все яркие впечатления: были и бюрократические преграды, и диковинные фрукты, и киты, и акулы. Но давайте все по порядку.

Подготовка и сборка катамарана – середина Ноября


Началось все с короткого телефонного разговора с моим другом Димой Трубициным.
Дима: — “Привет, а поплыли через Тихий океан, примерно через 3 месяца?!”
Я: — “Океан?? Да поплыли!!! Давай вечерком встретимся, обсудим...”


Читать дальше →

Еще одна статья про индексацию ajax-сайтов поисковиками

Время на прочтение4 мин
Охват и читатели43K
image

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

API для интернационализации JavaScript: реализация в Firefox

Время на прочтение11 мин
Охват и читатели12K

Что такое интернационализация?


Интернационализация (internationalization, а для краткости — i18n, то бишь i, ещё 18 букв и n; по-русски это получится и17я) – такой способ создания приложений, при котором их можно легко адаптировать для разных аудиторий, говорящих на разных языках. Очень легко ошибиться, предполагая, что все ваши пользователи происходят из одной местности и пользуются одним языком – особенно, если вы даже не задумываетесь о том, что предполагаете именно это.

function formatDate(d)
{
  // Все же пишут дату, как месяц/день/год. Правда ведь?
  var month = d.getMonth() + 1;
  var date = d.getDate();
  var year = d.getFullYear();
  return month + "/" + date + "/" + year;
}
 
function formatMoney(amount)
{
  // Все деньги – это доллары, с двумя знаками после запятой. Ведь так?
  return "$" + amount.toFixed(2);
}
 
function sortNames(names)
{
  function sortAlphabetically(a, b)
  {
    var left = a.toLowerCase(), right = b.toLowerCase();
    if (left > right)
      return 1;
    if (left === right)
      return 0;
    return -1;
  }
 
  // Имена всегда сортируются по алфавиту, не так ли?
  names.sort(sortAlphabetically);
}

Читать дальше →

Перевод книги «Выразительный Javascript» в pdf

Время на прочтение1 мин
Охват и читатели198K
Хабр, привет.

Не так давно SLY_G опубликовал цикл переводов книги Eloquent Javascript (за что ему большое спасибо). В комментариях раз за разом поднимались вопросы о сборке переводов книги, что, собственно, я и сделал при помощи сервиса Gitbook — «Выразительный Javascript», pdf, ePub, mobi и онлайн версия.

Репозитарий книги, pull requests принимаются.
Читать дальше →

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Время на прочтение29 мин
Охват и читатели110K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

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



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →

Именование сложных действий в REST API

Время на прочтение3 мин
Охват и читатели69K
Во всех руководствах в описаниях REST дают простые примеры, типа вот вам пользователи, они будут ресурсом /users, вот вам один пользователь, он будет /users/[id] и действия с ним добавить\удалить\изменить.

А что если действия сложные или комплексные и не вписываются в GET\POST\DELETE?

Читать дальше →

02 Ссылки для UX-специалистов

Время на прочтение3 мин
Охват и читатели33K
В этой подборке продолжаю делиться информационными ресурсами, где можно почерпать новые знания, отследить новые методы, техники и аналитку, а также улучшить свои навыки в области UX. В отдельном абзаце собрал некоторые материалы по UX в области носимых устройств.


Читать дальше →

Все способы перебора массива в JavaScript

Время на прочтение7 мин
Охват и читатели580K

Содержание:


  • I. Перебор настоящих массивов
    1. Метод forEach и родственные методы
    2. Цикл for
    3. Правильное использование цикла for...in
    4. Цикл for...of (неявное использование итератора)
    5. Явное использование итератора

  • II. Перебор массивоподобных объектов
    1. Использование способов перебора настоящих массивов
    2. Преобразование в настоящий массив
    3. Замечание по объектам среды исполнения


Читать дальше →

Arduino, модуль Nokia 5110 LCD и любая картинка

Время на прочтение2 мин
Охват и читатели80K


Наверное, у меня, как и у всех Arduino-строителей, появилась какая-то бредовая идея в голове. Заказал в Китае все необходимые детали. Ждать пришлось очень долго, но тут раньше срока был доставлен клон платы Arduino Uno и LCD-дисплей Nokia 5110. Так как до этого с электроникой и программированием я был не знаком, решил не терять время зря и начал учиться выводить информацию на данный модуль.
Читать дальше →

JSON, который можно комментировать

Время на прочтение16 мин
Охват и читатели83K
Не все JSON нельзя комментировать (например, Хром[иум] вполне переносит комментарии в manifest.json), но в стандарте не предусмотрены комментарии к нему. Поэтому ряд функций в NodeJS не обрабатывают комментарии в формате JS и считают их ошибкой. Точно так же, AJAX с форматом JSON принимает их за ошибку. Поэтому для конфигурационных файлов в формате JSON имеется масса неудобств при попытках их использовать как человеко-читаемые файлы. Может быть, это иногда хорошо. Если хотим прокомментировать, то будем вынуждены оформить комментарий под или над строкой как «ключ-значение».
...{...
    "some-key_comment":"my comment for key and value",
    "some-key":"some-value",
...}...
Но если комментарии не пишем, следуя суровости протоколов, ошибки возникают уже из-за другого фактора — забывания смысла параметров настроек при редактировании человеком.
...{...
    "some-key":"some-value", //какой-какой key?? Ай, комментарии - нельзя!
...}...

Придумаем JSON-подобный формат с комментариями в стиле JS, чтобы их можно было выполнять как JS, а, очистив от комментариев — читать как JSON. ("TL:DR: покажите мне код.")
Как разрубить это узел

Тренды JavaScript на 2015 год

Время на прочтение19 мин
Охват и читатели112K


Всем привет! Мы как-то задумали сделать легкий вводный курс на тему JavaScript и разработки приложений (он, кстати, скоро будет опубликован): и, пока я собирал материалы к нему, как-то само собой выяснилось, что есть довольно много вещей, которые, так сказать, находятся на переднем крае развития JavaScript. Отсюда родилась идея сделать отдельную обзорную статью в жанре «X трендов на год Y по технологии Z».

Многие из тех, вещей, которые я буду описывать, можно попробовать в той или иной степени уже сегодня (собственно, иначе я бы говорил о космическом будущем, а не о трендах). В этом есть несомненный плюс: если у вас будет свободное время (а на праздниках его обычно много), вам будет чем заняться. Да и, в целом, хорошо начинать новый год с расширения своих горизонтов!
Читать дальше →

Тонкости nodejs. Часть I: пресловутый app.js

Время на прочтение5 мин
Охват и читатели43K
Я работаю с node.js более трех лет и за это время успел хорошо познакомиться с платформой, ее сильными и слабыми сторонами. За это время платформа сильно изменилась, как, собственно, и сам javascript. Идея использовать одну среду и на сервере и на клиенте пришлась многим по душе. Еще бы! Это удобно и просто! Но, к сожалению, на практике все оказалось не так радужно, вместе с плюсами платформа впитала в себя и минусы используемого языка, а разный подход к реализации практически свел на нет плюсы от использования единой среды. Так все попытки реализовать серверный js до ноды не взлетели, взять тот же Rhino. И, скорее всего, node ждала та же участь, если бы не легендарный V8, неблокирующий код и потрясающая производительность. Именно за это его так любят разработчики. В этой серии статей, я постараюсь рассказать о неочевидных на первый взгляд проблемах и тонкостях работы, с которыми вы столкнетесь в разработке на nodejs.

Читать дальше →

Pi Bow — самый веселый корпус для Raspberry Pi

Время на прочтение2 мин
Охват и читатели133K
Многие слышали про Rapberry Pi. Это мини-компьютер, в основном для образовательных целей. Архитектура полностью открыта, основана на ARM, работает на Линуксе, очень активная поддержка фанатов, разрабатывающих свои дистрибутивы Линукса и различные аппаратные расширения. Цена удовольствия — 35 британских фунтов или около 1800 рублей.

На Хабре было много постов про RPi, поэтому сейчас немного не об этом. Увы, плата RPi имеет одну конструктивную особенность — у нее нет дырок под винты, поэтому ее крепеж в какой-либо корпус становится небольшой проблемой (авторы обещали исправить это в следующей модели). Конечно, пытливые умы фанатов давно придумали способы крепежа, и сейчас речь как раз об одном из таких корпусов. Этот корпус весьма необычен в конструкции, и вы скоро увидите почему.

(Под катом мало текста, зато много картинок).
Читать дальше →

Google Play. Распродажа приложений по $0.25. День 5 (09/30/2012)

Время на прочтение2 мин
Охват и читатели95K

Ранее уже писали о новых рекордах Google Play Store и намечающейся распродаже.
В течение 5 дней Google устраивает распродажу с уникальными ценами в $0.25. Каждый день новые приложения!

Список приложений участвующих в распродаже:
Читать дальше →

Музыка в кубе. Обзор микросистемы Philips

Время на прочтение5 мин
Охват и читатели34K


Что-то давно я не публиковал обзоры и не проводил конкурсы с ценными призами. Настало время это исправить. Итак, сегодня представляю на ваш суд пост о микросистеме Philips MCM1055. Что такое микросистема? По сути — это уменьшенный музыкальный центр из 90-х годов, с возможностью прослушивания музыки с флешек и дисков. Да и компактный, к тому же, много места для него выделять не надо. Все подробности читайте под катом. Ну а в самом конце поста конкурс, в котором можно получить такую систему себе домой в вечное пользование. Конкурс завершён. Победил RedShark
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Фронтенд разработчик, Фулстек разработчик
Ведущий
Angular
JavaScript
TypeScript
Node.js
Веб-разработка
Адаптивная верстка
Linux