Pull to refresh
19
0
Крохин Дмитрий @nekufa

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

Picodata: простое масштабирование Tarantool

Level of difficulty Medium
Reading time 16 min
Views 8.1K

Привет! Сегодня я хочу познакомить вас с ПО, которое мы разрабатываем в нашей компанией — кластерной СУБД и сервером приложений на языке Rust. Мы профессионально занимаемся созданием и эксплуатацией решений на основе Tarantool и с некоторых пор начали разработку своего ПО, о котором и пойдёт речь.

Picodata — это дальнейшее развитие истории Tarantool, в которой учтен опыт эксплуатации этой СУБД и предложены решения как архитектурных, так и функциональных недостатков открытой версии Tarantool. Также, наше ПО проще запускать, настраивать и поддерживать в рабочем состоянии благодаря единой точке входа и интеграции всего инструментария в одном исполняемом файле. Мы создавали Picodata как изначально кластерную СУБД, которой удобно пользоваться. Если не верите, что российская СУБД может быть удобной, попробуйте — в конце этой статьи есть раздел Практикум, где можно сразу же попробовать собрать кластер самому на паре-тройке виртуальных машин или на вашем локальном компьютере. Сейчас же будет немного теории о том, как вообще работает распределенный кластер, что именно не так в “ванильном” Tarantool и что нам пришлось сделать чтобы это исправить.

Погрузиться в детали
Total votes 101: ↑101 and ↓0 +101
Comments 5

Медовый месяц менеджера: как его провести с пользой

Reading time 7 min
Views 59K
«Специалист подобен флюсу: полнота его одностороння». (Козьма Прутков)

Как в нашей отрасли происходит назначение на позицию менеджера? Берем в команде лучшего программиста и тут же назначаем вначале проясняем ситуацию:
— Хочешь быть менеджером?
— А чего нужно делать?
— Ну, там колбаски в MS Project двигать и получать плюс 300 баксов?
— Конечно, буду!

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

Результаты нашего недавнего исследования еще раз ткнули в эту нашу отраслевую специфику:
  • Более 50% людей считают, что их руководитель не умеет работать с людьми

Что и побудило написать эту статью.

Общий эффект от перехода в менеджеры усиливается еще тем, что наш брат-айтишник обычно вначале включает электроприбор («если я мультипоточность на Java реализую, чего — я со стиральной машиной не разберусь?»), а в случае неполадок начинает читать инструкцию. То бишь, начинает изучать науку работы с людьми, когда первые шишки не просто набиты, а поверх них набиты еще два слоя шишек.

Между тем, назначение нового человека на позицию менеджера – ситуация болезненная и крайне неустойчивая. Почему так происходит, и главное что конкретно делать, если назначили именно вас – сегодня и поговорим.
Читать дальше →
Total votes 62: ↑54 and ↓8 +46
Comments 38

Как на самом деле работает протокол Биткоин

Reading time 28 min
Views 208K
(Замечательное объяснение принципов работы сети Bitcoin авторства Michael Nielsen. Много текста, немного картинок. Обо всех корявостях перевода — в личку, буду исправлять по мере обнаружения)

Много тысяч статей было написано для того, чтобы объяснить Биткоин — онлайн, одноранговую (p2p) валюту. Большинство из этих статей поверхностно рассказывают суть криптографического протокола, опуская многие детали. Даже те статьи, которые «копают» глубже, часто замалчивают важные моменты. Моя цель в этой публикации — объяснить основные идеи, лежащие в протоколе Биткоин в ясной, легкодоступной форме. Мы начнем с простых принципов, далее пойдем к широкому теоретическому пониманию, как работает протокол, а затем копнем глубже, рассматривая сырые (raw) данные в транзакции Биткоин.
Читать дальше →
Total votes 70: ↑64 and ↓6 +58
Comments 18

Смотрим MKV на Apple TV из Plex

Reading time 5 min
Views 216K
Всем привет!

Продолжая цикл Apple-related статей, сегодня хочу поделиться удивительным способом, как можно заставить приставку Apple TV полюбить распространённую ныне матрёшку (MKV) и предоставить ей возможность комфортабельного воспроизведения на большом экране.
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 38

Печальная история социалочки “Уберлов”

Reading time 3 min
Views 21K

Немного предыстории, как родился этот проект.



Во всем виноват kashey. Шесть лет назад от него на хабре было несколько статей о гуглокартах. А потом, так вообще, еще и сайт сделал e-sosedi. Смотрел я на это все безобразие, истекал слюной и решил — хочу тоже “что-то с картами” и, конечно, модное в то время, социальное!
Идеи не было, а вот желание было большое, и я начал потихоньку писать и придумывать по вечерам. Все идеи, которые были на поверхности были уже реализованы или появлялись в ближайшее время, точки вайфая, банкоматы, шино-автосервисы…
И делал я абстрактный сервис с картами метаясь от одной идеи к другой. Пока, мне отец не рассказал, как он съездил, в очередной раз на рыбалку. На словах объясниться не удалось, куда он и как попал и пошли смотреть на гуглокарте, как он ехал. Тут я и понял, куда мои абстрактные карты придут.
Читать дальше →
Total votes 50: ↑34 and ↓16 +18
Comments 60

Как смотреть фильмы в оригинале, если английский слабоват? Решение!

Reading time 5 min
Views 55K


Хочу рассказать о своем небольшом проекте для изучающих английский язык.

Как известно, чтобы изучать и не забывать язык, им надо пользоваться. И один из способов практиковать язык — это начать смотреть фильмы в оригинале.
Но как можно начать смотреть фильмы и получать при этом удовольствие, если в каждом диалоге актеров встречаются незнакомые слова?

В интернете полно методик, где советуют, например, смотреть по 3 раза или подготавливаться к просмотру, выписывая и заучивая заранее слова из субтитров. Да, возможно это эффективно, и кому-то подойдут такие способы, но это же так скучно… Я бы не смог смотреть 3 раза подряд один и тот же фильм. Хочется получать удовольствие от просмотра, смотреть сразу и без подготовки и все понимать.

Как же этого добиться?
Total votes 196: ↑186 and ↓10 +176
Comments 105

Как мы написали helpdesk

Reading time 6 min
Views 122K
Есть продукты, которые можно взять и использовать, но с небольшой модификацией «под себя». Так вот система заявок или helpdesk как раз к таким вещам не относится. Точнее, мы для себя не нашли подходящий продукт и решили сделать сами.


Читать дальше →
Total votes 61: ↑53 and ↓8 +45
Comments 86

Дайджест статей по анализу данных №3 (09.06.2014 —22.06.2014)

Reading time 5 min
Views 20K

Добрый день, уважаемые читатели.
Пролетели 2 недели и пришло время нашей подборки материалов по анализу данных. Сегодняшний дайджест получился большим, и признаюсь често сам осилил не все, что в него попало. Но так как на вкус и цвет товарище нет, то я решил выложить всю подборку.
Итак, из сегодняшней подборки вы узнаете о том как использовать хранилища данных различных типов в одном проекте, посмотрите какими большими данными может обладать бизнес и как их анализ может ему помочь. Также в нашей подборке будет статья посвященная алгоритму FTCA, а также будет материал про сравнени различных алгоритмов машинного обучения.
Читать дальше →
Total votes 52: ↑47 and ↓5 +42
Comments 2

Простой способ сделать из обычного текста продающий

Reading time 3 min
Views 36K


Чтобы клиент оценил все прелести вашего предложения, он должен прочитать об этом на вашем сайте. Проблема в том, что тексты в вебе пользователи игнорируют все чаще — избалованный графикой взгляд предпочитает цепляться за красивые картинки и пиктограммы, все большее значение приобретает форма подачи. Если посетитель сайта дочитал текст, вероятность заказа возрастает в несколько раз. Как привлечь посетителя к тексту и помочь прочитать? Нужно сконцентрироваться на самом важном, правильно расставить акценты, красиво оформить и пригласить к действию. Почему если это все понимают, никто (или почти никто) не уделяет этому внимания?

Многим сложно сформировать у себя в голове четкую и красивую структуру текста и воплотить ее на сайте средствами панели управления. Именно для них мы сформировали простой шаблон. Вставляете его в WYSIWYG-редактор, заменяете текст, картинки — и вуаля!
Читать дальше →
Total votes 79: ↑53 and ↓26 +27
Comments 27

История создания карты мира для игры “C&C Tiberium Alliances”. Постмортем

Reading time 4 min
Views 26K
Всем привет! В этом посте хотел бы поделиться опытом создания и развития сервиса для одной небезызвестной онлайн игры.

Жизнь в нем еще пока теплится, но, думаю, уже можно подвести окончательные итоги.

Об этой игре мне стало известно задолго до ее выхода, и я смог попасть в число первых бета-тестеров. От браузерной игры много не ждал, но интерес взял свое. Довольно быстро я нашел адекватное русскоязычное комьюнити и вступил в один из кланов.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Comments 11

PHP Console 3.0 — важнейшее обновление за 3 года

Reading time 3 min
Views 31K


Прошло 3 года с момента выхода первой версии, о которой вы могли читать в статье Как подружить PHP с консолью Google Chrome. За это время расширение набрало 43`000 активных пользователей, и, что не менее важно, в ноябре 2013 обновилось до версии 3.0. Несколько месяцев разработки, и получилась полностью переписанная, в несколько раз более функциональная версия.

Новый функционал PHP Console 3.0

  • Отладка PHP ошибок и исключений (было в v1.1)
  • Дамп переменных любого типа
  • Выполнение PHP кода удалённо
  • Защита соединения по паролю
  • Группировка данных отладки по URL запроса
  • Открытие файла-строки ошибки в вашей IDE по клику на кнопку в уведомлении
  • Копирование данных ошибки/дампа в буфер обмена(для тестеров)
  • Новый клиент-сервер протокол без ограничений на размер данных
  • Новая PHP библиотека на GitHub
  • Новый плагин для Yii
  • Новый плагин для Laravel
  • Новый плагин для Silex
  • Новый модуль для Drupal (спасибо @Chi-teck)
  • И многое другое...

В статье:

  • Скриншоты
  • Видео
  • Список функций Google Chrome расширения
  • Список функций PHP библиотеки
  • Голосование за портирование на другие языки

Читать дальше →
Total votes 42: ↑36 and ↓6 +30
Comments 50

Инфраструктура и жизненный цикл разработки веб-проекта

Reading time 11 min
Views 56K
Когда проект маленький, особых проблем с ним не возникает. Список задач можно вести в текстовом файле (TODO), систему контроля версий, по большому счёту, можно и не использовать, для раскладки файлов на живой сервер их можно просто скопировать (cp/scp/rsync) в нужную директорию, а ошибки всегда можно посмотреть в лог-файле. Глупо было бы, например, для простенького сервиса с двумя скриптами и тремя посетителями в день поднимать полноценную систему управления конфигурациями серверов.

С ростом проекта требования растут. Становится неудобно держать в TODO-файле несколько десятков задач и багов: хочется приоритетов, комментариев, ссылок. Появляется необходимость в системе контроля версий, специальных скриптах/систем для раскладки кода на сервер, системе мониторинга. Ситуация усугубляется, когда над проектом работает несколько человек, а уж когда проект разрастается до нескольких серверов, появляется полноценная инфраструктура («комплекс взаимосвязанных обслуживающих структур или объектов, составляющих и/или обеспечивающих основу функционирования системы», Wikipedia).

На примере нашего сервиса "Календарь Mail.ru" я хочу рассказать о типичной инфраструктуре и жизненном цикле разработки среднего по размерам веб-проекта в крупной интернет-компании.

Срыв покровов
Total votes 102: ↑93 and ↓9 +84
Comments 46

Загружаем данные в Oracle

Reading time 14 min
Views 92K
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.

Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Comments 136

Работа с цветом: полезные инструменты, книги, статьи для веб-дизайнеров

Reading time 2 min
Views 90K
Работа с цветом — это первое, что должен уметь любой дизайнер. В интернете огромное количество разрозненной информации на эту тему, я попытался собрать самое полезное в одной подборке. Большинство полезностей с уклоном в веб-дизайн.

Инструменты




Colour Lovers — старый и функциональный инструмент для подбора цветовых схем. Аналоги — Colourcode, Color Scheme Designer и конечно Kuler. Подобных сайтов великое множество, но эти, на мой взгляд, самые удобные.
Читать дальше →
Total votes 67: ↑66 and ↓1 +65
Comments 8

Floobits: удобное удаленное парное программирование

Reading time 1 min
Views 33K
image

Сделать удаленное парное программирование удобным — задача не из простых, но у Floobits все может получиться.

Floobits позволяет использовать свой любимый редактор для совместной работы над кодом в реальном времени — сейчас поддерживаются только Sublime Text, Vim и Emacs; кроме того, есть и традиционный для подобных сервисов веб-редактор кода, работающий прямо в браузере.

Поскольку обойтись только редактором было сложно, со временем выяснилось, что парная разработка — это не только распространение кода, но и «расшаривание» терминалов (для этого был разработан Flootty), а еще и реал-тайм обновление кода на тестовом сервере (для этого был разработан несложный diff-shipper). Кроме того, для голосового чата и обмена видео в веб-редактор была добавлена поддержка Google+ Hangouts
Читать дальше →
Total votes 66: ↑62 and ↓4 +58
Comments 26

Подборка полезного для любителей Twitter Bootstrap

Reading time 1 min
Views 83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →
Total votes 109: ↑96 and ↓13 +83
Comments 21

Видео для стартапа своими руками. Без опыта и бюджета

Reading time 10 min
Views 18K
В итоге ролик мы сняли сами, без опыта и с минимальным бюджетом. Получилось лучше, чем думали: в первые сутки 1500+ просмотров и рекордно много лайков на нашей fb странице. Позитива в комментариях добавило то, что делали всё сами. Для молодого банковского сервиса с особым походом к обслуживанию этот позитив получился как нельзя кстати.



Как основной исполнитель во всей затее по съемке видео я расскажу о процессе и наших ошибках. Сразу оговорюсь, что не являюсь профессионалом ни в видеосъемке, ни в обработке видео. Моя профессиональная деятельность связана с руководством проектами и маркетингом, из релевантного опыта — только любительское увлечение фотографией. Поэтому наш опыт будет скорее интересен стартапам и энтузиастам, которые, как и мы, без опыта захотят сделать что-то круче, чем получилось у нас.
Я не боюсь длинных текстов
Total votes 117: ↑108 and ↓9 +99
Comments 42

Интересные доклады по Ruby на DevConf::Ruby — 14 июня в Москве

Reading time 1 min
Views 4.7K
image
Традиционно, RailsClub готовит интересную ruby секцию в рамках devconf.ru

Осталось меньше недели до старта, не пропусти тусовку — будет более 1000 веб-разработчиков

— Безопасный сайт на примере Rails
— Архитектурные практики
— Биллинг в SaaS-системах на Rails
— Спасение утопающих — покрываем тестами взрослый Ruby on Rails проект
— Рефакторинг Ruby кода.
— Domain Driven Design on Rails
— Быстрое тестирование Ruby on Rails
— Проектирование API
— Особенности совместной работы Ruby и Oracle
— Основы отладки Rails приложений
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Comments 5

Пишем музыку с помощью PHP

Reading time 6 min
Views 21K
Я не специалист по теории вероятностей, искусственного интеллекта и машинного обучения, кроме того уроки начальной музыкальной школы давно забыты. Но если вы уделите мне 10 минут, то обнаружите, что даже небольшой запас знаний может дать впечатляющие результаты при их творческом применении. Я хочу поделиться с вами, как научить PHP сочинять музыку.

Например, такую:

сгенерированная мелодия
Читать дальше →
Total votes 66: ↑49 and ↓17 +32
Comments 41

ActiveRecord Hacks

Reading time 4 min
Views 10K
Сегодня я поделюсь своим набором не всегда очевидных функций и возможностей Active Record, с которыми я столкнулся в процессе разработки Ruby on Rails приложений или нашел в чужих блогах.

Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Comments 18

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity