Search
Write a publication
Pull to refresh
22
0
Назар Кузьменко @Leestex

User

Send message

Нужно ли с наступлением Нового года обновлять дату в подвале сайта?

Reading time2 min
Views41K
Через несколько часов наступит Новый год, и многие хабралюди будут стараться как можно скорее обновить у себя на сайте дату в разделе «копирайта». Но правильно ли обновлять ее сразу с наступлением Нового года?

Раздел «копирайта», который обычно расположен в подвале сайта, официально называется «знаком охраны авторского права». Правилам его использования посвящена статья 1271 ГК РФ, а также целый ГОСТ Р 7.0.1-2003. Согласно этому стандарту знак «состоит из латинской буквы „C“ в окружности, наименования объекта защиты права, имени правообладателя и цифрового обозначения года первого опубликования произведения».

Таким образом:
Дата в разделе «копирайта» обозначает НЕ время существования сайта, а время публикации размещенных на нем материалов.
Когда все материалы сайта опубликованы в один год, знак имеет стандартный вид (такой же как, например, в бумажных книгах):
Василий Пупкин, 2013
Когда же разные материалы опубликованы в разные годы, можно либо использовать на каждой странице сайта свою дату, либо использовать диапазон дат:
Василий Пупкин, 2008–2013
Но, в любом случае, это именно даты публикации материалов. Поэтому, если после наступления Нового года на сайте еще не появилось новых материалов, обновлять дату — неправильно.

Если же обновить ее ну очень хочется, можно поздравить читателей c Новым годом — на сайте появится новый материал, ...и полное основание, наконец, поставить заветную циферку.
Посмотреть список литературы

Несколько полезностей по работе с NPM

Reading time2 min
Views90K
image

NPM — пакетный менеджер для node.js, аналог GEM в RoR. В статье несколько советов по его использованию.

Установка пакетов


Все знают
# Устанавливает пакет express
npm install express

Какие варианты еще есть?
Читать дальше →

250 строк кода, распознающих дату на русском языке

Reading time2 min
Views47K
Около года назад мне понадобилось распознавать даты в тексте, который вводят пользователи. Пришлось немного разобраться в регулярных выражениях и написать функцию, на вход которой поступает текстовая строка, а в результате получается распознанная дата.



Пример и код в jsFiddle.
Читать дальше →

Пишем плагин для CKEditor 4

Reading time8 min
Views25K
CKEditor — это WYSIWYG редактор HTML-кода для браузеров. Всякий раз, сталкиваясь с его документацией или же с его исходным кодом, с исходным кодом его плагинов я терялся. И это не мудрено, ведь CKEditor это очень большой продукт, имеющий довольно сложную инфраструктуру. Но, зачастую, стандартных возможностей не хватает и требуется добавить свою. В этой статье я хотел бы остановиться на плагине, который позволяет встраивать и оперировать в редакторе Yandex-картами.

Вот так это будет выглядеть по окончанию редактирования:


А вот так в режиме редактирования:
Читать дальше →

Coin – мультикарта

Reading time3 min
Views19K
«Лилу Даллас, мультипасс». (х/ф «Пятый элемент»)


Недавно в интернете был представлен стартап – мультикарта Coin. Главное её назначение, по мысли создателей, – заменить в ваших кошельках и портмоне все другие карты с магнитной полосой. Будь то банковские карты, карты лояльности или членства в тайном обществе.

Coin – это электронное устройство с беспроводным интерфейсом для соединения с вашим смартфоном. Также в комплекте идёт считыватель для магнитной полосы, подключающийся к смартфону. С помощью считывателя и фотокамеры смартфона вы переводите свою настоящую карту в виртуальную форму.
Посмотрите рекламный ролик создателей, Coin, Inc.:


Копию можно взять с собой, а оригинал оставить дома. Только всегда ли?
Давайте разберёмся.

Учимся писать в информационном стиле

Reading time2 min
Views106K
По работе я пишу тексты: посты на хабр, email-рассылку, статьи в СМИ. Пишу уже пару лет, последние полгода не меньше двух текстов в неделю. Значительным шагом в развитии моего навыка письма было открытие для себя информационного стиля и советов Максима Ильяхова.

Цель текста в информационном стиле — донести информацию до читателя. Информационный стиль: лаконичный, однозначный, точный и объективный. В информационных текстах нет лишних слов, эмоций, личного мнения. Они читаются легко и быстро.

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

В какой-то момент мне стало сложно искать эти слова в текстах, поэтому я создал себе в помощь Test The Text. Test The Text выделяет в тексте слова нехарактерные для информационного стиля и объясняет почему.


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

