Search
Write a publication
Pull to refresh
27
0
Валерий Северин @Selmaril

Разработка ПО

Send message

Как работают замыкания (под капотом) в JavaScript

Reading time11 min
Views76K
Привет, Хабр!

Мы в Хекслете используем JavaScript не только для очевидных задач во фронтэнде, но и, например, для реализации браузерной среды разработки (наш опен-сорсный hexlet-ide) на React'е. У нас есть практический курс по JavaScript, и один из уроков там посвящен замыканиям. Это важная тема не столько в рамках JS, сколько в программировании вообще. Мы освещаем ее и в других курсах.

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


Я использую замыкания уже достаточно давно. Я научился их использовать, но не до конца понимал как они на самом деле работают, что происходит «под капотом». Что это вообще такое? Википедия не очень помогает. Когда замыкание создается и уничтожается? Как выглядит реализация?

"use strict";
 
var myClosure = (function outerFunction() {
 
  var hidden = 1;
 
  return {
    inc: function innerFunction() {
      return hidden++;
    }
  };
 
}());
 
myClosure.inc();  // возвращает 1
myClosure.inc();  // возвращает 2
myClosure.inc();  // возвращает 3
 
// Ага, круто. А как это реализовано?
// И что происходит под капотом?
Читать дальше →

Разработка под Windows 10 — с чего начать

Reading time4 min
Views79K
Всем привет! Вы, наверняка, уже слышали новости про то, что за первые 4 недели Windows 10 установили уже более 75 миллионов человек. В таком контексте мы особенно рады поделиться с вами вводной статьей от Арсения Печенкина из компании DataArt о том, как начать разрабатывать приложения под десятку.




Тем, кто сомневается, ставить или нет на любимую машину Windows 10, предлагаем небольшой обзор материалов о платформе, инструментах разработки и новых возможностях, доступных при разработке приложений.
Читать дальше →

AutoCAD Architecture: First project

Reading time7 min
Views13K
В линейке продуктов от Autodesk, кроме базового AutoCAD, существует много специализированных продуктов, оптимизированных под различные сферы проектирования. Одним из таких продуктов является AutoCAD Architecture (ACA). Аналогично AutoCAD, для AutoCAD Architecture возможно написание плагинов на .NET. Кроме библиотек от Autodesk для работы с объектами AutoCAD Architecture можно пользоваться C++ библиотекой Teigha Architecture от Open Design Alliance, которая позволяет загружать, отрисовывать и манипулировать архитектурными объектами.

Я хочу написать серию tutorial-ов, демонстрирующих работу с архитектурными объектами с помощью Autodesk .NET API и Teigha Architecture. Начнем с самых азов: соберем и заставим работать упражнение “your first project” из документации к ACA, а затем немного расширим его для использования объектов Autodesk.Aec.Arch.DatabaseServices.Wall.

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

Node.js и Express как они есть

Reading time15 min
Views74K
Здравствуйте, любители нашего хаброблога и прочие читатели!

Мы планируем вновь отметиться на поле неувядающего Node.js и рассматриваем возможность издания этой книги:



Поскольку вполне понятен читательский интерес «а как он впихнул все это в двести страниц, и зачем мне это нужно»? под катом предлагаем перевод доскональной статьи Томислава Капана о том, зачем на самом деле нужен Node.js.
Читать дальше →

Российские СМИ: «Авторы-участники Википедии стали агентами влияния американских спецслужб»

Reading time4 min
Views29K

В СМИ началась травля Википедии


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

Во-первых, сам Роскомнадзор снял с себя всякую ответственность за фактическое введение цензуры. Наоборот, ответственность перекладывается на администраторов Википедии. «Необходимо дополнительно разъяснить, что нежелание администрации Википедии исполнять судебный вердикт, признавший незаконной информацию о способах приготовления наркосодержащего вещества, ставит под удар интересы многочисленных пользователей русскоязычной версии сайта, — пишет Роскомнадзор в официальном блоге. — Безусловно, мы, как и все пользователи «Википедии», хотели бы избежать блокировки. Создаётся впечатление, что к этому с упорством, достойным лучшего применения, стремятся сами администраторы сайта».
Читать дальше →

Ограниченное предложение: облачный сервер в Нидерландах и США по цене хостинга, дешевле ip-адреса

Reading time5 min
Views5.4K
Нет, такое обычно невозможно в принципе, это дешевле обычного хостинга и стоит примерно, как выделенный ip! Цена не может быть столь низкой ибо это ниже себестоимости однозначно…

Oversell? Низкое качество?

Не угадали, как раз наоборот. В этот раз все более прагматично. Великая облачная платформа введена в эксплуатацию в Нидерландах и США в двух Дата Центрах с премиальным качеством. И мы готовы предоставить 1000 облачных серверов по невероятно низким ценам в честь запуска, тем самым позволив, вне зависимости от финансовых возможностей, оценить невероятное качество и получить в пользование полноценный облачный сервер.



Но величие новой облачной платформы не в количестве компонентов, а в том, как эти компоненты — физические выделенные серверы, взаимодействуют с облачной средой, в том, как другие Дата Центры и операторы взаимодействуют с нашей сетью, в том, насколько быстро и эффективно Вы можете развернуть инфраструктуру по требованию:

— аппаратная виртуализация VMware ESXi делает Ваш облачный сервер полноценным аналогом выделенного сервера, расширяя функционал, повышая надежность и экономичность, лицензии Windows для облачных VPS доступны по сниженным ценам;
— в случае выхода из строя оборудования облачная платформа перезапустит Ваш VPS на другой машине без физического вмешательства человека;
— Ваши данные надежно защищены и обеспечивается лучшая производительность, применяются физически распределенные хранилища данных SAN, корпоративного класса, c использованием исключительно SAS и SSD накопителей;
— аппаратный firewall Cisco ASA 5500 обеспечит дополнительную безопасность и доступен для всех тарифных планов абсолютно БЕСПЛАТНО;
— Вам доступна премиум-сеть, обеспечивающая uptime 99.9999% и лучшую связность с Вашими посетителями, прямой доступ к 36 точками обмена трафиком в 21 стране, 4213 пиринговых включений, 58 точек присутствия по всему миру, общая емкость каналов сети превышает 5 Тбит / с!

Что делает предложение уникальным?

— N + 1 избыточность на уровне хоста ESXi, резервирование 2N на программном уровне, применение многопроцессорных платформ на основе Intel Xeon 2 GHz и выше от ведущих производителей (IBM, HP, DELL), связанных между собой надежной мультигигабитной сетью, позволяет достичь отсутствия единой точки отказа и обеспечить мгновенное аварийное восстановление, высокую производительность и стабильность работы;
— премиум-сеть без дополнительных оплат, Ваш трафик обрабатывается двумя физически распределенными ядрами Дата Центра одновременно и всегда доставляется магистральными операторами высшего уровня по наиболее оптимальному маршруту;
— firewall Cisco ASA доступен для всех VPS без исключения;
— более оптимальное использование ресурсов и возможность установки практически всего ряда серверных операционных систем;
— несмотря на применение дорогостоящего оборудования и высокое качество решения, обеспечивается низкая цена, возможность сэкономить на программном обеспечении (для VPS лицензии Windows значительно дешевле)!
Читать дальше →

Компания Hardkernel выпустила новую версию 37-долларового мини-ПК

Reading time2 min
Views19K


В декабре прошлого года компания Hardkernel выпустила модель мини-ПК, во многом схожую с Raspberry Pi. Этот гаджет получил название ODROID-C1, а его возможности значительно превышали возможности «малинки». Так, этот мини-ПК довольно сильно похож на Raspberry Pi B+, и форм-фактор и даже GPIO-разъемы аналогичные. Но ODROID-C1 оснастили четырёхядерным процессором Cortex-A5 с частотой 1,5GHz, 1GB DDR3, гигабитной сетевой картой и еще несколькими привлекательными для гика «плюшками». Сравнение обеих моделей — в продолжении.

Теперь же появилась новая версия Odroid — C1+. Стоимость девайса составляет не $35, а $37, а его возможности еще лучше, чем у предшественника.
Читать дальше →

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Reading time5 min
Views221K
Добрый день! В интернете уже накопилось достаточное количество статей по сборке DIY VR шлемов и хабр тому не исключение. Но в большинстве случаев при сборке используются смартфоны с относительно не большими дисплеями, что не позволяет получить широкий угол обзора. Сегодня же мы будем собирать шлем на основе Nexus 7, потратив всего 600 рублей в ближайшем гипермарките. Ну и т.к. главный лозунг этой статьи «Меньше теории, больше практики», хватит лишних слов, начинаем!



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

Что еще влияет на успех ресторана: уровень шума

Reading time4 min
Views9.6K


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

Мой первый опыт с HoloLens

Reading time4 min
Views30K
Признаться, я не был удивлен почти полному отсутствию статей по данной тематике. Так уж сложилось — людей, которые имели возможность поработать с HoloLens, едва ли наберется десяток на всю страну. Тем не менее, в рамках Imagine Cup в Редмонде, принять участие в котором мне довелось, был проведен один из первых тест-драйвов средств разработки данной платформы.

image

HoloLens overview


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

Обзор специализированных способов обхода блокировок в интернете

Reading time4 min
Views919K
Представляю вашему вниманию обзор и мои субъективные оценки некоторых специализированных способов обхода блокировок со стороны провайдеров или сетевых администраторов.

1. Аддоны для браузеров


ZenMate (Chromium-based, Firefox, Android, iOS)

  • Удобство использования: 5/5
  • Скорость: 5/5
  • Шифрование трафика: Да (TLS)
  • Анонимность: Да
  • Проксирование всего трафика: Да
  • Выборочное проксирование: Да

    Описание:
        Хороший, быстрый аддон.
        На момент тестирования было доступно 5 прокси в разных странах.

    Плюсы:
        Высокая скорость работы аддона
        Быстрые прокси

    Минусы:
        Требуется регистрация в сервисе
Читать дальше →

Изготовление матриц для литья силикона

Reading time6 min
Views86K
На гиктаймс уже писали о литье пластмасс в силиконовые формы, но в этот раз мы будем лить силикон в пластмассу.

image

Краткая предыстория. Стала перед нами задача: изготовить энное количество резиновых кнопок от ключей автомобиля по образцу. Пробовали мы их печатать на 3D принтере из резинового филамента, но качество не устроило. Тогда-то и пришла мысль реверсировать технологию литья в силикон. Что из этого вышло, читайте под катом.
Много фото

Унификация через «бургерный дизайн»: Фреймворк Mail.Ru Group для контент-проектов

Reading time25 min
Views20K
В первой части рассказа об унификации продуктовой линейки Mail.Ru Group я описал наш первый подход к снаряду — решение для мобильного веба. Помимо создания единого стиля и принципов работы интерфейса для дюжины сервисов, мы смогли перестроить дизайн-процесс от классического «прототип → макет → верстка → код» для каждого экрана к более эффективному и современному, основанному на фреймворках. Во второй части я расскажу о переводе на эту же технологию более сложных и масштабных больших версий сайтов — как наш «Bootstrap на стероидах» стал еще мощнее.

Продукты на новой дизайнерско-технологической платформе
Афиша, Авто, Здоровье, Гороскопы, ТВ, Недвижимость, Леди, Hi-Tech, Погода


Весной 2012 года в наше подразделение Почты и портала передали 11 контент-проектов — Авто, Афиша, Гороскопы, Дети, Здоровье, Леди, Мото, Новости, Погода, Спорт, ТВ. Многие из них — лидеры в своей нише в Рунете. Но история создания и развития у каждого была своя, так что дизайн делался по-своему, зачастую на аутсорсе, без систематизации и выработки общих подходов и решений.

Для нашей команды приведение их внешнего вида и логики работы в порядок стало одной из основных задач. А позднее — и необходимость унифицировать подход к дизайну. Простое и понятное решение — интерфейсно-визуальные гайдлайны для всей линейки продуктов. Они должны сделать работу пользователя понятной и предсказуемой — ему легко перейти с одного сайта на другой и не разбираться в новых паттернах взаимодействия. Это также усиливает бренд. И как приятный бонус — облегчает продуктовой команде развитие и поддержку сервисов.
Читать дальше →

Обзор новшеств Docker Engine с 1.0 до 1.7. Введение в Docker Compose

Reading time12 min
Views27K
В прошлых статьях мы уже рассматривали что такое Docker и как использовать Dockerfile и осуществлять коммуникацию между контейнерами.



Эти статьи были написаны по Docker 1.1.2. С тех пор в Docker появилось много полезного, о чем мы расскажем в этой статье. Также мы рассмотрим подробнее Docker Compose, утилиту, позволяющую определять мультиконтейнерное приложение со всеми зависимостями в одном файле и запускать это приложение в одну команду. Примеры будут продемонстрированы на облачном сервере в InfoboxCloud.
Читать дальше →

Ненастоящие сеньор-девелоперы, или почему годы опыта ни о чем не говорят

Reading time6 min
Views142K
Опытный программист из Торонто Мэтт Бриггс так любит свою работу, что говорит: «я бы писал код, даже если бы это было нелегальным». А когда он опубликовал в своем блоге пост о джуниорах, мидлах и старших разработчиках, то собрал больше сотни восхищенных комментариев. Мы в Alconost тоже восхитились и перевели эту статью для вас.

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

Мы испытываем серьезную нехватку талантов, хотя индустрия довольно молода. Большинство софтверных проектов проваливаются, и практически все превышают бюджет. А лучшая идея, которую могут предложить сильнейшие умы, сводится к «Есть несколько стандартных способов решения подобных проблем, но наши решения часто не срабатывают. Единственное, что можно сделать — это попробовать и посмотреть на результат».

Реальность такова, что под «старшим разработчиком» понимается человек, который ваяет код более 3 лет. Его ставят на руководящую позицию, и обычно все заканчивается ожидаемо плачевно.

На самом деле, попытка оценивать людей временными интервалами – слишком упрощенный способ для таких тонких материй, как знание и профессиональный опыт. Но дела обстоят именно так. И если продолжать классифицировать специалистов подобным образом, то самое время нашей индустрии брать тайм-аут. Есть разница между человеком с 10-летним опытом, и тем, кто за то же время стал опытнее в 10 раз.


Постер из сериалa «Компьютерщики»
Читать дальше →

Что нового в Babylon.js

Reading time4 min
Views17K

Недавно команда разработчиков babylon.js выпустила новую версию одноименной библиотеки (v2.1) с множеством усовершенствований, а также новых инструментов для создания 3D в браузере, уже имея опыт создания таких игр как Flight Arcade и Assassin’s Creed Pirates . В этой статье будет рассказано о некоторых из основных обновлений, а также будут даны ссылки на демки и песочницу, чтобы можно было самостоятельно попробовать.
Читать дальше →

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

Reading time42 min
Views303K


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

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

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

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


Лопатить пиксели

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

Reading time14 min
Views32K

Рис. 1 — Загранпаспорт РФ с MRZ-зоной (Источник изображения: en.wikipedia.org/wiki/Russian_passport)

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

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

Русификация и мультиязычность карт OpenStreetMap

Reading time15 min
Views24K
Занимаясь разработкой веб-карт, использующих данные OpenStreetMap, часто возникает вопрос о том, как показывать карты с корректными русскими названиями. Этой проблемы не возникает, если ваши карты показывают исключительно Россию. Однако, если вы посмотрите, например, карту Китая, то вам вряд ли понравится такое обилие иероглифов, а тщетные попытки найти Пекин на такой карте, скорее всего, не увенчаются успехом.



Известно, что свободолюбивый проект OpenStreetMap позволяет сохранять названия географических объектов на разных языках. Для этого используются специальные теги, типа name:ru, name:en или name:es, и что самое главное, они заполняются участниками OpenStreetMap. Конечно, наиболее подробные надписи создают пользователи на том языке, на котором они говорят: в России — на русском, в Китае — на китайском, в африканских странах — на местных языках. Шансов, что какая-то улочка в Нигерии будет иметь русский перевод, мало, но все же основные географические объекты (страны, города, реки и т.п.) имеют переводы. Этой небольшой картографической информации бывает вполне достаточно, чтобы русскоязычный пользователь открыл, например, карту Китая и нашел на ней основные названия. Таким образом, ваш ресурс станет чуть более дружелюбным для пользователя.
Читать дальше →

Материалы конференции SkillsWiki: .NET-разработчик глазами работодателей России и зарубежья

Reading time2 min
Views19K

29 апреля 2015 года в Москве прошла бесплатная конференция сообщества SkillsWiki о профессиональном развитии.

Что интересного было на конференции? Какие навыки требуются от .NET-разработчика на американском рынке? Вы смогли бы оценить, шагаете ли вы в ногу со временем. Только ли знания и навыки определяют уровень вашей заработной платы, или есть еще важные факторы, которые определяют вашу ценность с точки зрения работодателя? Как говорить с работодателем о вашем росте и повышении заработной платы?

Не смогли принять участие в конференции? Ничего страшного. В этой заметке представлены все материалы конференции. Но в будущем не пропускайте наши конференции и вступайте в сообщество SkillsWiki!
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity