Я @ Tiesto в Києві, МВЦ 28.06.2009

Offline, Івенти, Подорожі Автор: Роман Голубовський [8,037 переглядів]

Теги : , , , , , , , , , , , , ,

28 червня до Києва приїжджав один з найкращих діджеїв та і взагалі музикантів сучасності – Tiesto. І, як ви вже здогадались, автор цього блогу був одним з тих 15 тисяч щасливих людей, які побачили маестро танцювальної музики на власні очі та відчули на собі всю енергію його музики.

Тієсто в Україні

Для мене це була вже не перша поїздка на подію такого масштабу: 14 лютого я їздив на виступ Armin Van Buuren в Києві, тому мав із чим порівнювати виступ Tiesto.

Читати далі про Тієсто в Україні (там ще багато відео та фото Tiesto)

Досвід роботи з SQLite в PHP

web-розробка Автор: Роман Голубовський [4,258 переглядів]

Теги : , , , , , , ,

Спочатку трохи предісторії.

Так вже склалось, що найчастіше (принаймні у нас) динамічні веб-сайти розробляються на зв’язці популярних технологій PHP/MySQL (блог, який ви зараз читаєте – не виключення). Саме тому, коли потрібно розробити веб-сервіс, що потребує використання бази даних, якось навіть не задумуєшся, яка саме СКБД повинна бути, а по-інерції розробляєш на вже звичній MySQL. І коли веб-сервіс майже готовий, раптом виявляється, що замовникам не підходить MySQL (та і будь-яка інша зовнішня БД) з приводу безпеки, а потрібно щоб база даних зберігалась у файлах там же, де і решта скриптів веб-сервісу. Після обмірковування можливостей око замовників падає на SQLite. І ось у мене нове завдання – зробити так, щоб вже готовий веб-сервіс з БД на базі MySQL запрацював з SQLite.

sqlite

Якби у мене було трошки менше досвіду, це рішення завдало б мені чимало клопотів та нової мороки. Але, на щастя, я знаю що таке архітектура MVC (Model View Controller), і практикую її при побудові веб-аплікацій. Саме тому з задачею зміни бази даних для проекту я справився досить швидко, отримавши при цьому новий досвід. Весь процес обмежився вивченням SQLite під PHP та зміни класу, що взаємодіє з базою даних.

Тепер розповім про саму БД SQLite

Далі про SQLite на PHP

Життя онлайн і НЕжиття офлайн

Internet, Offline, web-розробка Автор: Роман Голубовський [3,459 переглядів]

Теги : , , , , , , , , ,

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

А справа ось у чому. На днях одна людина розповіла про смерть її знайомого. З цим знайомим вона давно не бачилась. При цьому додала, що він у неї в Однокласниках в друзях. Останній факт і змусив мене замислитись. Виходить, в реальності людини вже немає, але його профайл в однокласниках чи інших соціальних мережах (той же ВКонтакте) залишився і продовжує функціонувати. Цікавим тут є і ще один момент. Дехто з друзів, які були не настільки близькі, або у яких не було спільних знайомих із покійним, так і не дізнались вчасно, що їх товариша вже немає на цьому світі. І от, ці друзі пишуть йому повідомлення, додають на фотографіях, “додають в друзі” тощо. Причому, пізніше навіть ображаються, адже він їх ігнорує. Подивимся з іншого боку: у тебе “в друзях” людина, якої вже немає, і яка жодного руху ні в житті, ні в інтернет більше не зробить. Постає запитання – “що з нею робити?”. Видалити? Залишити, для памяті? Разом з живими друзями? Бррр.. Містика! Якось моторошно стало, правда?

А тепер відійдемо від морально-етичної частини статті, і поговоримо про інше. Ще одна причина, чому мене цікавить така тема – професійна. читати далі >>

Зручний онлайн-інструмент для html-верстки: csstool.ru

web-розробка Автор: Роман Голубовський [9,272 переглядів]

Теги : , , , ,

Я професійно займаюсь веб-розробкою (веб-програмуванням). У моїй діяльності мені доводиться займатись як програмуванням на стороні сервера (server-side: PHP, MySQL), так і програмуванням на стороні клієнта (client-side: HTML, CSS, JavaScript). Сьогодні ми поговорим про client-side, а саме про html-верстку.

csstool.ru CssLayoutGenerator

Практично завжди є речі, які повторюються у кожному проекті і які можна оптимізувати. Це твердження справедливе і відносно html-верстки: основи (кістяки) майже усіх веб-сторінок схожі між собою, і відрізняються лише деталями. Так от, дозвольте представити інструмент, який дозволяє значно птимізувати роботу на початковому етапі html-верстки – CSSLayoutGenerator. На сайті, в режимі онлайн, Ви вибираєте тип верстки (резинова чи фіксована), вказуєте де повинні розміщуватись сайдбари, та обираєте додаткові фішки (наприклад, прижати футер до низу). Як результат, генерується html/css-файл, який можна скачати на свій комп’ютер і продовжити на його основі html-верстку. Дуже зручний, і абсолютно безкоштовний інструмент, який я вже встиг успішно випробувати на одному проекті, – в ньому потрібно було зробити кілька макетів. Залишається лише сказати “дякую” розробникам – Dimox & molodoy.

Користуйтесь – CSSLayoutGenerator.

Застарілий copyright

Internet, web-розробка Автор: Роман Голубовський [2,381 переглядів]

Теги : , , ,

Зазвичай, на кожному сайті внизу сторінки розміщені авторські права (copyright) на вміст сайту. Переважно крім того, кому належать права (найчастіше це людина, організація або сайт), вказується рік або роки створення цих прав. Наприклад, в даному блозі написано “© 2008-2009 Роман Голубовський“).

Під час серфінгу мережею я часто натикаюсь на сайти, на яких зазначений застарілий рік копірайту. Тобто при теперішньому 2009-му році зазначений, наприклад, 2008 рік. Причому це не якісь там богом забуті, а функціонуючі розкручені сайти. За приклад візму сайт банку vab.ua, сайт про погоду gismeteo.ua та сайт Львова lviv.ua. Погодьтесь, це зовсім не додає веб-сайту пристижу.

wrong-copyright-example

Мал. Застарілий copyright

Для того, щоб на вашому сайті постійно був актуальний копірайт, замість статичного запису можна вставити такі строки коду (приклад на php):

<?php
define('COPYRIGHT_YEAR_FROM', '2009');
if(date('Y') == COPYRIGHT_YEAR_FROM) {
	echo '&copy; '.COPYRIGHT_YEAR_FROM;
}
else {
	echo '&copy; '.COPYRIGHT_YEAR_FROM.'-'.date('Y');
}
?>

А ви вже перевірили, чи не застарів ваш сайт?

Проблеми з прозорістю малюнків формату PNG в браузері IE6

web-розробка Автор: Роман Голубовський [2,940 переглядів]

Теги : , , , , , , ,

Мабуть, кожен веб-розробник, який займається html-версткою, помічав неприємну помилку в роботі браузера Microsoft Internet Explorer 6. Браузер цієї версії не відображає прозорість у png-файлах. Незважаючи на те, що шоста версія IE на теперішній час вважається застарілою, нею все ще користується близько 18% людей у всьому світі (дані на 21 квітня 2009 року – Net Applications). IE6 досі такий популярний зовсім не завдяки якимось перевагам, – справа в тому, що компания Microsoft поставляла цей браузер разом з Windows протягом декількох років, причому в цей час не було конкуренції на ринку веб-браузерів. Існує навіть проект під назвою “Досить IE6“, що веде боротьбу за те, щоб цей браузер перестали використовувати – на сайті проекту приведено достатньо аргументів з цього приводу.

Але, якщо ви вважаєте, що створені вами веб-сторінки повинні нормально відображатись у всіх популярних браузерах (і в IE6 в тому числі), тоді давайте повернемось до теми даної статті. Проблеми з прозорістю PNG-малюнків в MSIE6 вирішуються з допомогою підключення до html-сторінки спеціального JS-скрипта: в заголовку html-документа (між тегами <head> і </head>) потрібно вставити наступний код:

<!--[if lte IE 6.0]>
<script type="text/javascript" language="javascript" src="pngfix.js"></script>
<![endif]-->

Думаю, все зрозуміло – якщо IE 6.0, тоді підключається спеціальний JS-скрипт.
Ну, і власне сам файл pngfix.js

МТС Vs. Київстар: протистояння на користь людям

Offline Автор: Роман Голубовський [7,807 переглядів]

Теги : , , ,

Як відомо, МТС і Київстар – два гіганти на ринку українського мобільного зв’язку, що йдуть нога в ногу по кількості абонентів (приблизно по 20 млн. у кожного), і сильно випереджають у цьому показнику решту своїх конкурентів. Але, як казала людина, думку якої я ціную, Київстар і МТС йдуть поряд не лише у показниках кількості абонентів, але і у тому, що стостується нових технологій чи ідей: що з’являється в одного, те з’являється і в іншого оператора. Як приклад можна навести такі інновації (у свій час), як повідомлення про те, що абонент з’явився в мережі (і навпаки, повідомлення про пропущені через відсутність в мережі дзвінки) або довільна мелодія замість гудків при дзвінку. Все що впроваджував один оператор незабаром з’являлось у іншого.

Недавно я писав про те, наскільки картки поповнення МТС зручніші для користувача у порівнянні з картками поповнення Київстар. Але пройшло зовсім небагато часу, і різниця зникла – у продажу з’явились оновлені картки Київстар, на яких застосоване таке ж рішення як і в МТС.

mts-kyivstar-usability

Мал. Картки поповнення МТС та Київстар

З одного боку, можна подумати, що Київстар здер ідею у МТС. Але хто знає, звідки ця ідея прийшла до МТС. Та й не важливо, насправді, хто в кого взяв ідею, якщо це на користь кінцевим користувачам. Відомий на всю СНД дизайнер Артемій Лєбєдєв у своїй книзі про веб-дизайн “Ководство” пише, що хороша ідея не обов’язково є плагіатом:

В певний момент хтось створює дизайн, який відповідає поставленому завданню на стільки, що послідовники повинні його повторювати з мінімальними змінами. Це формат. Потрібно не боятись повторити чиюсь схему, а вміти придумати кожен раз щось нове.

Тому можна сказати лише те, що світ по-трохи стає кращим, адже використовуються лише найкорисніші передові винаходи та ідеї.

Коли онлайн-проект виходить за рамки інтернет: ще один надпотужний стартап – PokerStars.net

Internet, Offline Автор: Роман Голубовський [3,147 переглядів]

Теги : , , , , , , ,

pokerstars Я ніколи не був азартною людиною. Мене зовсім не тягне пограти ні в казино (які зараз блистять своїми вивісками на кожному кроці), ні в звичайну телевізійну лотерею (типу лото “Забави”). До азартних ігор (читай “ігор на гроші”) я ставлюсь прагматично: я розумію, що для того, щоб хтось виграв, комусь потрібно програти. Причому тих, хто програє, завжди є більше. З впевненістю можна сказати лиш те, що виграє казино, всі решта – лише ймовірно. Тому мене ніколи не цікавили азартні ігри.

Але вчора сталось дещо, непритаманне мені. Випадково я натрапив на передачу “Зірка покеру”, яку показували по телевізору. Вона, як ви вже здогадались, була присвячена грі в покер: крім самої гри, в передачі пояснювали правила покеру. Я ніколи не думав, що це мені може бути цікаво – замість того, щоб йти спати, я просидів до першої години ночі і дочекався, хто ж все-таки виграє!

До чого ж тут інтернет чи стартап? Зараз поясню. Недавно я почитав в своєму рідері статтю, в якій розповідалось про те, як її автор захоплююче грав в покер на PokerStars.net – там можна грати як безкоштовно (щоб навчитись), так і на гроші. Пройшло зовсім небагато часу, і в мережі з’явились заманливі баннери цього ж сайту (”грайте в безкоштовних турнірах на найбільшому в світі покер-сайті” – щось таке). Пройшло ще трохи часу, і рекламу сайту я побачив в журналі Maxim та на білбордах, тобто вже за рамками інтернет. А вчора я побачив вже зовсім новий рівень реклами сайту – телевізійна передача “Зірка покеру”. Це повноцінна телепередача, причому досить цікаво і професійно зроблена (раз вже я просидів біля телевізора цілу годину), яка служить лише одній меті: популяризації покеру і зокрема PokerStars.net

Це все заставило мене задуматись. В моїй уяві почав з’являтись весь цей механізм. Як було колись – щоб заробляти на азарті людей, треба було будувати здоровенне казино, платити величезні податки (єдиний податок), наймати велику кількість персоналу – круп’є, офіціантів, охоронців, менеджерів, касирів тощо. А що тепер – великий сайт, який виконує основну функцію – заміняє всіх круп’є, менеджерів, касирів (офіціантів і охоронців не потрібно). Причому, якщо звичайне казино фізично не зможе прийняти більше людей, ніж є місця, то кількість гравців онлайн-казино практично не обмежена – доставити лишній сервер набагато легше, ніж добудувати до будівлі додаткову площу. Додамо до цього ще й таке: для того, щоб пограти в звичайному казино, туди потрібно прийти/приїхати/прилетіти; для того ж, щоб пограти у онлайн-казино, потрібно всього-лише бути підключеним до мережі інтернет. А гроші то люди витрачають і тут і тут. Такщо маємо ще один приклад успішного стартапу зі всіма ознаками веб 2.0.

Висновок: люди, які придумали і активно рекламують PokerStars.net – генії, і отримують великі гроші, а в перспективі будуть отримувати ще більші. І, здавалось би, нічого складного тут немає, – хтось же мав до цього додуматись. Все геніальне – просто! От би й собі щось таке вигадати…

Зручна навігація з допомогою JavaScript: Ctrl + Вправо: наступна сторінку (+ Вліво: попередня)

web-розробка Автор: Роман Голубовський [3,412 переглядів]

Теги : , , , , , ,

ctrl_prev_next

Днями займався створенням презентації. В силу декількох причин, робив її у вигляді послідовно з’єднаних між собою html-сторінок. У навігації між сторінками було використано кнопки “вперед” і “назад“, розташовані знизу, щоб не забирати важливе місце зверху сторінки. Але, як то часто буває, деякі сторінки вийшли більші за розміром і повністю не вміщались на екрані. Тобто вийшло так, що для того, шоб перейти на іншу сторінку, потрібно перемотати її вниз і там клікнути мишкою по кнопочці “вперед”. Трохи незручно, правда? Потрібно було знайти рішення, яке б покращило зручнісь у переміщенні по сторінках презентації (usability). Згадалась популярна фіча з навігацією по сторінках з допомогою клавіш Ctrl + Вправо для переходу на наступну сторінку або Ctrl + Вліво для переходу на попередню відповідно.

Отож, результат більш-менш візуалізувався, залишилось лише реалізувати його. Почав шукати в Гуглі. Але на мої запити типу “js ctrl клавиша вправо”, “js следующая страница” нічого корисного не знайшлось. Довелось йти на сайт, на якому я бачив це рішення – сайт студії Артемія Лєбєдєва.

[Доречі, коли я по-пам'яті набрав адресу сайту Лєбєдєва, - помилився і набрав через дефіс (art-lebedev.ru замість artlebedev.ru), - мене перекинуло на сайт компанії що займається виготовленням підлог. Як міг перший веб-дизайнер рунету Тьома Лєбєдєв припуститись такої помилки - не зареєструвати подібне доменне ім'я. (Хоча хто зна, може це така накрутка відвідувань сайту від його студії!?) Ок, щось я відхилився від теми.]

читати далі про JS-навігацію: Ctrl + Вправо…

Приклад юзабіліті офлайн

Internet, Offline Автор: Роман Голубовський [2,613 переглядів]

Теги : , ,

Є таке поняття у сфері розробки програмного забезпечення (будь то прикладні програми чи веб-сайти) як юзабіліті (англ. usability), яке означає зручність у користуванні. Це дуже важливе поняття, на яке постійно потрібно зважати при проектуванні. Яка різниця, що твій сайт має привабливий дизайн, для прикладу, якщо користувач не може знайти на ньому те, що його цікавить? Але поняття юзабіліті не обмежується програмним забезпеченням. Його приклади можемо побачити і у оточуючому нас світі.

Гарний приклад підвернувся мені недавно, коли я поповнював мобільний рахунок МТС. Для поповнення рахунку на мобільному телефоні потрібно ввести 14 цифр, написаних на картці поповнення. Так, як запам’ятати зразу 14 цифр нереально, ми вводимо їх певними порціями: по 2-4 цифри. І от, при поповненні рахунку з карток Київстар, на яких всі цифри розміщені в один ряд без відступів (див. мал.), це зробити не зовсім зручно, тому що приходиться запам’ятовувати, на якій цифрі ти закінчив. А з цього витікає помилковий код, введення його ще раз, і відповідно даремна втрата нашого часу. А тепер подивимся на картку МТС: тут між цифрами відступи. Браво МТС! Таке просте рішення, а попередню проблему усунуто. Здавалось би дрібниця, але, як відомо, наше життя саме з дрібниць і складається. Оце і є usability на високому рівні.

mts-kyivstar

Мал. Картки поповнення МТС і Київстар