9-я Хабравстреча в Киеве

Reading time2 min
Views8.2K
image

С первым снегом как-то сразу четко и ясно стало, что лето уже далеко позади. В Киеве снега еще не было, но последние прогнозы погоды все чаще наводят на мысль распланировать походы по увеселительным заведениям IT-мероприятиям. Всё же теплее и интереснее, чем на улице.

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

Зря недоброжелатели пускали слухи, что Хабравстречи отменили, и они теперь вне закона. Причина столь долгого, почти полугодового таймаута банальна: прежний организатор Дима а.к.а. Alliceinwonders пока не готов единолично заниматься организационной работой в связи с полной личной занятостью в своих проектах. Что вполне закономерно для некоммерческого мероприятия. В любом случае, львиную долю благодарности за все предыдущие 8 Хабравстреч следует высказать именно ему. И компании М.У.К., которая постоянно помогала нам в технических вопросах.

На первый раз после столь длительного перерыва формат решили не менять, чтобы всем было привычнее. То же место, тот же день недели, то же время. Регламент тот же.
Итак,

Как мы делали сервис на WebRTC

Reading time5 min
Views49K


Статей про WebRTC уже достаточно много и в интернетах, и на Хабре (здесь и здесь), повторять их ещё раз не имеет особого смысла, поэтому тут приведем наш личный опыт и впечатления, полученные при разработке live.pics.io.

Идея



Live.pics.io позволяет создавать приватные сессии для совместного просмотра и обсуждения изображений голосом. Это могут быть любые изображения: от фотографий, до макетов дизайна и презентаций. Pазрабатывая pics.io, мы достаточно хорошо научились работать с разными raw форматами в браузере, поэтому можно не заморачиваться с конвертацией и закидывать фотографии сразу после съемки (будут рады владельцы Canon’ов и Nikon’ов, остальные камеры пока требуют конвертации в DNG).

Очень коротко о webRTC


На самом деле, использовать WebRTC — это практически то же самое, что использовать сокеты. Но немного по-другому (совсем чуть-чуть). Нам нужно передавать изображение и звук. Берем RTCPeerConnection для соединения между пирами, MediaStream для трансляции аудио и RTCDataChannel для передачи изображений. Еще, для того, чтобы все это заработало, понадобится небольшой серверсайд для соединения пиров и передачи управляющих инструкций. Но об этом чуть позже.

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

Искусственный интеллект под Android с открытым API

Reading time7 min
Views192K

Только ленивый не знает сегодня о том, что такое голосовой помощник Siri. Когда два года назад этот продукт был показан на презентации нового iPhone 4S, многие посмотрели на развитие IT-индустрии по-новому. Действительно, искусственный интеллект в кармане, понимающий естественную речь, еще не показывал никто.

Многие в то время начали говорить о том, что Apple может уже на следующем WWDC предоставить всем программистам под iOS возможность использовать открытое API ассистента Siri для своих собственных программ. Картина вырисовывалась радужной — любое приложение смогло бы реагировать на пользовательские фразы, исполняя различные команды. Действительно, если в магазине AppStore так много разных полезных приложений, почему бы им не дать возможность управления голосом? Тем более что такой вид коммуникации с пользователем, как речь, быстро стал трендовым после выхода iPhone 4s.

О том, удалось ли это сделать Apple, и что удалось сделать нам, читайте далее.

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

jBone. Замена jQuery для Backbone или 2kb для DOM манипуляций

Reading time3 min
Views12K
NPM version

jBoneПриветствую всех.

jBone — микро библиотека (2кб gzipped) для работы с DOM в современных браузерах. Она частично имплементирует интерфейсы jQuery для основных методов необходимых для корректной работы Backbone, но может использоваться и независимо.

Проблема


jBone родился при решении конкретной задачи — разработки мобильного приложения. Основными требованиями были отзывчивость UI и скорость загрузки приложения. Очень скоро стало ясно, что почти половину всего кода у нас занимает jQuery, причем решались с помощью него очень простые задачи.
Читать дальше →

Sprite Lamp: динамическое освещение 2D-объектов

Reading time2 min
Views67K
Австралийский разработчик indie-игр Финн Морган (Finn Morgan) разработал очень интересную и полезную технологию для динамической подсветки 2D-спрайтов Sprite Lamp. Изюминкой этой программы является то, что для подсветки объекта с произвольной точки не требуется построение 3D-модели.



Скоро каждый сможет использовать Sprite Lamp в своих играх.
Читать дальше →

Постмортем: как умудриться совершить 14 ошибок, разработав одну социальную игру

Reading time9 min
Views73K
В феврале 2012 года было принято решение сделать компьютерную игру самостоятельно. Исходя из смешанного опыта, замахиваться на величайшие вершины геймдева я не стал, сконцентрировавшись на достижимых целях: небольшая социальная игра на паре крупнейших российских платформ. Все условия этому способствовали: желание разрабатывать игры, опыт ведения проекта от идеи до релиза и поддержки, знание специфики социалок, опыт работы с инвесторами, хорошие знакомые, у которых всегда можно спросить если и не помощи, то хотя бы совета.

image

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

КДПВ: текущее распределение проектов в геймдеве, одна Белоснежка и семь гномов.
Читать дальше →

FileAPI 2.0: Загрузка файлов на сервер год спустя

Reading time11 min
Views70K
FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
Читать дальше →

Переговоры с клиентами: 6 приемов из практики web-студии

Reading time3 min
Views18K
image

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

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

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

Reading time3 min
Views61K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Browserhacks



Название говорит самое за себя. Данный ресурс — хранилище всевозможных хаков к существующим браузерам. Увидев этот сайт, сам Paul Irish мудро произнес: "Holy shit amazing".

5 замечательных изобретений от David DeSandro (Twitter, H5BP)


Masonry — в переводе «каменная кладка» — идеальное решение для создания Grid Layout. Качественная «замена» для неутвержденной Flexbox спецификации. Простой синтаксис дает возможность без труда создавать Pinterest/Surfingbird подобные макеты. Существует на нативном JavaSciprt и как jQuery плагин.

Isotope — «изысканный jQuery плагин для магических лэйаутов. Позволяет с легкостью фильтровать, сортировать и придавать динамичность макету».

imagesLoaded.js — определяет когда изображения были загружены. Включает в себя 4 события: always, done, fail, progress. Простой в использовании.

Draggabilly — аналог jQuery UI Draggable на нативном JavaScript в лучших традициях автора кода. Работает с touch интерфейсом.
Close Pixelate — «пикселизация» изображений в Canvas аля потаённые места в некоторых работах жанра НЮ.

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

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

Reading time3 min
Views29K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

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"],
});

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

Установка «Redmine» на «Linux Ubuntu» с прозрачной аутентификацией в домене (Apache, Passenger, RVM, MySQL)

Reading time7 min
Views80K
Данным постом хотелось бы начать цикл статей о том, как мы адаптировали под свои нужды трекер задач «Redmine».

Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!

Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».
Читать дальше →

Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения

Reading time4 min
Views139K
WebRTC

WebRTC позволяет реализовать real-time аудио/видео связь через браузер (firefox и chrome).

В этом топике я расскажу как реализовать простейшее WebRTC приложение.
Читать дальше →

О пользе сегментирования клиентов web студии

Reading time4 min
Views8.4K
В этом материале хочу поделиться нашим опытом в сегментации клиентов. Эту штуку мы провернули года два тому назад, и надо сказать, не только облегчили себе жизнь, но повысили эффективность работы с клиентами.

Каждый раз при найме при найме новых менеджеров по продажам и проект-менеджеров приходилось очень подробно и много рассказывать о том какие бывают клиенты, об особенностях работы с тем или иным сегментом и т. д. Так как эта информация была не систематизирована, у нас часто возникали сложности с ее передачей и с тем, как новички ее осваивали. Бывало такое, что новые сотрудники попадали в ситуации, которых можно было избежать, если бы ребята хорошо освоили все нюансы работы с тем или иным типом заказчиков. И наоборот, иногда упускали возможности более успешного развития отношений с клиентом, не используя правильный подход к данной группе клиентов.

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

Квадрокоптер за вечер не считая доставки

Reading time3 min
Views66K
Идея о постройке квадрокоптера обуревала меня уже год назад. Но как обычно бывает (по крайней мере у меня) идея-фикс, которую не можешь никак выгнать из головы улетучивается, стоит только переждать пару дней. Таких приступов с летающей техникой у меня было несколько. И последний из них был вызван этим постом.
Прочитав пост и комментарии я всё-таки решился на покупку комплектующих. Дело было поздно вечером, а точнее уже рано ночью (я решил, что запал на следующий день уже может пройти и мне будет жалко отдать 400$) и я забыл заказать пару мелочей, которые на следующий день дозаказал второй посылкой (которая, кстати, пришла раньше основной). И начались 20 дней ожидания.
Ещё во время ожидания посылки решил, что сделаю первую раму на скорую руку, т.к скорее всего всё равно разобью её. Идея была в простейшей раме — алюминиевые квадратные трубы и стеклотекстолит по центру.
И вот пришла большая посылка с кучей деталей.
Читать дальше →

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity