Pull to refresh
-2
@zergon321read⁠-⁠only

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

Send message

Укрощаем суммы с плавающей запятой

Level of difficultyEasy
Reading time9 min
Reach and readers6.9K

Допустим, у нас есть массив чисел с плавающей запятой, и мы хотим их суммировать. Можно наивно подумать, что их достаточно просто сложить, например, на Rust.

Однако это запросто может привести к произвольно большой накопленной погрешности. Давайте проверим:

naive_sum(&vec![1.0; 1_000_000]) = 1000000.0
naive_sum(&vec![1.0; 10_000_000]) = 10000000.0
naive_sum(&vec![1.0; 100_000_000]) = 16777216.0
naive_sum(&vec![1.0; 1_000_000_000]) = 16777216.0

Ой-ёй… Что произошло? Проблема в том .что следующее 32-битное число с плавающей запятой после 16777216 — это 16777218. Так что при вычислении 16777216 + 1, значение округляется до ближайшего числа с плавающей запятой, имеющей чётную мантиссу, то есть снова до 16777216. Мы зашли в тупик.

К счастью, есть более совершенные способы суммирования массива.

Читать далее

Как проходить собеседования в IT

Level of difficultyEasy
Reading time5 min
Reach and readers6.9K

Это тема, которая становится наиболее актуальной в последнее время. Множество сильных разработчиков говорят о том что в IT важно уметь проходить собеседования, в IT необходимо приспосабливаться не только к технологиям, но и к рынку. 

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

Все видели невероятный порог входа на Junior позицию?

Читать далее

Режим 9/9/6, джуны-расходники и никакой кошкожены: как устроено IT в Китае

Level of difficultyEasy
Reading time5 min
Reach and readers51K

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

 Рассказываем, как получить грейд сеньора в пекинской компании, что шанхайские программисты используют вместо GitHub и почему молодые китайцы больше не хотят вкатываться в IT.

Читать далее

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 2: как трое великих переделали фэнтези

Level of difficultyEasy
Reading time6 min
Reach and readers7.4K

В прошлой статье мы вспомнили, как и почему в США середины 60-х годов оформился жанр фэнтези — и почему цикл о Конане Роберта Говарда оказал на него как минимум не меньшее влияние, чем «Властелин колец» Толкиена. Именно на почве увлечения «Конанинаной» в 1965 году оформился неформальный клуб писателей с говорящим названием «Гильдия мечников и чародеев Америки» (SAGA). Его ядром стали фанаты и продолжатели Говарда Лайон Спрэг де Камп, Лин Картер и Джон Джейкс. В 1966-1967-х годах публикация «продолжений» похождений Конана от де Кампа и Картера совпала с ростом популярности трилогии Толкиена и пиком контркультурных настроений среди американской молодёжи. Именно во второй половине 60-х фэнтези из увлечения немногих гиков превратилось в массово популярный у читателей жанр, но это происходило не только стараниями издателей Толкина и продолжателей Говарда.
Читать дальше →

SFINAE — это просто

Reading time7 min
Reach and readers116K
TLDR: как определять, есть ли в типе метод с данным именем и сигнатурой, а также узнавать другие свойства типов, не сойдя при этом с ума.
image

Здравствуйте, коллеги.
Хочу рассказать о SFINAE, интересном и очень полезном (к сожалению*) механизме языка C++, который, однако, может представляться неподготовленному человеку весьма мозгоразрывающим. В действительности принцип его использования достаточно прост и ясен, будучи сформулирован в виде нескольких чётких положений. Эта заметка рассчитана на читателей, обладающих базовыми знаниями о шаблонах в C++ и знакомых, хотя бы шапочно, с C++11.
* Почему к сожалению? Хотя использование SFINAE — интересный и красивый приём, переросший в широко используемую идиому языка, гораздо лучше было бы иметь средства, явно описывающие работу с типами.
Читать дальше →

Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых

Level of difficultyMedium
Reading time11 min
Reach and readers21K
image

Друзья! А вы помните, какими были мобильные игры в 2000-х годах? Помните, как разработчики умудрялись уместить целые миры в устройство с небольшим дисплеем, аппаратной клавиатурой, весьма слабым железом и парой сотен килобайт памяти? Но задумывались ли вы, как в своё время работали эти сами игры «под капотом»? В сегодняшней статье-ретроспективе предлагаю вспомнить мобильный геймдев нулевых и узнать, как же работали 2D Java-игры, какие API были доступны и что из себя представлял средний телефон тех лет! Интересно? Тогда добро пожаловать под кат!
Читать дальше →

Как я синхронизировал скорость персонажа на сервере в Lineage 2 на Node.js

Level of difficultyMedium
Reading time3 min
Reach and readers11K

Привет.

Я разрабатываю эмулятор сервера для Lineage 2 Chronicle 1: Harbingers of war на Node.js.

Столкнулся с проблемой синхронизации координат персонажа на сервере с клиентом. Когда в игре вы нажимаете мышкой в то место, куда хотите перейти то происходит плавный переход с анимацией движения. На сервере в этот момент тоже происходит движение по таймеру, но не такое плавное.

Читать далее

Алгоритм пересечения полигонов

Reading time20 min
Reach and readers18K

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

Читать далее

Сферический конь в вакууме: как (не)работает Agile в России

Reading time4 min
Reach and readers12K

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

На связи Мария Болдырева — руководитель проектов в IT-компании Outlines Tech. Управляю командами 7 лет, среди которых 4 года — в IT. За это время повидала всякое: от стартапов до корпораций, и в статье делюсь своим опытом. 

Читать далее

Величайшая мистификация 21 века – «Технические собеседования»

Reading time11 min
Reach and readers45K

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

Только тут цель не миллион и не работа мечты, а очередная галера.

Читать далее

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

Reading time13 min
Reach and readers3.1K

Эта статья может пригодиться тем, у кого есть пет-проект с открытым исходным кодом, который хочется продвигать, но нет опыта работы с коммуникациями. Меня зовут Ксения Романова, по образованию я PR-специалист, работала в маркетинге, затем в Developer Relations. Сейчас я менеджер по работе с IT-сообществами в Positive Technologies, организатор DevRel-завтраков и член программного комитета DevRel Conf.

Предыдущие шесть лет я работала с глобальным сообществом, построенным вокруг распределенной базы данных с открытым исходным кодом Apache Ignite. Поделюсь опытом, как найти тех, кто полюбит проект, какие инструменты позаимствовать у маркетинга и как измерить результат. Обычно ресурсы команд небольших проектов ограничены, поэтому я собрала много «низко висящих фруктов», то есть таких «точек опоры» в коммуникации, приложив минимум усилий к которым, можно получить максимальный эффект.  

Узнать больше

Развитие медийности – нужен ли инженеру личный бренд?

Level of difficultyEasy
Reading time5 min
Reach and readers6.6K

Всем привет! Я Анжелика, работаю ведущим инженером в РСХБ‑Интех. В последнее время все чаще задумываюсь про медийность и важность ее развития для ИТ‑специалистов. Поговорим про это в сегодняшнем материале.

Читать далее

Почему вы много работаете, а зарабатываете сильно меньше чем должны?

Level of difficultyEasy
Reading time4 min
Reach and readers52K

Думаю, многие прекрасные специалисты и предприниматели ловили себя на мысли: «Вкалываю как конь, много чего знаю и умею, на голову выше многих своих коллег и конкурентов, а зарабатываю посредственно. Что я делаю не так?» В этой статье я хочу подсветить одну неочевидную причину, из-за которой вы много работаете, но это никак не увеличивает ваш доход.

Читать далее

Какой работодатель тебя купит?

Level of difficultyEasy
Reading time18 min
Reach and readers14K

Постараюсь раскрыть для тебя все нюансы, с которыми ты должен быть знаком перед выбором рынка и будущего работодателя.

    Эта статья будет полезна не только начинающим, но и тем, кто давно не менял работу и сейчас не представляет, что их может ждать на рынке.

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

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

Здесь все расписала!

Как появляются вакансии?

    Начнем с базы. Вакансии появляются в двух случаях: для расширения штата или на замену ушедшему сотруднику.

    В первом случае у нанимающих есть проект, который они хотят расширить новым функционалом в те сроки, в которые не смогут уложиться с текущей командой. Это может быть из-за их компетенций или отсутствия нужного количества людей. Они просчитали, что до конца года они хотят релизить по одной крупной продуктовой фичи в конце спринта, а их Вася не справится с реализацией и половины этих фич. До пользователей дойдет лишь часть, и, в таком случае, в конце года никто из руководства не получит премию. Тогда в их головах щелкает — пора открывать вакансию на hh.

Им очень выгодно расширить штат сотрудников, вне зависимости от стоимости специалиста, потому что при удачном найме и выполненных командой KPI — руководство получит жирную премию.

Узнать всю правду о работодателях

Зарплатные ожидания VS зарплатные предложения в IT: откуда взялся разрыв в 30%

Level of difficultyEasy
Reading time4 min
Reach and readers29K

Бесконечно можно обсуждать три вещи: экономику, политику и зарплаты айтишников. Из мемов и достоверных источников мы знаем, что они получают 300 000 рублей в наносекунду. Или может они просто оценивают себя намного выше реального рынка?

Читать далее

Juniorы врут об опыте работы. Проблема ли это для HR?

Level of difficultyEasy
Reading time6 min
Reach and readers25K

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

Поэтому хотел бы пересобрать свой коммент в более расширенном формате + где-то его дополнить на основе новых интервью.

Читать далее

Чернила дороже золота и блокировки из-за неоригинальных картриджей: у HP теперь проблемы с продажей принтеров

Reading time3 min
Reach and readers62K

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

Читать далее

Стажировки с обучением в IT. Как попасть и какие подводные камни вас ждут

Level of difficultyEasy
Reading time6 min
Reach and readers21K

Сейчас много где говорят, что рынок IT перегрет, и попасть на стажировку зачастую невозможно. Что требования к джунам взлетели до космических высот, и без опыта работы никого не берут. Но мало где рассказывают про альтернативный путь входа в IT – через внутреннюю стажировку компаний. Да, он занимает больше времени, но шансы попасть гораздо выше. Именно таким способом я и получил свою первую работу, причем без особого труда.

Читать далее

На что стоит рассчитывать на первой работе: путь стажера (data engineer)

Level of difficultyEasy
Reading time5 min
Reach and readers6.4K

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

Читать далее

Information

Rating
Does not participate
Registered
Activity