Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Типы или интерфейсы в TypeScript: что и когда использовать?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров11K

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

Читать далее
Всего голосов 16: ↑16 и ↓0+22
Комментарии31

Топ признаков плохого работодателя на собеседовании: личный опыт

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров74K

Когда я искал работу в Германии, в августе 2023 года и ходил на интервью, были разные случаи поведения работодателя. Иногда я думал «что за дичь сейчас происходит?»

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

Читать далее
Всего голосов 67: ↑32 и ↓35+4
Комментарии115

C++ с точки зрения Rust-разработчика: достоинства и недостатки

Время на прочтение8 мин
Количество просмотров13K

Я профессионально программирую на Rust и, признаться, немного этот язык продвигаю. Поэтому можете себе представить глубину моего расстройства, когда моя младшая сестрёнка, почти не умеющая программировать, обратилась ко мне и попросила научить её C++. Я попытался её отговорить, сказав, что однажды она будет сидеть за отладкой ошибок сегментирования, вооружившись Valgrind и вспоминать этот наш разговор, размышляя, а где же она свернула не туда. Но она оказалась ещё упрямее меня и настаивала: хочу выучить язык программирования, которым действительно пользуются люди.

Я не притрагивался к C++ с тех пор, как ещё в старших классах разрабатывал игры на Cocos2D-X, но решил, что сохранившихся у меня туманных воспоминаний о «правиле трёх» (или сколько там было? Пять? Ноль?) и прочих подобных материях будет более чем достаточно, чтобы решить такую задачу. Оказалось, что и мне требуется кое-что подучить, но я с удовольствием узнал, что существует большая аудитория, с которой можно поделиться этими знаниями. Почти любую концепцию из C++ легко понять, если объяснить её в ключе «о, эта как та штука из Rust».

Притом, что C++ местами несимпатичен, этот язык по-своему красив. Я и так это знал, но, когда взялся заново учиться C++, мне стало только яснее: если Rust в какой-то степени и превосходит C++ (допустим, вы верите, что это так), то лишь потому, что сам Rust стоял на плечах такого гиганта как C++.

Так что мы потратили пару недель, проштудировав серию руководств по OpenGL от ютубера под ником TheCherno (кстати, сама серия отличная). Две недели спустя нам удалось на экране единственный статичный голубой квадратик. Я уже стал опасаться, а не начнёт ли моя сестра сомневаться, стоило ли таким образом изучать разработку игр и пытаться изобразить что-нибудь на C++. Так что тогда я решил, что следует отбросить руководства господина Черно и взяться за разработку игры всерьёз.

Читать далее
Всего голосов 29: ↑23 и ↓6+29
Комментарии67

Гипермедийные системы на ASP.NET MVC 5. Часть третья — окончание

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров1.1K

Окончание статьи по быстрой разработке гипермедиа-ориентированного веб-приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше
Всего голосов 6: ↑4 и ↓2+6
Комментарии7

Истории

Присоединяйтесь к проекту Rustsn: призыв к разработчикам Rust, интересующимся областью ИИ (LLM)

Уровень сложностиСложный
Время на прочтение2 мин
Количество просмотров3.2K

Несколько дней назад я опубликовал статью Создание инструмента генерации кода с помощью Rust и локальных LLM от Ollama.

Проект Rustns призван упростить жизнь разработчикам Rust за счет автоматизации утомительных задач. Мой инструмент генерирует фрагменты кода Rust из объяснений пользователя, компилирует их, разрешает зависимости, генерирует тесты.
Изначально проект задумывался как универсальное решение для генерации кода для самых популярных языков программирования, включая Java, Python и TypeScript. Я стремился создать инструмент, который бы облегчил работу разработчиков, предоставляя возможность генерировать код сразу на нескольких языках. Однако, приступив к реализации мультиязычности, я столкнулся с серьёзными трудностями.

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

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

Вот упрощенная диаграмм работы проекта:

Читать далее
Всего голосов 8: ↑5 и ↓3+6
Комментарии6

Генерация AST на Rust

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K

Сегодня мы рассмотрим одну из тем систем компиляции — генерацию абстрактного синтаксического дерева или просто AST на Rust. Создадим свое собственное AST, разберем, как структурировать синтаксическое дерево, и рассмотрим, как использовать возможности Rust для создания парсеров и обработки узлов дерева.

Читать далее
Всего голосов 13: ↑11 и ↓2+15
Комментарии2

Как управлять тысячами строк правил Firewall, на примере Juniper SRX

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.1K

Есть специальная программное обеспечение, например Algosec или Tufin, но простая Python программа может сделать Почти то же самое.

Серьёзными проблемами для больших фаерволов могут быть повторяющиеся правила, затенённые правила, а также группы правил которые можно объединить.

Я подготовил упрощенную конфигурацию

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии2

Гипермедийные системы на ASP.NET MVC 5. Часть вторая — продолжение

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров1.3K

Продолжение статьи по быстрой разработке гипермедиа-ориентированного веб-приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше
Всего голосов 7: ↑4 и ↓3+5
Комментарии4

ИИ от стартапа Mercor провёл интервью с 300 000 соискателей, а теперь его оценивают в 250 миллионов долларов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.9K

Под руководством трех 21-летних стипендиатов Thiel Fellows (грант Питера Тиля) ИИ-стартап Mercor привлек $32 млн от Benchmark, Питера Тиля и других инвесторов. Выручка стартапа уже исчисляется десятками миллионов, ежемесячно увеличиваясь на 50%, и он является прибыльным.

Читать далее
Всего голосов 9: ↑5 и ↓4+6
Комментарии13

Трассировка OpenTelemetry в 200 строк кода

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров3.6K

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

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

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

На самом деле, трассировка гораздо проще, чем кажется.

Читать далее
Всего голосов 13: ↑12 и ↓1+17
Комментарии2

Концепция временного View state в JavaScript

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров2.9K

Приветствую всех! В данной статье, речь пойдёт о достаточно необычной теме, информацию о которой я почему-то не нашёл, хотя она достаточно полезна в современных JavaScript фреймворках и библиотеках для создания пользовательских интерфейсов, ведь, в некоторых случаях, применение концепции может помочь ускорить работу с DOM в несколько раз.

Читать далее
Всего голосов 3: ↑2 и ↓1+4
Комментарии1

Ушной мониторинг как проектная коммуникация: почему каждому стейкхолдеру нужен свой звук

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.3K

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

Читать далее
Всего голосов 7: ↑5 и ↓2+9
Комментарии2

Обзор расширенного набора функций IP-АТС Yeastar серии P

Время на прочтение11 мин
Количество просмотров709

В предыдущей статье цикла мы рассказали о том, какие функции IP‑АТС Yeastar серии P доступны без приобретения лицензии. Во второй статье рассмотрим возможности, которые предоставляют лицензии Standard, Enterprise и Ultimate.

С кратким перечнем функций можно ознакомиться в нескольких источниках: например, в разделе «План» в веб‑интерфейсе IP‑АТС, на официальном сайте Yeastar или в спецификации. В данной статье каждая функция будет рассмотрена подробнее.

Читать далее
Всего голосов 7: ↑7 и ↓0+11
Комментарии0

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

State-of-the-art: резюмирование текста

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров984

Скорее всего, уже всем известна задача резюмирования/суммаризации/обобщения/summarization/т.д. текстов, а как её решать — тем более. Вопрос крайне актуальный и люди, занимающиеся NLP, уже тысячу и один раз слышали все тонкости и крайности этой темы. Данная статья направлена на краткий обзор существующих подходов и их сравнения. Анализ проводился на статьях, вышедшие за последние пару лет.

Читать далее
Всего голосов 8: ↑7 и ↓1+11
Комментарии2

Инструмент django-command

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.9K

Django-command - инструмент командной строки, который позволяет выполнять часто используемые команды при разработке проектов на фреймворке Django. Данный инструмент помогает повысить эффективность разработки и упростить рабочие процессы, связанные с веб-приложениями на Django.

Читать далее
Всего голосов 6: ↑6 и ↓0+11
Комментарии10

Практичное и любопытное: все темы Heisenbug 2024 Autumn

Время на прочтение19 мин
Количество просмотров870

Что должны рассказывать на конференции по тестированию? Что-то очень практичное, что участник вскоре применит в своём проекте? Или для такого существуют курсы, а конференция — это «оторваться от своей рутины и разобраться, что происходит вокруг»?

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

Вот и на новом Heisenbug 2024 Autumn темы будут самыми разными. В одних звучат названия конкретных инструментов от Postman до Selenoid, отвечают на конкретные вопросы вроде «как тестировать Helm-чарты». А другие позволяют посмотреть шире: вплоть до выступления врача-эндокринолога о том, что не так с тезисом «чем больше тестов, тем лучше».

Представляем Хабру всю программу. Чтобы сделать пост покороче, мы сократили некоторые описания докладов — полные доступны на сайте.

Читать далее
Всего голосов 4: ↑4 и ↓0+11
Комментарии0

7 продвинутых приёмов JavaScript, которые должен знать каждый разработчик

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

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

Однако при таком обилии функций и технологий легко упустить самые мощные из них. Если ваша цель — повысить производительность или упростить поддержку кода, эти продвинутые техники дадут вам серьёзное преимущество.

Давайте разберём 7 продвинутых техник в JavaScript, которые помогут вам вывести свои навыки на новый уровень.

Читать далее
Всего голосов 31: ↑23 и ↓8+21
Комментарии10

Гипермедийные системы на ASP.NET MVC 5. Часть первая — начало

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров1.9K

Начало статьи по быстрой разработке гипермедиа‑ориентированного веб‑приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше
Всего голосов 8: ↑4 и ↓4+4
Комментарии20

Транспьютеры — революция многопроцессорных систем, которой не случилось

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров12K

В самом начале 80-х годов двадцатого столетия, как и много раз в более поздние годы, возникло мнение, что обычные процессоры достигли предела своей производительности. Тогда, по крайней мере, к этому имелись все предпосылки: имевшиеся на тот момент технологии уже не позволяли разместить больше логических схем на одном кристалле. Традиционные компьютеры с архитектурой CISC приблизились к пределу своих вычислительных возможностей, и было неясно, можно ли его преодолеть. Именно тогда на свет появились транспьютеры — чипы с принципиально новой архитектурой, которую сразу же окрестили научно-техническим прорывом, революционной разработкой и будущим компьютерных технологий. О самих транспьютерах и о том, как сложилась их судьба — наш сегодняшний рассказ.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+61
Комментарии40

Улучшаем навигацию роботов с помощью нейронного потенциального поля

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров3K

Всем привет! Меня зовут Алексей Староверов, я научный сотрудник группы «Embodied agents» в AIRI. К числу моих научных интересов в основном относятся алгоритмы обучения с подкреплением (RL) и их применение для робототехнических систем. В этом году в рамках конференции ICRA 2024 мы с коллегами из МФТИ представили статью на тему автономной навигации мобильных роботов, о которой я бы и хотел вам рассказать.

Читать далее
Всего голосов 17: ↑17 и ↓0+25
Комментарии1