Как стать автором
Обновить
1
0
Alex Novikov @AlexndrNovikov

Head of Engineering at Spiral Scout

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

Обзор материалов для изучения Drupal

Время на прочтение2 мин
Количество просмотров45K
«Одна голова хорошо, а много лучше» — подумала я и решила спросить у Drupal-разработчиков, откуда они черпали свои знания.

Так появился проект «3 ссылки, которые сделали вас друпалером» на базе Drupal-сообщества в Санкт-Петербурге: опытные и начинающие друпалеры делятся материалами, которые помогли лично им в изучении этой замечательной CMS.

В этом посте мы собрали ссылки на лучшие ресурсы для изучения Drupal.

Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии17

Несколько интересностей и полезностей для веб-разработчика (выпуск 6)

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

Zephir — Ze(nd Engine) Ph(p) I(nt)r(mediate). Зефир — это компилируемый высокоуровневый язык программирования, предназначенный для написания PHP расширений без использования C. Проект от создателей Phalcon (скомпилированный PHP MVC Framework). О Zephir на Sitepoint
   

JSDB.IO — большая и качественная база нужных скриптов/библиотек/фреймворков на JavaScript. Все распределено по категориям: Animation, Application, Audio, Video, Games и др. Дабы собрать все популярные .js воедино добавлю еще три ссылки: Microjs (множество маленьких полезностей до 5кб), а еще jsdelivr и cdnjs, которые позволяют добавлять собственные скрипты.

Snap.svg — продукт от Adobe Webplatform. Недавно я рассказывал про "достойного конкурента Raphaël" и в комментариях оспоривали эту фразу из за отсутствия поддержки такого же множества браузеров. В разработке Snap участвует автор Raphaël — Дмитрий Барановский, а причина создания новой библиотеки для работы с SVG — невозможность поддерживать все возможности SVG в старых браузерах.

At.js — очень юзабельный скрипт для автозаполнения (в демо используется Emojify). А еще есть более функциональная библиотека для автозаполнения — Typehead от Twitter.
$('.atwho-inputor').atwho({
  at: "@", data: ["one", "two", "three"],
});

Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии9

«Ускоряем» открытие тяжелого сайта

Время на прочтение3 мин
Количество просмотров17K
На днях потребовалось ускорить открытие сайта. Проблема заключалась в том, что одни только JS-файлы, даже собранные в один и сжатые обфускацией, весили более 500kB, а ведь еще есть css тоже довольно крупный.
В связи с этим, пользователям, у которых файлы закешированы (например новый пользователь или после билда сменилась версия), с медленным интернетом приходилось ждать довольно долго, смотря на белый экран.
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии11

Обзор инструментов для сжатия изображений

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


Для ускорения сайта, некоторые рекомендуют проанализировать каждую страницу: оптимизировать запросы HTTP и любые перенаправления, сжать скрипты и стили и т. д. Все это без сомнения необходимо, но в первую очередь важно рассмотреть основы. В частности, вы уверены, что любая графика, которую вы используете на создаваемых сайтах, полностью оптимизирована для Интернета?
Читать дальше →
Всего голосов 73: ↑66 и ↓7+59
Комментарии47

27+ ресурсов для онлайн-обучения

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

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

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.

Читать дальше →
Всего голосов 174: ↑163 и ↓11+152
Комментарии68

Руководство по написанию JS скриптов для front-end разработчиков под Drupal 7

Время на прочтение5 мин
Количество просмотров33K
Существуют разные способы создания верстки под Drupal. Кто-то верстает уже затемленные страницы, кто-то пытается обойтись стандартными темами, но как правило, сначала верстальщик верстает страницы по дизайну, и на выходе получается набор html файлов — слайсов. Затем девелоперы интегрируют эти файлы по кусочкам при теминге.
Причем в процессе интеграции находятся ошибки, какие-то модификации, поэтому верстка и скрипты к ней относящиеся, должны быть доступными для правок и тестирования.
Именно о последнем способе в основном будет идти речь, я опишу типичные ошибки и бест-практики по их решению при написании JS-скриптов для D7. Думаю это будет интересно как верстальщикам под Drupal, так и разработчикам модулей. В случае верстальщиков основным принципом, которым нужно руководствоваться будет факт, что ваш скрипт будет работать в окружении Drupal, и это накладывает ряд ограничений, в идеале скрипт должен подключаться к Drupal и работать без каких-либо дополнительных модификаций, при этом работать на слайсах вне Drupal.
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии19

Emmet LiveStyle — инструмент для удобной front-end разработки

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


На днях появился наверное самый удобный инструмент для front-end разработчиков — Emmet LiveStyle. Это плагин для двухстороннего (редактор браузер) редактирования CSS файлов, который может заметно облегчить и ускорить разработку. Восторженные отзывы по всему интернету это подтверждают (комментарии к статье Smashing Magazine и на Хабре).
Читать дальше →
Всего голосов 54: ↑48 и ↓6+42
Комментарии40

Ungit — самый простой способ использовать Git

Время на прочтение1 мин
Количество просмотров33K
Доброго времени суток уважаемые хабражители. Буквально только что увидел потрясающий проект на GitHub от FredrikNoren.



Ungit:


  • Чистый и интуитивно понятный интерфейс для Git (что есть невероятно круто для освоения Git)
  • Работает на любой платформе с установленными Node.js и самим Git
  • Веб-ориентированный. Возможность запускать его в облаке.
  • GitHub

Необходим Node.js версии 0.10 или выше и npm версии 1.3.1 или выше
Установка

npm install -g ungit

Я думаю, что после просмотра видео, моего более тщательного описания не потребуется. Спасибо всем за внимание.
Всего голосов 81: ↑69 и ↓12+57
Комментарии11

Знай сложности алгоритмов

Время на прочтение2 мин
Количество просмотров1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16+280
Комментарии99

Формирование документов на основе ODT шаблонов. ODT to PDF

Время на прочтение4 мин
Количество просмотров11K
Здравствуйте, уважаемы хабровчане!

Не так давно мне пришлось столкнуться с типичной задачей – формировать документы с пользовательскими данными на основе шаблонов ODT средствами PHP. Звучит весьма тривиально, но намучиться пришлось сильно. Дело в том, что ни одно из доступных средств, так или иначе, не подошло. Одни библиотеки формировали документ криво, другие не поддерживали русские шрифты, третьи – двигали картинки в стиле Harlem Shake. Вот и пришлось «велосипедить».

Итак, задача вкратце:

  1. Обработать ODT шаблон. Заменить placeholder’ы на пользовательские значения
  2. Конвертировать в pdf. Показать пользователю

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

Замечательное выступление настоящего программиста

Время на прочтение1 мин
Количество просмотров150K
Не нашёл на хабре — спешу поделиться. Восхитительное выступление Александра Соловьёва ingspree на конференции JavaScript Frameworks Day 2013. На видео ниже просто набор отрывков из него, желающим посмотреть полностью — сюда.

Всего голосов 324: ↑272 и ↓52+220
Комментарии133

Sublime Text Vintage Mode — справочник по горячим клавишам

Время на прочтение3 мин
Количество просмотров50K
Как увидел Vintage Mode в действии сразу захотелось научиться им владеть. Как раз к этому времени я прошел курс Соло + VerseQ для слепого печатания на английском. Связка с Vintage Mode, мне казалось, будет очень эффективной для верстки, и я не ошибся.

image Для тех кто не знает Vintage Mode (Insert Mode в VIM) плагин для Sublime Text, который идет в комплекте с редактором. Взят он из редактора VIM, и многие думают, что пользу он может принести только бывшим пользователям Vim, но это ошибочное мнение. По умолчанию плагин деактивирован, как активировать объяснять не буду инструкция есть здесь. Скажу только что для входа в режим Vintage используется клавиша i, а для выхода ESC. По моему это крайне неудобно. Я воспользовался советом из оффициальной документации и теперь вхожу в Vintage Mode два раза нажав клавишу i. Подробности тут.

Вроде все отлично осталось только узнать список команд для каждой клавиши, немного понервничать, привыкнуть и готово. Но в официальной документации информации по клавишам нет, они обосновывают это тем, что клавиши те же что и в редакторе Vim. Но различия есть и их немало, документации на русском вообще нет ни по одному из редакторов (именно по Hotkeys Vintage Mode).
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии24

Перевод AirBnB Style Guide

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


У нас, как и у всех, изначально в разработке использовались стандарты написания кода, но на деле они ограничивались примерно таким:

— В кэмелкейсе пишем?
— Да, как обычно, в кэмелкейсе
… прошло две недели…
— Мы ж в кэмелкейсе договаривались!!!


В нашем случае не было разве, что последней фразы.
Уже давно хотелось как-то это систематизировать, но никак не доходили руки до выбора между стилями от jQuery, Google, ideomatic.js и Crockford.

Когда месяц с небольшим назад в trending гитхаба попало руководство от AirBnB, оно тут же попалось нам на глаза…
А неделю назад мы его перевели, в первую очередь для собственных нужд, но не поделиться с сообществом не могли.

Прочитать крайне советую как минимум всем начинающим js-разработчикам.

Читать дальше →
Всего голосов 77: ↑66 и ↓11+55
Комментарии92

Несколько JavaScript хаков для хипстеров

Время на прочтение3 мин
Количество просмотров55K
image
JavaScript занимательный язык программирования.

Постоянные опасения совершить ошибки в коде заставляют все время думать. Навыки программирования улучшаются из-за того, что приходится постоянно выполнять код в уме, другого способа нет.

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

Я подобрал для вас несколько интересных сниппетов, которые радуют меня самого, и которые я сам использую вместо скучного кода, занимающего много места. Некоторые из них делают код короче, другие четче и яснее. Еще парочка — это хаки для отладки.

Все это я узнал, изучая проекты с исходным кодом, но здесь я пишу так, как будто бы это я их придумал.
Читать дальше →
Всего голосов 217: ↑131 и ↓86+45
Комментарии128

Лямбда-функции и замыкания

Время на прочтение3 мин
Количество просмотров69K
imageКонечно многие из нас знакомы с этим понятием, однако данная статья рассчитана на новичков. В данном посте постараюсь рассмотреть данный феномен и привести примеры использования.
Читать дальше →
Всего голосов 55: ↑28 и ↓27+1
Комментарии58

PickMeUp — хороший jQuery datepicker plugin

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

Проблема


Начиная работу над очередным сайтом понадобился datepicker. Самый известный такой datepicker — в jQuery UI, но так как jQuery UI в проекте не использовался — тянуть даже его часть не хотелось, принялся за поиски достойной альтернативы.

Требования следующие:
  • Выбор даты, нескольких дат, интервала
  • Простота настройки внешнего вида
  • Желательно без каких-либо зависимостей кроме jQuery

Требования вполне логичные, ничего сверх естественного.
Каково было мое удивление, когда просмотрев десятка два плагинов я не нашел подходящего.

Для любопытных — сразу демо того, что получилось в результате.
Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии52

FireBug* Console API

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

Введение


Firebug добавляет глобальную переменную с именем «console» к каждой веб-странице, загруженной в Firefox. Этот объект содержит много методов, которые возволят Вам писать на консоль Firebug и показывать информацию, проходящую через скрипты.
firebug.ru

К нашему счастью, не только firebug обладает данным функционалом:
  • Chrome Javascript console — практически точный аналог
  • Opera Dragonfly console — функционал реализован частично
  • Firefox Web console — функционал реализован частично

Эта статья — мануал по Console API.
Примеры даны из chromeChrome 28.0.1500.72 m, firebugFirebug 1.11.3, firefoxFirefox 22.0, operaOpera 12.15 (версия до ухода с presto)
Читать дальше →
Всего голосов 63: ↑63 и ↓0+63
Комментарии23

Оформление кода, оптимизация процесса проверки качества кода

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

JavaScript, the winning style



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

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

В отличие от Питона у которого есть единый свод правил «Style Guide for Python Code», у языка JavaScript такого нет. Однако на выбор есть целых 6 популярных гайдов:



Помимо гайдов, не стоит так же забывать об автоматических анализаторах кода, таких, например, как JSLint и JSHint. И в них уже заложены свои настройки. Вопрос в том, какой же все-таки максимально правильный способ писать код на JavaScript, который был бы актуален и максимально соответствовал бы большинству рекомендаций? Давайте попробуем объединить большинство рекомендаций в этой статье и подумаем как можно оптимизировать процесс проверки качества кода.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии61

Введение в анализ сложности алгоритмов (часть 1)

Время на прочтение10 мин
Количество просмотров385K
От переводчика: данный текст даётся с незначительными сокращениями по причине местами излишней «разжёванности» материала. Автор абсолютно справедливо предупреждает, что отдельные темы покажутся чересчур простыми или общеизвестными. Тем не менее, лично мне этот текст помог упорядочить имеющиеся знания по анализу сложности алгоритмов. Надеюсь, что он будет полезен и кому-то ещё.
Из-за большого объёма оригинальной статьи я разбила её на части, которых в общей сложности будет четыре.
Я (как всегда) буду крайне признательна за любые замечания в личку по улучшению качества перевода.


Введение


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

Тем не менее, знание теории тоже имеет свои преимущества и может оказаться весьма полезным. В этой статье, предназначенной для программистов, которые являются хорошими практиками, но имеют слабое представление о теории, я представлю один из наиболее прагматичных программистских инструментов: нотацию «большое О» и анализ сложности алгоритмов. Как человек, который работал как в области академической науки, так и над созданием коммерческого ПО, я считаю эти инструменты по-настоящему полезными на практике. Надеюсь, что после прочтения этой статьи вы сможете применить их к собственному коду, чтобы сделать его ещё лучше. Также этот пост принесёт с собой понимание таких общих терминов, используемых теоретиками информатики, как «большое О», «асимптотическое поведение», «анализ наиболее неблагоприятного случая» и т.п.
Читать дальше →
Всего голосов 106: ↑98 и ↓8+90
Комментарии27

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность