Pull to refresh
0
0
sonic @sonic

User

Send message

Худощавый стартап на повороте

Reading time2 min
Views6.4K
Lean startup, MVP, pivot  - очень популярные в последнее время выражения среди людей, занимающихся запуском новых бизнесов. Для интересующихся первоисточниками привожу ссылку на официальный сайт The Lean Startup Movement. Если же попробовать выразить суть дела в нескольких предложениях, то идея состоит в следующем…
Читать дальше →
Total votes 26: ↑18 and ↓8+10
Comments9

Как просто написать распределенный веб-сервис на Python + AMQP

Reading time7 min
Views28K
Привет, Хабр. Я уже довольно давно пишу на Python. Недавно пришлось разбираться с RabbitMQ. Мне понравилось. Потому что он без всяких проблем (понятно, что с некоторыми тонкостями) собирается в кластер. Тут я подумал: а неплохо бы его использовать в качестве очереди сообщений в кусочке API проекта, над которым я работаю. Сам API написан на tornado, основная мысль была в исключении блокирующего кода из API. Все синхронные операции выполнялись в пуле тредов.

Первое, что я решил, это сделать отдельный процесс(ы) «worker», который бы брал на себя всю синхронную работу. Задумал, чтобы «worker» был максимально прост, и делал задачи из очереди одну за другой. Скажем, выбрал из базы что-нибудь, ответил, взял на себя следующую задачу и так далее. Самих «worker»ов можно запустить много и тогда AMQP выступает уже в роли некоего подобия IPC.

Спустя некоторое время из этого вырос модуль, который берет на себя всю рутину связанную с AMQP и передачей сообщений туда и назад, а также сжимает их gzipом, если данных слишком много. Так родился crew. Собственно, используя его, мы с вами напишем простой API, который будет состоять из сервера на tornado и простых и незамысловатых «worker» процессов. Забегая вперед скажу, что весь код доступен на github, а то, о чем я буду рассказывать дальше, собрано в папке example.
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments22

Наследование комбинаторных парсеров на Julia

Reading time7 min
Views6.3K
Комбинаторные (монадические) парсеры достаточно хорошо известны (wikibooks). Они представляют из себя библиотеку маленьких парсеров, которые распознают простые элементы грамматики, и способы объединять несколько парсеров в один (комбинировать — от сюда и название). Монадические они потому что один из способов комбинирования, порождения парсера остатка текста на основе результата разбора начала, удовлетворяет условиям, накладываемым на математический объект «монада». В языке Haskell это позволяет воспользоваться мощным сервисом, предоставляемым языком и библиотеками. В других языках название «монадические» можно смело игнорировать — это не будет мешать их реализации и использованию, включая упомянутую выше операцию «bind».

Проще всего комбинаторные парсеры реализуются в языках с поддержкой замыканий, но можно воспользоваться и классическим ООП (пример описан Rebecca Parsons в книге Мартина Фаулера «Предметно-ориентированные языки»).
К преимуществам комбинаторных парсеров относится простота использования (запись на языке программирования практически не отличается от обычного описания грамматики), независимость от препроцессора (как yacc/bison, happy или ocamlyacc), возможность реализовать некоторые элементы, плохо укладывающиеся в контекстно-свободную грамматику, прямо на языке программирования общего назначения.

К недостаткам — сложность составления сообщений об ошибке, неспособность работать с леворекурсивной грамматикой (приводит к зацикливанию), а так же то, что очень легко сделать этот парсер не эффективным по быстродействию и памяти. (Одна из причин — компилятор не может произвести оптимизацию в терминах грамматики, так как работает на уровне языка программирования. Но есть и другие тонкости, требующие внимания, если требуется эффективность.)
Как альтернативу можно рассмотреть реализации в виде макросов (например OCaml streams parsers). В Perl6 поддержка грамматик встроена в язык.

Наследование

