Pull to refresh
2
0
Send message

Видео-курс по Swift на русском языке

Reading time1 min
Views115K
Здравствуй, Хабр!

Мы сделали видео-уроки по языку Swift на основе бесплатной книги The Swift Programming Language от Эппл.



Все 32 урока доступны на нашем сайте. Несколько уроков – под катом.
Читать дальше →
Total votes 146: ↑129 and ↓17+112
Comments62

HTML по стандартам

Reading time10 min
Views124K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →
Total votes 190: ↑167 and ↓23+144
Comments49

Книжка Discover Meteor переведена на русский

Reading time2 min
Views22K

Автор картинки: Donovan Shortey, использовано по лицензии Creative Commons.

Познавательная книжка Discover Meteor теперь переведена усилиями сообщества на русский язык и находится в свободном доступе. Английская версия по-прежнему требует подписки и стоит (разумных) денег.

В начале марта авторы оригинальной книжки Sacha Greif и Tom Coleman бросили клич, приглашая любителей фреймворка MeteorJS перевести ее на все языки мира. Локализированные версии книжки выкладывались бы под свободной лицензией Creative Commons, свободно доступные для всех желающих быстро познать мир Meteor. В настоящий момент существуют переводы на 22 языка мира, в разной степени готовности. Проект доступен на GitHub, и если кто-то заметил опечатку, или желает как-то дополнить перевод — добро пожаловать в команду.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments22

Замыкания в Javascript [Часть 1]

Reading time15 min
Views59K
Перевод статьи Ричарда Корнфорда Javascript Closures.

  • Введение
  • Разрешение имен свойств объектов
    • Присваивание значений
    • Чтение значений

  • Разрешение имен идентификаторов, контексты исполнения и цепь областей видимости
    • Контекст исполнения
    • Цепь областей видимости и свойство [[scope]]
    • Разрешение имен идентификаторов

  • ...

Введение


Замыкание
Замыкание — это выражение (обычно функция), которое может иметь свободные переменные, вместе со средой, которая привязывает эти переменные (т.е. “замыкает” это выражение).

Замыкания относятся к наиболее мощным особенностям ECMAScript (javascript), но они не могут быть применены должным образом без понимания. Несмотря на то, что их легко создать, даже случайно, их создание может иметь пагубные последствия, в частности, в некоторых относительно распространенных окружениях браузеров. Чтобы избежать случайных столкновений с недостатками и использовать преимущества замыканий, необходимо понимать их механизм. Это сильно зависит от роли цепи областей видимости в разрешении имен идентификаторов (identifier resolution) и от разрешения имен свойств в объектах.

Самое простое объяснение замыкания в том, что ECMAScript допускает вложенные функции, определения функций и функции-выражения (function expressions) внутри тел других функций. И эти вложенные функции имеют доступ ко всем локальным переменным, параметрам и функциям, находящихся внутри их внешней функции (внешних функций). Замыкание образуется, когда одна из этих вложенных функций становится доступной вне той функции, в которую она была включена, таким образом, она может быть выполнена после завершения внешней функции. В этот момент она все еще имеет доступ к локальным переменным, параметрам и внутренним декларациям функций (function declarations) своей внешней функции. Эти локальные переменные, параметры и декларации функций (изначально) имеют те же значения, которые были во время завершения внешней функции и могут взаимодействовать с внутренней функцией.

К сожалению, правильное понимание замыканий требует понимания механизмов, которые стоят за ними, и немало технических подробностей. Хотя некоторые из алгоритмов, определенных в ECMA 262, затронуты в начале последующего объяснения, большинство не могут быть опущены или просто приведены к упрощенному виду. Если вы знакомы с разрешением имен свойств объектов, то можете пропустить этот раздел, но только люди, уже знакомые с замыканиями, могут позволить себе пропустить последующие разделы и прямо сейчас перестать читать и вернуться к их использованию.
Читать дальше →
Total votes 38: ↑26 and ↓12+14
Comments13

Изучаем Derby 0.6, пример #3

Reading time19 min
Views9.1K

Данный урок, продолжение серии уроков по derbyjs — реактивному фуллстек фреймворку. Читать предыдущие уроки обязательно (первый, второй).

Этот урок будет состоять из двух частей: первая — обзор серверной части дерби-приложения, и вторая — использование модуля derby-auth (обертки над passportjs) для регистрации/авторизации в дерби-приложении с использованием в том числе и социальных сетей.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments11

Подборка полезного для любителей Twitter Bootstrap

Reading time1 min
Views83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →
Total votes 109: ↑96 and ↓13+83
Comments21

Какой HDD надёжнее? Статистика Backblaze по 27134 накопителям за 4 года работы

Reading time3 min
Views382K
Компания Backblaze опубликовала в своём блоге статистику использования дисковых накопителей в своих серверах. Backblaze предоставляет услугу дешёвого облачного бэкапа. В основе их инфраструктуры — жёсткие диски потребительского класса. За четыре года работы компания собрала порядочную статистику по отказоустойчивости разных типов дисков, использовавшихся в их хранилище. Парк накопителей Backblaze состоит в основном из дисков Seagate и Hitachi — почти по 13 тысяч. Ещё 2838 дисков — производства Western Digital, и по несколько десятков накопителей Samsung и Toshiba. Таким образом, данные Backblaze позволяют сравнить работу дисков потребительского уровня трёх производителей — Seagate, WD и Hitachi — в условиях датацентра.

image
Читать дальше →
Total votes 134: ↑132 and ↓2+130
Comments150

Кроссплатформенный CommonJS на практике

Reading time12 min
Views16K

О чём речь?


О JS модулях, которые можно использовать в браузере и на сервере. Об их взаимодействии и внешних зависимостях. Меньше теории, больше практики. В рамках курса молодого бойца мы реализуем простое и весьма оригинальное приложение на базе Node.JS: ToDo-лист. Для этого нам предстоит:
  1. «Завести» кроссплатформенные модули на базе фреймворка Express;
  2. Научить их работать с платформозависимыми коллегами;
  3. Создать транспортный уровень между клиентом и сервером;
  4. Таки сделать ToDo-лист;
  5. Осмыслить результат.

Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments4

Bootstrap Dropdown Menus Enhancement v3.1.1

Reading time2 min
Views27K
Около года назад, я создал расширения выпадающих меню для Bootstrap v2 (хабрапост). В связи с пасхальными праздниками наконец нашлось время обновить функционал до версии 3 (Bootstrap v3).
Список функций:
  • Добавлена поддержка подменю
  • radio и checkbox
  • позиционирование
  • bullet

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

Sails.js: первые шаги

Reading time4 min
Views33K
Небольшой рассказ о начальном погружении в Node.js и опыте работы с Rails-like фреймворком Sails.js

Эта статья не претендует на внимание искушенных разработчиков, поскольку является лишь описанием некоторых впечатлений начинающего Rails-разработчика о Node.js. Надеюсь, кому-нибудь будет полезно.
Читать дальше →
Total votes 21: ↑12 and ↓9+3
Comments3

Полезные инструменты, туториалы и ресурсы

Reading time4 min
Views16K
Созданый Райаном Далем в 2009 году, Node.js — относительно новая технология, завоевавшая в последнее время большую популярность среди веб-разработчиков. Однако, до сих пор не каждый знает, что на самом деле Node.js это серверная JavaScript среда, использующая асинхронную событийную модель. Что это означает? Все просто: это среда, которая предназначена для написания масштабируемых, высокопроизводительных приложений. Почти как Ruby’s Event Machine или Python’s Twisted, но гораздо глубже — JavaScript реализовывает цикл событий, на уровне самого языка, а не как отдельная библиотека.



И это еще не все: то, что действительно круто в Node.js — это тысячи модулей, доступных для любых целей, а также активниешее сообщество этого молодого проекта. В этом обзоре вы найдете самые полезные ресурсы по Node.js, от просто удобных инструментов и подробных руководств, до углубленных статей и ресурсов о этой перспективной технологии. Используете ли вы Node.js? Поделитесь опытом в комментариях к этотому посту!

Читать дальше →
Total votes 138: ↑129 and ↓9+120
Comments70

Образовательные и обучающие ресурсы для веб-разработчиков и веб-дизайнеров

Reading time15 min
Views143K
Данным постом мы открываем рубрику «Переводы» в нашем блоге. Почему мы решили открыть такую рубрику? Дело в том, что сотни специалистов, работающих в Mail.Ru Group, для решения стоящих перед ними задач ежедневно прочитывают множество интересных статей и постов на форумах. Некоторые из них кажутся нам интересными, и мы считаем своим долгом перевести их на русский и поделиться этими ценными знаниями с Хабражителями.

Пользуясь случаем, хотим сообщить новость: сегодня состоялось открытие Технопарка — нашего образовательного проекта, о котором мы уже не раз писали на Хабре (например, тут, тут и тут). Теперь у технопарковцев есть свое собственное помещение. Изначально Технопарк задуман как место, где талантливые студенты МГТУ им. Баумана могут получить дополнительное образование в сфере веб-разработки, дизайна и программирования, а также окунуться в работу над реальными проектами высокой сложности. В общем, у Технопарка сегодня знаменательный день, и поэтому первый выпуск в рубрике «Переводы» мы решили посвятить образовательным ресурсам для веб-разработчиков и веб-дизайнеров. Ведь пока такие Технопарки не распространились по всей стране, разработчикам зачастую приходится заниматься исключительно самообразованием.

Читать дальше →
Total votes 91: ↑83 and ↓8+75
Comments18

Завершен перевод книги Эдди Османи «Паттерны для масштабируемых JavaScript-приложений»

Reading time1 min
Views36K
Ура! Мы закончили работу над переводом замечательной книги об архитектуре JavaScript-приложения. Работать над переводом было очень приятно — мы получили около 40 пулл-реквестов от совершенно незнакомых нам людей, которые помогли исправить множество опечаток, неточностей и различных багов на сайте! Ссылка на наш перевод упоминалась в курсе «Фронтенд-разработка», читаемом во втором семестре Технопарка Mail.ru, а также в некоторых независимых подкастах.

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

Читать книгу можно на сайте перевода. Также можно скачать книгу в удобном формате: epub, mobi, fb2. Исходный код проекта доступен в репозитории на GitHub
Total votes 108: ↑102 and ↓6+96
Comments23

О SAN (Storage Area Network) на пальцах

Reading time5 min
Views202K
image

В деле познания SAN столкнулся с определённым препятствием — труднодоступностью базовой информации. В вопросе изучения прочих инфраструктурных продуктов, с которыми доводилось сталкиваться, проще — есть пробные версии ПО, возможность установить их на вирутальной машине, есть куча учебников, референс гайдов и блогов по теме. Cisco и Microsoft клепают очень качественные учебники, MS вдобавок худо-бедно причесал свою адскую чердачную кладовку под названием technet, даже по VMware есть книга, пусть и одна (и даже на русском языке!), причём с КПД около 100%. Уже и по самим устройствам хранения данных можно получить информацию с семинаров, маркетинговых мероприятий и документов, форумов. По сети же хранения — тишина и мёртвые с косами стоять. Я нашёл два учебника, но купить не решился. Это "Storage Area Networks For Dummies" (есть и такое, оказывается. Очень любознательные англоговорящие «чайники» в целевой аудитории, видимо) за полторы тысячи рублей и "Distributed Storage Networks: Architecture, Protocols and Management" — выглядит более надёжно, но 8200р при скидке 40%. Вместе с этой книгой Ozon рекомендует также книгу «Искусство кирпичной кладки».

Что посоветовать человеку, который решит с нуля изучить хотя бы теорию организации сети хранения данных, я не знаю. Как показала практика, даже дорогостоящие курсы могут дать на выходе ноль. Люди, применительно к SAN делятся на три категории: те, кто вообще не знает что это, кто знает, что такое явление просто есть и те, кто на вопрос «зачем в сети хранения делать две и более фабрики» смотрят с таким недоумением, будто их спросили что-то вроде «зачем квадрату четыре угла?».

Попробую восполнить пробел, которого не хватало мне — описать базу и описать просто. Рассматривать буду SAN на базе её классического протокола — Fibre Channel.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments83

[SSD only] Активация TRIM в Mac OS Lion / Mountain Lion 10.8

Reading time6 min
Views115K
Здравствуйте, уважаемые хабражители.

Этот перевод предназначен в первую очередь для тех, кто уже использует SSD диск и MacOS Lion. Лично я год с хвостиком радуюсь производительности SSD Intel X-25M и отсутствию карусельки смерти чего и вам от души желаю.

До сегодняшнего дня я был уверен, что мой SSD работает на 100% своих возможностей. Но не тут-то было! Если вы купили свой яблочный компьютер без SSD, то есть из магазина он выехал с обычным HDD, то обещанный во Льве TRIM у вас будет не активен, как оказалось только изначально укомплектованные SSD накопителем компьютеры имеют эту функцию по умолчанию. Проблема, как вы понимаете, в вызывающем вопросы маркетинге компании имеет софтверные корни, а не железные. И на эту подлянку от Apple мистер Грант Пеннэл предлагает свой болт с резьбой.

Добро пожаловать под Хабракат, там мы расчехлим Терминал и поправим это вопиющие недоразумение...
Total votes 45: ↑40 and ↓5+35
Comments94

Разработка web API

Reading time9 min
Views288K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Total votes 235: ↑224 and ↓11+213
Comments128

Видеозаписи докладов потока «JavaScript на бекенде» конференции FOSS Sea

Reading time1 min
Views12K


Команда проекта GeeksLab 30 ноября 2013 года в Одессе провела VI специализированную конференцию FOSS Sea: back-end на базе свободных и открытых технологий. Один из потоков мероприятия был посвящен разработке бекенда на JavaScript. В данном потоке с докладами выступили представители таких компаний как: DataArt, Lohika, GlobalLogic, GradSoft, IT Adapter Corp и другие. Презентации и видеозаписи докладов под катом.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments4

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

Reading time4 min
Views143K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Total votes 157: ↑136 and ↓21+115
Comments113

Shodan – самый страшный поисковик Интернета

Reading time3 min
Views701K


«Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так», – утверждает Джон Мэзерли, создатель Shodan, самого страшного поискового движка Интернета.

В отличие от Google, который ищет в Сети простые сайты, Shodan работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.

Читать дальше →
Total votes 199: ↑191 and ↓8+183
Comments131

Видео-курс по JavaScript на русском языке

Reading time1 min
Views218K
Здравствуй, Хабр!

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



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Total votes 135: ↑127 and ↓8+119
Comments23

Information

Rating
Does not participate
Registered
Activity