Все потоки
Поиск
Написать публикацию
Обновить
974.34

Программирование *

Искусство создания компьютерных программ

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

Простота и Гласность

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

В именах Masha, Rodion и Ekaterina насчитываем 2, 3 и 5 гласных букв - это всё простые числа. Гласными в рамках этой задачи считаются aouie, без y (хотя это дискриминация).

Представьте, даны две строки одинаковой длины, например abbas и abzac - они задают некий диапазон всевозможных строк (этой же длины) в алфавитном порядке:

abbas, abbat, ..., abyzz, abzaa, abzab, abzac

Сколько в этом диапазоне строк, имеющих "простое" количество гласных? Тут даже ребёнок легко сосчитает - всего 7289 :)

А как посчитать если ограничение на длину строки - до 150 символов? Приглашаем попробовать новую задачу на CodeAbbey от Клайва Фрэйзера: Prime Vowel Count - она хороша тем что демонстрирует довольно общий подход к целому классу подобных задач (не обязательно даже про строки).

Читать далее нечего

Новости

Проблема, о которой вы наверняка не задумывались: print(.1+.2)

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

Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность?

Скорее всего, вы даже не знали, что вывод на экран чисел с плавающей запятой — это сложная проблема, настолько сложная, что по ней написаны десятки научных статей, причём последний прорыв был относительно недавно, в 2016 году. На самом деле, это одна из самых сложных частей поддержки чисел с плавающей запятой в среде выполнения языка.

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

Это вторая статья из цикла «Санпросвет о плавающей точке»:

1. Компьютеры и числа

2. Вывод чисел с плавающей точкой на экран <- вы тут

Читать далее

С чего ты взял, что айти не твое?

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

Наверное многие слышали фразу, что для того, чтобы стать разработчиком, надо иметь определенный склад ума и тому подобное. Что я думаю об этом? И да, и нет. Конечно, у людей, которые уже работают в сфере, постепенно формируется определённый стиль мышления, и приобретается навык, помогающий решать задачи. Но вопрос в другом: был ли он у них изначально или появился с опытом? Возможно, кому‑то действительно повезло, и они с самого начала обладали такими способностями. Лично я таких людей не встречал и сам к ним не отношусь. Но, как ни странно, и я, и мои знакомые вполне успешно работаем в IT‑компаниях, и нас до сих пор никто не уволил.

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

Читать далее

Как мы делали стартап, и почему у нас не получилось

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

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

Что делать в такой ситуации?

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

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

Как справиться с рутиной? Как сделать жизнь интересной, если писать код — не только работа, но и хобби?

Единственный путь, который я вижу — параллельно с основной работой заниматься pet-проектами, открытым исходным кодом, развивать личный бренд, заниматься менторством.

Читать далее

Мой опыт работы с ИИ-ассистентом по имени Claude

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

Умеют ли нейросети писать код?
Может ли нейросеть заменить программиста?
Может ли непрограммист создать полноценное приложение с помощью нейросети?
Можно ли доверять приложению, созданному непрограммистом с помощью нейросети?

В этой статье я излагаю свою точку зрения, основанную на собственном опыте работы с кодированием с помощью Claude Sonnet 4.0 и Opus 4.1.

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

Читать далее

Невизуальная доступность: опыт незрячего в использовании компьютерного зрения и LLM для взлома цифровых барьеров

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

С развитием LLM моделей AI начали появляться разные ИИ агенты, автоматизирующие задачи.

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

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

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

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

Читать далее

Парсинг цен и данных о товарах конкурентов на Wildberries

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

Всем привет! Ранее я уже писал про парсинг Wildberries, но та статья была довольно узконаправленной и не затрагивала более широкие возможности анализа. Да и с тех пор многое изменилось — тема стала ещё актуальнее, а у читателей накопилось больше вопросов.

Поэтому в этой статье мы разберём тему заново, но уже с акцентом на практическую пользу.

Читать далее

В поисках идеального терминала

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

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

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

Читать далее

Go, Telegram, AI: Создаем систему ранжирования трейдинг-каналов по точности прогнозов

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

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

Среди этих способов выделяются два основных: Bot API и MTProto API. Оба предоставляют различные возможности, но имеют и свои ограничения. Автоматизированный сбор данных для машинного обучения или глубокого анализа может быть непростой задачей из-за этих особенностей.

Читать далее

SPICE-модели: Просто о сложном. Часть 1, вводная

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

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

Среди того, что мне приходилось вести есть такой курс: «Электронная и преобразовательная техника электрического транспорта железных дорог». Специалисту понятно — речь идет о силовой электронике, в самых радикальных её проявлениях. Конечно, для того чтобы не объяснять материал на пальцах, да и для проведения лабораторных работ, в дело идут симуляторы электронных схем. До недавнего времени я использовал LTSpice, однако теперь это невозможно. Но на мое счастье, благодаря vv_kuznetsov, воскрес из мертвых симулятор Qucs. Но с ним не все так просто, как могло бы показаться на первый взгляд.

Читать далее

Мой опыт с codewars спустя 3.5 года

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

Привет, Хабр! Сразу хочу сказать, что в первую очередь задачи я решал для себя. Хочу поделиться моим опытом взаимодействия с этой платформой и насколько мне это помогло. Каждый по прочтению этой статьи решит для себя сам, стоит начинать или же нет. А началось мое знакомство в далеком январе 2022 года. За все время я решил почти 200-ти задач и имею 4kyu. Мне кажется главное, что стоит понять, что сайт делится на две категории — базовый и продвинутый. Большинство задач на 6, 7, 8 kyu — базовые. Всё, что меньше — продвинутый.

Читать далее

Как я перенёс опыт из PostgreSQL в MongoDB и получил готовый чек-лист

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

Работаете с PostgreSQL и хотите попробовать MongoDB? Я спроецировал опыт работы с реляционными БД на NoSQL и собрал два чек-листа: проверенные практики для PostgreSQL и их аналоги для MongoDB.

Без воды, только ключевые пункты чтобы быстро стартовать и не наступать на типичные грабли.

Читать далее

Rust 1.90.0: ldd для x86_64-unknown-linux-gnu, публикация рабочих пространств и понижение x86_64-apple-darwin до Tier 2

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

Команда Rust рада сообщить о новой версии языка — 1.90.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.90.0 вам достаточно выполнить команду:

$ rustup update stable

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

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Что стабилизировано в 1.90.0

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

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 2. Диалоговые агенты: память, сообщения и контекст

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

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

Создаем умные системы, которые сами определяют тип сообщения — отзыв это или вопрос — и автоматически направляют в нужную ветку обработки.

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

Читать далее

Лестница абстракций и где на ней стоять: изучать ли программирование сложным способом?

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

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

Читать далее

Кодинг-интервью: без боли и литкода

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

Когда мы говорим о кодинг‑интервью, у многих начинаются флешбеки от разворачивания дерева до домашних заданий на 14 часов.

Я развлекаюсь интервьюингом больше десяти лет, лет пять вёл SRE Interview Club для собратьев по пейджеру и набрал небольшую базу любимых вопросов — которые задаю по сиюминутному желанию, в зависимости от фазы луны: они все работают для любых ситуаций.

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

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

Давайте рассмотрим один из моих любимых вопросов: доставайте свои вайтборды или блокнотики, начинаем кодить на доске!

Вращайте ~барабан~ дерево!

Что нового в Gradle 9.0.0?

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

В новом переводе от команды Spring АйО рассматривается новое крупное обновление Gradle, которое приносит с собой переход на Kotlin 2 и Groovy 4, а также делает кеш конфигурации рекомендуемым режимом сборки. В версии 9 улучшена система отчётности об ошибках, ускорена компиляция Kotlin DSL, добавлена интеграция с Jspecify, снижено потребление памяти и оптимизирована работа с IDE.

Читать далее

Большой гайд как соответствовать ожиданиям работодателя в IT

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

Ты думаешь, что в IT достаточно быть сильным специалистом? Ошибаешься. Работодатели ждут от тебя гораздо большего, и часто об этом не говорят прямо.

Читать далее

Без головы но с идеями: как Strapi оживляет Next.js

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

Привет, Хабр!

Меня зовут Дмитрий Гусаков, я менеджер проектов компании DD Planet. Рад поделиться с вами материалом, который, надеюсь, будет полезен всем, кто следит за эволюцией веб‑разработки и ищет современные подходы к созданию гибких и производительных проектов. Сегодня я расскажу про связку, которая уже стала стандартом для многих команд — Strapi + Next.js. Это не просто инструменты, а целая философия, где скорость, контроль и свобода творчества выходят на первый план.

Читать далее

Ваш ИИ-ассистент — это новое поколение компиляторов

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

Команда AI for Devs подготовила перевод статьи о том, как ИИ меняет саму суть программирования. Автор сравнивает LLM с компиляторами и утверждает, что роль разработчиков постепенно смещается от написания кода к управлению архитектурой и обучению ИИ. Как думаете, это угроза или эволюция профессии?

Читать далее

Вклад авторов