Pull to refresh

Прошивку терминала Starlink скачали и проанализировали

Reverse engineering *Development of communication systems *Programming microcontrollers *Network hardware The future is here
Для прерывания процесса загрузки пользовательского терминала нужно ввести команду "‘falcon".

Инженер из Бельгии по имени Леннерт Воутерс (Lennert Wouters) сумел скачать и проанализировать прошивку спутникового терминала Starlink. В ходе своих изысканий он сделал несколько интересных наблюдений и обнаружил, что существуют разные версии терминала, включая отдельную версию оборудования для разработчиков, которая защищена флагом геозоны. Даже инженеры SpaceX не везде могут работать в режиме настройки такого оборудования.
Читать дальше →
Total votes 55: ↑55 and ↓0 +55
Views 18K
Comments 6

Удобный дебаг с BlackBird

JavaScript *
imageХочу представить вам одну библиотеку для яваскрипта, под названием BlackBird. Основное ее назначение, избавить разработчика от не нужного дебага при помощи alert(), о чем собственно и говорит слоган «Скажите привет BlackBird и скажите пока alert()» ( Say hello to Blackbird and 'goodbye' to alert() ).
Читать дальше →
Total votes 49: ↑38 and ↓11 +27
Views 635
Comments 54

Lagger — обработка ошибок и отладка в PHP с закрытыми глазами

PHP *
image

Впервые этот инструмент был представлен широкой публике в 2008 году на конференции Highload.ru, после чего был основательно оптимизирован и доработан. О том, что же это за зверь такой и как им удобно пользоваться
читаем далее
Total votes 72: ↑42 and ↓30 +12
Views 2.1K
Comments 45

Ода багу!

Lumber room

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

Приятно баг исправить и в обед
в прикуску к супу, чипсам и котлете!
И думая, что даже в сорок лет
не так уж плохо жить на этом свете!

Приятно баг исправить перед сном,
и больше ничего уже не править.
Короче, ясно все, как божьим днем —
ПРИЯТНО, БЛЯ, ПРИЯТНО БАГ ИСПРАВИТЬ!

© Михаил Черняховский
Total votes 112: ↑64 and ↓48 +16
Views 251
Comments 18

Интуиция как инструмент разработчика

Acronis corporate blog Programming *Debugging *
Всем привет! Меня зовут Дмитрий Чепель, я — эксперт в компании Acronis. Так уж получилось, что ко мне обращаются с проблемами, которые не удалось решить моим коллегам. Кто-то думает, что у меня есть некое «разработческое чутьё», интуиция. Не знаю, как вы, а я считаю, что интуиция — это такой же инструмент разработки, как и остальные, и её можно и нужно улучшать и тренировать.

Sbws3m.jpg
Читать дальше →
Total votes 33: ↑27 and ↓6 +21
Views 16K
Comments 5

Отладка Java приложения, которое нельзя остановить. Ловим экзотику выполнения самыми доступными средствами — BTrace подход

Java *
Tutorial

Java приложения — значит в современном Java мире возможность встретить такое процентов на 90%, а то и больше (рассматриваем самые распространённые окружения, HotSpot based JVM версии от 1.6)
которое нельзя остановить — приложение работает, и перезапускать его по тем или иным причинам категорически нельзя
экзотика — нечто такое этакое, что не каждый день в голову взбредёт поймать (определённая последовательность вызова методов, диковинные комбинации значений параметров, ...)
доступными средствами — бесплатно, работоспособно, эффективно, легко, просто и т.д и т.п. В данной статье рассмотрен замечательный инструмент BTrace kenai.com/projects/btrace

И само собой в код Java приложения заранее ничего специально не добавлено касательно средств дебага…

Как же это ?...
Total votes 31: ↑29 and ↓2 +27
Views 17K
Comments 22

Как мы выслеживали брак в реальном мире и отлаживали производство настольных игр

Мосигра corporate blog


У нас на каждой физической игре есть отладочные коды, «зашитые» в разные компоненты. Я помню, что обещал топик про дебаг нашего производства в реальном мире. Вот он. Заодно может пригодиться интернет-магазинам.
Читать дальше →
Total votes 121: ↑115 and ↓6 +109
Views 45K
Comments 65

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз

Wolfram Research corporate blog Programming *Algorithms *Debugging *Functional Programming *
Tutorial
Скачать файл с кодом и данные можно в оригинале поста в моем блоге

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

Мне довелось работать с Wolfram Language начиная с (уже довольно далекого) 2005 года (тогда еще была версия Mathematica 5.2, сейчас уже 12-я). За эти почти 15 лет произошло очень много: добавились тысячи новых встроенных функций и областей, в которых они работают (машинное обучение, точная геометрия, работа с аудио, работа в вебе, облачные возможности, глубокая поддержка единиц измерения, интеграция с базами данных Wolfram|Alpha, географические вычисления, поддержка работы с CUDA, Python, распараллеливание операций и многое многое другое), появились новые сервисы — облако Wolfram Cloud, широко известная система вычислительных значeний Wolfram|Alpha, репозиторий функций, репозиторий нейросетей и пр.
Total votes 22: ↑21 and ↓1 +20
Views 8.9K
Comments 20

Основы отладки клиентских JS-приложений

Website development *JavaScript *
Sandbox

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

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

Читать далее
Total votes 15: ↑15 and ↓0 +15
Views 11K
Comments 5

Полезные материалы для разработчика

Образовательные проекты JetBrains corporate blog Programming **nix *Studying in IT IT career

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

Выпускнику и преподавателю Computer Science Center, Равилю Галееву, пришла идея собрать такие инструменты и технологии в один курс и познакомить студентов с ними. За пример такого курса были взяты The Missing Semester of Your CS Education от MITSoftware Carpentry и cs50.

В этом посте мы собрали видеолекции курса «Практический минимум» и материалы к занятиям. Благодарим Равиля за подборку! 

Читать далее
Total votes 10: ↑9 and ↓1 +8
Views 8.5K
Comments 0

Почему в Visual Studio стек вызовов асинхронного кода иногда перевёрнут?

SkillFactory corporate blog Programming *.NET *Visual Studio *Debugging *
Translation

Вместе с моим коллегой Евгением мы потратили много времени. Приложение обрабатывает тысячи запросов в асинхронном конвейере, полном async/await. Во время нашего исследования мы получили странные вызовы, они выглядели как бы “перевернутыми”. Специально к старту нового потока курса по разработке на C#, рассказываем, почему вызовы могут оказаться перевёрнутыми даже в Visual Studio.

Читать далее
Total votes 13: ↑11 and ↓2 +9
Views 5.8K
Comments 2

Как отладить программу, к которой у тебя нет доступа

VDSina.ru corporate blog Programming *System Analysis and Design *Debugging *Reverse engineering *
Translation

Фото: Intricate Explorer, Unsplash

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

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

Разбираемся с «чёрными ящиками» и c тем, какими они бывают сегодня


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

  • Вы работаете со сторонним ПО, разработчики которого просто не раскрывают код.
  • Вы взаимодействуете с API, внутренняя логика которого абстрагирована.
  • У вас нет необходимых полномочий для доступа к Git-репозиторию.
  • Даже система с полным доступом может де-факто стать «чёрным ящиком» из-за своей сложности.
  • Сотрудник, обладавший всеми ключами и знаниями, внезапно уволился/пропал/умер.
  • Легаси-система состоит из .dll, которая «всегда работала» на сервере, и не была подключена к системе контроля версий. Чтобы просто посмотреть на код, её нужно декомпилировать, если это возможно, конечно.
Читать дальше →
Total votes 39: ↑29 and ↓10 +19
Views 7.1K
Comments 3

Обратная отладка в большом масштабе

SkillFactory corporate blog Open source *Programming *Debugging *Reverse engineering *
Translation

Отладка — неотъемлемая часть профессионального программирования. К старту курса о Fullstack-разработке на Python делимся переводом о том, как отладка устроена в Facebook; в статье вы найдёте ссылку на разработанный FB плагин трассировки для LLDB, который преобразует необработанную трассировку в удобочитаемый формат.

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

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 1.8K
Comments 0

9 фишек инструментов разработчика Chrome

Нетология corporate blog Website development *JavaScript *Google Chrome Studying in IT
Translation

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

Читать далее
Total votes 10: ↑5 and ↓5 0
Views 7.9K
Comments 5

Кто крешит приложение на старте?

Яндекс corporate blog Development for iOS *Development of mobile applications *Swift *

Привет! Меня зовут Александр Денисов, я из команды мобильного Яндекс.Браузера в Санкт-Петербурге. В этом посте расскажу вам, как мы справляемся с циклическими крешами на старте.


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


В качестве примера будет выступать приложение Яндекс.Браузер для iOS: более 100 тысяч исходных файлов, тысячи коммитов в год и около тысячи модулей без учёта ядра (Swift + Objective-C). Кстати, не так давно мы рассказывали, как помогли команде Swift ускорить отладчик.


Циклический креш на старте


Представьте, что в вашем приложении есть баг, приводящий к крешу. Несложно, правда? Причём возникает баг из-за редкого сочетания факторов, и происходит это на старте. С некоторой вероятностью баг останется незамеченным во время тестирования и попадёт в версию для App Store. А дальше пострадавшие пользователи столкнутся с приложением, которое крешится прямо на старте, и перезапуск уже не помогает — только переустановка.

Как бороться
Total votes 20: ↑18 and ↓2 +16
Views 4.4K
Comments 8

Дебаг и поиск ошибок

Programming *.NET *Debugging *

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

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

Читать далее
Total votes 12: ↑10 and ↓2 +8
Views 2.4K
Comments 1