Archive for Березень, 2009

Матриця компетентності програміста

неділя, Березень 29th, 2009

Тиць.

Буду дуже вдячним за допомогу у виправленні помилок перекладу, якщо такі є!

GTK+ — 4. Події та сигнали

середа, Березень 25th, 2009

У цій частині я розповім про систему подій (events) та сигналів у бібліотеці GTK+. Власне, бібліотека GTK+ є “event driven system”, тобто, такою, що цілком побудована на основі системи подій та сигналів на них. Адже усі графічні додатки є “event driven”, тобто такими, мета яких реагувати на певні дії користувача (події), надсилати своєму коду сигнали, і обробляти їх.

Усе починається з того, що програма запускає головний цикл, який неперервно перевіряє наявність нових подій. Якщо ніяких подій не відбувається, програма тихенько собі спить, і нічогісінько не робить. У GTK+ повідомленнями про події є повідомлення від сервера X. Коли віджет генерує якусь подію, програма може на неї відреагувати. Програміст GTK+ може з’єднувати специфічні колбеки (callback) та сигнали. Сам callback є нічим іншим, як вказівником на звичайнісіньку функцію, яка реагуватиме на сигнал. Наприклад, маємо віджет “кнопка”, подію “натискання на кнопку”, і колбек (функцію), яка викликається при обробці події (натискання на кнопку).

У версії 2.0 сигнальну систему було перенесена з GTK до GLib, ось чому функції і типи, що описуються в цьому розділі мають префікс “g_” а не “gtk_”. Ми не будемо заглиблюватись в деталі, що до додаткових можливостей, які дає сигнальна система GLib 2.0 порівняно з сигнальною системою GTK 1.2.

Read the rest of this entry »

Реєстрація в інтернет-магазинах або за що ви так ненавидите своїх клієнтів?

субота, Березень 21st, 2009

Я не розумію, чим керуються програмісти, які змушують користувачів інтернет-магазинів обов’язково реєструватись при оформленні покупки? Невже не очевидно, що до біса мені здалась ваша реєстрація, коли я просто хочу замовити довбану книжку, і далі займатись своїми справами?

Може на стільки прості й очевидні, навіть для мене, людини, яка досить погано розбирається у зручності користувацьких інтерфейсів, речі не пишуть у книжках по usability? Та ні, пишуть, і не просто пишуть, а ще й розповідають реальні історії про цю ідіотську реєстрацію. Просто їм, схоже, до шмиги здалося читати усю цю “теоретичну херню”.

Ну, хіба це так складно, додати кнопку “Продовжити без реєстрації”?

registration_form_in_internet_shops-3

Може вони збуджуються дивлячись на те, що отримуване по запиту `SELECT COUNT(id) FROM users;` число стає усе більшим, і більшим, не усвідомлюючи або ж просто ігноруючи той факт, що більшість цих облікових записів є одноразовими?

Власне, злість уже проходить, та й писати далі немає сенсу, бо суть зрозуміла (і вдома уже досить багато років), тож НЕ РОБІТЬ ТАКОГО!!!

The Practice of Programming

четвер, Березень 12th, 2009

Практика програмування

Автори: Браян Керніґан, Роб Пайк
Видавництво: Addison-Wesley
Рік видання: 2004

Це просто меґа унікальна книжка. Чим? Ну, перш за все, її написали легендарні Браян Керніган і Роб Пайк. По друге, це не книжки про щось конкретне, чи навіть щось досить широке по своїй суті, але таке, що належить до однієї теми, на кшталт: проектування, рефакторинг коду, оптимізація, відлагодження, тестування, тощо. Це книжка про усе це! Але автори не приділяють кожному з цих питань по 200 сторінок, вони не доколупуються до найдрібніших деталей, не розповідають читачеві про предмет з нуля, і не дають основи описуваних понять, чи навпаки, приклади “вищого пілотажу”.

Ні, вони усього лиш на досить простих, і, що дуже важливо, практичних життєвих прикладах, покладаючись на свою дійсно багаторічну професійну практику, показують читачу, як слід, а, як не слід робити повсякденні проґрамерські речі: дотримуватись стилю програмування, обирати вірні структури даних і алгоритми, проектувати, реалізовувати, тестувати, відлагоджувати, тощо. І роблять це таким чином, що у тебе просто дах їде, бо це змушує наново поглянути, на здавалося б, такі прості і звичні для кожного програміста речі.

Ось її зміст:
1. Style
2. Algorithms and Data Structures
3. Design and Implementation
4. Interfaces
5. Debugging
6. Testing
7. Perfomance
8. Portability
9. Notation

Висновок: книжка досить малого об’єму =~ 250 сторінок, відомих авторів, і з просто суперовим стилем викладу матеріалу, а тому, однозначно, MUST READ!!!

Оцінка: відмінно