Search
Write a publication
Pull to refresh
24
0
dmitriy_b @dmitriy_b

User

Send message

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

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

Пролог



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

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

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

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

Вдыхая жизнь в Avatar

Reading time8 min
Views22K
image
Хотя на Хабре уже публиковались некоторые заметки о технической стороне создания фильма Avatar, например в блоге компании HP была заметка о создании рендерфермы, построенной на blade-системах HP, мне показалось, что эта тема остается весьма любопытной для «технарей», как же там все делается «за кадром», в проектах такого масштаба, тем более, что системы NetApp непосредственно участвовали в создании фильма. Поэтому я решил перевести эксклюзивно для Хабра статью из недавно вышедшей свежей «электронной ежемесячной газеты» Tech Ontap. Кстати, можно подписаться и на русскую ее версию.

Фильм Avatar, вышедший на экраны в этом году, побил все рекорды сборов, добравшись до величины в 2.7 миллиардов долларов, и продолжая собирать кассу. Weta Digital, компания создания визуальных эффектов, занимавшаяся созданием спецэффектов и компьютерной анимации для этого фильм, также побила несколько своих собственных рекордов при создании впечатляющего 3D-мира Avatar. Weta Digital получила широкую известность в профессиональной среде после выхода трилогии «Властелин Колец» (The Lord of the Rings) и ряда последующих фильмов, таких, как King Kong и District#9, но создание Avatar потребовало совершенно особых технических усилий.
Читать дальше →

Видео. Пример разработки приложения с помощью TDD

Reading time1 min
Views5.6K
В этом видео я разрабатываю приложение с помощью TDD на языке C#. Кроме демонстрации того, как надо писать модульные тесты, я постарался показать, как работает TDD на уровне приложения в целом.

При разработке применил принцип инверсии зависимости, а также использовал IoC-контейнер.

Что интересного нам расскажет EXPLAIN EXTENDED?

Reading time6 min
Views13K
Большинство разработчиков на MySQL знакомы с командой EXPLAIN, однако значительно меньше людей знают о команде EXPLAIN EXTENDED, появившуюся ещё в MySQL 4.1, и ещё меньше умеют ею пользоваться.

EXPLAIN EXTENDED умеет показывать, что же конкретно делает с Вашим запросом оптимизатор MySQL. Для разработчика может быть совсем не очевидно, насколько сильно может отличаться написанный им запрос от того, который в действительности будет выполнен сервером. Этот процесс называется механизмом перезаписи запросов (query-rewrite), и он является частью любого хорошего SQL-оптимизатора. Команда EXPLAIN EXTENDED добавляет дополнительные предупреждения (warnings) к выводу команды EXPLAIN, в том числе и переписанный SQL-запрос.
Читать дальше →

Не заставляйте меня думать!

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

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

Но все это было бы пустым звуком, без конкретных примеров, без практики где мы набили несколько хороших шишек.
Теперь о тех самых шишках ...

Хайтек-слежка за студентами на экзаменах

Reading time1 min
Views2.1K
Жевательная резинка на экзамене запрещена (она может использоваться для маскировки разговора по спрятанной гарнитуре).

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

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

Таковы будни американских университетов и колледжей во время экзаменов, пишет NY Times.
Читать дальше →

Объединение нескольких разделов в один без потери информации

Reading time2 min
Views46K

Задача


Необходимо объединить несколько существующих разделов в один без потери информации. Такое может случиться, если заранее не был задействован LVM, а необходимо расширить пространство, например, для торрентов.
Узнать решение

Победители конкурса «Мир домов» | i.materialise

Reading time1 min
Views2.9K
Не так давно закончился наш конкурс «Мир домов». Победители этого небольшого соревнования получили возможность бесплатно отпечатать у нас свою модель. Нам было также очень приятно, что, на ряду с зарубежными участниками, одним из победителей стал участник из России.

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

i.materialise.com
Читать дальше →

Программы для удаленного обучения (сегодня говорим об Adobe Connect)

Reading time7 min
Views47K
Ученье свет, а неученье значит — тьма?
Афанасий Полосухин из кинофильма «Семь нянек» (Р.Быков, 1962 г.)


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

В продолжении начатой темы «Программы для удаленного обучения (вебинары)» товарищем ArMikael, хочу сегодня поговорить об Adobe Connect — специализированном ПО для удаленного обучения (и не только обучения).

Внимание: много букв и иллюстраций!

Что такое Adobe Connect и с чем его едят читайте под катом.

Как всего-лишь одно видео увеличило в десятки раз количество реальных пользователей

Reading time3 min
Views921

Про лень...


С развитием Интернета для большинства людей просмотр даже длинных видео-роликов с YouTube перестал быть роскошью. Трафик недорогой, скорость высокая. Все эти факторы (и наша природная в лень в придачу) приводят к тому, что читать и вникать во что-то нам уже не хочется.

Лень

Как правило, когда человек заходит на сайт – он первым делом желает понять «то это или не то?». И если для того, чтобы получить ответ на этот вопрос, необходимо прочитать много текста, то скорее всего интернет-пользователь не будет этого делать. Хочется побыстрее найти своё решение.

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

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

Reading time8 min
Views17K
Мечта многих моих друзей и знакомых, чтобы у них было больше времени. На что, вопрос второй. Кому-то время нужно на семью, кому-то на любимую работу, кому-то на отдых. Но время, это тот ресурс, которого не хватает у нас всех. Мне удалось спрессовать время и получить в сутках, вначале лишние десять минут, потом час, потом еще несколько часов. За десять лет, время спрессовалось так, что в моих сутках около 48 часов. За неделю я успеваю сделать столько, сколько многие люди за две, три, а то и месяц. Без ущерба личной жизни, качеству работы, не с помощью бессонных ночей и постоянных авралов. В небольшой заметке постараюсь изложить основные положения той системы, которой придерживаюсь, чем она помогает мне, какие слабые и сильные стороны в ней есть. Чтобы изложить все приемы и уловки, понадобится не один материал, рассматривайте эту заметку, как вводную. Если вам понравится, и вы скажете, что желаете прочитать продолжение, то оно появится.

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

Время это не только физическая величина, но и психологическая

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

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

Каким надо быть руководителем? Секреты профессии

Reading time4 min
Views9.7K
Скажу сразу — «Америку не открываю», так же как не «изобретаю велосипед». Статья базируется на модели ситуационного лидерства Херси-Бланчарда. Сама модель в значительной степени изменена в применении к управлению именно ИТ-командами в нашей стране и подкреплена практическим опытом управления командами в Майкрософт Рус и в собственном бизнесе.

Выбирая между «академическим» и «популярным» стилями изложения выбрал «академический». Все таки разговор о серьезных вещах. Так что если эта тема Вам прямо сейчас не супер-актуальна — смотрите диаграммы, их достаточно для понимания идеи. Остальное — для достаточно узкой аудитории.
Читать дальше →

H#, Создаём свой язык программирования

Reading time20 min
Views38K
image
Доброго времени суток.
В этой статье я хочу сделать обзор одного из главных нововведений в Visual Studio 2010, а именно — функционального языка программирования F#.

Рассматривать синтаксис и потенциал F# мы будем на примере создания своего собственного интерпретатора для придуманного нами языка программирования (Ведь рассказвать о чем-то всегда интереснее на примерах).
Читать дальше →

ФБР не смогло взломать зашифрованный диск (сдались через год брутфорса)

Reading time1 min
Views31K
Бразильский банкир Даниель Дантас (Daniel Dantas) был арестован в Рио-де-Жанейро в июле 2008 года по подозрению в финансовых мошенничествах. Полиция немедленно провела обыск в его квартире и изъяла пять жёстких дисков с зашифрованной информацией. Местные специалисты из Национального института криминологии (National Institute of Criminology, INC) использовали брутфорс в течение пяти месяцев, но так и не смогли подобрать пароль. В начале 2009 года они обратились за помощью в ФБР.

И вот сейчас стало известно, что ФБР в апреле 2010 года вернуло диски назад.

Как сообщается, для криптозащиты дисков использовалось две программы: одна из них — бесплатная Truecrypt, вторая неизвестна. Шифр 256-битный AES. По данным отчёта ФБР, американцы использовали тот же метод, что и INC: подбор пароля по словарю. В ФБР брутфорс продолжался более года, но тоже с нулевым результатом.

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

Reading time3 min
Views13K

С чего все начиналось


«Есть 2 типа админов — те, кто ещё не делают бекапы, и те, кто уже делают.»
Будучи первым типом админа, после случайного rm -rf * в директории с проектом, очень печально осознавать, что последняя резервная копия была сделана около полугода назад. Попав в такую ситуацию, я начал поиск простого и не ресурсоемкого средства для резервного копирования информации.
Критерии:
1) Возможность делать бекапы на лету в условиях ограниченных системных ресурсов (например VPS)
2) Возможность нативно удалять устаревшие бекапы
3) Возможность работать с примонтированной файловой системой

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

Сторожевой пёс следит за вами (мониторинг хостинга)

Reading time4 min
Views15K
Внимание! Данная статья для web-программистов — содержит исходники и техн. подробности.

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

— Андрей, какой хостинг порекомендуешь для нашего сайта?


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

Казалось бы, где зарыта собака? Ведь для нас хостинг – это одна из любимейших мозолей, на которую часто наступают, потому что мы – SEOнизаторы. Мы трудимся – чтобы выводить свои сайты и клиентов в топы, а плохой и нестабильный хостинг распугивает сканирующих роботов Яндекса, Гугла и иже с ними. Впрочем, часто хостинг валится и днём, особенно во время пиковых нагрузок около 18:00 из-за наплыва в Интернете зевак под вечер.

Вот самое простое, что бывает – сайт исправно работает днём, пока бдит саппорт хостера. А ночью иногда исправно «лежит» в нокдауне. Например, скрипты хостера делают бекапы и все перегружено. Клиенты спят, покупатели спят, сайт спит. Все довольны, кроме поисковых пауков.

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

Чтобы как-то контролировать ситуацию – я написал пару лет назад монитор стабильности хостинга. Сейчас, когда у нас уже много других конкурентных преимуществ – мы готовы выложить исходники и алгоритм работы для Хабраобщественности, чему и посвящен этот пост.

Итак, ближе к делу.

Жаргон программистов

Reading time4 min
Views65K
Наткнулся на Stackoverflow.com на интересный топик с вопросом о новом в программистском жаргоне. Предлагаю здесь подборку наиболее интересных выражений.

Египетские операторные скобки

if (a == b) {<br>  printf("hello");<br>}<br><br>
Читать дальше →

Arduino: первое знакомство

Reading time4 min
Views103K
Месяц назад я заказала себе игрушку по имени Arduino. Это набор «кубиков», из которых без паяльника, травления печатных плат и прочей «черной магии» любой чайник может собрать работающее устройство. В общем, это такой конструктор как для профессионального прототипирования так и для разнообразных любительских экспериментов.

Через месяц после заказа ко мне пришла посылка с Arduino, точнее, ее вариацией — Seeeduino. Вот, что в ней было:

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity