Search
Write a publication
Pull to refresh
180
0
spmbt @spmbt

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

Send message

Как создать блог на github.io, используя CMS Ghost

Reading time2 min
Views23K


Github предоставляет всем своим пользователям создать статический блог в домене github.io. При это предлагает использовать Jekyll. Но сегодня мы поговорим о том, как сделать блог на гитхабе с cms ghost.
Читать дальше →

Автоматизированный шаблон для front-end проектов

Reading time4 min
Views30K


Человек изобрел компьютеры, чтобы они выполняли за нас большую часть повторяющихся задач. Это позволяет нам экономить много времени и использовать его с максимальной пользой. И, так как эта статья о front-end разработке, в этой области таких задач много: компиляция css- и js-препроцессоров, сборка спрайтов, оптимизация изображений, минификация файлов и др.
Познать дзен

Глобальное проникновение интернета, где больше всего используют Тор и почему Россия такая бедная: несколько любопытных инфографик о мировой сети

Reading time4 min
Views95K
На сайте Оксфордского института интернета можно найти солидную коллекцию визуализаций данных об интернете, составленную институтом за последние три года.



Для этого поста я выбрал:

— статистику проникновения интернета по странам,
— глобальную статистику использования Тора,
— статистику активности программистов (на основе распределения пользователей и коммитов Гитхаба),
— схему магистральных кабелей интернета,
— статистику запросов и удалений данных в интернете,
— представления пользователей интернета о разных странах.
Читать дальше →

Знакомство с Koa или coroutine в nodejs

Reading time5 min
Views34K

Предисловие


Меня уже очень давно привлекает javascript в качестве единого языка для веб-разработки, но до недавнего времени все мои изыскания оканчивались чтением документации nodejs и статей о том, что это callback`овый ад, что разработка на нем приносит лишь боль и страдания. Пока не обнаружил, что в harmony появился оператор yield, после чего я наткнулся на koa, и пошло поехало.
Читать дальше →

Букмарклет: разбор существенных моментов, часть третья, резервная

Reading time3 min
Views2.9K
В продолжение двух предыдущих публикаций про первую инициирующую и вторую подгружаемую части букмарклета, для полноты картины, рассмотрим и третью резервную часть букмарклета.

Напомним, вкратце логику работы «навороченного» букмарклета:
  1. Кликом по сохраненной в закладках браузера ссылке, вызывается на выполнение небольшой (до 2000 символов) javscript-код, основная задача которого организовать загрузку javascript-кода выполняющего основную работу букмарклета
  2. Основная часть букмарклета после загрузки выполнят всю работу.
  3. Если основную часть букмарклета невозможно подгрузить – основную часть работы, выполняет резервная часть букмарклета, как правило, в урезанном виде.

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

Ractive.js — бриллиантовый век web-разработки

Reading time12 min
Views51K
Как утверждает сама команда разработчиков, Ractive.js — это библиотека для разработки динамичных web интерфейсов, благодаря которой в мире web-разработки наступит расцвет: всем выдадут бонусы в 100%, холивары «кто круче» отступят в сторону, а разработчики, которые пишут интерактивные, динамичные сайты наконец то перестанут покрываться сединой и материться.

Короче, наступит бриллиантовый век веб-разработки.

Начиная очередной проект, прежде чем начать писать Backbone код (фу-фу-фу), решил применить это чудо в проекте (бриллианты!). А так как погуглив похабрив я понял, что на хабре всего одна статья о Ractive.js, нужно устранить эту несправедливость и заодно написать о том, правда ли нам всем свалится вагон счастья и будет ли вообще кто-то доволен. Ведь пообещать «диамантовый век» — это одно (каждые 4 года из телеков слышим), а сделать — совсем другое.

Под катом рассмотрю, что такое и как работает Ractive.js, и подробно распишу продакшн задачу с полной реализацией и описанием, чем это всё грозит уже всем нам.
Читать дальше →

Параллакс на чистом CSS

Reading time4 min
Views168K
В этой статье показывается, как с помощью CSS трансформаций и махинаций с 3d сделать параллакс-эффект на сайте на чистом CSS.

Параллакс почти всегда создаётся с помощью JavaScript и, чаще всего, получается ресурсоёмким, из-за вешания листенеров на событие скролла, модификации DOM напрямую и срабатывания ненужных перерисовок и перестановок. Всё это происходит асинхронно с потоком, в котором браузер рендерит страницу, из-за чего скролл начинает подтормаживать, а картинка рваться на части. Более правильные реализации параллакса отслеживают скролл и используют отложенные обновления DOM с помощью requestAnimationFrame. Получается качественной другой результат, но почему бы вообще не избавиться от JavaScript?
Читать дальше →

Несколько интересностей и полезностей от веб-разработчика *

Reading time12 min
Views44K
* Надеюсь, ilusha_sergeevich не обвинит меня в плагиате.
Если что, пост переименую.

[Тут была картинка для привлечения внимания]



Всем привет! За время работы постепенно накапливаются наработки, которыми можно было бы поделиться с сообществом. Но ни одна из этих наработок не тянет на большой полноценный пост. Поэтому я собрал все мелочи, что вспомнил, в одной статье: несколько простых опен-сорц проектов, пара советов и находок. Каждый из предложенных скриптов в этой статье поставляется как есть, под лицензией WTFPL (кроме Балалайки). С радостью приму пулл реквесты с исправлением багов или изменениями в README.


donut.js — микро-библиотека, рисующая бубликовые (donut) и круговые диаграммы


image
Во время работы над очередным проектом, появилась задача нарисовать много информативных бубликов на карте мира, и не просто нарисовать, а еще и поддержать ИЕ8, который, как известно, не умет SVG, а только безобразный VML. Первое, что приходит в голову, это Raphael. Порывшись некоторое время, я нашел это решение. К сожалению, автор проявил изобретательность простым хаком: на круговой диаграмме (pie chart) он нарисовал белый круг. Это решение не подошло, так как дырка бублика должна быть прозрачной. Изучение возможности рисования при помощи Raphael таких диаграмм мне показалось чересчур трудоёмким. Остальные скрипты на просторах интернета мне так же не подошли. Пришлось писать свой костыль, взяв за основу математику рисования арок этого проекта. Арки для VML версии нарисованы используя элемент arc.
var myDonutDiv = donut(options);

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

CUBE Talk 9X — обзор 9.7-дюймового планшета с 3G/GPS

Reading time9 min
Views41K
Тот факт, что китайские производители активно копируют устройства А-брендов уже давно ни у кого не вызывает удивления. По максимуму от Apple, часть у Samsung, а вот эту фишку возьмем у ASUS и приправим это все операционной системой от Google. Но пока одна часть людей возмущается такими поступками, всякий раз высказывая свое мнение в комментариях, другая вовсю эксплуатирует приятные по соотношению цена/качество устройства. Сегодня мы посмотрим на планшет от уже зарекомендовавшего себя китайского бренда Cube.


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

Сравнительный обзор Android-браузеров

Reading time7 min
Views318K


Привет, Хабр. Мы подготовили для вас сравнительный обзор 10 браузеров под Android, оцениваемых по функциональности, производительности, дизайну. Уместно отметить, что мобильных браузеров гораздо больше десяти. Их слишком много, чтобы сделать полноценный Топ 2014 года в масштабах одной публикации. Вместо того, чтобы полагаться только на популярность (или скорость работы), в шорт-лист вошли приложения, который представляет весь спектр реализуемых в мобильных браузерах технологий, включая новичков, ещё не собравших большую аудиторию пользователей (по материалам статьи The best Android browsers, 2014 edition: design, features, and performance)
Читать дальше →

Делаем backup Google или паранойя по поводу санкций. Owncloud и другие открытые решения

Reading time4 min
Views110K


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

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

Лучшие интересности и полезности за год

Reading time8 min
Views65K
Доброго времени суток, уважаемые хабравчане. Сегодня я хочу поделиться с вами одним небольшим событием — ровно год назад, 15 августа 2013 года я опубликовал свой первый дайджест для веб-разработчиков. С тех пор было опубликовано 25 выпусков и мои подборки обрели некоторую «популярность», а мне приятно ощущать себя «полезным» для хабраобщества.

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

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

Dalek.js — простое функциональное тестирование веб-приложений

Reading time2 min
Views23K
Вы знаете, что такое Selenium и/или PhantomJS? И с чем их едят? Тогда, возможно, вам будет интересен проект Dalek.js — кроссбраузерная утилита для тестирования веб-приложений.

Dalek.js позволяет писать тесты, которые ходят по веб-страничкам, щелкают ссылки, заполняют формы, отправляют данные и делают скриншоты. То же самое и даже больше делают тесты, написанные с использованием Selenium'а или Phantom.js, в чем подвох?

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

Веб-дизайн, inkscape и все-все-все, часть 1

Reading time4 min
Views36K
Есть для дизайна специальные программы как Sketch, но они есть только на маках (а у меня их нет) и занимаются только дизайном, хотя судя по обзорам делают это хорошо (unix-way как-никак). А есть фотошопы, гимпы и прочие корелы, которые используют не по назначению, об одном из таких случаев и есть этот топик. Картинка для привлечения внимания (на дизайн не претендую, да и не считаю его лучше того что есть сейчас, просто картинка):


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

TJ Holowaychuk: Прощай Node.js

Reading time5 min
Views54K
Примечание от переводчика:

Я решил перевести эту статью в основном из-за личности автора. TJ вложил очень много усилий в развитие Node.js и его инфраструктуры, он автор таких проектов как express, jade, mocha, stylus, автор 550 репозиториев на npm. Существуют также теория, что под этим именем скрывается группа людей.

Как бы то ни было, JavaScript и Go сообщества в ближайшие время ожидают изменения.

Покидая страну Node.js


Я сражался с Node.js достаточно долго, что бы перестать получать от этого удовольствие, это мое официальное прощание! И, что еще важнее, я ищу людей, которые смогут поддерживать мои проекты!

Node отлично справляется с некоторыми вещами, но, к сожалению, это не самый подходящий инструмент для того, что мне сейчас интересно. Я все еще планирую использовать его для сайтов, но если вы хотели бы заняться поддержкой одного из моих проектов, дайте мне знать. Просто оставьте комментарий с вашим именем на Github, ссылкой на npm и названием проекта. Как обычно я прошу не делать больших изменений в существующих API: создать новый проект будет проще.

Я также продолжу поддерживать Koa.

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

В Openstat стали доступны мета-счетчики и мета-анализ

Reading time4 min
Views3.5K
На днях Openstat втихаря выкатил новую функцию, которая официально называется «Группировка счетчиков».

Скажу сразу, я был несколько против такого названия, но прогнулся под аргументами других участников этой разработки. Меж тем, внутри компании мы по-прежнему продолжаем называть этот инструмент «мета-счетчиком», поэтому позвольте мне иногда использовать в своей заметке и такое название.

Теперь к сути… что такое мета-счетчик? В нашем случае это статистика и аналитика, получаемая на основе данных, поступающих не с одного, а сразу с нескольких счетчиков.

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

Нисходящий парсер с операторным предшествованием

Reading time17 min
Views13K
Дуглас Крокфорд

2007-02-21

Введение


В 1973 году на первом ежегодном симпозиуме «Принципы языков программирования» (Principles of Programming Languages Symposium) Вон Пратт представил статью «Нисходящий парсер с операторным предшествованием» (Top Down Operator Precedence). В этой статье Пратт описал метод синтаксического разбора, который объединяет лучшие стороны рекурсивного спуска и метода операторного предшествования Флойда. Метод Пратта очень похож на рекурсивный спуск, но требует меньше кода и работает гораздо быстрее. Пратт заявил, что его метод прост в освоении, реализации и использовании, необычайно эффективен и очень гибок. Благодаря своей динамичности он может использоваться для расширяемых языков.

Но если метод действительно безупречен, почему же разработчики компиляторов по сей день его игнорируют? В своей статье Пратт предположил, что БНФ-грамматики и их многочисленные модификации, а также связанные с ними теоремы и автоматы заняли нишу раньше и теперь препятствуют развитию теории синтаксического анализа в других направлениях.

Есть и другое объяснение: этот метод наиболее эффективен для динамических, функциональных языков программирования и использовать его в статическом, процедурном языке куда сложнее. Свою статью Пратт иллюстрирует на примере Lisp и играючи строит синтаксические деревья по потоку лексем. Но методы синтаксического разбора не особо ценятся в сообществе Lisp-программистов, которые проповедуют спартанский отказ от синтаксиса. С момента создания Lisp предпринималось немало попыток придать этому языку богатый синтаксис в стиле ALGOL: CGOL Пратта, Lisp-2, MLISP, Dylan, Interlisp's Clisp, оригинальные М-выражения Маккарти и так далее. Но все они провалились. Для Lisp-сообщества согласованность программ и данных оказалась важнее выразительного синтаксиса. С другой стороны, подавляющее большинство программистов любит синтаксис, поэтому сам Lisp так и не стал популярен. Методу Пратта нужен динамический язык, но сообщество динамических языков исторически не пользовалось синтаксисом, который так удобно реализуется методом Пратта.
Читать дальше →

Пульс Хабра

Reading time5 min
Views25K
callidus77: Помница в нашей сетке монтажники подключали абонента. Пришли, воткнули сетевуху, а у него Фря и дров нету. Почесали головы и ушли. Чел через три недели наконец-то коннектится.
Грят: «Долго ж ты искал дрова.»
Он: «Я не искал. Я их сам написал.» Баш

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


Под катом мы разберемся с основными инструментами ресурса и потенциальной возможностью применения. Весь инструментарий доступен по адресу http://www.habr-analytics.com, исходный код (основные функции) на github. За примерами и деталями — добро пожаловать под кат!

Структура статьи
  1. Пульс Хабра
  2. Монитор статей
  3. Анализ пользователей
  4. Пересечение хабов — диаграммы Венна
  5. Аудитория хабов
  6. Исходный код и структура проекта
  7. Заключение


*Осторожно трафик*

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

Яндекс и безопасность. Как мы изучали и обезвреживали обёртки (агрессивные adware)

Reading time5 min
Views55K
В последнее время в нашу службу поддержки стали больше жаловаться на сомнительную рекламу и всплывающие окна на главной странице Яндекса. Люди сообщали, что нежелательная реклама преследует их и на других популярных ресурсах и в социальных сетях (Mail.ru, Вконтакте и т.п.). Команда безопасного поиска Яндекса решила разобраться в чём же дело.



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

Запуск Internet Explorer Developer Channel

Reading time3 min
Views11K
Несколько недель назад (впервые, на конференции DevCon 2014) мы говорили о том, что стремимся к построению более открытого диалога между командой Internet Explorer и сообществом разработчиков. Сегодня мы представляем Internet Explorer Developer Channel, полнофункциональный браузер, созданный для того, чтобы дать разработчикам оценить функциональность и новые возможности браузера, над которыми работает команда Internet Explorer.



IE Developer Channel доступен для загрузки с Microsoft Download Center для Windows 8.1 и Windows 7 SP1 с Internet Explorer 11.

IE Developer Channel может работать независимо от IE11. В нем присутствуют все возможности текущей версии Internet Explorer и некоторые новые функции, над внедрением которых мы работаем в настоящий момент. Оцените новые возможности и расскажите, что вы о них думаете в Twitter @IEDevChat или в Connect.

Улучшения инструментов F12, тесты и новый API

Information

Rating
Does not participate
Location
Россия
Registered
Activity