Персер конкретного языка состоит из множества более специализированных парсеров, ссылающихся друг на друга. В этом отношении парсеры напоминают методы некого объекта. Возникает желание порождать парсеры новых версий языков, подменяя отдельные подпарсеры (как это делается в паттерне проектирования «шаблонный метод» из ООП). Для экспериментов с этим подходом (а так же в порядке изучения очередного языка) я выбрал язык Julia — динамически-типизированном с особым подходом к наследованию (подобному CLOS из Common Lisp и R).
В отличие от обычных комбинаторных парсеров, подход с наследованием является экспериментальным (хотя в некотором виде поддерживается библиотекой макросов OCaml и языком Perl6). Пока он порождает не очень читабельный код. Исходный код доступен на Github.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments11

А если нет ментора?

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

Ответов множество и все они правильные, только на практике срабатывают не всегда, не для всех и не совсем так, как хотелось бы. А какая-то доля, на первый взгляд, самых правильных ответов может даже навредить.

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

Тем, кто находится в системе (ученикам, студентам, «мажорам» или тем, кто уже работает в области IT) читать строго не рекомендуется.


Осторожно, много психо-логики!
Total votes 62: ↑37 and ↓25+12
Comments39

Проверка протокола SSL3 в 20 банк-клиентах

Reading time1 min
Views26K
image

Прошло уже более недели, как достоянием общественности стала критичная уязвимость протокола SSL3 (CVE-2014-3566). Давайте посмотрим, как отреагировали на эту новость TOP 20 банков.
Для тестирования HTTPS воспользуемся замечательным инструментом www.ssllabs.com
Начнем с чего нибудь большого и зеленого.
Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments72

Хочешь вкусного пива, Arduino в помощь

Reading time12 min
Views39K
Данная публикация навеяна другой. Она называется «Контроллер для домашней пивоварни Mega Brewery. Part I» и опубликована за авторством megadenis.

С чего все началось?


Я студент технического ВУЗа. Однажды, сидя в кафе с другом, который тогда учился в медицинском университете, решили открыть бар. Было много идей, которые, в принципе, заслуживали некоторого внимания. Например, танц-пол, который изменяет угол наклона в зависимости от стиля музыки… Но, наряду со всем многообразием идей, так же была еще одна —

… а не сварить ли нам свое пиво?


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

Через несколько лет решил повторить процесс, немного автоматизировав его с помощью Arduino UNO. И вот, что получилось.
Читать дальше →
Total votes 53: ↑28 and ↓25+3
Comments25

Droidutils — набор решений, которые ускоряют разработку приложений под Android

Reading time7 min
Views20K
При разработке приложений я заметил, что каждый раз, когда мне приходилось сталкиваться с решением похожих задач (реализовывать работу с http, json, multithreading и т.п.), приходилось делать одну и туже роботу, причем на это уходило много времени. Поначалу это было не критично, но в больших проектах занимало слишком много времени. Чтобы сэкономить свое и ваше время, решил написать универсальное решение для этих задач, которым и хочу поделиться с сообществом.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments36

Сравнение бюджетных беспроводных комплектов сигнализаций Китайского, Тайванского и Украинского производства

Reading time14 min
Views27K
В этой статье я постараюсь для себя и моих читателей разобраться, какая gsm сигнализация лучше для покупки, что бы ее качество и функциональность соответствовали количеству потраченных на неё денег. Для большей информативности эксперимента я решил протестировать «сигналки» от производителей из разных стран, одна из которых – Украина. К вашему вниманию, в «легкой» (дважды подчеркну — «легкой»; большая просьба к поклонникам Viewsonic, LifeSOS, Satel, Ajax и других монстров, не сравнивайте проф. системы с сигнализациями для домашнего пользования) ценовой категории: Tenex Guard 5050 G – Китай; Altronics Al-100 KIT – по заявлениям поставщиков Тайвань; Страж Avizor KIT с громким, патриотичным заявлением о происхождении в Украине.

image

Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments19

Визы для стартапов: как открыть собственное дело за рубежом (часть 1)

Reading time4 min
Views70K
image

Как создать бизнес почти «из ничего» и стать хозяином собственной жизни? Ответ: создать стартап. Сегодня многие страны предлагают для предпринимателей супервыгодные условия для начала своего дела. Например, в Чили не нужно даже самим искать деньги на стартап — при наличии хорошей идеи их выдает правительство страны. А в Великобритании и Канаде работают специальные фонды, готовые профинансировать начинающую компанию.

Стартапы выгодны принимающим странам, поскольку такие компании генерируют значительное количество рабочих мест. Ежегодно по программам для основателей стартапов в Европу иммигрируют до 20 тыс. человек. Если учесть, что эти компании чаще всего основываются двумя лицами, то можно предположить, что каждый год в ЕС открываются примерно 10 тыс. новых фирм. В среднем, компания, принадлежащая иностранцу, создает четыре рабочих места в первый год существования. Следовательно, в совокупности стартапы являются источником примерно 40 тыс. рабочих мест в Европе за год.

Посмотрим, какие условия иммиграции существуют для основателей стартапов в разных странах.
Читать дальше →
Total votes 74: ↑62 and ↓12+50
Comments53

Убьет ли краудфандинг венчурные фонды?

Reading time3 min
Views9.4K
Благодаря появляющимся сейчас краудфандинговым механизмам множество венчурных фондов вылетит с рынка. Затем настанет очередь индустрии прямых инвестиций. Юрий Аммосов


Очень смелая и интересная мысль. Я давно смотрю за развитием инструментов для инвестиций, и, мне кажется, Юрий Аммосов слишком идеализирует будущее краудфандинга.

По-сути, сейчас краудфандинг — это прямые коллективные инвестиции в проекты с высоким риском, в надежде, что в будущем компания «выстрелит» и частные инвесторы смогут заработать существенно больше, чем при использовании уже существующих инвестиционных инструментов.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments9

Ar.Drone 2: полгода полетов

Reading time7 min
Views39K
Привет, Хабр!

С недавних пор я стал увлекаться полетами на квадрокоптере AR.Drone 2.0, а именно с момента, как друзья подарили мне его на день рождения. Хотя на соревнования и «покатушки» с другими любителями времени нет, на нем довольно интересно полетать в том же офисе под веселые возгласы коллег. Да и поэкспериментировать можно – с дополнительными модулями и модами.

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



Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments34

Айтишник на отдыхе: прибамбасы к телескопу

Reading time7 min
Views70K


Итак, вы заинтересовались астрономией, приобрели телескоп и задумались о различном обвесе для улучшения качества и удобства наблюдений. Вопросам дооснащения и посвящен этот пост — окуляры, светофильтры, прочие прибамбасы.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments64

Эстония позволит получить электронное гражданство за 50 евро

Reading time2 min
Views30K
E-estonian это не пародия на эстонский акцент, а вполне реальная возможность пользоваться привилегиями электронного гражданства европейской страны для иностранцев: вчера в Эстонии был единогласно принят закон, вводящий статус «электронного резидента» (e-residence), позволяющий любому иностранцу открыть счёт в эстонском банке, зарегистрировать компанию и воспользоваться электронной подписью, чтобы подписывать документы из любой точки мира.


Эстонский президент Тоомас Хендрик Ильвес (фото РИА)
Читать дальше →
Total votes 84: ↑77 and ↓7+70
Comments97

Семейный бизнес в сфере IT

Reading time6 min
Views123K
image

Предисловие


Большое спасибо jimmy_webs, который в комментариях к предыдущей статье дал мне совет написать про 5 лет в семейном бизнесе. И всем тем, кто оставлял подбадривающие комментарии с призывом писать еще. Ну что же, вы сами напросились.

Я никоим образом не претендую на роль авторитета или человека, умудренного жизненным опытом. Наоборот, я понимаю, что наша компания находится в самом начале своего пути развития. Однако, какую-то часть этого пути мы уже прошли. Я просто хочу поделиться собственным опытом и надеюсь, что это поможет начинающим предпринимателям совершить меньше ошибок.
Читать дальше →
Total votes 134: ↑122 and ↓12+110
Comments31

