На одномерную бесконечную ленту десантируют роботов. Лента поделена на ячейки. Требуется запрограммировать роботов так, чтобы они однажды собрались все вместе (в одной ячейке).
17 июл. 2009 г.
7 июл. 2009 г.
Java: `Странное` поведение инициализации final свойств класса
Давеча рассматривая давно избитую проблему с вызовом переопределённого виртуального метода из конструктора наткнулся на странное поведение, которое меня озадачило.
5 июл. 2009 г.
bc: Quick start
Обычно, если мне надо что-то быстро посчитать (не важно, GNU/Linux или другая os) - ответ один - bc.
bc online manual
bc online manual
26 июн. 2009 г.
SQL: Quick start
Скорее это памятка самому себе, ибо как только перестаёшь постоянно иметь дело с sql, так тут же начинаешь его забывать.
20 июн. 2009 г.
Java: Synthetic method
Не смотря на то, что вложенные классы могут обращаться к private свойствам и методам класса, который их содержит - подобное обращение происходит не на прямую, а через так называемый синтетический метод, создаваемый компилятором.
Пример демонстрирующий данное положение:
Пример демонстрирующий данное положение:
public class A {
private int i;
public int k;
private class B {
public B() {
int sum = i + k;
}
}
}
18 июн. 2009 г.
Linux: ALSA и тихий микрофон
Долго мучился с тем, что меня практически не слышно в skype, ekiga и т.п. Если долго мучаться... ~/.asoundrc
Пробуем записать
pcm.loudmic {
type asym
capture.pcm {
type softvol
slave.pcm "hw:0,0"
control {
name "Mic Boost"
card 0
}
max_dB 30.0 # от 0.0 db до 50 db
}
}Пробуем записать
$ arecord -D loudmic -f S16_LE -c2 -r48000 record.wav и слушаем $ aplay record.wav Убедившись, что всё работает как нужно - выбираем в skype записывающее устройство loudmic.
14 июн. 2009 г.
Java: Mod vs Bit mask
Идея провести сравнение производительности mod с битовой маской натолкнули два обстоятельства
12 июн. 2009 г.
Ассоциативный массив: Hash-таблица
Одной из часто используемых реализаций ассоциативного массива является hash-таблица.
Важной особенностью является сложность выполнения операций добавления, удаления и поиска - O(1) - другими словами, сложность алгоритма не зависит от количества элементов в массиве - хоть 10 элементов, хоть 10 млн.
Важной особенностью является сложность выполнения операций добавления, удаления и поиска - O(1) - другими словами, сложность алгоритма не зависит от количества элементов в массиве - хоть 10 элементов, хоть 10 млн.
11 июн. 2009 г.
Задачка: русская рулетка
Давайте сыграем в русскую рулетку. Вы привязаны к стулу и не можете встать. Вот револьвер. Вот его барабан - в нем шесть гнезд для патронов, и они все пусты. Смотрите: у меня два патрона. Вы обратили внимание, что я их вставил в соседние гнезда барабана? Теперь я ставлю барабан на место и вращаю его. Я подношу револьвер к вашему виску и нажимаю на спусковой крючок. Щелк! Вы еще живы. Вам повезло! Сейчас, до того как мы начнем обсуждать присланное вами резюме, я собираюсь еще раз нажать на крючок. Что вы предпочитаете: чтобы я снова провернул барабан или чтобы просто нажал на спусковой крючок?
10 июн. 2009 г.
Java:: Shift vs Multiply
Читая Effective Java 2nd edition обнаружил любопытную заметку:
The advantage of using a prime is less clear, but it is traditional. A nice property of 31 is that the multiplication can be replaced by a shift and a subtraction for better performance:
31*i==(i<<5)-i. Modern VMs do this sort of optimization automatically.
31*i==(i<<5)-i. Modern VMs do this sort of optimization automatically.
Подписаться на:
Сообщения (Atom)