Как стать автором
Обновить
21
0
agnek @kenga

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

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

IoT cloud на Netty или 10к рек-сек на ядро

Время на прочтение6 мин
Количество просмотров28K
Всем привет. Этот пост о серверном решении для интернета вещей, который я написал на асинхронных сокетах с использованием всем известной Netty. Я расскажу о задаче, которую мы ставили перед собой, о том почему я выбрал Netty, почему у нее нету альтернатив, какие у нетти недостатки и преимущества и как можно выжать максимум. Сейчас наш сервер в среднем обрабатывает 1.5 млрд сообщений в месяц и нагрузка с каждым месяцем растет на 20%. Для привлечения внимания — нагрузка на один продакшн сервер с 4-мя ядрами Xeon® CPU E5-2630L v2 @ 2.40GHz при лоаде в 500 рек-сек.

Blynk load - для привлечения внимания

Итак, поехали.

Все началось около 2-х лет назад, когда мне подарили arduino. Я всегда мечтал сделать какое-то интересное устройство своими руками. Но все эти паяльники, резисторы, вольты-амперы меня постоянно отпугивали. Так было, пока не появились arduino. С ардуиной я смог наконец-то управлять электроникой. Сказать, что это было очень круто — не сказать ничего. Я был счастлив. Но, как это часто бывает, после освоения базовых навыков в микроконтроллерах, захотелось большего — управлять устройствами через интернет с телефона. Быстрый гуглинг показал (дело было 2 года назад), что на текущий момент нет ни одного решения, которое бы решало эту задачу. Не считая IoT облака с HTTP API, которые было не очень удобно использовать.

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

Конференция HDConf: видео-отчет

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

4 октября в Минске конференция Highload Dev Conf собрала более 350 разработчиков. С докладами выступили специалисты в разработке высоконагруженных систем из компаний Одноклассники, Amazon, Altoros, Wargaming, Coub, Aviasales, Badoo и др.

В прошлой статье мы опубликовали фотоотчёт конференции и слайды докладов. Как и обещали загрузили видео докладов.
Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии2

О тестировании web-приложений

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

Quality Assurance часто считается синонимом тестирования, но на самом деле это методика предотвращения ошибок, а не их поиска и исправления. Качество в этом смысле — характеристика сделанного продукта.

Формально говоря, тестер должен проверять даже техническое задание, план проекта и анализ на логичность и понятность, а не только код и интерфейс программы. Тестирование как независимая дисциплина в общем потоке разработки ПО появилась в начале девяностых, когда стали более важны аудитория (клиенты), качество и время разработки.
Важность тестирования ПО особенно важна в критических системах. К примеру аппарат по лучевой терапии Therac (1985) облучил смертельной дозой радиации 6 человек из-за отсутсвия проверки состояния агрегата в коде и валидации. Или марсоход в 1999 году принёс убыток в 125 млн долларов из-за непродуманности единой системы измерения между коммандами разработчиков. И даже в Эстонии при электронных выборах были проблемы из-за плохого нагрузочного тестирования.
Основные принципы тестирования воплощены в небольшом документе ISTQB и в книге «Foundations of software testing».
Вся «прелесть» специальности тестера в том что как правило для этого не нужны большие познания в программировании и люди далёкие от web-строительства могут себя попробовать в этой роли.
Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии6

Cookies внутри iframe — проблема при создании приложения ВКонтакте/Facebook

Время на прочтение5 мин
Количество просмотров56K
Управление сессиями при помощи посылки cookies на сайтах стало настолько распространено, что без этого не обходится, наверное, ни один проект, требующий авторизации пользователей. Казалось бы, механизм настолько изучен, что проблемы с ним просто немыслимы.

Так считали и мы при разработке iframe-приложения для ВКонтакте.
Но после того, как приложение было разработано (разработка велась в основном в Mozilla Firefox и Google Chrome), выяснилось, что оно неработоспособно в Internet Explorer, к которому позднее присоединились последние версии Opera и Safari.

Под катом подробное описание проблемы и вариантов её решения.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии45

Р. Фейнман «Характер физических законов» (четвертая лекция)

