Как стать автором
Обновить
4
0

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

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

RabbitMQ против Kafka: два разных подхода к обмену сообщениями

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

В прошлых двух статьях мы рассказывали об IIoT — индустриальном интернете вещей — строили архитектуру, чтобы принимать данные от сенсоров, паяли сами сенсоры. Краеугольным камнем архитектур IIoT да и вообще любых архитектур работающих с BigData является потоковая обработка данных. В ее основе лежит концепция передачи сообщений и очередей. Стандартом работы с рассылкой сообщений сейчас стала Apache Kafka. Однако, для того, чтобы разобраться в ее преимуществах (и понять ее недостатки) было бы хорошо разобраться в основах работы систем очередей в целом, механизмах их работы, шаблонах использования и основной функциональности.



Мы нашли отличную серию статей, которая сравнивает функциональность Apache Kafka и другого (незаслуженно игнорируемого) гиганта среди систем очередей — RabbitMQ. Эту серию статей мы перевели, снабдили своими комментариями и дополнили. Хотя серия и написана в декабре 2017 года, мир систем обмена сообщениями (и особенно Apache Kafka) меняется так быстро, что уже к лету 2018-го года некоторые вещи изменились.

Читать дальше →
Всего голосов 87: ↑82 и ↓5+77
Комментарии41

Создание шаблонов в IDE от Jetbrains

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

Вступление


Сегодня я хочу привести небольшой обзор-туториал темплейтов в ИСР от Jetbrains. Приведенные ниже примеры будут реализованы на Java в Intellij IDEA, но механизм создания одинаков и для других языков и продуктов компании. Думаю все программирующие в данной IDE пользовались встроенными шаблонами. Например когда вы пишете fori, нажимаете TAB или ENTER и у вас появляется цикл for в котором нужно указать имя переменной и условие, а остальной код генерируется за вас.

for (int i = 0; i < ; i++) {   
                               
}    

Или же знакомый всем java-программистам sout -> System.out.println(). Так вот, в Intellij есть поддержка создания своих шаблонов кода. На удивление не нашёл практически никакой инфы на русском и довольно мало на английском(благо есть неплохая документация) когда наткнулся на эту фичу, хотя это сильно ускоряет и помогает в разработке. И сейчас когда дошли руки решил написать небольшую статью об этом. Возможно опытным программистам она мало чем поможет, они и сами смогут разобраться во всём или же уже давно это юзают, но для всех остальных считаю вполне подойдёт. Итак приступим.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии13

Как перейти на микросервисы и не разломать production

Время на прочтение9 мин
Количество просмотров16K
Сегодня расскажем, как переводили на микросервисы монолитное решение. Через наше приложение круглосуточно проходит от 20 до 120 тысяч транзакций в сутки. Пользователи работают в 12 часовых поясах. В то же время функционал добавлялся много и часто, что довольно сложно делать на монолите. Вот почему системе требовались устойчивая работа в режиме 24/7, то есть HighLoad, High Availability и Fault Tolerance.

Мы развиваем этот продукт по модели MVP. Архитектура менялась в несколько этапов вслед за требованиями бизнеса. Первоначально не было возможности сделать всё и сразу, потому что никто не знал, как должно выглядеть решение. Мы двигались по модели Agile, итерациями добавляя и расширяя функциональность.


Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии9

Выпуск#12: ITренировка — актуальные вопросы и задачи от ведущих компаний

Время на прочтение4 мин
Количество просмотров9.5K
Мы подобрали новую порцию вопросов и задач, встречающихся соискателям на собеседованиях в ведущие ИТ-компании мира.

КДПВ

Задачи отобраны различного уровня сложности, начиная от очень простых. Но не все из них имеют очевидное, на первый взгляд решение, поиск которого поможет Вам держать мозг в тонусе, а кому-то, возможно, поможет не растеряться на собеседовании.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии42

Руководство по аналитике для основателя стартапа

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


Вам нужна аналитика.


Я совершенно уверен в этом, потому что сегодня всем нужна аналитика. Не только продуктовой команде, не только маркетингу или финансам, но и продажам, доставке, сегодня каждому в стартапе нужна аналитика. Аналитика помогает принимать все решения, от стратегических до тактических, как управляющим, так и рядовым сотрудникам.


Это пост о том, как создать аналитику в вашей организации. Речь пойдёт не о том, какие метрики отслеживать (об этом уже написано много хороших постов), а о том, как сделать так, чтобы ваш бизнес их генерировал. На практике выясняется, что на вопрос реализации —  как мне построить бизнес, который добывает данные для принятия решений? —  ответить гораздо труднее.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии5

Бег в мешках с завязанными глазами спиной вперед

Время на прочтение7 мин
Количество просмотров10K
Какой язык программирования самый быстрый — не всегда практичный, но крайне любопытный вопрос. Сайт benchmarksgame как раз об этом. Суть проекта в сравнении скорости языков программирования на ряде типовых задач. Надо сказать, что результаты не всегда предсказуемы. Что, если JavaScript такой же быстрый, как и C? Это же скандал!

Гордость и предубеждение


Способность делать что-либо быстро всегда высоко ценится ее обладателем, зачастую независимо от качества исполнения. — Джейн Остин

На benchmarksgame часто ссылаются, чтобы доказать преимущества или недостатки того или иного языка программирования. Однако тут нужно быть аккуратным. Те, кто профессионально занимаются замерами производительности, знают, что в этом деле есть множество подводных камней, и можно легко попасть в просак. Например, виртуальной машине Java нужно некоторое время, чтобы прогреться. Соответственно на слишком коротких тестах результаты будут нерепрезентабельны. К счастью, с точки зрения статистики на сайте используется очень даже систематичный подход.

Но цифрам все равно нельзя верить, и вот почему.


Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии19

“Без data engineer-а ценность модели аналитика стремится к нулю” — интервью с дата инженером Николаем Марковым

Время на прочтение10 мин
Количество просмотров16K
Привет, Хабр! Data Engineering становится все более популярным, многие компании постепенно открывают соответствующие вакансии. В связи с этим мы взяли интервью у Senior Data Science Engineer, Aligned Research Group LLC и преподавателя на программах “Специалист по большим данным” и “Data Engineer” Николая Маркова о том, что должны уметь data scientist-ы и data engineer-ы, чего им чаще всего не хватает и как найти свое место в анализе данных.


Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии14

Настраиваем сочетания клавиш в Linux наподобие Mac OS X

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

Раньше, у меня довольно часто возникала такая ситуация, когда одновременно работаешь в терминале и, например, в браузере.
После нескольких часов работы начинаешь путаться и в терминале вместо [Ctrl]+[Shift]+[C] нажимаешь [Ctrl]+[C], а в браузере наоборот. В итоге в терминале вы получаете прерывание а в браузере вместо ожидаемого эффекта у вас медленно прогружается дебаггер.
В один прекрасный момент меня это достало и я решил, что пора что-то менять…
Меня тоже это достало!
Всего голосов 26: ↑20 и ↓6+14
Комментарии54

Технические собеседования: советы

Время на прочтение5 мин
Количество просмотров38K
Привет, Хабр!

У команды Хекслета немало опыта проведения технических собеседований. Мы делились опытом и советами в вебинаре «Собеседования: взгляд со стороны работодателя». А сегодня публикуем перевод статьи с советами от компании, которая помогает людям готовиться к собеседованиям.

От себя хочу добавить, что не смотря на полезность этих советов, если описанный здесь человек — это не вы, то не нужно стараться эмулировать его.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии46

Supervisord и forever больше не нужны. Systemd

Время на прочтение2 мин
Количество просмотров51K
В статье речь будет идти о systemd, который вошел в Debian 8 jessie. Я пишу о Debian, потому что пользуюсь именно им. Пишу о systemd не потому что его фанат, но некоторые вещи меня действительно радуют.

Так почему же больше не нужны supervisord и forever?
Читать дальше →
Всего голосов 35: ↑25 и ↓10+15
Комментарии67

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

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

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Всего голосов 117: ↑114 и ↓3+111
Комментарии66

Введение в теорию взаимодействующих последовательных процессов (Communicating Sequential Processes — CSP)

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

Предисловие


Данный текст является переводом и сокращённым пересказом начальных глав книги Чарльза Э. Хоара. Целью является ознакомление русскоязычной аудитории с данной алгеброй исчисления процессов, коя нашла достаточно широкое применение в современной вычислительной науке в связи с большим распространением параллельных систем. Наиболее близкими и понятными практическими применениями CSP, думаю, будут являться следующие языки программирования:

CSP является формальным математическим языком, позволяющим описывать взаимодействие параллельных систем, основным его применением является формальная спецификация параллельной работы систем, например таких как Транспьютер, кроме того он применяется при разработке высоконадёжных площадок электронной торговли.
В данной статье будут рассказаны основы данной алгебры, без которой невозможно её дальнейшее изучение, в основном это базовое описание процесса, что покрывает первую половину первой главы книги.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии9

Механические клавиатуры

Время на прочтение17 мин
Количество просмотров761K
Все мы давно ждем массового появления всевозможных кибер-перчаток и виртуальной реальности на каждом шагу, но все равно каждый день в офисе и дома нам приходится работать за такой банальной вещью, как обычная клавиатура.

А раз уж сталкиваешься с вещью регулярно, постепенно возникает вопрос — можно ли найти для работы какие-то более удобные варианты обычных клавиатур?

Итак, некоторое время назад я озаботился сбором информации о клавиатурах, и даже начал готовить информацию для статьи, но к сожалению (к счастью?) нашлась исчерпывающая статья о всех нюансах сразу, которую я решил перевести.

Механические клавиатуры. Путеводитель.

Читать дальше →
Всего голосов 323: ↑313 и ↓10+303
Комментарии331

Верстка для самых маленьких. Верстаем страницу по БЭМу

Время на прочтение14 мин
Количество просмотров387K
Недавно хабраюзер Mirantus написал статью «Как сверстать веб-страницу», в которой рассказывал о том, как же сверстать веб-страничку. В его статье было подробно рассмотрено, как выделить отдельные элементы из заданного шаблона, подобрать шрифты и т.п. Однако его подход к написанию, собственно, веб-страницы мне показался не очень хорошим, о чем я написал в комментариях.

В данной статье я хочу рассказать, о том, как можно сверстать «хорошо» (по крайней мере структурировано ;), а заодно рассказать и о методологии, которая может «упростить жизнь» при верстке. Структура поста будет следующей:

  • BEM
  • Собственно пример — как сверстать страницу

Читать дальше →
Всего голосов 154: ↑133 и ↓21+112
Комментарии172

Selenium для Python. Глава 1. Установка

Время на прочтение5 мин
Количество просмотров472K
Представляю перевод неофициальной документации Selenium для Python.
Перевод сделан с разрешения автора Baiju Muthukadan.
Оригинал можно найти здесь.

Предисловие от автора статьи


Selenium WebDriver – это программная библиотека для управления браузерами. WebDriver представляет собой драйверы для различных браузеров и клиентские библиотеки на разных языках программирования, предназначенные для управления этими драйверами.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии12

Правильные многогранники. Часть 2. Четырёхмерие

Время на прочтение10 мин
Количество просмотров26K
Предыдущая публикация: Правильные многогранники. Часть 1. Трёхмерие

Вступление

image
Вижу, что на Хабре люди серьёзные собрались. Статью про трёхмерие на счёт «раз» разобрали. Однако пространствами постоянной кривизны никого не удивишь в наше время. Тем не менее всегда находятся желающие заглянуть выше, в четырёхмерие. Ну что ж, именно с такими любознательными коллегами мы продолжаем разговор и переходим на следующий уровень по размерности.

Моя задача не просто рассказать про разбиения пространств постоянной кривизны любой размерности на правильные многогранники, а сделать это так, чтобы материал поняли даже вчерашние школьники, окончившие 11 классов. Я люблю статьи на Хабре именно за их доходчивость, понятность, простоту, не смотря на сложность материала, и в таком же качестве стараюсь подавать сведения в публикациях. В ВУЗах и в отечественных публикациях предлагаемый материал возможно рассматривается, но, как мне кажется, не в таком виде. Думаю, что информация будет полезна и для студентов. В иностранной литературе данный материал есть, соответственно не на русском языке, в сильно сжатом виде и с использованием высшей математики. Тут я всё «разжёвываю» для школьников, без высшей математики, фактически на одной геометрической интуиции. Мы увидим в следующей статье, как будет сделан переход от 4D к 5D с помощью геометрии, наглядно, без высшей алгебры. Это будет самый сложный шаг, но кто его поймёт, тот поймёт и все остальные размерности от 6 и выше. Не уверен, что мне удалось всё основательно «разжевать», поэтому, если будут дополнительные вопросы — задавайте, это поможет мне улучшить статью.

В данной публикации идея выкладок полностью та же, что и в предыдущей статье, только на одну размерность выше
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии29

Правильные многогранники. Часть 1. Трёхмерие

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

Введение. Постановка вопроса.


В школьной программе, к сожалению, сферическую геометрию и геометрию Лобачевского не изучают. Тем временем, их изучение совместно с Евклидовой геометрией, позволяет глубже понять происходящее с объектами. Например, понять связь правильных многогранников с разбиениями сферы, разбиениями плоскости Евклида и разбиениями плоскости Лобачевского.
Знания геометрии пространств постоянной кривизны помогает подниматься над трёхмерием и выявлять многогранники в пространствах размерности 4 и выше. Вопросы нахождения многогранников, нахождения разбиений пространств постоянной кривизны, вывода формулы двугранного угла правильного многогранника в n-мерном пространстве — так тесно переплетены, что выносить всё это в название статьи оказалось проблематично. Пусть в центре внимания будут, всем понятные, правильные многогранники, хотя они не только результат всех выводов, но и, одновременно, инструмент для постижения пространств высших размерностей и равномерно искривлённых пространств.

Для тех кто не знает (забыл) сообщаю (напоминаю), что в привычном нам трёхмерном Евклидовом пространстве всего пять правильных многогранников:
1. Тетраэдр: 2. Куб: 3. Октаэдр: 4. Додекаэдр: 5. Икосаэдр:





Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии46

Литературно-фантастические новинки 2014 года. Чем пополнить домашнюю библиотеку фантастики

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


Мы уже давно хотели сделать подобный пост, но всё ждали подходящего случая. И вот он подвернулся — Новый год, время подведения всевозможных итогов и создания рейтингов. И мы решили вспомнить о вечном — о фантастической литературе. Вряд ли найдётся среди нас хоть кто-то, кто не любит фантастику. Какой же айтишник не хранит в душе, в укромном уголке, воспоминания о книгах, которые когда-то потрясли его воображение своими вымышленными историями?!

И если в суете будней вы подзабросили чтение книг, то это вы зря. Высокие технологии пока не задушили писательское ремесло (надеемся, этого и не произойдёт), и ежегодно выходит немало интересных книг, достойных того, чтобы выкроить полчаса-час в день на чтение. Быть может, эти книги станут для вас некой отправной точкой. Кстати, в конце ноября теперь уже прошлого года Урсула Ле Гуин сказала:

«Наступают трудные времена, когда мы будем нуждаться в голосах писателей, которые смогут предложить альтернативы нашей сегодняшней жизни. Которые сквозь наше пронизанное страхом общество и навязчивые технологии смогут увидеть другие виды бытия, и, может быть, даже дадут нам надежду. Мы будем нуждаться в писателях, поэтах и мечтателях, помнящих о свободе реалистах».

Читать дальше →
Всего голосов 67: ↑51 и ↓16+35
Комментарии45

Ёжик во фрактальном тумане

Время на прочтение5 мин
Количество просмотров48K
Эта статья — последняя из серии моих хабрастатей о фракталах. В хабрастатье «Рисуем картинки с помощью кривой Гильберта» рассказывалось о котёнке по имени Гав, в хабрастатье «Кош на комплексной плоскости» — о перетекании фракталами в горизонт, в хабрастатье «Ночь фракталов» — об алгоритме времени убегания. В этой статье пойдёт речь о ёжике в тумане и, конечно же, о коте.



Читать дальше →
Всего голосов 115: ↑112 и ↓3+109
Комментарии17

IPv6: Сколько адресов нужно для счастья?

Время на прочтение6 мин
Количество просмотров55K
Картинка, которая некоторых привыкших к IPv4 сетевиков может ввести в ступор:

    R6#sh ipv6 interface brief
    FastEthernet0/0            [up/up]
        FE80::218:18FF:FE45:F0E2
        1::1
        1::2
        1::3
        1::10
        1::100:500
        2::1
        2::2

Причём каждый из этих адресов может быть использован наравне с другими. Как так?
Читать дальше →
Всего голосов 64: ↑61 и ↓3+58
Комментарии54

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность