1 КЦ
1 Star

Howto, СофтТонке налаштування Buildbot’а

25 Червень 2009

Сьогодні ми продовжимо налаштування Buildbot’а. Сподіваюсь, читач вже знайомий з попереднім матеріалом на дану тему, тому тут будуть вказані типові запитання, вдосконалення, можливі проблеми без зайвих слів.

Прочитати допис повністю »

1 КЦ
1 Star

Howto, СофтАвтоматизація процесу розробки: працюємо з Buildbot’ом

12 Червень 2009

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

Постановка задачі

Проект на Java(використовується система збирання Ant) в репозитарії Subversion знаходиться за адресою https://project.example.com/svn . Необхідно проводити аудит працездатності системи щоразу після внесення змін до нього. Результати збирання системи надсилаються автору змін у випадку успішного результату, або ж у список розсилки всього проекту, якщо процес пройшов невдало.

Вибір між CruiseControl, про який мені розповіли співробітники, та BuildBot, з яким я встиг познайомитись в якості розробника, був досить складний. Проект був вже тоді немаленький(на даний момент весь репозитарій складає 6Гб місця), після тестування його переносила на продуктивні сервери окрема людина. Enterprise, одним словом. І я, довірившись особистому знайомству, вибрав BuildBot. І не прогадав.

Прочитати допис повністю »

2 КЦ
1 Star

СофтАвтоматизація процесу розробки: системи неперервної інтеграції

11 Червень 2009

Сьогодні, шановний читачу, ми продовжимо розмову про те, як можна автоматизувати процес розробки програмного забезпечення, зменшити витрати часу на допоміжні роботи в великому колективі і сконцентруватись на власне розробці.

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

Прочитати допис повністю »

2 КЦ
1 Star

ПрограмуванняАвтоматизація процесу розробки: системи збирання проектів

10 Червень 2009

Час, коли в цивілізованому світі дешевше було найняти сотню негрів замість зробити ткацький верстат і навчити одну людину з ним працювати, давно минув. Ще пару десятиліть тому ледь не кожен працівник в сфері інформаційних технологій вважався митцем, творцем чогось надзвичайного, того, що не може зробити жодна інша людина в світі. Однак, час і прогрес не стоїть на місці, і поділ праці тому доказ. Замість тисяч самописних бібліотек виростають десятки, проте зручні та легкі; замість купи підходів до розв’язку задач виділяють одиниці, однак найефективніші; замість того, щоб вигадувати велосипед, використовують існуючі рішення, вносячи свій вклад в їх розвиток на ниві відкритих технологій. Ще донедавна програмісти збирали всі свої програми вручну або ж за допомогою самописних сценаріїв. Цей час пройшов.

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

Способи організації проектів, їх документації, юніт-тестів, тестів продуктивності, вражають своєю кількістю. Зазвичай кожен другий виробник більш-менш серйозного IDE, пакету програм для розробки, пропонує свій спосіб збереження файлів всередині проекту, організації процесу збирання, написання чи то генерація документації. Проблема постає у виборі інструментів, які допоможуть підвищити ефективність роботи та знизити часові витрати на її виконання. Сьогодні ми говоримо про системи збирання проектів.

Прочитати допис повністю »

6 КЦ
1 Star

Howto, СофтПишемо інсталятори в Linux

9 Січень 2009

Мабуть, немає таких людей в середовищі Linux-користувачів, яким би не доводилося ставити закрите або комерційне програмне забезпечення. Не раз доводилось бачити “рідні” для цього виду програм інсталятори: графічні чи консольні, але завжди своєрідні. І поширюється програма разом з інсталятором в одному сценарії для командного інтерпретатора. А чи може хто-небудь написати власну програму-інсталятор, налаштувати її під себе? . Сьогодні, шановний читачу, ми навчимося писати інсталятори для UNIX.

Прочитати допис повністю »

2 КЦ
1 Star

ІнтернетТеми в Gmail - що далі?

21 Листопад 2008

Сьогодні в GMail 2 з’явилася підтримка тем. Причому деякі теми змінюються в залежності від часу дня та погоди на вулиці, для чого при виборі нової теми пропонують вказати місцезнаходження. Це значно збільшить і так значну інтерактивність Гугловської пошти.

Ось, наприклад, як виглядає тема “Пляж” в той же час для Бостнону та Києва.

Прочитати допис повністю »

6 КЦ
1 Star

СофтOpera українською

10 Жовтень 2008

Встановив сьогодні Оперу 9.60. При встановленні радує око - дефолтно пропонує українську мову! В рядку ідентифікації - теж українська. Серед інших змін - оновлений поштовий клієнт, бокова панель. Також з’явився Scroll Marker - смуга, яка показує положення екрану до прокрутки. Може виявитись зручною штукою для любителів читати книги та багатосторінкові статті.

1 КЦ
1 Star

БлогиЦікава новина від Brainbench

28 Серпень 2008
Щойно отримав листа від Brainbench в якому повідомляється про 85% знижку на річну підписку (annual subscription) на їх тести. Тобто рік фактично необмеженого (єдине, що не можна - це отримати від них друкований сертифікат) користування їх тестами коштуватиме лише 30$. Як на мене, то це майже халява :) Пропозиція діє до 15-го вересня і для обмеженої кількості країн: Латвія, Литва, Малайзія, Пакістан, Румунія, Росія, Україна, Узбекістан, В’єтнам. Більш детально можна дізнатись на їх сторінці присвяченій цій акції. Думаю на початку вересня, як отримаю зарплатню скористаюся можливістю. Все-таки, багато київських роботодавців практикують Brainbench-тести як елемент оцінки при прийомі на роботу, та й самому цікаво буде періодично оцінювати свої знання.
3 КЦ
1 Star

БлогиІнтернет початку XXI сторіччя. Lifestreaming або соціальні агрегатори

14 Серпень 2008
Те, про що піде мова сьогодні, являється однією з найсмачніших інтернет-новинок, які принісли останні роки. Хоча, звісно, ці сервіси не з’явилися б не будь всих попередніх, які я вже згадував в рамках цього циклу статей: мікро- та звичайних блогів, соціальних мереж, соціальних новин, контент-хостерів, тощо. Зате вони ставлять зручність користування цим всим на інший рівень і відкривають деякі нові можливості. Ідея соціальних агрегаторів проста: вони збирають інформацію про вашу активність в мережі та подають її одним змішаним потоком. З’явилася вона порівняно недавно, коли у вжиток увійшло поняття “мережевої втоми” (“network fatigue”), одним з елементів якої вважається необхідність реєструватись на та відвідувати купу сайтів для того, щоб відстежувати, що роблять або чим цікавляться ваші “друзі” (в лапках, бо мається на увазі в мережевому сенсі) на різних сайтах та мережах. Тобто поясню на прикладі: ваш друг публікує фотки за допомогою Google Picasa, розшарює новини через Google Reader, пише щось в персональний блог, користується мікроблоггінгом і т.д., і т.п. Для того, щоб бути в курсі останніх змін вам треба або періодично заходити на всі ці сайти аби перевірити чи не з’явилось що новеньке (те ще збочення, погодьтесь), або підписатись на відповідну RSS (благо, всі сучасні сайти дозволяють це зробити). Фактично більшість соціальних агрегаторів типу Plaxo Pulse, Iminta та інших лише це і роблять — просто збирають інформацію докупи. Хоч і не завжди все через RSS — часто через API відповідних сервісів, які надають більше можливостей, завдяки чому ці сервіси все ж більш гнучкі й потужні, аніж просто купа RSS. Та все одно це занадто примітивно і… несоціально ) Якось по-дурному виходить: служба агрегації соціальних сайтів сама не є такою. Тому я цього разу відійду від попередньої практики опису декількох конкуруючих ресурсів і зупинюсь на тому, який вважаю безсумнівним лідером в цій сфері, який залишив інших далеко позаду. Мова піде про FriendFeed — стартап, який був розроблений не ким-небудь, а колишніми співробітниками компанії Google, що займали там далеко не останні позиції. Отож, як писалось вище, основна робота ФрендФіду збирати докупи вашу активність в Мережі. Там є певний набір сервісів, що підтримуються на рівні API, а все інше можна при бажанні додати як підписку типу “Блог” (насправді це не обов’язкоко має бути блог - це скоріше звичайний RSS-агрегатор), вказавши відповідну RSS-стрічку. Таким чином ви реєструєте свою активність з різних сайтів у ФФ, а інші користувачі, кому цікава ваша персона, в свою чергу можуть підписатися на стрічку з нею. Величезна кількість підтримуваних сервісів (див. скріншот) вже зараз вирізняє його з-поміж конкурентів, але не лише цим він цікавий. По-перше, там є можливість коментувати цю активність (буває такі розгортаються суперечки, що блоги відпочивають ) ) та додавати в “Улюблене”. І коментарі там — це не просто данина моді, а дуже зручна річ, коли вам хочеться прокоментувати активність на якомусь сервісі, де ви не зареєстровані. Для мейнстрімових речей є можливість “зворотного зв’язку”. Наприклад, коментарі до дописів в Twitter’і можна відправляти теж як твіти-відповіді (звісно, для цього вже треба бути зареєстрованим на відповідному сайті, але принаймні заходити на нього не треба та й виглядає обговорення зручніше). Щодо додавання у Favorites, то тут теж прикольно зроблено: з транзитивністю операції. Тобто, наприклад, користувач A читає користувача B, а B в свою чергу — C, але A нічого не знає про C, та коли користувач B додає в “Улюблене” щось зі стрічки C, то це попадає і в загальний потік користувача A, що останньому дуже і дуже зручно, бо в “Улюблене” зазвичай додають дійсно цікаві і варті уваги речі. По-друге, можна відслідковувати активність людей не зареєстрованих на FriendFeed’і. Для цього є механізм “уявних друзів” (imaginary friend), коли ви додаєте чиюсь активність до ФФ по аналогії зі своєю власною, але використовуючи його логін чи то ідентифікатор при додаванні контенту, але ця активність не відмічається як “ваша”. По-третє, зручний пошук. Здавалося б така дрібниця, але деякі агрегатори і цього не мають. До речі, я часто використовую FF для пошуку по прошарених дописах в Google Reader, бо він зберігає shared та starred записи лише впродовж одного місяця. По-четверте, є тут така штука як “кімнати” (це одне останніх же нововведень), тобто своєрідні тематичні стрічки, в певному сенсі аналоги спільнот. По-п’яте, в стрічка вашої активності може наповнюватись не лише автоматично із соціальних мереж, або RSS. Можна і просто залишити повідомлення, посилання на зовнішній ресурс чи картинки вручну — потрібно лише перетягти на панель відповідну “кнопку”. Ну і ще багато всього. Його розробники подумали про багато приємних дрібниць. Припустимо, якщо ви довго не мали доступу до Інтернету, а “друзів” у вас багато, то у FF є спеціальний режим перегляду “найцікавіше за день/тиждень/місяць”, коли не потрібно буде перечитувати по декілька сторінок інформації, далеко не вся з якої може бути вам цікава, а так можна вже одразу відфільтрувати. Звісно, як і у кожного поважного стартапу у нього є API, завдяки чому було розроблено масу додатків. В тому числі з того чим я активно користуюсь: AIR-клієнт Alert Thingy (з підтримкою публікації не лише у FriendFeed, а також в Twitter та Flickr) та плагін-віджет для Wordpress. Мну особисто завдячує ФрендФіду як одному з джерел цікавої інформації за рахунок його системи обміну цікавинками, а з іншого - економією часу на відвідуванні інших сайтів (фактично останнім часом ранковий перегляд новин звівся до перегляду FF-стрічки, пари форумів та інколи Google Reader; останній рідко, бо досить багато часу витрачається). До речі, цікаво що активно викорситовувати я його став лише через кілька місяців після реєстрації. Тоді навіть знаючи про нього багато з того, що написано вище я не розумів навіщо його потрібно. А зараз це один з основних сайтів на які я заходжу. Отаке.
5 КЦ
1 Star

Howto, Програмування, СофтУправління проектами з Trac

8 Серпень 2008

Задача: отримати багатоцільове open-source середовище для управління проектами з web-інтерфейсом, підтримкою Git та БД PostgreSQL, автентифікацією через LDAP.

Обираємо систему управління проектами

За інформацією для роздумів гугл нас привів на сторінку з вікіпедії. Як бачимо, вибір у нас досить великий. Вибрати з них що-небудь по собі з виконанням більшості критеріїв досить нескладно. Однак підтримку Git має в своїй реалізації лиш один проект — Trac, про який і йтиме мова далі.

Чому Trac

Trac logo

Версія 0.11
Мова Python
Сайт http://trac.edgewall.org/
Ліцензія Модифікована ліцензія BSD

Як вже було сказано, лише в нього я знайшов підтримку Git репозиторіїв. До того ж Trac має неабияку гнучкість: окрім базового набору, якого зазвичай не вистачає, купа функціоналу реалізована у вигляді плагінів, яких тут можна знайти на будь-який смак. Простий та зрозумілий з першого погляду інтерфейс, відсутність зайвих “свистілок” не може не порадувати людей, які від продукту очікують ефективну реалізацію функціоналу. Можливість адаптувати середовище на власний смак та за потребами проекту, будь то розробка програмного забезпечення, адміністрування, чи організація господарських робіт у себе на городі. Хоча незважаючи на можливість вести будь-які проекти в цій системі, все ж вона тісно інтегрована з ситемами контролю версій(Svn, Bazaar, Mercurial, Git), підсвіткою синтаксису “на льоту”(використовуються SilverLight, Enscript, а з версії 0.11 — ще й Pygments), розробкою документації (Doxygen, PyDoc, PerlDoc), і навіть системою управління тестами. Підтримка RSS-стрічок, wiki(до якої є теж купа розширень), і навіть ведення блогу додають практично всі необхідні інструменти для ведення сучасного проекту. Довершує все це добро документація по Trac, яка є в кожному новоствореному проекті на стоірнках wiki.

Установка та адміністрування

Ставити ми його будемо, звичайно ж, на Debian GNU/Linux, для якого поточною стабільною віткою вважається 0.10. Сподіваюсь, ви вже маєте налаштований Git репозиторій, інакше раджу взяти низький старт з цієї сторінки. Виконавши aptitude install apache2 libapache2-mod-python trac-core trac-git pcycopg2 та встановивши залежності й додаткові пакети за бажанням переходимо власне до конфігурації.

Першим кроком буде створення нового проекту. Де тримати проекти — справа кожного, хоча мені більше імпонує покласти їх до /var/trac/. Для промислового розгортання буде доцільним розгортати подібні середовища в домашніх директоріях користувачів. Отже, почнемо.

# mkdir /var/trac
# cd /var/trac
# trac-admin myproject initenv

В процесі установки система необхідно ввести деякі базові настройки, вибрати БД, з якою працюватимете, та вказати шлях до репозиторію. Якщо в якості репозиторію ви вказали Git, то система в кінці видасть попередження про відсутність його підтримки, однак все це можна сміливо ігнорувати, бо все це ми виправимо в подальших кроках.

trac-admin management utilityСаме з цього моменту починають проявлятись особливості роботи з Trac: адміністрування проекту проводиться за допомогою консольної утиліти trac-admin. Отже, якщо ви не маєте доступу через SSH до свого сервера, годі й мріяти про установку цієї системи. І хоча деякі операції можливо перекласти на веб-морду, однак початкову ініціалізацію — зась. Якщо ж ви все ще з нами і вже готові до наступного кроку, то не гаймо часу.

Всі налаштування проекта знаходяться в одному файлі conf/trac.ini в директорії проекту. Зараз можна підправити загальні параметри проекту, однак я раджу відкласти цей крок на момент після тестового запуску проекту. Справа в тому, що будь-який згенерований проект з самого початку містить wiki-документацію, яка доступною мовою опише можливості та особливості налаштування системи. Знову повертаючись до Git, на сторінці GitPlugin ви зможете прочитати вичерпні пояснення щодо того, яким чином організувати співпрацю Trac та Git.

Для успішного старту проекту необхідно отримати можливість запускати Python-івські скрипти на запит веб-сервера. Це можна реалізувати через механізм CGI, FastCGI, або ж використовуючи mod_python, що ми, власне, і зробимо:

<Location/projects>
  SetHandler mod_python
  PythonInterpreter main_interpreter
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /var/trac
  PythonOption TracUriRoot /projects
</Location>

Вище представлений шматок конфігураційного файлу веб-сервера, який дозволить вести нам безліч проектів, що лежатимуть в /var/trac Наступні рядки ж дозволять мати один обліковий запис для всіх проектів. Даний тип автентифікації приведений лише для прикладу. Автентифікація користувачів через систему LDAP буде описана в наступних статтях.

<LocationMatch"/projects/[^/]+/login">
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /var/trac/.htpasswd
  Require valid-user
</LocationMatch>