Время на прочтение6 мин
Количество просмотров9.8K
image
Перевод четвертой лекции из курса «Характер физических законов», самого яркого ученого двадцатого века Ричарда Фейнмана.
Лекция называется «Симметрия физических законов».
Курс не требует специальных знаний по физике и начинать смотреть можно с любой лекции. А эта лекция наверное самая интересная во всем курсе.
Вообще сегодня будет две лекции: одна видео лекция Фейнмана, другая небольшая заметка профессора университета Радбоуда (Голландия) Михаила Кацнельсона, поясняющая кое-какой принцип, о котором Фейнман умолчал.
Читать дальше →
Всего голосов 89: ↑85 и ↓4+81
Комментарии26

Разработчик С++ Бьёрн Страуструп

Время на прочтение2 мин
Количество просмотров12K
Бьёрн Страуструп — родился 11 июня 1950 в датском городе Орхус.
После окончания школы поступил в Университет Ааргус на отделение компьютерных технологий. В 1975 году окончил его и получил степень магистра.
В дальнейшем продолжил свое образование в Кембриджском университете Англии.
В Кембридже, в Вычислительной лаборатории, он занимался проектированием распределенных систем, и в 1979 году ему была присуждена степень доктора философии.
В этом же году Страуструп вместе с семьей переехал в Нью-Джерси (США), где стал работать в Центре компьютерных исследований фирмы Bell Labs. Когда он занимался исследованиями в фирме, Бьёрну Страуструпу потребовалось написать несколько имитационных программ. SIMULA-67 — первый объектно-ориентированный язык для моделирования мог бы быть идеальным для подобных задач, если бы не его сравнительно низкая скорость выполнения программ.
В Нью-Джерси у него рождаестя сын и он начинает больше времени уделять семье.
SIMULA-67 и BCPL(Basic Combined Programming Language) не устраивал Бьёрна и он начинает свою работу над «Си» дополнив его классами.
Первоначально название так и было «Си с классами» (С with classes)
Читать дальше →
Всего голосов 48: ↑37 и ↓11+26
Комментарии34

Kitty = Putty

Время на прочтение1 мин
Количество просмотров8.9K
Пробежавшись поиском по хабру и не найдя ни одной новости по поводу Kitty был крайне удивлен, ведь тут столько людей пользующихся этим прекрасным софтом.

И так Putty снова жив. Его форк Kitty основанный на версии 0.60 будет продолжать дело Putty. Уже имеется пачка бонусов и функций, при чем не только полезных типа запоминания пароля, но и приятных на подобии замены фона терминала картинкой. Также Kitty хватает из рееста все настройки Putty, т.ч. вам даже не придется ничего перенастраивать, просто скачал и запустил.

image

А вот и оффсайт: http://kitty.9bis.com/

Всем приятного поюза.
Всего голосов 49: ↑43 и ↓6+37
Комментарии27

«Красивости» в Zend Studio 5.5

Время на прочтение1 мин
Количество просмотров725
По умолчанию в Zend Studio 5.5 существуют всего лишь две цветовые схемы разметки кода. И они достаточно страшные. Я в своё время достаточно сильно интересовалась тем, как мне сделать свои многочасовые сидения в IDE более комфортными, поэтому усиленно начала рыть землю в поисках более приличных цветовых схем.

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



Ниже я предлагаю для скачивания те схемы, которые я нашла для Zend Studio, под катом ссылка на архив и краткое описание, как их установить.

Читать дальше →
Всего голосов 31: ↑21 и ↓10+11
Комментарии46

Windows 7 — iTunes мини плейер в панели задач

Время на прочтение2 мин
Количество просмотров1.1K
Все началось с того, что я захотел сделать в Windows 7 мини плейер в панели задач. Я думал, что может быть проще — запустил WMP12 и начал искать в настройках эту самую панельку. К моему удивлению в WMP 12 это панели не оказалось, погуглив немного я выяснил, что в WMP12 эту панель убрали. Я нашел, что возможно сделать даунгрейд WMP12 -> WMP11, однако как я понял в 64-битной Windows 7 эта панелька работать все равно не будет. Однако там же в гугле я наткнулся на ссылку и узнал, что в iTunes 9 есть точно такая же панелька. iTunes у меня уже был установлен и я на радостях его запустил и добавил панель миниплейера на панель задач. Окно iTunes имеет серый цвет и панелька на панели задач также оказалась серой, что на моей черной панели задач смотрелось не очень хорошо:

image
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии23

Активация Windows

Время на прочтение8 мин
Количество просмотров49K
Винда релизится только раз в году, а убунта два раза. 2:1 — пингвин выйграл.

image

Близится час Х, в связи с чем решил посмотреть, что предлагают нам пираты для решения проблем с операционной системой.
Читать дальше →
Всего голосов 170: ↑114 и ↓56+58
Комментарии77

Как готовить презентации. Мини-курс для программиста

Время на прочтение5 мин
Количество просмотров18K
imageУ меня, как и у многих других программистов, есть слабость: я очень люблю различные планерки, на которых обсуждаются новые проекты и идеи. Все презентации в моем представлении делятся на 3 вида: муторное чтение цифр успеваемости начальника транспортного цеха, демонстрации системы из рук и презентация идей и решений при помощи построителя презентаций. Если с демонстрацией системы из рук программисты знакомы по сдаче лабораторных в университетах, а монотонно читающие тексты «коты баюны», постепенно вымирают как класс, то с презентациями у нашего брата явный напряг. Менеджеры еще прошли либо просмотрели курсы «молодого построителя презентаций», то молодежь ограничилась книгами типа «Уроки ПоверПоинта за 24 часа» или хуже того, один раз увидели и самотыком изучили сей продукт буржуазной экономики. Поэтому, просмотр их презентаций вызывает приступ тошноты, не говоря уже о том, что их часто перебивают, вызывая на «живое» общение. Ориентироваться в их презентациях невозможно и зачастую бессмысленно. А ведь для того чтобы создавать красивые презентации нужно немного. Попробую составить список «наставлений для программистов», что делать нельзя и что нужно.
Читать дальше →
Всего голосов 88: ↑74 и ↓14+60
Комментарии36

Новые курсы в Библиотеке учебных курсов

Время на прочтение5 мин
Количество просмотров4.3K
Библиотека учебных курсов пополнилась новыми курсами:

  • Основы объектного программирования на C# 3.0
  • Технологии построения и использования персональных Windows-кластеров
  • Основы разработки компьютерных игр в XNA Game Studio
  • Сетевая безопасность на основе серверных продуктов Microsoft
  • Основы XAML
  • Основы Microsoft Sharepoint
  • Введение в программную инженерию
  • Методика выполнения курсовых и дипломных работ в составе команды с использованием среды Microsoft Visual Studio Team System
  • Программирование на языке С#: разработка консольных приложений
  • Программирование под Windows в среде Microsoft Visual Studio 2005 на языке C++
  • Управление проектами средствами Microsoft Project
  • Методология внедрения Microsoft Active Directory

Надеемся, эти курсы будут вам полезны в учебе, а кому-то и в преподавании :)

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

120 дней бесплатно

Время на прочтение1 мин
Количество просмотров770
Как известно, любую версию Windows 7 можно скачать и бесплатно использовать 30 дней, во время которых придётся страдать от напоминающих сообщений. С четвёртого по 27-ой день они показываются один раз в сутки, в 28 и 29 дни — раз в четыре часа, а в последний день — ежечасно. После этого система попросит ввести 25-значный ключ.

Однако, как выяснилось, в Windows 7 действует та же самая «секретная» команда, что и в «Висте». Она позволяет продлить срок бесплатного использования Windows 7 и избавиться от постоянных сообщений в последние дни. Просто когда 30-дневный срок использования ОС подходит к концу, нужно из командной строки запустить

slmgr –rearm

и перезагрузиться. У вас появится ещё 30 дней. Такое можно осуществлять трижды. Таким образом, максимальный срок бесплатного использования Windows 7 составит 120 дней. Представители Microsoft уже подтвердили, что это не является нарушением EULA.

Впрочем, «секретная» команда — это не единственный способ бесплатно пользоваться Windows 7. Сегодня до 19:00 (по московскому времени) вы ещё успеете скачать с официального сайта Windows 7 Release Candidate (RC), последнюю предварительную версию Windows 7, которая распространяется бесплатно и работоспособна до 1 июня 2010 г.
Всего голосов 40: ↑17 и ↓23-6
Комментарии14

Scala. Всем выйти из сумрака!

Время на прочтение6 мин
Количество просмотров33K
А сейчас нужно обязательно дунуть, потому что если не дунуть, то ничего не получится.
—Цитаты великих

И здравствуйте!

Сегодня мы поговорим о неявном в языке Scala. Кто еще не догадался — речь пойдет об implicit преобразованиях, параметрах, классах и иже с ними.Все новички, особенно любители питона с зеновским Explicit is better than Implicit, обычно впадают в кататонический ступор при виде подкапотной магии, творящейся в Scala. Весь компилятор и принципы в целом охватить за одну статью удастся вряд ли, но ведь дорогу осилит идущий?
Вот мы и пойдем
Всего голосов 43: ↑36 и ↓7+29
Комментарии23

Параллельные и распределенные вычисления. Лекции от Яндекса для тех, кто хочет провести праздники с пользой

Время на прочтение3 мин
Количество просмотров78K
Праздничная неделя подходит к концу, но мы продолжаем публиковать лекции от Школы анализа данных Яндекса для тех, кто хочет провести время с пользой. Сегодня очередь курса, важность которого в наше время сложно переоценить – «Параллельные и распределенные вычисления».

Что внутри: знакомство с параллельными вычислениями и распределёнными системами обработки и хранения данных, а также выработка навыков практического использования соответствующих технологий. Курс состоит из четырех основных блоков: concurrence, параллельные вычисления, параллельная обработка больших массивов данных и распределенные вычисления.



Лекции читает Олег Викторович Сухорослов, старший научный сотрудник Центра грид-технологий и распределенных вычислений ИСА РАН. Доцент кафедры распределенных вычислений ФИВТ МФТИ. Кандидат технических наук.
Содержание и тезисы лекций
Всего голосов 106: ↑98 и ↓8+90
Комментарии31

Lock-free структуры данных. 1 — Начало

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

Я надеюсь, что эта статья станет началом цикла заметок о lock-free структурах данных. Я хочу поделиться с хабрасообществом своим опытом, наблюдениям и размышлениями о том, что такое lock-free структуры данных, как их реализовывать, подходят ли концепции контейнеров стандартной библиотеки STL к lock-free контейнерам, и когда стоит (и стоит ли вообще) применять lock-free структуры данных.

Читать дальше →
Всего голосов 165: ↑161 и ↓4+157
Комментарии39

Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры

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

Волокна заряжены в сварочный аппарат

Здравствуйте, читатели Хабра! Все слышали про оптические волокна и кабели. Нет нужды рассказывать, где и для чего используется оптика. Многие из вас сталкиваются с ней по работе, кто-то разрабатывает магистральные сети, кто-то работает с оптическими мультиплексорами. Однако я не встретил рассказа про оптические кабели, муфты, кроссы, про саму технологию сращивания оптических волокон и кабелей. Я — спайщик оптических волокон, и в этом (первом своём) посте хотел бы рассказать и показать вам, как всё это происходит, а также часто буду в своём рассказе отвлекаться на прочие смежные с этим вещи. Опираться буду в основном на свой опыт, так что я вполне допускаю, что кто-то скажет «это не совсем правильно», «вот тут неканонично».
Материала получилось много, поэтому возникла необходимость разбить топик на части.
В этой первой части вы прочтёте про устройство и разделку кабеля, про оптический инструмент, про подготовку волокон к сварке. В других частях, если тема окажется вам интересной, я расскажу про методы и покажу на видео сам процесс сращивания самих оптических волокон, про основы и некоторые нюансы измерений на оптике, коснусь темы сварочных аппаратов и рефлектометров и других измерительных приборов, покажу рабочие места спайщика (крыши, подвалы, чердаки, люки и прочие поля с офисами), расскажу немного про крепёж кабелей, про схемы распайки, про размещение оборудования в телекоммуникационных стойках и ящиках. Это наверняка пригодится тем, кто собирается стать спайщиком. Всё это я сдобрил большим количеством картинок (заранее извиняюсь за paint-качество) и фотографий.
Осторожно, много картинок и текста.

Часть 2 здесь.
Читать дальше →
Всего голосов 340: ↑337 и ↓3+334
Комментарии128

Добро пожаловать в блог KamaGames Studio

Время на прочтение1 мин
Количество просмотров3.6K
Здравствуй, Хабр!

Мы рады объявить об открытии нашего блога на Хабре! Для тех, кто с нами не знаком, – KamaGames Studio занимается разработкой игр для мобильных устройств с 2010 года. Сейчас наша команда состоит из 120 профессионалов, работающих в двух офисах – в Москве и Владивостоке.
image
Мы разрабатываем игры для мобильных устройств, ориентированные на массовую аудиторию. Наши продукты занимают стабильные позиции в Top Grossing США и пользуются популярностью во всем мире. Подробности можно узнать на сайте нашей компании.

В блоге мы будем делиться нашим опытом и техническими решениями, которые находим в процессе разработки наших игр. Мы надеемся, что наш опыт будет полезен хабрапользователям!
Всего голосов 30: ↑8 и ↓22-14
Комментарии9

Comet сервер на эрланге

Время на прочтение5 мин
Количество просмотров8.5K
Статья для людей, только начинающих знакомиться с эрлангом: как написать простой comet сервер.

Готовый код здесь: github.com/maxlapshin/comet

Описание



Комет-сервер будет написан с использованием cowboy, tinymq, и куска жабаскрипта.

Код выложен на гитхабе с тегами. Основные этапы помечены тегами, можно откатиться, чтобы посмотреть, что именно было сделано в тот или иной момент.

Сама статья пишется параллельно с кодом, что заметно из истории в гите.

Логика такая: по http постим сообщение на сервер, оно попадает в очередь сообщений, откуда его выгребает клиент через long-poll запрос.

Читать дальше →
Всего голосов 66: ↑53 и ↓13+40
Комментарии34

Тестирование 10 Гбит / с серверов в Нидерландах, теперь серверы доступны и в US! От $2999 / месяц!

Время на прочтение5 мин
Количество просмотров19K
В этой статье я расскажу о принципе подбора правильной конфигурации для мультигигабитного стримминг-решения, но для начала немного рекламы :). Более месяца назад мы анонсировали новость о начале предоставления выделенных серверов в Нидерландах с гарантированным каналом 10 Гбит / с без ограничения трафика.

http://ua-hosting.com.ua/nl-servers.html — заказ 10 Гбит / с серверов доступен здесь.

Пришла пора сообщить, что это правда и реальность и в данный момент лучшее предложение на рынке, помимо этого мы первые начинаем предоставлять подобные серверы в США и, кроме того, еще больше понижаем акционные цены. Теперь у Вас есть возможность арендовать сервер с выделенным 10 Гбит / с подключением в сеть Интернет без ограничения трафика по цене от $2999 / месяц, в зависимости от выбранной конфигурации, в локациях Нидерланды или США на выбор! Регламентируемый срок установки серверов 7-14 рабочих дней после оплаты, однако в реальности мы зачастую выдаем серверы уже через день после их заказа.

Тут лишними будут какие-либо слова, график загрузки канала одного из клиентов говорит сам за себя:

image

image

Да, некоторым нашим клиентам и 10 Гбит / с мало :)

Но крайне важно подобрать правильную конфигурацию под Ваш проект, чтоб выделенный 10 Гбит / с канал мог использоваться в полной мере и максимально эффективно. Так, сервер в начальной конфигурации Intel Xeon E3-1230 / 8GB DDR3 / 2x500GB SATA2 / 10Gbps Unmetered зачастую не способен отдать даже 1 Гбит / с трафика, не то, что 10.

image
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии48

Информация

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