Как стать автором
Обновить
0
Дмитрий @diffread⁠-⁠only

Пользователь

Отправить сообщение

Самые дурацкие вопросы на собеседовании

Время на прочтение1 мин
Количество просмотров109K
Тема глупых вопросов на собеседовании поднимается на Хабре довольно часто. Ниже мой перевод отличного комикса Oatmeal на эту тему:


Читать дальше →
Всего голосов 439: ↑385 и ↓54+331
Комментарии301

ФБР просит помощи в расшифровке сообщения 1999 года

Время на прочтение1 мин
Количество просмотров14K
ФБР обратилось за помощью к сообществу гражданских криптоаналитиков за помощью в расшифровке предсмертного послания, которое было найдено 30 июня 1999 года в карманах жертвы преступления Рикки Маккормика (Ricky McCormick) из Сент-Луиса.

Скан записок на сайте ФБР

ФБР сообщает, что «несмотря на тщательную работу отдела криптоанализа (CRRU) и Американской ассоциации криптограмм, значение этих двух зашифрованных записок остаётся загадкой».
Читать дальше →
Всего голосов 110: ↑106 и ↓4+102
Комментарии242

Эффективные совещания

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


Итак, мы приходим на работу и, вуаля, через 40 минут назначено совещание (митинг). Тема «Обсудить решение текущих проблем», продолжительность 1 час, в списке приглашенных 8 человек. 40 минут томительного ожидания и мы на месте — здороваемся с коллегами, настраиваемся на конструктивный лад. Появляется организатор, бодренько стартует и… уже через пять минут мы понимаем, что в очередной раз теряем время. Вроде бы, и обсуждаемые проблемы вполне реальны, и присутствует достаточно людей, но совещание неуклонно превращается в бесцельную дискуссию.

Уверен, эта ситуация знакома многим и много написано о том, какими совещания быть не должны. И все же, есть проблемы, которые рискованно решать в одиночку и без совещания не обойтись. Эта статья о том, как в этих случаях потратить свое и чужое время эффективно.
Читать дальше →
Всего голосов 146: ↑139 и ↓7+132
Комментарии47

Инструменты кросскомпиляции для ARM

Время на прочтение3 мин
Количество просмотров30K
В сети есть достаточно много источников на тему сборки приложений под архитектуру ARM, но когда я впервые столкнулся с такой задачей, то набил не одну шишку. Этот топик будет про самые начала кросскомпиляции и различные подходы к этому вопросу.

Моё устройство принадлежит к архитектуре ARMv5TE и разработка велась на x86 машине с Ubuntu Linux.
Так как это введение, то собирать будем простую программу для высчитывания факториала числа.

Подход 1. Коммерческий.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии11

Код, который невозможно поддерживать (часть 3, заключительная)

Время на прочтение7 мин
Количество просмотров2.5K
(Окончание этих двух топиков — переводов эссе «Unmaintainable Code». В оставшихся главах автор часто обращается к уже описанным методам, удваивая и утраивая каждый из них; изложение сильно сокращено за счет исключения таких мест.)

Тестирование



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

Читать дальше →
Всего голосов 57: ↑51 и ↓6+45
Комментарии22

Код, который невозможно поддерживать (часть 2)

Время на прочтение7 мин
Количество просмотров3.4K
Продолжение этого топика — вторая и третья главы эссе «Unmaintainable Code». Несколько перекликается с первой, но описанные методы уже не так очевидны (а некоторые отличаются поистине дьявольской изобретательностью и не меньшей злокозненностью). Ах да, с заявленного в прологе языка Java автор незаметно переключился на C/C++.

Камуфляж



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

Читать дальше →
Всего голосов 82: ↑62 и ↓20+42
Комментарии57

Код, который невозможно поддерживать

Время на прочтение7 мин
Количество просмотров11K
Вольный перевод с сокращениями первой части эссе «Unmaintainable Code». Именование переменных — довольно банальная тема (хоть и забавно изложенная), но без этой части эссе было бы неполным.

Пролог



Это самое популярное из моих эссе. Удивительно, сколько людей не понимают, что это насмешка.

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

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

Читать дальше →
Всего голосов 135: ↑115 и ↓20+95
Комментарии58

Не забываем о языковых и культурных особенностях

Время на прочтение6 мин
Количество просмотров24K
Рано или поздно все сталкиваются с проблемами связанными с языковым и культурным разнообразием при написании программ. Я был сильно удивлен узнав, что часть моих знакомых, пишущих на C++, решают эти проблемы своими велосипедами. Для тех, кто еще не знает что такое std::locale я хотел бы кратко на примере показать как c ним работать и что бывает, если о нем забыть…
Читать дальше
Всего голосов 68: ↑66 и ↓2+64
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность