Если вы все еще не понимаете, по какому принципу военкоматы мобилизируют призывников, то предлагаем вам ознакомиться с нашей статьей о мобилизации для IT-специалистов. Вы будете удивлены, что военкоматы большей частью работают согласно закону, а вот многие устные заявления, по крайней мере пока, законами не подкреплены. Поэтому имеем то, что имеем - военкоматы просто делают свою работу в соответствии с нисходящими на них указами и законами о мобилизации. Эти указы и законы мы разберем в нашей статье и затронем тему того, как мобилизация касается IT-специалистов.
User
Как мы строили реактивный игровой сервер на Vert.x
Всем привет, меня зовут Алексей Жуков, я старший программист в студии IT Territory. В этой статье я расскажу, как мы строили игровой сервер для Rush Royale. Объясню, почему создание сервера в геймдеве — это не так просто, как кажется на первый взгляд, а также опишу плюсы и минусы реактивного подхода, который мы использовали в нашей работе.
Меня «заказал» инфоцыганский авторитет: как мой Телеграм-канал пытаются уничтожить люди, которым я перешел дорогу
Я написал популярную статью с разоблачением финансового инфоцыгана, который выдавал себя за бывшего советника Набиуллиной. После этого моему каналу объявили настоящую войну: десятки тысяч ботов устраивают бесчинство в комментариях, а самому блогу пытаются создать репутацию «токсичного». Делюсь своим опытом: что делать в такой ситуации, и как защитить свой Телеграм-канал.
Почему не стоит занижать свои зарплатные ожидания — и как правильно определить свою стоимость
Почему не стоит занижать свои зарплатные ожидания
Недавно мой знакомый Project повысил свой ценник в резюме до 300+ тыс. руб. И ему сразу начали поступать интересные предложения от крупных компаний. Год назад мы с ним занимались планированием карьеры и стабилизацией самооценки. В итоге занятий он осознал свою ценность и уникальность, и уже 3й раз за год поднимает ценник и желаемую должность - и получает офферы. А ведь 1,5 года назад у него был руководитель, который повышал его только через шантаж увольнением.
И его уникальный набор компетенций (бизнес-аналитик + архитектор + разработчик + …) был не востребован. Компании, в которой он работал, была нужна 1/3 от его способностей - и только за них они были готовы платить.
И так происходит со всеми, кто не понимает свою уникальность и ценность и находится не на своем месте.
Как завести счета в Казахстане и получить платежные дебетовые карточки менее чем за одну неделю
Задавайте вопросы под постом, друзья, и я постараюсь ответить на ваши комментарии (по делу).
Предисловие
Мы разберем, как завести счета в Казахстане и сделать рабочие карточки Visa и Mastercard в различных банках. Вы узнаете, зачем я поехал в соседнюю страну, к чему это привело, как по приезде взаимодействовать с финансовой системой наиболее быстро и эффективно, и что для этого требуется.
Также прошу иметь в виду, что я использую понятие «западный банк» в контексте того, что банк НЕ российский.
Зачем?
Итак, давайте разберемся, для чего нужны карты казахстанских банков. Очевидно, что Россия оказалась под жесткими финансовыми санкциями, и сейчас нашими Mastercard и Visa невозможно оплатить никакие услуги западных сервисов
Загадочное дело о Raspberry Pi в шкафу для сетевого оборудования
Сообщение от отца
Я попросил его отключить устройство, положить в безопасное место, сфотографировать со всех сторон и сделать образ SD-карты (потому что в основном я работаю удалённо). Я работал над многими проектами с Raspberry Pi и был уверен, что разберусь в назначении этого устройства.
В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Ужасы японского языка. Письменность
Четыре года назад я совершил один из самых безрассудных поступков в своей жизни: начал учить японский язык. Разумеется, прежде чем решиться на такое приключение, я тщательно все продумал и провел подробное исследование на тему. Т.е. погуглил, что другие люди думают об этом экзотическом языке. Отзывы меня весьма приободрили. В них говорилось, что нужны годы и годы тяжелого учения. Люди писали, что, если тебе кажется, что язык очень тяжелый, то ты все еще недооцениваешь опасность раз в десять. Интернет пестрит предупреждениями, что тебе это не нужно; что это тяжело; что "не лезь оно тебя сожрет".
Но меня было не остановить. У меня был положительной опыт изучения английского, немецкого и испанского. Я был окрылен уверенностью и не думал, что японский так ужасен, как его малюют. Так вот. Я был не прав. Японский - страшно тяжелый язык, требующий в разы больше времени, чем любой романский или германский язык. Собственно, об этом и хочу вам сегодня рассказать: что именно в японском представляет наибольшую сложность.
В этой статье начну с самого очевидного препятствия на пути изучающего: письменности. Если вам интересно, как в японском соотносится написанное с произношением и значением, сколько требуется выучить иероглифов для понимания японских книг и какие совершенно неожиданные подводные камни есть в этом языке, то прошу пожаловать под кат!
История интерфейса 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-х. В значках есть цвета и не реализована абстракция.
Пусть программирует Серёжа
У каждого клиента – свои предпочтения. Не только в выборе автомобиля, блюда на обед или корпоративной информационной системы. Клиенты любят выбирать программистов.
Ну, что программисты разные – ежу понятно. Считается, что клиенты предпочитают профессионалов. Мы тоже так думали, и искренне стремились сделать каждого своего программиста этим самым профессионалом.
Однако, несколько клиентов, ставя нам задачи, упорно твердили: пусть программирует Серёжа. Хотя Серёжа – лютейший говнокодер, объект всеобщей жалости и главный поставщик материалов для конференций на тему «Как не надо программировать».
Как я разогнал fail2ban* в тысячу раз с помощью SIMD
Fail2ban
— утилита чрезвычайно полезная во многих случаях. Думаю, многие используют её для того, чтобы в автоматическом режиме блокировать особенно назойливых «посетителей». К сожалению, если входящий поток становится слишком большим, fail2ban
теряет все свои полезные свойства, потому что разбор лога безнадёжно отстаёт от реальности.
Лог nginx
из 100 тысяч строчек fail2ban
при самых простых настройках разбирает порядка 45 секунд. Нехитрыми манипуляциями его можно ускорить раз в 6, но этого оказалось недостаточно. Наивная реализация на аналогичного фильтра на Rust уже обеспечила требуемую производительность, но если уж взялся за оптимизацию, то остановиться трудно.
* только необходимую часть функционала
Кошмар самоорганизации в утопии Valve
В 1884 году Эдвин Эбботт написал рассказ «Равномир» (англ. Flatland, «Флатландия») про двухмерную реальность, населённую квадратами, окружностями и прочими геометрическими фигурами. Однако это общество было жёстко иерархическим, несмотря на кажущуюся «уравномеренность» — чем больше вершин, тем выше твой статус. Вдобавок оно сопротивлялось даже самой мысли о возможности измерений высшего порядка. На этом и выстроена канва рассказа — ведущий повествование Квадрат находится в заключении за проповедь о существовании Трёхмерного Пространства.
Ирония в том, что этот сюжет предвосхитил неприглядную сущность одной ИТ-фирмы, крайне уважаемой в своей области.
Знакомимся с Javassist
Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.
Конечно, получив доступ к байткоду, а ровно и к возможности воздействовать на этот самый байткод вам совсем не обязательно вклиниваться в него. Javassist можно использовать и в “мирных” целях!
При многообразии возможностей не стоит забывать о том, что использовать библиотеку нужно только тогда, когда это действительно необходимо. Использование данного инструмента делает основной код менее понятным, так как после применения Javassist у вас появится второе полноценное приложение, в котором будет жить Java со своей логикой.
Итак, если после всех предостережений вы все же решили использовать эту библиотеку, то давайте начинать!
В этой статье мы рассмотрим Javassist, как инструмент, с помощью которого мы будем вклиниваться в существующий байткод и трансформировать его.
Потребоваться это может в разных случаях. Например, у вас под рукой есть некая библиотека, в которой все классы уже скомпилированы и все зависимости вместе с запускающим методом упакованы в JAR архив. И вот, случилось так, что по какой-то причине вам нужно изменить реализацию того или иного метода. Предположим, вы нашли баг в библиотеке, или возможно требуется, чтобы были выполнены какие-нибудь дополнительные действия, в виде подсчета чего-нибудь, отправки оповещения о том или ином событии при старте вашего приложения и при определенных условиях.
Как и говорилось выше, после использования Javassist у вас появится второе полноценное приложение, в котором будет жить Java со своей логикой. Почему это происходит? Почему нельзя запаковать все в одно приложение?
Ответ очевиден – приложение не может само себя изменять. Т.е. приложение не может само изменять свой же байткод. Это должен делать кто-то другой. Этот кто-то другой – такое же Java приложение, но заточенное на работу с байткодом.
Киргизия: интернет без цензуры, величественные горы и парадокс водителей
В конце февраля жизнь огромного количества людей кардинально изменилась. Одновременно с этим у многих внезапно проснулось жгучее желание вот прям сейчас немедленно посетить одну из соседних стран и полюбоваться ее природными красотами.
Я не был исключением. Мой выбор пал на горную Киргизию. За последние два месяца я увидел очень мало отзывов и рассказов от айтишников, которые уехали в Бишкек, поэтому я решил написать свой. Если вам интересно, как живется в Бишкеке, как тут обстоят дела с интернетом и работой и как киргизы относятся к русским, то добро пожаловать под кат!
Миллион одновременных соединений
Я слышал ошибочные утверждения о том, что сервер может принять только 65 тысяч соединений или что сервер всегда использует по одному порту на каждое принятое подключение. Вот как они примерно выглядят:
Адрес TCP/IP поддерживает только 65000 подключений, поэтому придётся назначить этому серверу примерно 30000 IP-адресов.
Существует 65535 номеров TCP-портов, значит ли это, что к TCP-серверу может подключиться не более 65535 клиентов? Можно решить, что это накладывает строгое ограничение на количество клиентов, которые может поддерживать один компьютер/приложение.
Если есть ограничение на количество портов, которые может иметь одна машина, а сокет можно привязать только к неиспользуемому номеру порта, как с этим справляются серверы, имеющие чрезвычайно большое количество запросов (больше, чем максимальное количество портов)? Эта проблема решается распределением системы, то есть кучей серверов на множестве машин?
Поэтому я написал эту статью, чтобы развеять данный миф с трёх сторон:
- Мессенджер WhatsApp и веб-фреймворк Phoenix, построенный на основе Elixir, уже продемонстрировали миллионы подключений, прослушивающих один порт.
- Теоретические возможности на основе протокола TCP/IP.
- Простой эксперимент с Java, который может провести на своей машине любой, если его всё ещё не убедили мои слова.
Если вы не хотите изучать подробности, то перейдите в раздел «Итоги» в конце статьи.
Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек
В нашей прошлой статье про синтез речи мы дали много обещаний: убрать детские болячки, радикально ускорить синтез еще в 10 раз, добавить новые "фишечки", радикально улучшить качество.
Сейчас, вложив огромное количество работы, мы наконец готовы поделиться с сообществом своими успехами:
- Снизили размер модели в 2 раза;
- Научили наши модели делать паузы;
- Добавили один высококачественный голос (и бесконечное число случайных);
- Ускорили наши модели где-то примерно в 10 раз (!);
- Упаковали всех спикеров одного языка в одну модель;
- Наши модели теперь могут принимать на вход даже целые абзацы текста;
- Добавили функции контроля скорости и высоты речи через SSML;
- Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
- Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;
Это по-настоящему уникальное и прорывное достижение и мы не собираемся останавливаться. В ближайшее время мы добавим большое количество моделей на разных языках и напишем целый ряд публикаций на эту и смежные темы, а также продолжим делать наши модели лучше (например, еще в 2-5 раз быстрее).
Попробовать модель как обычно можно в нашем репозитории и в колабе.
SNS и SQS: разбираемся, какие есть способы обмена сообщениями в облаках
Привет, Хабр! Сегодня поговорим о принципах асинхронной работы с сообщениями и их очередями в распределенной и бессерверной архитектуре. У Amazon для этого есть веб-сервисы Simple Notification Service (SNS) и Simple Queue Service (SQS): они позволяют обмениваться сообщениями между микросервисами. В этой статье разберём, чем они отличаются, что могут и какие есть ещё предложения на этом рынке.
Разбираем Log4j уязвимость в деталях… с примерами и кодом
Все о той же критической уязвимости в Log4j, но с примерами и кодом.
Разбираем задачу T9 (predictive text)
Привет, Хабр! На днях ко мне обратился ученик на одном из ресурсов, где я выступаю в качестве frontend-ментора, с просьбой разобрать одну задачу. Суть задачи состояла в следующем:
Найти все доступные комбинаций предложений, полученных методом T9 (predictive text)
Вводные данные:
Файл input.txt, в котором описаны последовательности цифр, имитирующие пользовательский ввод:
МВД отжало у меня телеграмм, или о дыре в защите
Хабр не жалобная книга, однако мой опыт может быть полезен другим. Съездил в РБ, отсидел, потерял аккаунт в телеге.
Дефицита нет, платить не нужно
Написать данную статью меня побудил цикл статей о дефиците кадров, который, в большинстве своем, представляет собой компиляцию постов в телеграм-каналах Пряникова и Девола.
В статьях описано много фактов, однако, выводы, да и сам тезис, несколько противоречивые, о чем некоторые не преминули написать в комментариях.
Я берусь доказать, что основной тезис ошибочен. В РФ нет дефицита кадров.
Information
- Rating
- Does not participate
- Registered
- Activity