Pull to refresh
13
-0.1
Send message

О мобилизации для IT-специалистов

Reading time6 min
Views108K

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

Мобилизируемся вместе с профсоюзом ИТ
Total votes 108: ↑97 and ↓11+121
Comments591

Как мы строили реактивный игровой сервер на Vert.x

Reading time9 min
Views6.5K

Всем привет, меня зовут Алексей Жуков, я старший программист в студии IT Territory. В этой статье я расскажу, как мы строили игровой сервер для Rush Royale. Объясню, почему создание сервера в геймдеве — это не так просто, как кажется на первый взгляд, а также опишу плюсы и минусы реактивного подхода, который мы использовали в нашей работе. 

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments7

Меня «заказал» инфоцыганский авторитет: как мой Телеграм-канал пытаются уничтожить люди, которым я перешел дорогу

Reading time10 min
Views67K

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

Читать далее
Total votes 318: ↑290 and ↓28+331
Comments143

Почему не стоит занижать свои зарплатные ожидания — и как правильно определить свою стоимость

Reading time4 min
Views30K

Почему не стоит занижать свои зарплатные ожидания

Недавно мой знакомый Project повысил свой ценник в резюме до 300+ тыс. руб. И ему сразу начали поступать интересные предложения от крупных компаний. Год назад мы с ним занимались планированием карьеры и стабилизацией самооценки. В итоге занятий он осознал свою ценность и уникальность, и уже 3й раз за год поднимает ценник и желаемую должность - и получает офферы. А ведь 1,5 года назад у него был руководитель, который повышал его только через шантаж увольнением.

И его уникальный набор компетенций (бизнес-аналитик + архитектор + разработчик + …) был не востребован. Компании, в которой он работал, была нужна 1/3 от его способностей - и только за них они были готовы платить.

И так происходит со всеми, кто не понимает свою уникальность и ценность и находится не на своем месте.

Читать далее
Total votes 29: ↑21 and ↓8+18
Comments44

Как завести счета в Казахстане и получить платежные дебетовые карточки менее чем за одну неделю

Reading time4 min
Views39K

Задавайте вопросы под постом, друзья, и я постараюсь ответить на ваши комментарии (по делу).

Предисловие

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

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

Зачем?

Итак, давайте разберемся, для чего нужны карты казахстанских банков. Очевидно, что Россия оказалась под жесткими финансовыми санкциями, и сейчас нашими Mastercard и Visa невозможно оплатить никакие услуги западных сервисов

Читать далее
Total votes 39: ↑30 and ↓9+29
Comments104

Загадочное дело о Raspberry Pi в шкафу для сетевого оборудования

Reading time4 min
Views56K
Как-то я получил от своего отца (мы вместе с ним работаем на одного клиента) сообщение с приложенной фотографией.


Сообщение от отца

Я попросил его отключить устройство, положить в безопасное место, сфотографировать со всех сторон и сделать образ SD-карты (потому что в основном я работаю удалённо). Я работал над многими проектами с Raspberry Pi и был уверен, что разберусь в назначении этого устройства.

В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Читать дальше →
Total votes 120: ↑119 and ↓1+158
Comments51

Ужасы японского языка. Письменность

Reading time13 min
Views61K

Четыре года назад я совершил один из самых безрассудных поступков в своей жизни: начал учить японский язык. Разумеется, прежде чем решиться на такое приключение, я тщательно все продумал и провел подробное исследование на тему. Т.е. погуглил, что другие люди думают об этом экзотическом языке. Отзывы меня весьма приободрили. В них говорилось, что нужны годы и годы тяжелого учения. Люди писали, что, если тебе кажется, что язык очень тяжелый, то ты все еще недооцениваешь опасность раз в десять. Интернет пестрит предупреждениями, что тебе это не нужно; что это тяжело; что "не лезь оно тебя сожрет".

Но меня было не остановить. У меня был положительной опыт изучения английского, немецкого и испанского. Я был окрылен уверенностью и не думал, что японский так ужасен, как его малюют. Так вот. Я был не прав. Японский - страшно тяжелый язык, требующий в разы больше времени, чем любой романский или германский язык. Собственно, об этом и хочу вам сегодня рассказать: что именно в японском представляет наибольшую сложность.

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

Читать далее
Total votes 165: ↑162 and ↓3+207
Comments331

История интерфейса Firefox от самых первых версий

Reading time8 min
Views8.5K
История UI Firefox важна для меня потому что мой личный проект компенсирует недостатки его UI Proton и наследует сильные стороны разных UI Firefox.

Кроме того, это один из способов избежать раскола сообщества, ведь каждый раз при серьёзных изменениях в UI возникало множество форков.

Первые версии (v1 ~ v3)



Phoenix (сентябрь 2002 года) возрождается из пепла Netscape [см. историю первых версий Firefox].

Выделяются крупные оранжевые кнопки. Историю Netscape см. в статье A Visual Browser History, from Netscape 4 to Mozilla Firefox.


Firefox v1 (ноябрь 2004 года), v2 (октябрь 2006 года), v3 (июнь 2008 года) [The Importance and Problems of Autoupdate].

Версии примерно с v1 по v3 имеют классический UI, который вы помните, если работали с ним в начале 2000-х. В значках есть цвета и не реализована абстракция.
Читать дальше →
Total votes 20: ↑19 and ↓1+24
Comments18

Пусть программирует Серёжа

Reading time6 min
Views94K

У каждого клиента – свои предпочтения. Не только в выборе автомобиля, блюда на обед или корпоративной информационной системы. Клиенты любят выбирать программистов.

Ну, что программисты разные – ежу понятно. Считается, что клиенты предпочитают профессионалов. Мы тоже так думали, и искренне стремились сделать каждого своего программиста этим самым профессионалом.

Однако, несколько клиентов, ставя нам задачи, упорно твердили: пусть программирует Серёжа. Хотя Серёжа – лютейший говнокодер, объект всеобщей жалости и главный поставщик материалов для конференций на тему «Как не надо программировать».

Читать далее
Total votes 161: ↑133 and ↓28+133
Comments245

Как я разогнал fail2ban* в тысячу раз с помощью SIMD

Reading time15 min
Views20K

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

Лог nginx из 100 тысяч строчек fail2ban при самых простых настройках разбирает порядка 45 секунд. Нехитрыми манипуляциями его можно ускорить раз в 6, но этого оказалось недостаточно. Наивная реализация на аналогичного фильтра на Rust уже обеспечила требуемую производительность, но если уж взялся за оптимизацию, то остановиться трудно.

* только необходимую часть функционала

Читать далее
Total votes 97: ↑95 and ↓2+117
Comments76

Кошмар самоорганизации в утопии Valve

Reading time11 min
Views43K

В 1884 году Эдвин Эбботт написал рассказ «Равномир» (англ. Flatland, «Флатландия») про двухмерную реальность, населённую квадратами, окружностями и прочими геометрическими фигурами. Однако это общество было жёстко иерархическим, несмотря на кажущуюся «уравномеренность» — чем больше вершин, тем выше твой статус. Вдобавок оно сопротивлялось даже самой мысли о возможности измерений высшего порядка. На этом и выстроена канва рассказа — ведущий повествование Квадрат находится в заключении за проповедь о существовании Трёхмерного Пространства.

Ирония в том, что этот сюжет предвосхитил неприглядную сущность одной ИТ-фирмы, крайне уважаемой в своей области.

Читать целиком
Total votes 66: ↑61 and ↓5+83
Comments67

Знакомимся с Javassist

Reading time10 min
Views9.3K

Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.

Конечно, получив доступ к байткоду, а ровно и к возможности воздействовать на этот самый байткод вам совсем не обязательно вклиниваться в него. Javassist можно использовать и в “мирных” целях!

При многообразии возможностей не стоит забывать о том, что использовать библиотеку нужно только тогда, когда это действительно необходимо. Использование данного инструмента делает основной код менее понятным, так как после применения Javassist у вас появится второе полноценное приложение, в котором будет жить Java со своей логикой.

Итак, если после всех предостережений вы все же решили использовать эту библиотеку, то давайте начинать!

В этой статье мы рассмотрим Javassist, как инструмент, с помощью которого мы будем вклиниваться в существующий байткод и трансформировать его.

Потребоваться это может в разных случаях. Например, у вас под рукой есть некая библиотека, в которой все классы уже скомпилированы и все зависимости вместе с запускающим методом упакованы в JAR архив. И вот, случилось так, что по какой-то причине вам нужно изменить реализацию того или иного метода. Предположим, вы нашли баг в библиотеке, или возможно требуется, чтобы были выполнены какие-нибудь дополнительные действия, в виде подсчета чего-нибудь, отправки оповещения о том или ином событии при старте вашего приложения и при определенных условиях.

Как и говорилось выше, после использования Javassist у вас появится второе полноценное приложение, в котором будет жить Java со своей логикой. Почему это происходит? Почему нельзя запаковать все в одно приложение?

Ответ очевиден – приложение не может само себя изменять. Т.е. приложение не может само изменять свой же байткод. Это должен делать кто-то другой. Этот кто-то другой – такое же Java приложение, но заточенное на работу с байткодом.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments8

Киргизия: интернет без цензуры, величественные горы и парадокс водителей

Reading time19 min
Views71K

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

Я не был исключением. Мой выбор пал на горную Киргизию. За последние два месяца я увидел очень мало отзывов и рассказов от айтишников, которые уехали в Бишкек, поэтому я решил написать свой. Если вам интересно, как живется в Бишкеке, как тут обстоят дела с интернетом и работой и как киргизы относятся к русским, то добро пожаловать под кат!

Читать далее
Total votes 157: ↑148 and ↓9+186
Comments155

Миллион одновременных соединений

Reading time8 min
Views61K

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

Адрес TCP/IP поддерживает только 65000 подключений, поэтому придётся назначить этому серверу примерно 30000 IP-адресов.

Существует 65535 номеров TCP-портов, значит ли это, что к TCP-серверу может подключиться не более 65535 клиентов? Можно решить, что это накладывает строгое ограничение на количество клиентов, которые может поддерживать один компьютер/приложение.

Если есть ограничение на количество портов, которые может иметь одна машина, а сокет можно привязать только к неиспользуемому номеру порта, как с этим справляются серверы, имеющие чрезвычайно большое количество запросов (больше, чем максимальное количество портов)? Эта проблема решается распределением системы, то есть кучей серверов на множестве машин?

Поэтому я написал эту статью, чтобы развеять данный миф с трёх сторон:

  1. Мессенджер WhatsApp и веб-фреймворк Phoenix, построенный на основе Elixir, уже продемонстрировали миллионы подключений, прослушивающих один порт.
  2. Теоретические возможности на основе протокола TCP/IP.
  3. Простой эксперимент с Java, который может провести на своей машине любой, если его всё ещё не убедили мои слова.

Если вы не хотите изучать подробности, то перейдите в раздел «Итоги» в конце статьи.
Читать дальше →
Total votes 82: ↑80 and ↓2+99
Comments27

Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек

Reading time8 min
Views49K

hero_image


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


Сейчас, вложив огромное количество работы, мы наконец готовы поделиться с сообществом своими успехами:


  • Снизили размер модели в 2 раза;
  • Научили наши модели делать паузы;
  • Добавили один высококачественный голос (и бесконечное число случайных);
  • Ускорили наши модели где-то примерно в 10 раз (!);
  • Упаковали всех спикеров одного языка в одну модель;
  • Наши модели теперь могут принимать на вход даже целые абзацы текста;
  • Добавили функции контроля скорости и высоты речи через SSML;
  • Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
  • Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;

Это по-настоящему уникальное и прорывное достижение и мы не собираемся останавливаться. В ближайшее время мы добавим большое количество моделей на разных языках и напишем целый ряд публикаций на эту и смежные темы, а также продолжим делать наши модели лучше (например, еще в 2-5 раз быстрее).


Попробовать модель как обычно можно в нашем репозитории и в колабе.

Читать дальше →
Total votes 130: ↑129 and ↓1+156
Comments100

SNS и SQS: разбираемся, какие есть способы обмена сообщениями в облаках

Reading time5 min
Views15K

Привет, Хабр! Сегодня поговорим о принципах асинхронной работы с сообщениями и их очередями в распределенной и бессерверной архитектуре. У Amazon для этого есть веб-сервисы Simple Notification Service (SNS) и Simple Queue Service (SQS): они позволяют обмениваться сообщениями между микросервисами. В этой статье разберём, чем они отличаются, что могут и какие есть ещё предложения на этом рынке.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments4

Разбираем задачу T9 (predictive text)

Reading time5 min
Views5K

Привет, Хабр! На днях ко мне обратился ученик на одном из ресурсов, где я выступаю в качестве frontend-ментора, с просьбой разобрать одну задачу. Суть задачи состояла в следующем:

Найти все доступные комбинаций предложений, полученных методом T9 (predictive text)

Вводные данные:

Файл input.txt, в котором описаны последовательности цифр, имитирующие пользовательский ввод:

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments7

Дефицита нет, платить не нужно

Reading time14 min
Views94K

Написать данную статью меня побудил цикл статей о дефиците кадров, который, в большинстве своем, представляет собой компиляцию постов в телеграм-каналах Пряникова и Девола.

 В статьях описано много фактов, однако, выводы, да и сам тезис, несколько противоречивые, о чем некоторые не преминули написать в комментариях.

Я берусь доказать, что основной тезис ошибочен. В РФ нет дефицита кадров. 

Читать далее
Total votes 260: ↑227 and ↓33+256
Comments472

Information

Rating
Does not participate
Registered
Activity