Как стать автором
Обновить
18
0
Роман Миловский @rom2

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

Несколько полезных кейсов при работе с массивами в JavaScript

Время на прочтение 5 мин
Количество просмотров 37K
Очень часто на тостере вижу вопросы вида «Как отсортировать массив в JavaScript по определенному правилу?», «Как сделать с массивом в JavaScript <действие>?» и т.д.

Под катом собраны некоторые манипуляции над массивами.
Читать дальше →
Всего голосов 25: ↑19 и ↓6 +13
Комментарии 36

Готовые сценарии автоматизации продаж, которые можно запустить за 2 минуты

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

Обработав большое количество информации (более 200 млн. данных), мы обнаружили ряд паттернов в поведении пользователей (где пользователям нужна помощь, в каком случае лучше попросить email, через какое время следует отправлять письмо, как возвращать бросившего корзину клиента и т.д.).
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

Ваш проект в кризисе?

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

Прекрасное солнечное утро, вы проснулись в отличном настроении, идете на работу. Сегодня у вас очередное совещание по статусу проекта, руководителем которого вы являетесь. Вы уверены, что готовы к совещанию?

Ниже вы найдете несколько простых вопросов, честные ответы на которые помогут вам понять, все ли в порядке с управлением в вашем проекте. Я искренне надеюсь, что эти вопросы и рекомендации помогут начинающим руководителям не терять бдительность и уверенно вести свои проекты к успеху.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 1

Arduino Mega Server

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

Да, это снова Ардуино, но не спешите закрывать страничку, на этот раз вас ждёт нечто действительно новое и интересное. В основном в этой статье речь пойдёт о микроконтроллерных платах Arduino Mega и плате сетевого интерфейса Ethernet Shield W5100 и о том чуде, которое можно с ними сотворить если позволить себе выйти за рамки стереотипов.
Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 34

Разработка WEB-проекта на Node.JS: Часть 2

Время на прочтение 12 мин
Количество просмотров 56K
В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

Несколько слов о «хабраэффекте»


Читать дальше →
Всего голосов 67: ↑63 и ↓4 +59
Комментарии 103

Искусство командной строки

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


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Всего голосов 127: ↑122 и ↓5 +117
Комментарии 143

Двенадцать простых начальных шагов разработки модуля для Node.js

Время на прочтение 13 мин
Количество просмотров 23K
[Аристотель]«Начало — более чем половина всего».

Это очень древний GTD-принцип: возраст его, вероятно, исчисляется тысячелетиями. (Например, Викицитатник в настоящее время приписывает его Аристотелю, хотя и без подтверждающего указания на первоисточник.) Суть его в том, что с чистого листа начинать какой-либо проект бывает очень трудно (и даже приходится заставлять себя); а вот если есть несколько простых начальных шагов, выполнение которых приводит к появлению частично готового проекта, то продолжить работу над ним «по инерции» становится куда проще — так просто, как если бы проект этот ужé был не только начат, но и готов даже более, чем наполовину. А кроме того, когда заранее хорошо знаешь, какими должны быть начальные шаги, то тогда трудно бывает допустить ошибку, совершая их.

Мне довелось сочинить более десятка модулей для Node.js с открытым исходным кодом и опубликовать их в качестве пакетов npm. Чем больше модулей я делал, тем сильнее понимал (в том числе путём проб и ошибок), что начальные шаги для их создания могут быть одинаковыми и даже могут совершаться в одном и том же порядке. Сегодня я публикую этот порядок в надежде на то, что он станет подспорьем в работе программистов, сочиняющих свой код на языке JavaScript для движка Node.

Обратите внимание на то, что каждый из этих шагов довольно прост и логичен.
Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 3

Создание масштабируемого распределенного приложения с нуля

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

Как это начиналось


Я всю жизнь занимался разработкой под Windows. Сначала на С++, затем на C#. В промежутках мелькали VB, Java Script и другая нечисть. Однако некоторое время назад всё изменилось и я впервые столкнулся с миром Linux, Java и Scala. У нас с Денисом, моим другом и соратником по многочисленным идеям, уже был свой проект – набор утилит для Windows, который пользовался широким спросом в узких кругах. В какой-то момент мы оба потеряли интерес к этому проекту и встал вопрос – что же делать дальше. Денис стал инициатором идеи нового проекта – сервис по обмену clipboard между разными устройствами. Этот проект существенно отличался от предыдущего помимо технологий ещё и целевой аудиторией. Этот сервис должен был стать полезен всем. Скопируйте данные в буфер обмена и вставьте из него на любом другом устройстве. Звучит проще некуда, пока не задумаешься над тем сколько сейчас разных устройств, а также как это все будет работать при большом количестве пользователей.
Первый прототип появился через несколько месяцев. Сервер был написан на ASP.NET и хостился на MS IIS. Было написано 2 клиента: на С++ под Windows и на Java под Android.



Тестирование показало, что прототип держит около 500 соединений. Что же делать, если их будет больше, мы ведь расчитываем на сотни тысяч пользователей ;) Как написать сервер, который может работать с большим количеством соединений, который не надо будет выключать во время апгрейда железа или софта и который будет легко масштабироваться (то есть расширяться в случае увелечения количества пользователей).
Читать дальше →
Всего голосов 17: ↑12 и ↓5 +7
Комментарии 15

Документальные фильмы о бизнесе, которые вы ещё не видели

Время на прочтение 3 мин
Количество просмотров 20K
Вот и пришло лето. Какие бы планы вы не выстроили на ближайшие несколько месяцев, мы знаем, что вы найдёте место для интересного кино. Именно поэтому сегодня мы составили для вас подборку замечательных документальных фильмов о бизнесе. Полезно и безумно интересно. В процессе составления материала насильственно фильмы ставились на паузу!


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

IBM PC своими руками — это очень просто

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

После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
Читать дальше →
Всего голосов 261: ↑260 и ↓1 +259
Комментарии 81

Файловая система Linux полностью на tmpfs — скорость без компромиссов

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

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Всего голосов 83: ↑74 и ↓9 +65
Комментарии 167

86 бесплатных площадок для продвижения стартапов на международном рынке

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


Мы дополнили и адаптировали оригинальную подборку, выбрав исключительно бесплатные ресурсы для продвижения стартапов на международном рынке. Помимо этого мы переработали первоначальную классификацию, ввели ранжирование по потенциальному охвату аудитории (для площадок с обозначенным охватом) и распределили соответствующие ресурсы в тематические категории.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 9

Справочник методов console в JS

Время на прочтение 6 мин
Количество просмотров 34K
Со времён систематизации методов объекта console прошло достаточно много времени, некоторые браузеры получили поддержку недостающих ранее методов. Таблица вызывает естественный интерес у разработчиков, поэтому — почему бы её не обновить, дополнив в одной статье описаниями? Github.
Читать дальше →
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 12

Bluetooth пульт для телевизора на arduino

Время на прочтение 12 мин
Количество просмотров 33K
Продолжаем делать разные смарт/умные/bluetooth девайсы на ардуино. В прошлых статьях я рассказывал про bluetooth машинку и bluetooth вольтметр. сегодня речь пойдет о чем-то вроде bluetooth пульта для телевизора. Голосование на наиболее удачное название для такого девайса будет в конце статьи, а для начала предлагаю посмотреть видео как же этот девайс работает.



В статье я расскажу почему, как и из чего собирал этот девайс, про преимущества и недостатки его использования, а также пару слов о существующих аналогах.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 15

Домашние GSM сигнализации. Галактеко опасносте. 18+

Время на прочтение 6 мин
Количество просмотров 52K
Слуги народа все никак не примут законы, разрешающие активную защиту жилья. Похоже, пока воры не украдут пару бриллиантовых авторучек, подвижек не появится. Зато потом у айтишников появятся заказы на arduino-платформы с электрошокерами и баллонами с НПГ. Особо бедные закажут квадрокоптеры с травматикой, стразиками и управлением по iPad. Но все это дело недалекого будущего. А что же будет делать в этом будущем «народ»? Будет как всегда трястись за нажитое непосильным трудом.

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

image
Читать дальше →
Всего голосов 100: ↑86 и ↓14 +72
Комментарии 87

Установка и запуск Android-приложений на Linux

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

Как известно, многие Android-приложения можно нативно запускать на Chrome OS благодаря библиотеке Chrome App Runtime.

С помощью расширений chromeos-apk и ARChon запуск Android APK стал возможен и на других ОС.

В этой публикации я расскажу, как установить произвольное Android-приложение на Ubuntu 14.04.
Читать дальше →
Всего голосов 30: ↑26 и ↓4 +22
Комментарии 33

Программирование робототехники с Arduino и ROS

Время на прочтение 4 мин
Количество просмотров 36K
Роботическая операционная система ROS является довольно мощной платформой для создания роботических систем, которая включает все необходимое для разработки своих проектов от простейших программных компонентов, называемых “узлами”, и протокола обмена данными до среды симулирования реальной роботической платформы Gazebo. В основном ROS используется в связке с такими микроконтролерами, как RaspberryPi и Blackbone, которые обладают большими вычислительными возможностями и собственной операционной системой.

Arduino является популярной платой для прототипирования, получившее широкое распространение в связи с возникшим не так давно понятием “умный дом” и которая явлется идеальной стартовой точкой для новичков в области микроэлектроники и робототехники.

В данный момент существует не так много информации об использовании роботической операционной системы ROS в связке с микроконтроллером Arduino. В основном это зарубежные интернет ресурсы и книги.

В данной статье я хочу рассказать как «подружить» ROS и Arduino и что мне удалось добиться в этой связке.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 2

Термометр на Raspberry pi с беспроводным датчиком на rf 433 и МК attiny85

Время на прочтение 6 мин
Количество просмотров 52K
Данная статья описывает мой опыт создания беспроводного датчика температуры на базе МК Attiny85 + ds18b20 + rf 433 TX, работающего от батареек. Прием данных и программирование Attiny85 сделано на основе Raspberry pi B+.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 21

3 лучших инструмента для описания RESTful API

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

Взаимодействие различных сервисов с использованием АPI, из новаторства превращается в обыденность. Количество бесплатных и платных API уже исчисляется тысячами, и с каждым днем их число активно растет. А почему бы и нет? Продажа удаленных запросов к своему новаторскому сервису может принести больше прибыли, чем распространение услуг через свою площадку. И пусть, в таком случае, уже ваши клиенты ломают голову и тратят деньги на привлечение аудитории. Используя свой опыт работы, я предлагаю краткий обзор лучших решений по реализации API на сегодняшний день.
Читать дальше →
Всего голосов 32: ↑24 и ↓8 +16
Комментарии 17

Embedded World 2015: что нового? Что интересного?

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

Мне с моими коллегами посчастливилось побывать на очередной выставке Embedded World 2015. Выставлялось, как обычно, огромное количество компаний. Всё пересказать просто невозможно, поэтому в этой статье я решил написать только про то, что мне показалось наиболее интересным и что я успел хоть немного проанализировать.

Выставка проводится в Nurnberg Messe, на ней обычно выставляются разработчики плат, программ и производители компонентов, а также компании-дистрибьюторы. Никаких операторов сотовой связи, никаких производителей телефонов — только embedded, только hardcore.

Кому интересно — прошу под кат. Будет много картинок и даже видео.


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

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность