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

Разработчик представил программу, которая с помощью ИИ на лету исправляет баги в коде

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

Разработчик под никнеймом BioBootloader представил программу Wolverine, которая с помощью GPT-4 на лету исправляет баги в коде на Python. Проект опубликован на GitHub, а автор утверждает, что разработку можно адаптировать для других языков программирования.

Читать далее

Java: Исправлена потеря исходного ExceptionInInitializerError в NoClassDefFoundError

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

В последнем (на момент написания) релизе Java исправлена очень давняя и неприятная ошибка потери исходного исключения при загрузке класса. Теперь понять, почему класс не загрузился станет легче!

Читать далее

OpenAI открыла код Transformer Debugger — отладчика для моделей машинного обучения

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

OpenAI опубликовала код отладчика Transformer Debugger, предназначенного для работы с моделями машинного обучения. С его помощью проще понимать, почему языковые модели выводят определённые токены в ответ на запрос.

Читать далее

«Миссия Мидори»: игра про умный город для C++ разработчиков

Время на прочтение1 мин
Количество просмотров4.3K
В одном далёком умном городе что-то пошло не так… В системах сбои, техника отказывается работать, оборудование сходит с ума. И только вы и ваши знания в С++ могут это остановить.



«Лаборатория Касперского» приглашает вас сыграть в «Миссию Мидори». Ваша задача – дать отпор всем кибератакам, вредоносам и сбоям, вернув в строй умный город.

Активируйте свои знания в С++ и покажите их в действии. Переходите по этой ссылке и попробуйте пройти миссию до конца.

Инструмент разработки Firebug закрывается: «Пользуйтесь Firefox DevTools»

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

Разработчики из команды проекта Firebug объявили об остановке работы над своим инструментом. Об этом сообщается на главной странице проекта: «Расширение Firebug больше не разрабатывается и не поддерживается. Мы предлагаем вам воспользоваться Firefox DevTools».

Какие-либо предварительные анонсы или обращение в блоге к пользователям отсутствуют, что вызвало некоторое недоумение в сети и привело к бурным обсуждениям произошедшего на HackerNews и Reddit.
Читать дальше →

Отладка с sys._getframe в Python

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

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

Сегодня в коротком формате разберемся с тем, что же творится внутри CPython, когда функции вызывают друг друга: sys._getframe, f_back, f_globals, f_locals, а также создадим свои декораторы.

Читать далее

Пол Грэм: «The Other Road Ahead», часть 1

Время на прочтение19 мин
Количество просмотров11K
«Для Viaweb мы часто делали три-пять версий в день.»
— Пол Грэм, разработчик, инвестор, эссеист.

image
Пол Грэм, Роберт Моррис и Тревор Блэквел в 1995

Очередная глава книги «Хакеры и художники» (которая уже почти полностью переведена на русский)

Другая дорога в будущее


Сентябрь 2001
Оригинал — The Other Road Ahead
(За перевод плюсик в карму knagaev)

(Эта статья объясняет почему многое в ПО следующего поколения может быть реализовано на серверной стороне, что это будет значить для программистов, и почему этот новый вид ПО будет хорошей возможностью для стартапов. Источниками статьи были диалоги в BBN Labs.)

Летом 1995-го я со своим другом Робертом Моррисом (Robert Morris) решили запустить стартап. PR-кампания перед IPO Netscape тогда шла полным ходом, и в прессе было полно разговоров об электронной коммерции. На тот момент в сети уже было порядка тридцати реальных электронных магазинов, и все они были сделаны вручную. Если в скором времени в сети должно было появиться множество онлайн-магазинов, была потребность в ПО для их разработки, и мы решили такое написать.

Сначала, где-то около недели мы думали, что это будет обычное приложение для ПК. Но потом у нас возникла идея разработать приложение, которое будет исполняться на нашем веб-сервере, с использованием браузера в роли пользовательского интерфейса. Мы попробовали переписать приложение для работы в Вебе, и стало понятно, что это правильное направление. Если мы писали наше ПО для исполнения на сервере, это было удобнее как для пользователей, так и для нас.

Оказалось, что это был отличный план. Теперь, как Yahoo Store, это ПО является самым популярным конструктором онлайн-магазинов, с ним работает порядка 14 тысяч пользователей.
Читать дальше →

Удобный print с номером строки и названием переменной

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

Допустим Вы что-то хотите распечатать в консоль.

hello = "world"

print(hello)

>>> world

Пока программа небольшая, то с этим нет никаких проблем.

Читать далее

Приглашаем на онлайновый митап про нативный фаззинг в 1.18 Go и его особенности

Время на прочтение1 мин
Количество просмотров1.5K
В четверг, 22 сентября, в 16 часов (МСК) мы проведем онлайновый митап под названием «Фаззинг и обработка ошибок в 1.18 Go».

UPD: В свете известных событий митап переносится на 20 октября.

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



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

Новые возможности Intel Media Server Studio 2016

Время на прочтение5 мин
Количество просмотров8.8K
С выходом новой версии Intel Media Server Studio 2016 быстрое и качественное транскодирование видео стало еще проще и доступнее! HEVC энкодер стал в 1,1 раза производительнее, а качество возросло на 10 %. Intel Media Server Studio помогает поставщикам решений кодировать видео в формате HEVC 4K для вещания с помощью специальной, основанной на базе процессоров Intel Xeon E3 карты-расширения Intel Visual Compute Accelerator в сочетании с некоторыми процессорами Intel Xeon E51. Повышение стабильности декодирования AVC и MPEG2 позволяет обрабатывать ошибки в видеоматериалах. Подробные сведения о новых возможностях для транскодирования мультимедиа см. ниже.
Читать дальше →

Simics: Забиваем гвозди сваебоем

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

Любите ли вы отзывчивые программы так, как люблю их я? Любовь эта привела меня к Колибри ОС - невероятно шустрой операционной системе, которая запускает программу до того, как вы осознаете, что кликнули по ней. И недавно у неё нашли уязвимость: ping of death.

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

Если бы только можно было использовать Simics для отладки любительской ОС...

Читать далее

Ускоряем разработку и тестирование с DevTools: 4 новых инструмента, которые сэкономят вам время

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

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

Читать далее

Как оптимизировать аккумуляторную батарею

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

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

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

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

Запускаем Linux на Python

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

На чем только уже не запускали Doom. Мы же будем запускать Linux. Да не где-нибудь, а на Python. Да-да, прямо вот внутри него, где в качестве среды выполнения будет выступать интерпретатор Python. Ну как... Не будем пытаться переписать ядро и другие части Linux на этот язык, а попробуем написать (точнее портировать) виртуальную машину на Python и уже в ней запускать ОС.

Начнем с позитивного, а именно с плюсов такого решения.

– Можно будет запустить Linux вообще везде, где есть интерпретатор Python.

– Можно использовать как бенчмарк конкретного интерпретатора.

– Веселимся, пока все это пишем и отлаживаем. Пожалуй, это самый главный плюс.

Минусы: будет работать оооочень не быстро (ну логично же).

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

Приступаем!

Краткий курс компьютерной графики, аддендум: лечим по фотографии

Время на прочтение3 мин
Количество просмотров20K
Год назад я опубликовал цикл статей, имевший целью популяризацию графического программирования. Много воды утекло с тех пор, появилась англоязычная версия цикла, прошедшая некоторую полировку по сравнению с оригинальным. За этот год мне написало несколько сотен человек, причём многие просили помочь отладить их код.

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

Абсолютно все картинки сгенерированы не мной, я лишь собрал самые типичные баги. Настоящая людская боль перед вашими глазами, ко мне, понятно, обращаются (особенно по почте) только после того, как не могут сами найти баг за разумное время.

Вот первый баг для затравки, слева битый рендер, справа то, что ожидалось:


Играть!

Еще возитесь с отладкой?

Время на прочтение4 мин
Количество просмотров10K
Здравствуйте, уважаемые читатели.

На русском языке выходит не так много универсальной неустаревающей литературы о принципах ООП. Пользуясь случаем, предлагаем скачать "Объектно-ориентированное мышление" Мэтта Вайсфельда, которой практически не осталось в бумаге. Однако подобные книги время от времени появляются, причем есть и такие, которые написаны в новаторском и прикладном стиле, а не просто перемалывают известные истины. Одна из них называется "Elegant Objects", мы серьезно задумываемся издать ее на русском языке.



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

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

Чему разработчики ПО могут научиться у стоматологов

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

Для начала немного обо мне: я и практикующий дантист, и разработчик ПО. Со вторника по четверг я пишу код, а с пятницы по воскресенье принимаю пациентов. До того, как стать дантистом, я работал в таких компаниях, как Allstate Insurance, Lockheed Martin и ICS. Освоив обе эти профессии, я заметил, что разработчики ПО могут многому научиться у дантистов и наоборот. Я решил записать эти уроки в надежде, что они кому-то могут помочь. Это просто общие рекомендации — не стоит рассчитывать, что они идеально подходят для любой ситуации.
Читать дальше →

Отладка, модификация и устранение багов в сторонних 32-х и 64-х разрядных приложениях под ОС Windows

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

В этой статье я хочу поделиться практическими методами отладки, модификации и устранения багов в 32-х и 64-х разрядных приложениях под ОС Windows, разработанных на языке C/C++, исходные коды которых по тем или иным причинам не стали достоянием общественности.

Этот пробел отчасти можно попытаться устранить, например, с помощью плагина Hex-Rays для IDA Pro, и зачастую удаётся довольно качественно восстановить нужный участок исходного кода, обнаружив в нём проблемное место. Но после этого всегда возникает вопрос - что с этим исправленным кодом делать дальше, как и где его можно использовать? На данном этапе мне всегда хотелось взять этот отдельно декомпилированный фрагмент программы, поменять в нём что-нибудь и затем каким-то чудесным образом «поместить обратно» в программу.

Далее будет описан один из возможных способов реализации этой идеи на практике.

Читать продолжение

Легенда о серебряной пуле или как я искал логические ошибки кэширования и получения данных

Время на прочтение5 мин
Количество просмотров5.8K
Отказ от претензий: не используйте описанные ниже патчи на продакшене; пользуйтесь специально подготовленными тестовыми площадками.

* * *


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

Ох уж это сладкое чувство, когда ты приходишь весь в белом, шевелишь пальцами над клавиатурой неделю или две (возможно, час или день) — и решаешь какую-то проблему, с которой много людей долго и безуспешно боролись.

Вводная


История началась с того, что меня попросили провести подробный аудит довольно популярного интернет-магазина. Всё приложение вертелось на двух балансировщиках, нескольких бэкэндах и двух серверах БД. Нагрузка — 1-4 тысячи запросов в минуту. Стек близок к классическому: PHP(-fpm), Mysql, Memcached, Sphinx, Nginx. Иногда обстоятельства складывались так, что вся система вставала колом, при этом прямой корреляции с нагрузкой не было. И даже с выкладкой нового кода (и соответствующими перезапусками демонов) — не всегда.

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

PVS-Studio для проверки лабораторных работ на C и C++

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

C++ error: "pointer being freed was not allocated


Встретил очередной вопрос на Stack Overflow от человека, изучающего язык C++. Количество подобных вопросов можно сократить, используя PVS-Studio. Человек сразу может получить ответ, не отвлекая других.

Читать дальше →
1
23 ...