Pull to refresh
18
0
Роман Миловский @rom2

User

Send message

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

Reading time5 min
Views38K
Очень часто на тостере вижу вопросы вида «Как отсортировать массив в JavaScript по определенному правилу?», «Как сделать с массивом в JavaScript <действие>?» и т.д.

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

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

Reading time3 min
Views5K
image

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

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

Reading time3 min
Views3.8K
image

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

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

Arduino Mega Server

Reading time7 min
Views94K
image

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

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

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

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


Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments103

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

Reading time15 min
Views249K


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

Enjoy!
Total votes 127: ↑122 and ↓5+117
Comments143

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

Reading time13 min
Views23K
[Аристотель]«Начало — более чем половина всего».

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

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

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

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

Reading time6 min
Views24K

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


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



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

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

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


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

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

Reading time34 min
Views199K
image

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

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

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

Reading time4 min
Views121K

Предыстория


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

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

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

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

Reading time4 min
Views102K


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

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

Reading time6 min
Views34K
Со времён систематизации методов объекта console прошло достаточно много времени, некоторые браузеры получили поддержку недостающих ранее методов. Таблица вызывает естественный интерес у разработчиков, поэтому — почему бы её не обновить, дополнив в одной статье описаниями? Github.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments12

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

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



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

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

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

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

image
Читать дальше →
Total votes 100: ↑86 and ↓14+72
Comments87

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

Reading time1 min
Views192K
image

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

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

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

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

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

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

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

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

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

Reading time6 min
Views52K
Данная статья описывает мой опыт создания беспроводного датчика температуры на базе МК Attiny85 + ds18b20 + rf 433 TX, работающего от батареек. Прием данных и программирование Attiny85 сделано на основе Raspberry pi B+.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments21

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

Reading time3 min
Views118K

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

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

Reading time7 min
Views6.2K
Всем привет!

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

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

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


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments9

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity