Search
Write a publication
Pull to refresh
Roman Naumov @sithread⁠-⁠only

Software Engineer

Send message

IntelliJ IDEA 2023.2. Долгожданный LSP, встроенный AI-чат, апгрейд до Windows 10 и -Xmx2G

Level of difficultyEasy
Reading time6 min
Views15K

Это ретроспективный пост фичей IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

Идея раздулась до 2 гигабайт хипа, появилась поддержка LSP-серверов, и теперь вам нужно проапгрейдиться с Windows 7 минимум до Windows 10.

Из мелочей: появился чата с нейронкой "AI Assistant". Профилировщик научился отображать подсказки прямо в редакторе, а интеграция с GitLab позволяет меньше переключаться между браузером и IDE.

Хотите узнать подробней?

Восхитительно! Читать далее

Про unit-тесты кратко

Level of difficultyEasy
Reading time7 min
Views15K

Компания, в которой я сейчас работаю, занимается разработкой программного обеспечения, краеугольным камнем которого являются различные алгоритмы: расчёта значений, построения графов связей, проверки состояний и т.п. В связи с этим, нам очень важно уделять особое внимание unit-тестированию.

Один из моих коллег-автоматизаторов упомянул, что к нему обращаются разработчики с вопросом: "А как написать unit-тест?". Не конкретный тест, а "в принципе". Это послужило для меня поводом подготовить эту статью, и адресована она молодым программистам. Они смогут ознакомиться с рекомендациями, которым стоит следовать при разработке unit-тестов. Но также может быть любопытна и QA-инженерам - ведь полезно получить представление об аспектах тестирования, выполняемого разработчиками.

Читать далее

Романы, получившие одновременно и «Локус», и «Небьюлу»

Reading time3 min
Views20K

«Локус» и «Небьюла» вместе с «Хьюго» составляют тройку престижнейших фантастических литературных премий. При этом устроены они совершенно по-разному. За «Хьюго» голосуют участники фестиваля WorldCon. «Локус» вручается с 1971 года, а победителей выбирают читатели одноименного издания. А победители «Небьюлы» (впервые вручена в 1966 году) выбираются членами жюри. Любопытно, что в последние годы читатели «Локуса» и судьи «Небьюлы» проявляют удивительное единодушие. Четыре раза за последние пять обе премии имели общего лауреата.

Читать далее

Развлекательное чтиво на выходные

Level of difficultyEasy
Reading time4 min
Views13K

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

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

Расслабон

Лучшая фантастика последних трех лет по версии Goodreads

Reading time5 min
Views170K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее

8-битный денди-ноутбук за 400 рублей из начала нулевых. Какой «компьютер» смогли сделать китайцы на базе железа «Денди»?

Level of difficultyEasy
Reading time10 min
Views14K
image

Друзья! А вы заметили, что NES, которая более известна у нас как Dendy, наряду с сегой стала консолью на много поколений вперёд? Даже спустя практически 40 лет после выхода, она не теряет актуальности и до сих пор взращивает все новые и новые поколения геймеров. 80-ые (Famicom/NES), 90-ые (тайваньские клоны NES, известные у нас как Dendy и Сюбор), 2000-ые («денди на капле» или новоделы), десятые и даже двадцатые (сейчас железные клоны уже не делают, но делают довольно мощные стики с эмуляторами и встроенными ромами). Для многих из нас NES/SMD стали первыми игровыми платформами, за которыми мы проводили часами на пузатых и изрядно уставших ЭЛТ-телевизорах. Недавно, листая онлайн-барахолки, я нашёл очень интересную вариацию денди: в виде эдакого «ноутбука», с настоящей рабочей клавиатурой, мышкой и двумя геймпадами. Сегодня мы с вами: осмотрим интересную покупку, узнаем, что у такого «ноутбука» под капотом, посмотрим на местный закос под Windows с настоящим бэйсиком и DOS. Интересно? Тогда жду вас под катом!
Читать дальше →

Лю Цысинь и малая форма

Reading time4 min
Views7.8K

Почти всем поклонникам современной фантастики так или иначе известно имя Лю Цысиня, китайского писателя, автора трилогии «Воспоминания о прошлом Земли» (которую еще иногда по названию первой книги именуют «Задача трех тел»). Но сегодня речь пойдет не о том, чем примечательна та самая трилогия и какую популярность она принесла автору. Вместо хотелось бы поговорить о двух сборниках малой формы Лю Цысиня, вышедших на русском языке: «Блуждающая Земля» и «Удержать небо». Есть впечатление, что в свои рассказы и повести Лю Цысинь закладывает идеи, которых другим авторам хватило бы на целый роман (как минимум). При этом в них есть все необходимые элементы структуры, взлеты и падения, тот самый поворот, после которого ничего не будет прежним. И, разумеется, большой интерес к точным наукам, философии и поиску с помощью этих инструментов места человека во Вселенной.

Читать далее

Record structs в C#: эффективные и безопасные типы данных

Reading time3 min
Views16K

C# 9 представил новую функцию, называемую Запись (record), которая обеспечивает неизменяемость и семантику сравнения на основе значений для классов. Записи упрощают создание типов данных и обеспечивают лучшую безопасность при работе с ними. Однако до C# 10 они были доступны только для классов, теперь же у нас есть record struct, позволяющие применить те же преимущества Записей и к структурам.

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

Читать далее

Учим английский с chatGPT

Level of difficultyEasy
Reading time4 min
Views54K

Пожалуй, новости о языковых моделях и их использовании уже немного надоели, но лично я нашел для себя полезное применение - изучать английский, в том числе и разговорный. Посмотрим, что могут нам предложить в этом деле товарищи из openai: совместим gpt-3.5-turbo, whisper и telegram.

Читать далее

Как взломать собеседование

Level of difficultyEasy
Reading time6 min
Views34K

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

Кирилл Розов @kirich1409, известный многим Android-разработчикам, на нашей конференции Mobius выступал с докладом «Как пройти архитектурную секцию собеседования». А заодно на той же конференции ответил Анне Жарковой @anioutka на более общие вопросы о собеседованиях в целом, не связанные с мобильной разработкой.

По ссылкам вы уже можете увидеть обе видеозаписи, а для Хабра мне захотелось ещё и выписать текстом отдельные тезисы из его ответов. Не потому что подписываюсь под каждым словом (с чем-то можно поспорить), а как раз потому что считаю полезным видеть разные точки зрения. Смело дополняйте в комментариях своими мнениями — так точек зрения станет ещё больше, неплохой способ провести вечер пятницы.

Читать далее

Девять советов молодому тимлиду

Level of difficultyEasy
Reading time7 min
Views13K

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

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

Я много размышлял на эту тему и вывел несколько принципов, которых советую придерживаться начинающим ИТ-руководителям и тем, кто хочет ими стать. Часть моих тезисов вдохновлена книгой “90 THINGS YOU NEED TO KNOW IF YOU WANT TO become the CTO”, изданная CTO Academy. 

Читать далее

Корутины в UnrealEngine

Level of difficultyMedium
Reading time22 min
Views13K

В этой статье я расскажу, как можно улучшить читаемость асинхронного кода и сократить немалое, на мой взгляд, количество писанины. И это благодаря такой возможности стандарта уже минувшего года, как сопрограммы. На Хабре опубликовано некоторое количество статей об этой интересной языковой технологии, но я хочу показать практическое применение в проектах UnrealEngine, а так же приоткрыть завесу сопрограмм для тех, кто ещё не в курсе.

Читать далее

Истинная сложность алгоритма Bubble Sort

Level of difficultyEasy
Reading time3 min
Views13K

При изучении алгоритмов сортировок, возник вопрос об общепринятой оценке сложности, а так же к примерам реализации. И эти вопросы возникли сразу на первой сортировке Пузырьком. Заговор? Невнимательность? Небрежность? Шутка?

Узнать

О «раздутом пузыре» нейросетей

Level of difficultyMedium
Reading time8 min
Views102K

На днях я наткнулся на одно любопытное видео.

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

Утверждения:

1. Закон Мура больше не выполняется из-за фундаментальных физических ограничений ⇒ масштабирование нейросетевых моделей по вычислительному бюджету невозможно.

2. Нейросетевые модели внедряются слишком медленно.

3. Ответы нейросетевых моделей неконтролируемы и неинтерпретируемы.

Дальше обсудим каждое из них.

Читать далее

Квантовая теория поля открывает пути к решению математической головоломки

Reading time5 min
Views8.6K

В январе Карен Фогтманн и Майкл Борински опубликовали доказательство того, что в до сих пор недоступном математическом мире, называемом пространством модулей, существует множество математических структур — графов, которые Фогтманн и ее коллеги впервые описали в середине 1980-х.


«Это сверхсложная задача. Удивительно, что у них получилось», — считает Дэн Маргалит, математик из Технологического института Джорджии.

Фогтманн и Борински начали с вопросов, которые Фогтманн, математик из Уорикского университета, задавала себе на протяжении десятилетий. Затем с помощью методов квантовой теории поля учёные перевели задачу на язык физики.

Читать дальше →

Хорошо ли вы чистите зубы? Или как избежать образования зубного камня

Reading time8 min
Views9.1K

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

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

Читать далее

Делай нейминг как сеньор

Reading time13 min
Views124K

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

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

Читать далее

C++17 — std::string_view и никакого копирования

Reading time6 min
Views33K

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

Сегодня речь пойдёт об одной из главных фич C++17.

Читать далее

Квантовые компьютеры: без математики и философии

Reading time13 min
Views35K

В этой статье я разберу по косточкам все тайны квантовых компьютеров: что такое суперпозиция (бесполезна) и запутанность (интересный эффект), могут ли они заменить обычные компьютеры (нет) и могут ли они взломать RSA (нет). При этом я не буду упоминать волновую функцию и столь раздражающих Bob и Alice, которых вы могли встречать в других статьях про квантовые машины.

Первое и самое главное, что нужно знать - квантовые компьютеры не имеют ничего общего с обычными. Квантовые компьютеры по своей природе - аналоговые, там нет бинарных операций. Вероятно, вы уже слышали про Кубиты, что у них есть состояние 0, 1 и 0-1 одновременно, и благодаря этому вычисления выполняются очень быстро: это заблуждение. Кубит - это магнит (обычно атом или электрон), подвешенный в пространстве, который может вращаться по всем трем осям. Собственно, вращение магнита в пространстве - это и есть операции квантового компьютера. Почему это может ускорить вычисления? Было очень сложно найти ответ, но самые стойкие читатели увидят его в конце статьи. Начнем разоблачения.

Читать далее

Information

Rating
Does not participate
Location
Victoria, British Columbia, Канада
Date of birth
Registered
Activity

Specialization

Mobile Application Developer, Game Developer
Lead
Unity3d
Unreal Engine
AR and VR development
C++
C#
Game Development