Pull to refresh
4
0

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

Send message

Apache Kafka и RabbitMQ: семантика и гарантия доставки сообщений

Reading time 17 min
Views 64K


Подготовили перевод следующей части многосерийной статьи, где сравнивается функциональность Apache Kafka и RabbitMQ. В этой публикации речь идёт о семантике и гарантии доставки сообщений. Обращаем ваше внимание, что автор учитывал Кафку до версии 0.10 включительно, а в версии 0.11 появился exactly-once. Тем не менее, статья остаётся актуальной и полна полезных с практической точки зрения моментов.
Предыдущие части: первая, вторая.
Читать дальше →
Total votes 34: ↑34 and ↓0 +34
Comments 2

7 ложных предположений о том, как устроены строки

Reading time 10 min
Views 24K

Как Unicode уничтожает большинство ваших предположений о том, как на самом деле работают строки



Когда речь идет о написании чего-то простого, мы, программисты, обычно действуем интуитивно. В случае с простыми вещами мы полагаемся на четкий набор предположений вместо конкретных знаний о том, как эти вещи работают. Например, мы предполагаем, что если b = a + 1, то b больше a, или что если мы применим функцию malloc для какого-то буфера, то получим необходимое количество памяти для записи. Мы не заглядываем в документацию всякий раз, когда имеем дело с мелочами.


Мы делаем так, потому что тотальная проверка замедлит работу. Однако если бы мы все-таки провели проверку, мы бы обнаружили, что обычно ошибаемся в своих предположениях. Существует арифметическое переполнение, в результате которого a + 1 может быть значительно меньше, чем a. Иногда malloc дает нам null вместо буфера и мы оказываемся в пролете.


Нам обычно приходится обжечься на таких вещах, чтобы хотя бы немного изменить свои предположения. И даже тогда мы обычно исправляем их весьма условно.
Столкнувшись с досадной ошибкой переполнения, мы можем скорректировать свое предположение о целых числах в виде «a + 1 больше a, если отсутствует вероятность, при которой a представляет собой очень большое число». И мы действуем исходя из этого, вместо того, чтобы обдумать четкие правила, по которым работает переполнение.


Уточненные предположения – это опыт. Чаще всего они позволяют нам работать быстрее и правильнее. Однако мы можем вообще переместить некоторые вещи, например, правильную обработку malloc, из нашей внутренней категории «простые вещи» во внутреннюю категорию «сложные вещи». И тогда мы действительно можем пойти и уточнить, как они работают.

Читать дальше →
Total votes 89: ↑87 and ↓2 +85
Comments 40

3 совета для разработчиков по результатам 20 собеседований

Reading time 7 min
Views 16K

На глаза попалась статья о приеме разработчиков на работу. Мы сейчас тоже ищем разработчиков, поэтому тема откликнулась. Автор статьи провел 20 собеседований и делится опытом, попутно давая советы соискателям. Мы, конечно же, провели гораздо больше собеседований и понимаем, что в этом деле не всё так однозначно, как пишет программист из США. И хотя статья достаточно спорная, я всё же решил поделиться и узнать, а как она вам?

Читать далее
Total votes 22: ↑6 and ↓16 -10
Comments 46

Более 10 лет ставлю цели на год: рассказываю, как это делать эффективно

Reading time 12 min
Views 183K

Меня зовут Павел Комаровский, и я алкоголик занимаюсь саморазвитием уже более 10 лет. Эта статья о том, какой подход к личному целеполаганию я выработал для себя в итоге – надеюсь, она поможет вам избежать ошибок, которых в своё время наделал я.

Я полностью прошёл все стадии грехопадения: в студенческие годы искал сакральные ответы в стопках self-help макулатуры; затем разочаровался и решил, что весь этот «успешный успех» – это разводилово для дурачков (до сих пор уверен, что Наполеон Хилл – шизофреник); позже переосмыслил всё ещё раз и пришёл к своему пониманию того, как может выглядеть саморазвитие с адекватным лицом.

Читать далее
Total votes 103: ↑92 and ↓11 +81
Comments 223

Стримы июля: почему токсичные люди самые эффективные, ловушка стабильности, HighLoad на PHP и найм на работу

Reading time 5 min
Views 9.5K

Привет, Хабр!

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

  • Профессию монетизатора — кто эти бездушные люди, которые втыкают внутренние покупки в игры? Со Славой Дреером, монетизатором с 7-летним стажем и продюсером игровых проектов
  • Что делать, если хочется создавать life-changing проекты, а приходится зарабатывать деньги, с продуктовым лидом Arrival Александром Ловягином
  • Как нанять 57 синьоров за 43 дня и быстро их включать в проекты, с заместителем CTO в Delivery Club Андреем Евсюковым
  • Как стать мощным PHP-разработчиком с Александром Высоцким, Senior Backend Developer в Badoo

Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Comments 1

О хранении JWT токенов в браузерах

Reading time 3 min
Views 62K

Открытый стандарт JWT официально появился в 2015 (rfc7519) обещая интересные особенности и широкие перспективы. Правильное хранение Access токена является жизненно важным вопросов при построении системы авторизации и аутентификации в современном Web, где становятся все популярнее сайты, построенные по технологии SPA.

Неправильное хранение токенов ведет к их краже и переиспользованию злоумышленниками.
Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 102

Как я, тимлид, оцениваю проекты

Reading time 9 min
Views 14K
Тимлиды часто оценивают проекты, и не все делают это хорошо. Тут многое зависит от личности самого тимлида, а также от его понимания команды. Есть много техник оценки проектов от метода “по аналогии” до PERT. Но сегодня я расскажу о том, как я применяю planning poker и другие приемы, чтобы оценивать точнее и с большей пользой.

image

Читать дальше →
Total votes 30: ↑24 and ↓6 +18
Comments 17

Ким Дотком: пойманный в сеть, самый разыскиваемый человек онлайн. Часть 2

Reading time 16 min
Views 14K
Для одних Ким Дотком, основатель скандально известного файлообменника «MegaUpload», преступник и интернет-пират, для других — несгибаемый борец за неприкосновенность персональных данных. 12 марта 2017 года состоялась мировая премьера документальной киноленты, в которой приведены интервью с политиками, журналистами и музыкантами, знающими Кима «со всех сторон». Новозеландский режиссер Энни Голдсон с помощью видео из личных архивов рассказывает о сути судебных баталий Доткома с правительством США и другими государственными структурами, провозгласившими бой мировому интернет-пиратству.



В юности Ким Дотком считал США оплотом мировой демократии, страной, правительство которой самоотверженно борется за торжество справедливости во всем мире. Побывав в ролях хакера, малолетнего преступника и консультанта по компьютерной безопасности, к 30-ти годам Ким решает заняться бизнесом и создает крупнейший файлообменник «MegaUpload», число пользователей которого достигло 160 млн. человек. Практически до самого закрытия сайта в 2012 году он занимал 13 место в рейтинге самых посещаемых интернет-ресурсов. За 7 лет существования «MegaUpload» Ким заработал более сотни миллионов долларов, но в результате судебных разбирательств превратился в банкрота. Инициатором судебного преследования выступили США, обвинившие Доткома в размещении пиратского контента и нарушении авторских прав, что будто бы принесло правообладателям ущерб в размере 500 млн. долларов.

До сих пор Киму так и не удалось оправиться от удара и поправить финансовые дела, так как все средства он тратит на услуги адвокатов и создание новых инновационных проектов, таких как платформа «K.im» — так называемый «магазин файлов», совершающий платежи на основе криптовалюты.

В статье рассказывается о сюжете фильма «Пойманный в сеть», а также приводятся выдержки из других публицистических материалов, недоступных русскоязычному читателю.
Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 0

Методики уменьшения размеров образов Docker

Reading time 10 min
Views 35K
Задавались ли вы когда-нибудь вопросом о том, почему размер Docker-контейнера, содержащего всего одно приложение, может находиться в районе 400 Мб? Или, может быть, вас беспокоили немаленькие размеры образа Docker, содержащего единственный бинарник размером в несколько десятков Мб?



Автор статьи, перевод которой мы сегодня публикуем, хочет разобрать основные факторы, влияющие на размеры контейнеров Docker. Он, кроме того, собирается поделиться рекомендациями по уменьшению размеров контейнеров.
Читать дальше →
Total votes 61: ↑60 and ↓1 +59
Comments 11

Как найти работу с хорошим контрактом

Reading time 4 min
Views 4.7K

Article logo


Привет, хабровчане!


Мне за последнее время довелось побегать по изрядному количество собеседований и даже получить оферы у некоторых известных и не очень европейских компаний, но рассказывать я вам сегодня буду не о том, как готовиться решать каверзные задачки по программированию или как лучше демонстрировать софт скилы. Сегодня мы поговорим об open source и трудовых контрактах, насколько они соответствуют друг другу и какие тут могут быть подводные камни. Нет ничего печальнее чем вынужденный сход с дистанции посли 3 этапов собеседований и недельного домашнего задания, когда приходит понимание, что этот трудовой контракт вы не подпишете даже под дулом пистолета. Я видел много трудовых контрактов и научился отличать очень плохие от плохих, плохие от сносных и сносные от хороших. Подробнее обо всем под катом.

Читать дальше →
Total votes 26: ↑15 and ↓11 +4
Comments 23

Работа по найму и свои проекты. По следам Nginx

Reading time 3 min
Views 18K

Article logo


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

Читать дальше →
Total votes 51: ↑43 and ↓8 +35
Comments 76

Формируем стратегию работы с ошибками в React

Reading time 8 min
Views 15K

Как сделать падение мягким?




Я не нашел исчерпывающего руководства по обработке ошибок в React приложениях, поэтому решил поделиться полученным опытом в этой статье. Статья рассчитана на начинающих разработчиков и может стать некоторой отправной точкой к систематизации обработки ошибок в приложении.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 15

Хакатон в небольшой компании: как устроить, не вваливая вагон ресурсов

Reading time 10 min
Views 3.3K


Это статья о том, как я впервые провел хакатон для команды. Прокачанным организаторам материал наверняка покажется слишком простым, а история — наивной. Я ориентировался на тех, кто только знакомится с форматом и думает, устраивать ли такое мероприятие.

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

Любая работа порой не то чтобы надоедает, но становится пресноватой. В этот момент полезно сменить фокус, попробовать что-то новое. Поэтому мы с полгода присматривались к хакатонам.

Хакатон — это такое состязание для айтишников: несколько команд собираются и два дня подряд решают сложные задачи. Обычно соревнуясь за приз, который присуждает жюри.

Нам хотелось опробовать формат и развлечься, но классический хакатон — довольно масштабная, хлопотная и дорогая затея. Поэтому мы провели лайт-версию почти без бюджета. А в итоге остались довольны и даже сделали кое-что полезное.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 4

Как сделать презентацию «из спичек и желудей» и доказать всем, что и без дизайнера можно выстрелить

Reading time 6 min
Views 4.8K
В хакатон-тусовке постоянно ведутся споры о том, имеет ли весомое значение дизайн презентации, которую представляют команды членам жюри на финальном питче продукта. С 20 по 22 ноября участникам нашей преакселерационной программы предстоит защита проектов. Мы задумались — а какую вообще роль в этом спектакле играет красивая презентация и как сделать из нее конфетку хотя бы на минималках. Чтобы в этом разобраться, мы обратились к участникам финального этапа конкурса. В этом посте они поделятся своим опытом работы на хакатонах с дизайнером и без, а также дадут несколько лайфхаков, как с минимальным набором ингредиентов сделать из презентации настоящую конфетку.


Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 3

Перестаньте заниматься не своей работой

Reading time 10 min
Views 90K
Вы легко отзываетесь на просьбу помочь? Вам не трудно сделать пару лишних задач? Вы молча переделываете не очень хорошую работу за коллегами или подчинёнными? Скорее всего, ваша рабочая нагрузка заставляет вас «перегреваться». 

Нередко в малом бизнесе мы занимаемся всем подряд, не замечая того: тестовый сервер будет перезапущен, о чём мы сами и сообщим в чате клиенту вместо инженера; баннер повесить — да погоди, у меня есть доступ к админке, готово; код аналитики — да давай я тебе Tag Manager повешу и покажу, как через него любые теги размещать; вот тут в выгрузке были подозрительные пики и провалы, я тебе сделал дополнительную детализацию… Особенно тяжело ситуация обстоит в компаниях, которые активно работают по заявкам клиентов, и каждый сотрудник берёт в работу самые разноплановые задачи. Как итог: усталость, выгорание, ошибки и завалы собственных невыполненных задач. Знакомо? Давайте искать причины и выходы под катом.

Читать дальше →
Total votes 83: ↑77 and ↓6 +71
Comments 85

Как собеседовать работодателя?

Reading time 4 min
Views 46K
У программистов обычно принято обсуждать собеседования с точки зрения (около)технических вопросов, которые им задает интервьювер.

Надо ли писать код на доске? Надо ли жонглировать бинарными деревьями и знать наизусть все сложности алгоритмов, или просто разговаривать про жизнь и проекты?

Я хотел бы зайти в этой статье с другого конца и обсудить, во-первых, не техническую часть, а, во-вторых, вопросы, которые сам кандидат должен задать интервьюверу.

Читать дальше →
Total votes 85: ↑77 and ↓8 +69
Comments 63

Тяжела ли работа программиста — взгляд с точки зрения психофизиологии

Reading time 4 min
Views 65K
Во первых словах:
— Работа программистом-разработчиком — тяжелый труд, сравнимый с валкой леса топором. И проблематика данного труда сильно недооценена в общественном сознании.
Сейчас я обосную этот тезис с научной точки зрения.


Читать дальше →
Total votes 118: ↑101 and ↓17 +84
Comments 366

Bypassing LinkedIn Search Limit by Playing With API

Reading time 7 min
Views 16K
[Because my extension got a lot of attention from the foreign audience, I translated my original article into English].

Limit


Being a top-rated professional network, LinkedIn, unfortunately, for free accounts, has such a limitation as Commercial Use Limit (CUL). Most likely, you, same as me until recently, have never encountered and never heard about this thing.

image

The point of the CUL is that when you search people outside your connections/network too often, your search results will be limited with only 3 profiles showing instead of 1000 (100 pages with 10 profiles per page by default). How ‘often’ is measured nobody knows, there are no precise metrics; the algorithm decides it based on your actions – how frequently you’ve been searching and how many connections you’ve been adding. The free CUL resets at midnight PST on the 1st of each calendar month, and you get your 1000 search results again, for who knows how long. Of course, Premium accounts have no such limit in place.

However, not so long ago, I’ve started messing around with LinkedIn search for some pet-project, and suddenly got stuck with this CUL. Obviously, I didn’t like it that much; after all, I haven’t been using the search for any commercial purposes. So, my first thought was to explore this limit and try to bypass it.

[Important clarification — all source materials in this article are presented solely for informational and educational purposes. The author doesn't encourage their use for commercial purposes.]
Read more →
Total votes 10: ↑9 and ↓1 +8
Comments 3

5 ошибок начинающего лида

Reading time 6 min
Views 33K

У каждого тимлида есть своё кладбище сотрудников управленческих ошибок. Каждый день публикуются новые статьи «5 ошибок начинающего разработчика», «7 примеров того, как не надо управлять процессами», «100 и 1 способ укладываться в сроки». И это круто!


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


Читать дальше →
Total votes 51: ↑45 and ↓6 +39
Comments 400

Об IT без галстуков: Повышения, удержание и текучка в компаниях из СНГ и USA

Reading time 4 min
Views 46K
image

Большинство наемных сотрудников считает, что руководство его заметит, оценит и повысит зарплату. Это большое заблуждение. Ни один руководитель в здравом уме не будет увеличивать расходную часть, тем самым уменьшая доходную. Бизнес создается ради максимизация прибыли самих фаундеров, а не ради улучшения качества жизни наемных сотрудников. Иначе на Porsche Panamera не заработать… Если вы встречали компанию в которой происходит периодическая оценка персонала и сама компания инициирует повышения, то это заслуга HR департамента и им удалось «продать» руководству эту необходимость. Например, за последние десятилетия, в IT был бурный рост ставок и дабы сотрудник не сбежал, его повышали. С тех пор ставки доросли до своего максимума, рынок немного стабилизировался. Как же получить повышение? Когда сотрудника будут удерживать? Как минимизировать последствия текучки? Обо всем ниже.
Читать дальше →
Total votes 51: ↑40 and ↓11 +29
Comments 135

Information

Rating
Does not participate
Registered
Activity