Якщо всі кроки виконані успішно, ви мусите побачити вже працюючий проект за адресою:http://localhost/projects/myproject/

Додаткові плагіни

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

GraphvizPlugin

Trac with GraphViz pluginТрохи помучитись змусив мене плагін, що реалізовує inline-вставку графічного представлення інформації за допомогою graphviz. Для тих, хто все ще не може отримати зображення, підкажу основні вимоги:

  • директорія, в якій знаходиться кеш graphviz повинна бути доступна для запису користувачем www-data, під яким запущено веб-сервер. Крім того, якщо ви використовуєте tmpfs, то не робіть директорію для кешу в /tmp, оскільки для роботи graphviz необхідне існування директорії, а при наступному ж перезавантаженні вона просто зникне.
  • необхідні пакети: graphviz та librsvg2-bin
WebAdmin

Для того, щоб не мати клопоту при роботі з цим плагіном, необхідно, щоб файли проекту в /var/trac/myproject були доступними користувачеві www-data для запису. Загалом же, плагін встановлюється та підключається без зайвих зусиль.

Trac та PostgreSQL 8.3

Якщо ви використовуєте Trac 0.10 зі стандартних пакетів Debian, то матимете клопіт з неможливістю перегляду звітів про помилки (tickets). При цьому ще й при додаванні такого звіту система може видавати помилки. Для того, щоб усунути цю помилку, необхідно змінити у файлі /usr/share/python-support/trac/trac/ticket/model.py рядок 296 з:

"ORDER BY time", (self.id, str(self.id), self.id))

на

"ORDER BY time", (self.id, str(self.id), str(self.id)))

Сподіваюсь, що за кілька днів після випуску даної статті ця порада стане непотрібною ;)

Висновки

Закінчуючи статтю, хочеться підбити підсумки щодо системи в цілому. Особисто я вже використовую Trac для власних проектів, тому що ця система:

  • проста, зручна, та ефективна
  • має підтримку сучасних репозитаріїв, баз данних та прикладного програмного забезпечення
  • дуже гнучка
  • знаходиться в активній розробці

Хочете переконатися в цьому самостійно? Тоді ласкаво просимо до http://www.hosted-projects.com/trac/TracDemo/Demo , де ви зможете попрацювати з Trac без зайвого клопоту.

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

2 КЦ
1 Star

БлогиМобілізуємо блог

7 Серпень 2008
Мобільний сайт під управлянням MoFuse. Попередній перегляд сторінки на емуляторі.Ні, не в армію ми його будемо мобілізувати, а всього-на-всього зробимо придатним для відображення на маленьких екранах мобільних телефонів за допомогою одного цікавого стартапу під назвою MoFuse. Про потужність і надійність сервісу говорить той факт, що його використовують такі не останні в Інтернеті сайти як ReadWriteWeb, ReadBurner, Mashable та багато інших. Завдяки ньому можна зробити гарну мобільну версію вашого блогу всього за кілька хвилин, що я зараз і постараюсь більш-менш детально описати. Тож запускайте секундомір і починемо.

Реєстрація

Звісно, без неї нікуди. Зробити це можна прямо з головної сторінки сайту. І я б не згадав про неї, якби не одне але: звертайте увагу на коректне заповнення поля Login (ним виступає e-mail адреса)! Справа в тому, що MoFuse не перевіряє її і тому там випадково можна ввести неправильну інформацію, що я вже і встиг зробити вранці, а потім ввечері довго не міг зайти — довелося порпатися в кеші Опери та шукати щось таке, що могло б наштовхнути на правильну адресу. Благо, таки знайшов — виявилось, що я пропустив літеру “L” при написанні домену gmail.com ) Так що будьте уважними.

Запускаємо мобільний сайт

Увійшовши до MoFuse в панелі керування вибираємо “Launch a mobile site”. Там вам необхідно буде заповнити декілька полів типу назви сайту, вибрати його майбутню адресу (у вигляді <ваша назва>.mofuse.mobi), а також вказати RSS-джерело для наповнення сайту. Їх може бути декілька, при створенні вказується основне, а можна взагалі пропустити цей пункт поставивши відповідну галочку — це якщо ви збираєтесь зробити статичний сайт, або плануєте додати джерела пізніше. Але так як ми домовились мобілізовувати блог, то RSS нам прописати просто необхідно. Власники standalone-блогів, думаю, знають адреси своїх RSS-стрічок. Користувачі LiveJournal мають прописати туди щось типу: “http://<нікнейм>.livejournal.com/data/rss“, а користувачі Blogger відповідно: “http://<нікнейм>.blogspot.com/feeds/posts/default“. Професійним блоггерам варто звернути увагу на галочку “You’ve read and agree to our Revenue Sharing Policy”. Мова тут йде про те, що у сайту є фіча монетизації мобільного сайту шляхом додавання туди реклами Google AdSence або AdMob, але прибуток від реклами ділитиметься між вами та MoFuse 50/50. Ну і все. Натискаєте “Launch Your Mobile Site” і вуа-ля: ви маєте свій блог в мобільному Інтернеті, доступним за адресою, яку вказали в полі “Site ID (URL)”. Якщо ви перейдете по тій лінці в звичайному браузері, то побачите емулятор вікна звичайного мобільного телефону, або Apple iPhone, в якому можна оцінити як виглядатиме ваш сайт на мобільному телефоні.

Прикрашання та контент

Але залишати сайт в такому вигляді нецікаво, адже MoFuse має ще багато цікавих можливостей гнучкого налаштування. Наприклад, власники свого доменного імені можуть зробити мобільний сайт його піддоменом (є неформальна практика робити мобільний домен у вигляді m.>назва основгого сайту<, тобто щось типу m.graywolf.org.ua). Також можна налаштувати кольорову гаму сайту та завантажити власний логотип. Далі можна додати якийсь текст на стартовій сторінці сайту, додати нові джерела для RSS, статичні сторінки, зовнішні посилання та віджет для коментарів, але з цим ви вже можете поекспериментувати самостійно ;) Щодо професійних речей, то як я вже згадував раніше, в MoFuse є вбудована можливість монетизації мобільних сайтів. Плюс до того є простенька статистика відвідувань принаймні із referer’ами (вказанням місць, звідки прийшли на ваш сайт).

Інтеграція та просування

Але і це ще не все. Погодьтесь, потенційним користувачам не зручно пам’ятати адреси вашого і мобільного блогу, і повноформатного. Для того, щоб уникнути цього можна скористатись пунктом “Automatic redirect”. Там знаходиться шматок PHP-коду, який потрібно вставити в код вашого сайту і який здійснюватиме перенаправлення на мобільну версію, якщо ви заходитимете з мобільного телефону. На жаль цією фічею зможуть скористатись лише власники standalone-блогів. Наприклад, користувачі Wordpress можуть вставити цей код на початку файлу теми, що відповідає за заголовок. Тим же хто користується блогхостингами типу Blogger та LiveJournal можна скористатись пунктами “Mobi Badge” та “QR Code”. В першому ви можете вибрати симпатичну картинку з посиланням на ваш мобільний блог та вставити її код потім в профілі чи ще де. Другий генерує картинку з QR-кодом для швидкого зчитування лінки в мобільним телефоном (якщо ви досі не знаєте, що таке QR-коди, то гарний лікбез є тут).

Післямова

Ну от і все. Просто, правда ж? Насправді зараз здається, що нікому зараз мобільні сайти не потрібні, але, ІМХО, варто призвичаїтись до світових тенденцій якомога раніше. В багатьох передових країнах мобільний Інтернет майже не поступається по популярності, а в деяких (наприклад, в Японії) навіть перевищує “стаціонарний”. Та й на Заході з появою iPhone‘ів та в очікуванні виходу пристроїв з Google Android на борту, йде справжній бум мобільного Інтернету і, впевнений, що не так вже багато часу займе поки ці хвилі дійдуть і до нас.
2 КЦ
1 Star

СофтПравильне робоче середовище з xmonad

6 Серпень 2008

xmonad Досить недавно в коментарях старого доброго опеннета (opennet.ru) розгорілась чергова війна KDE vs GNOME, в якій хтось ляпнув, що зручність - далеко не їх(вищевказаних монстрів) позитивна риса. Натомість коментатор запропонував звернути увагу на xmonad. Новий DE? Ні, ні і ще раз ні. Це фреймовий(або ж мозаїчний) менеджер вікон. Що ж, познайомимося з ним поближче.

Прочитати допис повністю »

Designed by: Web Refill | Brought by Wordpress Themes