Патентование: неформальный FAQ для стартапов

Reading time11 min
Views16K
В этом FAQ собраны наиболее характерные вопросы, на которые мне приходится отвечать при работе с изобретателями и заявителями. Стиль вопросов по возможности сохранен (для живости восприятия), грамматика при необходимости подправлена. Ответы также представлены в свободной форме и позволят вам заглянуть на кухню патентной отрасли.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments9

На здоровье! Десять самых интересных новинок 2014 года

Reading time3 min
Views65K
В прошлом месяце я писал о носимых устройствах в спорте и медицине. Тренд здоровья продолжает развиваться, и сейчас производители предлагают все больше решений — как внешних, так и встроенных в смартфоны и другие привычные устройства.

imageimageimage

Intel Smart Earbuds


Одна из первых представленных в этом году инноваций — наушники от Intel, способные подбирать музыку в зависимости от частоты сердцебиения своего владельца. Более того, они настроят владельца на тренировки, подобрав оптимальную музыку под целевой пульс.

image

Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments16

Total Commander 8.50 Final

Reading time2 min
Views142K
Вчера, после необычно долгого периода открытого тестирования, зарелизился Total Commander 8.50. Улучшений и исправлений, как обычно, многие сотни, вот наиболее значимые из них (заранее оговорю, что всё настраивается или отключается при невостребованности):

  • Фоновый поиск (команда cm_SearchStandalone или Alt+Shift+F7). Даже не верится — об этом просили, наверное, все двадцать лет существования программы! Более того: инструмент поиска в TC можно вызывать отдельно от самого TC, запуская программу с ключом /S=F.
  • Редактирование прямо на FTP (работает и для FS-плагинов). Вернее, именно так это выглядит для пользователя, на самом же деле TC будет автоматически синхронизировать локальную копию изменяемого файла при каждом его обновлении.
Ещё под катом
Total votes 104: ↑98 and ↓6+92
Comments154

Ошейник для блогера

Reading time9 min
Views102K
В случае с так называемом законом «о блогерах» я специально поставила себе табу на ознакомление с текстом законопроекта до того момента, пока он не стал законом. То есть не был обсужден в нескольких чтениях, принят Госдумой и подписан Президентом. Зачем метать бисер и растрачивать эмоции впустую. То что подобный закон будет принят было понятно. Последние несколько лет существует устойчивая законотворческая тенденция направленная на введение по сути цензуры в интернете. Цензуры жесткой. Интернет всегда был территорией для свободного общения, а блогеры были по сути рупорами этой свободы — свободы слова, мысли, мнения. Да они не белые и пушистые, да не редко нарушения законов и норм морали со стороны блогеров налицо… много таких «да», но вместо того чтобы искать способы регулирования пошли по пути запрета.
Читать дальше →
Total votes 189: ↑162 and ↓27+135
Comments110

Программист как источник зла и влияние роботехники на общество

Reading time5 min
Views29K
Софт берет на себя все больше рутинных функций. Многие процессы совершенствуются, становятся более эффективными, быстрыми. А что происходит с людьми выполнявшими эти функции ранее? Они теряют работу, переквалифицируются и делают что-то еще. Этому процессу столько же лет, сколько техническому прогрессу. По сути это технический прогресс и есть. Так уменьшалось число сельхозрабочих, щвей, ткачей и многих других. Исчезли профессии извозчика и конюха, но появлялись водителя и автомастера. Подумаешь, одним циклом больше, одним меньше. Однако ранее все это происходило относительно плавно и затрагивало небольшой процент населения. А сечас у нас на весьма видимом горизонте что-то новое. Новое не по сути, а по размерам.
Читать дальше →
Total votes 50: ↑24 and ↓26-2
Comments148
1
23 ...

Information

Rating
Does not participate
Location
Гомельская обл., Беларусь
Registered
Activity