Как стать автором
Обновить
-25
0

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

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

Десктопные приложения на JavaScript. Часть 1

Время на прочтение6 мин
Количество просмотров158K
Ни для кого не секрет, что в наше время JavaScript стал одним из самых популярных языков программирования. В далекие 90е годы, в момент зарождения языка, когда он был создан с единственной целью добавить интерактивность веб страницам и улучшить процесс взаимодействия с пользователем, кто бы мог подумать, что он достигнет столь небывалых высот. Ведь сейчас на нем можно делать практически все что угодно. Хотите написать сайт: и бэкэнд и фронтэнд на JavaScript? пожалуйста! Хотите написать мобильное приложение на JavaScript? нет проблем. Программируете микроконтроллер – и тут вам на помощь придет JavaScript.

Есть конечно небольшие минусы в подходе использования JavaScript везде, но если поразмыслить, то сколько времени и сил можно сэкономить, изучив всего лишь одни язык, особенно, если то же самое приложение должно работать на разных платформах. Разных платформах говорите? Хм… Точно – разных платформах – теперь JS может позволить себе десктопные приложения для Windows, Linux, Mac, как спросите вы? Ответ прост: встречайте – NW.js.

По первым буквам можно прочитать – Node.js + Webkit, если данные понятия вам пока не знакомы, то скоро вы поймете о чем идет речь.

Node.js – программная платформа, основанная на движке V8, который транслирует наш скрипт в машинный код. Данная платформа была создана в 2009 году преимущественно для работы с бэкэндом сайтов.

WebKit — свободный движок, разработанный компанией Apple. Впервые был анонсирован в составе Safari в 2003 году
Итак, коду, написанному на JS для данной технологии, будут доступны как Node.js модули, так и стандартный браузерный API (соответственно WebKit)
Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии24

Air Datepicker, легкий и красивый выбор даты

Время на прочтение5 мин
Количество просмотров106K
Хочу поделиться с вами опытом написания компонента выбора даты для текстового поля.


Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии35

Учебное пособие по Nim (часть 2)

Время на прочтение19 мин
Количество просмотров7.2K
Примечание от переводчика
Первая часть находится здесь: «Учебное пособие по Nim (часть 1)»

Перевод делался для себя, то есть коряво и на скорую руку. Формулировки некоторых фраз приходилось рожать в страшных муках, чтобы они хоть отдалённо были похожи на русский язык. Кто знает, как написать лучше — пишите в личку, буду править.


Введение


«Повторение придаёт нелепости вид благоразумия.» – Норман Вайлдбергер

(в оригинале: "Repetition renders the ridiculous reasonable." – Norman Wildberger)

Этот документ является учебным пособием по сложным конструкциям языка Nim. Помните, что этот документ в чём-то устарел, а в руководстве есть гораздо больше актуальных примеров по сложным особенностям языка.

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

PHP-Дайджест № 71 – интересные новости, материалы и инструменты (21 сентября – 5 октября 2015)

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


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

Под катом, как всегда, вас ждет подборка со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии4

Actor Open Messaging Platform от разработчика Telegram

Время на прочтение1 мин
Количество просмотров19K
Всем привет!

Наша команда недавно выпустила небольшой продукт — открытую платформу для создания мессенджеров — Actor Messaging Platform.



Всего за несколько дней после запуска мы оказались на главной Hacker News (кто из разработчиков не читает — зря), на Reddit и собрали больше 600 звезд на GitHub от разработчиков со всего мира. У нас появилось небольшое сообщество, участники которого помогают друг друге в работе и улучшении продукта. Один из участников уже реализовал несколько важных вещей, необходимые Актору. Например, достаточно высококачественные звонки.
Читать дальше →
Всего голосов 33: ↑24 и ↓9+15
Комментарии67

Система сбора отзывов Cackle Reviews с полнотекстовым поиском

Время на прочтение5 мин
Количество просмотров12K
Всем привет! Не так давно мы реализовали полнотекстовый поиск для системы сбора отзывов Cackle Reviews. Получилось здорово, теперь любой модератор за несколько миллисекунд может найти интересующие его отзывы по слову или предложению с поддержкой стемминга (нечёткого поиска по части слова или его словоформам). Всё это работает на Sphinx — системе полнотекстового поиска.

В интернете есть много статей о Sphinx, но, к сожалению, часть из них устарела, некоторые другие не претендуют на полный и точный how to. Так что в данном посте мы постарались изложить все шаги — установки, настройки, индексации и поддержке дельта индекса.

система отзывов Cackle Reviews с полнотекстовым поиском

Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии14

Знакомство с Nim: пишем консольную 2048

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

Хочется чего-то нового, быстрого, компилируемого, но при этом приятного на ощупь? Добро пожаловать под кат, где мы опробуем язык программирования Nim на реализации очередного клона игры 2048. Никаких браузеров, только хардкор, только командная строка!

В программе:

Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии41

Библиотека, облегчающая разработку форм на сайтах

Время на прочтение7 мин
Количество просмотров30K
Привет, Хабр!

Хочу поделиться с общественностью своей небольшой (всего 6 Кбайт) js-библиотекой, которая сильно облегчает мне работу с формами при разработке сайтов, и позволяет сократить написание кода.
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии18

Сетевой интерфейс для BMW

Время на прочтение6 мин
Количество просмотров31K
В данной статье речь будет о локальной низкоскоростной сети взаимодействия блоков управления автомобиля BMW — I/K-bus. А точнее о том, как с ней могут взаимодействовать приложения из под Linux. На картинках проиллюстрирую созданный мною вариант.

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

Информационно-развлекательная система выполняется на устройствах, в основе которых контроллеры с заложенными программами. Я буду здесь называть эти устройства блоками управления. Каждый такой блок управления несёт свою функциональную нагрузку, будь то поддержание температуры салона, регулировка положения сидений, воспроизведение музыки и видео, навигация и прочее. Весь этот набор блоков управления должен взаимодействовать друг с другом, управляться с места водителя и пассажиров, передавать диагностические данные. Для этой цели и была разработана сеть I-bus. В последствии появилась технически идентичная сеть K-bus и их объединение I/K-bus.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии17

Умный кроп на основе энтропии

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



Но машины все еще не люди, и далеко не всегда будет вырезана нужная область. Старые способы типа вырезать миниатюру 100х100 из левого верхнего угла или из центра отходят на второй план, и на арену выходит смарт-кроп.
Читать дальше →
Всего голосов 47: ↑30 и ↓17+13
Комментарии17

Видео докладов с Golang Moscow

Время на прочтение1 мин
Количество просмотров13K
Готовы видео докладов с митапа Golang Moscow и мы с радостью с вами ими делимся.

1. «Go в Badoo»
Антон einstein_man Поваров




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

(Архив) Вышла первая версия фреймворка Matreshka.js

Время на прочтение7 мин
Количество просмотров25K
image
Репозиторий на Github

Всем привет! Спешу сообщить радостную новость. Наконец, вышла первая (1.0) версия фреймворка Матрешка. В этом посте я расскажу о самых важных изменениях во фреймфорке, о новом сайте и русскоязычной документации.

Напомню, Матрешка — JavaScript фреймворк для создания одностраничных приложений, соблюдающий несколько важных принципов:
  • Никакой логики в HTML
  • Минимум сущностей
  • Произвольная архитектура

Матрешка реализует простой синтаксис двустороннего связывания данных и активно использует акцессоры (геттеры и сеттеры).

this.bindNode( 'x', 'input.my-node' );
this.on( 'change:x', function() {
	alert( this.x );
});
this.x = 'Wow!';

Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии18

Районы… Кварталы…

Время на прочтение3 мин
Количество просмотров37K
Совсем недавно на хабре была статья от AirBnb — «Создавая карту мира». Хорошая и красивая статья про административное деление мира. Один минус — у статьи один комментарий, и то мой.
Пользуясь случаем проведу опрос — хотели ли бы вы такую карту административных делений?
А то она у меня есть:



Вы наверное замечали, что Google.Карты умеют подсвечивать контура городов. С недавнего времени такое есть и на Яндекс.Картах. Мало кто знает, что геометрия есть и на eSosedi.

А вот когда такая возможность появится на вашем сайте — теперь зависит только от тебя %username%.

Для достижения эффекта достаточно зайти на data.esosedi.org или GitHub, ознакомиться с документацией библиотеки osmeRegions и начать использовать.

P.S.: 3 признака того, что год минувший все сделал красиво: 1. Районы 2. Кварталы. 3. Детализация до «Жилые массивы» доступна для некоторых городов.
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии24

В поисках идеального мониторинга

Время на прочтение12 мин
Количество просмотров77K
В этой небольшой статье я хотел бы рассказать о средствах мониторинга, использующихся для анализа работы DWH нашего банка. Статья будет интересна всем, кого не устраивают существующие готовые системы мониторинга и кого посещали мысли собрать таковую «под себя» из отдельных кусочков. Большое внимание в статье уделяется дашборду Grafana, который, по моему мнению, незаслуженно обделён вниманием на Хабре. По большинству компонентов системы мониторинга будет вкратце рассмотрен процесс инсталяции (под RedHat).


Тёплый ламповый дашборд
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии22

Использование Marionette.Region для создания загрузочных представлений

Время на прочтение7 мин
Количество просмотров8.2K
В клиентских приложениях очень часто возникает необходимость как-то визуализировать процесс загрузки данных с сервера. В этой статье я опишу способ, позволяющий добиться такого поведения за счёт повторно используемой области Marionette.Region в MarionetteJS.

Сразу скажу, что мой подход во многом основывается на подходе автора скринкастов на www.backbonerails.com. Это очень хорошая и полезная серия скринкастов не только (и не столько) с точки зрения того, что обсуждается здесь, но и в целом для изучения MarionetteJS.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии2

30 чудных библиотек для PHP программистов

Время на прочтение6 мин
Количество просмотров105K
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →
Всего голосов 71: ↑60 и ↓11+49
Комментарии18

9 фактов, которые знают программисты, и не знают все остальные

Время на прочтение3 мин
Количество просмотров190K
image

Факт 1


Под капотом самых критичных программ, которые вы используете на ежедневной основе (Mac OS X или Facebook) содержится ужасное количество хаков и костылей, которые с трудом уживаются друг с другом. Это как если бы вы разобрали боинг 747 и увидели, что топливопровод держится вешалкой для одежды, а шасси смотаны изолентой.

Бен Черри
Читать дальше →
Всего голосов 237: ↑164 и ↓73+91
Комментарии88

Ресайз картинок в браузере. Все очень плохо

Время на прочтение10 мин
Количество просмотров104K
Если вы когда-нибудь сталкивались с задачей ресайза картинок в браузере, то вы наверное знаете, что это очень просто. В любом современном браузере есть такой элемент, как холст (<canvas>). На него можно нанести изображение нужных размеров. Пять строчек кода и картинка готова:

function resize(img, w, h) {
  var canvas = document.createElement('canvas');
  canvas.width = w;
  canvas.height = h;
  canvas.getContext('2d').drawImage(img, 0, 0, w, h);
  return canvas;
}

Из холста картинку можно сохранить в JPEG и, например, отправить на сервер. Можно было на этом закончить статью, но сперва давайте взглянем на результат. Если вы поставите рядом такой холст и обычный элемент <img>, в который загружена та же картинка (исходник, 4 Мб), то вы увидите разницу.

img
Читать дальше →
Всего голосов 156: ↑152 и ↓4+148
Комментарии90

Пишем поисковый плагин для Elasticsearch

Время на прочтение7 мин
Количество просмотров11K
Elaticsearch — популярный поисковый сервер и NoSQL база данных. Одной из интересных его особенностей является поддержка плагинов, которые могут расширить встроенный функционал и добавить немного бизнес-логики на уровень поиска. В этой статье я хочу рассказать о том, как написать такой плагин и тесты к нему.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии7

Средства, которые позволили нам ускорить разработку игры

Время на прочтение7 мин
Количество просмотров35K
Вид на Котиков из редактора Unity

Раньше я работал над созданием мобильных игр как гейм-дизайнер или продюсер, но сам еще никогда профессионально не писал код. Несколько месяцев назад мне захотелось это исправить и сделать игру своими руками. Так, спустя два месяца работы, силами трех человек в App Store и Google Play появились «Котики». В своей истории я хочу поделиться приобретенным опытом и рассказать о средствах разработки, которые позволили нам быстро сделать эту игру.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии30

Информация

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