Архив за месяц: Июнь 2009

Снова о программировании

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

И тут недавно в руки мне попалась первая книга Сураски «Джоэл о программировании». Невероятно интересная книжка, которую читаю взахлеб. Конечно, тут много говорится о темах, которые около программирования, в основном о самом процессе. Как к нему надо подходить и организовывать. Благодаря этой книге я понял, что над многими вещами я даже не задумывался, хотя следовало. Например, то, что он пишет (в самом начале) про конкатенацию строк в Си (и потом часто упоминает). Элементарная вещь, которая должна бросаться в глаза каждому, но я не заметил, когда читал K&R. Или о «прерываниях» программиста. Или о тесте Джоэла. В общем, умный человек делится своим опытом.

Сам Джоэл сразу пишет, что его мнение в отношение любого освещаемого вопроса предвзято. Как я понял, в основном это касается операционной системы. Он предпочитает Windows, он с этой системой работает, и он ее хорошо знает. Но он ни разу не сказал ничего плохого про *nix. Да, пару раз критиковал, но аргументированно. А вот что меня поразило, это ненависть к Windows научного редактора издания. Он чуть ли не каждой сноской пытается доказать, что Win — зло. У меня самого от демонстрации такой слепой ненависти (в сочетании с аргументированными доводами Джоэла в пользу некоторых аспектов Вин) развивается обратное чувство — я стал все больше задумываться о том, что, может, хочу все-таки программировать именно для этой платформы? Проблема в том, что последнее время я все больше сближался именно с никсами, а чтобы перейти на другую ОС, придется потратить много лет.

Яндекс-блоги

Уже несколько месяцев пытаемся включить наш сервис микроблоггинга Публико в список сервисов Яндекса. Пара месяцев, правда, была потрачена лично мной ни на что (в это время я должен был привести RSS-ленту к валидному виду, что сделал в течение 10 минут, и научить наш сервис информировать Яндекс о новых записях, что делать очень не хотелось и я дооолго не делал). Но, наконец, я все подготовительные работы завершил. И в Яндексе ответили, что все данные приняты и переданы менеджеру, а при возникновении каких-либо вопросов они напишут. С тех пор прошла неделя. Списки сервисов (блогов и микроблогов) на поиске по блогам меняются каждый день. Но Публико там не появляется. И писем от них тоже нет. Что же это такое?

Простое решение

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

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

Вспомнил, что часто именно так лично я проверяю, закрыта дверь или нет. Интересно, а как это делают остальные?..

4Gb

Итак, я все-таки немного раскошелился и купил себе 4 гига памяти для бедненького моего Мака, у которого на борту все это время был лишь один и, хотя в большинстве случаев этого вполне хватало, часто, когда у меня было запущено большое количество программ, необходимость в экстра-памяти остро ощущалась. Купил 2 самсунговских планки по 2 Гб PC2-6400 800Mhz. Весь процесс установки я запечатлел. Прошу прощения за качество фотографий — Айфон при плохом освещении совсем плох. А еще за интерьер.
Перед установкой

Хорошо, что остался этот полиэтилен после заказа книжек :)

Долго, очень долго мучился с этой дурацкой крышкой, перепробовал несколько отверток, а спас нож, которым я грубо отковырял ее.
Стояла только одна гиговая планка :-/
Которую я немедленно вытащил :-)
Новая и старая память
Новые модули установлены!
Крышка успешно закрыта…
Загру-у-узка…
И-и-и… Победа! 4 гига на борту, а я безмерно счастлив! :)

Javascript, динамическое создание кнопки и событие onclick

Надеюсь, этот спасет мне в следующий раз много времени, которое я потрачу на поиски. Может, окажется полезен еще для кого-то.

Что было. Динамически создавал несколько объектов (textarea и две кнопки). По нажатию на одну из кнопок должно было аджаксом сохраниться то, что я написал, на вторую — восстановиться предыдущее значение. Поэтому при создании кнопок я вешал на них onclick функции типа savetext и restore с определенными параметрами. Делал это так:

cancelbtn.setAttribute( ‘onclick’, ‘javascript:restore(«‘ + id + ‘», «‘ + field + ‘», «‘ + field_id + ‘»)’);

И это работало в Firefox, но отказывалось работать в Internet Explorer 7 и ниже.

В случае, если параметров нет никаких, то все делается просто. Но в моем случае надо было динамически создать кнопку и повесить на ее событие onclick выполнение функции с несколькими параметрами. В Javascript я не силен, поэтому немного поискал и нашел на одном из бесчисленных форумов совет от vasa_c. Применимо к моему примеру выглядит это так:

document.getElementById(‘cancel_’ + field_id).attachEvent(«onclick», (function(e) {restore(id, field, field_id);}));

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

Бессонница

Порой меня начинает неожиданно мучить бессонница. Как, например, в ночь с воскресения на понедельник. Хоть и уставший был, хоть и искренне хотел уснуть, это никак не удавалось. С часа ночи и до шести утра я просто пролежал врменами смотря в потолок. За окном светлело.

Каким-то волшебным образом в шесть я уснул-таки. Но в восемь уже был на ногах — работа… Почему у меня не бывает проблем со сном на выходных и обязательно в будние дни?
Забавно (…), но пришлось задержаться на работе. На полтора часа. Таким образом, я даже перекусить перед тренировкой не успел.
Тренировался в этот раз просто в бешеном ритме, удивляясь, откуда у меня на это столько сил и энергии.
После тренировки — подготовка к зачету.
Опять-те же забавно, но к часу ночи я себя уже не чувствовал уставшим и боялся, как бы не повторилась предыдущая ночь. Но стоило отложить лекции в сторону, а голову опустить на подушку, как сон пленил меня.