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

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

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

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

Кот, меняющий строки

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

Первая и пока единственная сказка из серии cказкок для инженеров-программистов младшего уровня .

Эта статья была опубликована на моём личном блоге. Эта статья практически полностью её повторяет, лишь отредактирована под Хабр (частично).

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

Редактор Хабра подсказывает, что на чтение статьи у вас уйдёт около 21 минуты. Спешу обрадовать, это не так. Хорошо бы запастись как минимум часом.

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

Новости

Популярнее некуда: у JavaScript самое большое сообщество. Как это выяснили

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

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

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

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

Сколько UB в моём компиляторе?

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

У C и C++ программистов две головные боли в плане ошибок: утечки памяти и неопределённое поведение. И как вы догадались из названия, речь пойдёт о неопределённом поведении. И каком‑то «моём» компиляторе. Если точнее, то о наборе компиляторов и инструментах для их разработки, а именно LLVM. Почему «моём»? Потому что мы очень любим Clang, входящий в состав LLVM, и пользуемся им на постоянной основе.

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

Динамическое программирование на Python

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

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

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

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

Истории

Полная ×○□△ — поиск наилучшего прохождения уровня в ритм-игре алгоритмическим путём

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

КДПВ за авторством @uncleinuyasha

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

В моём случае таким занятием ещё со времён актуальности PSP стала ритм-игра под названием "Project DIVA". Базовая концепция максимально простая — на экране появляются мишени, к которым летят иконки клавиш, оные и нужно нажимать в ритм песни.

Вскоре после переезда в Японию я узнал, что есть куда более серьёзная версия этой игры — Project DIVA Arcade. Однако и некоторые игровые механики в ней существенно отличаются от её карманного прородителя. Именно они среди прочего и делают эту игру уникальной — возможно, единственной ритм-игрой "с открытой концовкой".

Давайте же разберём правила игры, создадим имитационную модель игрового процесса и посмотрим, можно ли получить преимущество в игре путём вычислений, или же уже всё посчитано до нас :-)

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

Необходимое зло

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

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

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

ИИ уже скоро заменит тебя: готовься к реальности

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

Привет, жалкие людишки!

Если вы подумали, что название статьи — кликбейт, готов вас огорчить, приведя аналитику и будущие тенденции по «хьюманзамещению». Также осмелюсь разбить уже весьма прогнившие заблуждения и стереотипы о беспомощности ИИ без человека, наподобие «главное быть хорошим специалистом и нейросети тебя не заменят» и прочие влажные фантазии, в которые и я, будучи в свое время разработчиком, верил какое‑то время. В конце приведу три дальнейших сценария развития ИИ, каждый из которых радикально поменяет текущую ситуацию. Эта статья в первую очередь для тех, кто думает, что они смогут и дальше спокойно работать, не взаимодействуя с «нейросетками» и для тех, кто думал, что они будут для нас просто «ассистентами». Не будут:) и моя цель в своей статье — это доказать.

Узнать истину
Всего голосов 40: ↑19 и ↓21+1
Комментарии276

Уязвимость в плагине JetBrains GitHub

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

Была обнаружена новая проблема безопасности, затрагивающая плагин JetBrains GitHub, потенциально приводящая к раскрытию токенов доступа сторонним сайтам. Проблема затрагивает все IDE на базе IntelliJ начиная с версии 2023.1, если у них включен и настроен/используется плагин JetBrains GitHub. 

Проблема уже устранена, и для всех IDE на базе платформы IntelliJ, начиная с версии 2023.1, выпущено обновление, содержащее исправление.

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

Как пройти собеседование в FAANG. Мой опыт и рекомендации в 2024 году

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

Всем привет, меня зовут Максим Иванов, я frontend-разработчик в компании Т-Банк (Тинькофф). Сегодня мы поговорим с вами о лайфхаках, которые могут вам пригодиться, если вы хотите устроиться в Google. С автором данной статьи я был лично знаком, когда он еще работал в Тинькофф. Смею заметить, что этот человек не был рядовым разработчиком. Он был очень талантливым как инженер, так и руководитель. Значительная часть его опыта была связана с курированием отдела Frontend Core Tech в Тинькофф, а это 200 инженеров в подчинении. Он постоянно проводил встречи для разработчиков и распространял самые передовые знания на всю компанию. Обучал, помогал, решал самые сложные задачи, которые стояли перед отделом. Когда я наткнулся на его статью, то решил отдать дань уважения и сделать перевод. Спасибо, если дочитаете до конца и давайте начнем!

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

Дзэн в искусстве программирования

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

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

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

Prompt-engineering: чем полезен SDET-специалистам, или Как оставаться востребованным на рынке в эпоху ИИ

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

Нейросети и искусственный интеллект (далее ИИ) развиваются стремительными темпами, и у многих SDET-специалистов появляются опасения о потере работы. И действительно, список задач, которые уже сегодня может выполнить чат-бот, впечатляет.

Подготовка тестовых данных занимает много времени? ИИ сгенерирует для ваших тестов данные любой сложности и в любых форматах.

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

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

Учитывая перечисленное, может ли ИИ заменить человека в профессии или снизить востребованность SDET-специалистов на рынке? 

Привет! Меня зовут Дария, я SDET-специалист в компании SimbirSoft и недавно задалась этим вопросом. Как известно, лучший способ познакомиться с новыми технологиями и инструментами — «потрогать их руками», чем я и занялась.

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

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

Тестирование производительности виртуальных потоков Java в Jetty

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

Больше года я сравнивал обычные и виртуальные потоки в Java. На основе превью 19 версии JDK. Сравнение виртуальных и обычных потоков в Java. tldr: Чуда тогда не случилось, одинаковый код работает одинаково.

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

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

iOS-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма

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

Команда Яндекс Практикума провела исследование и готова рассказать, как обстоят дела в найме начинающих iOS-разработчиков: какие навыки требуются джуниорам для работы, о чём их спрашивают на собеседованиях и сколько откликов им нужно отправить, чтобы получить приглашение на интервью.

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

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

Конференция HR API 2024
Дата14 – 15 июня
Время10:00 – 18:00
Место
Санкт-ПетербургОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Git. Руководство по оформлению веток и коммитов

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

Статей на тему что такое git и как им пользоваться на просторах интернета не мало. Я же хочу предложить вам несколько иной взгляд на привычные вещи, а именно, на оформление веток и коммитов, рассмотреть что такое WIP-коммиты, для чего они нужны и как с помощью них можно повысить свою продуктивность и поддерживать чистоту в истории вашего репозитория, в особенности, если вы работаете в команде. Поехали.

Познать истину
Всего голосов 15: ↑13 и ↓2+11
Комментарии8

Слушаем события в Selenium с помощью Listeners. Как реагировать на события без тонны кода

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

Привет!

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

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

Почему пользователи ненавидят вашу документацию и как это исправить

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

«Ваша документация — отстой!», «Я её никогда не читаю, всё равно там ерунда написана!», «Эти документаторы опять всё напутали», «Да любая нейросеть быстро напишет это в сто раз лучше», «Там никогда не найти ничего нужного», «А разве у нас есть документация?»

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

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

Простыми словами про метрики в ИИ. Регрессия. MSE, RMSE, MAE, R-квадрат, MAPE

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

Привет, Хабр! Меня зовут Александр Троицкий, я автор канала AI для чайников, и я продолжаю серию коротких статей по метрикам качества моделей для машинного обучения!

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

Возможно, микросервисы вам не нужны

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

Писать эту статью было весело. Многие наверняка её захейтят, но …

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

Сегодня микросервисы очень популярны. Это прекрасный архитектурный стиль, который помогает масштабировать систему и саму организацию. Их используют многие успешные компании (Netflix, Spotify и прочие). Поэтому вполне нормально, что большинство организаций уже применяют или планируют начать применять этот стиль. Однако не все учитывают сопутствующие затраты.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+43
Комментарии30

Учимся летать: симуляция эволюции на Rust. 2/5

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



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



В этой статье мы заложим основы нашего проекта и реализуем простую FFNN (feedforward neural network — нейронная сеть прямого распространения), которая впоследствии станет мозгом. Мы также рассмотрим множество тонкостей и идиом, которые встречаются в коде Rust, включая тесты.


Готовы? Тогда поехали.

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

Удобный CI/CD доступен каждому

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

Привет, Хабр! Недавно я выступал на Moscow Python Conf, где делился нашим опытом создания и использования CI/CD пайплайнов. В данной статье я расскажу об этих пайплайнах, раскрою их особенности и покажу, как они помогают нам быстро доставлять код и поддерживать высокий показатель Time To Market. Надеюсь, что наш опыт будет полезен и вам.

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

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