четвер, 12 лютого 2009 р.

Перевірка швидкості інтернету через Speedtest

Перевірити швидкість інтернету можна через Speedtest: сервіс вимірює з’єднання між вашим пристроєм і вибраним тестовим сервером.

Що показує тест

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

Як порівнювати результати

  • Записуйте час перевірки, сервер і спосіб підключення — наприклад, Wi-Fi чи кабель.
  • Для порівняння двох пристроїв використовуйте те саме з’єднання й той самий сервер.
  • Враховуйте паралельні завантаження та інше навантаження на мережу.
  • Якщо цікавить інший напрямок зв’язку, порівняйте результати з кількома доступними серверами.

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

Мережева ліцензія «Корпорація-Салон»: розрахунок 2009 року

У лютому 2009 року я порівнював окремі робочі місця та мережевий варіант програми «Корпорація-Салон». Головна ідея — об'єднати роботу салонів, спростити обмін інформацією й супровід. Наведені нижче суми збережено як історичний приклад; це не чинний прайс.

Початковий розрахунок для п'яти робочих місць

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

  • Одна окрема ліцензія — 523,95 долара США.
  • П'ять окремих ліцензій — 523,95 × 5 = 2 619,75 долара США.
  • Мережева ліцензія на п'ять робочих місць в одній мережі — 1 050 доларів США.

За цими історичними цінами різниця становила 1 569,75 долара, або приблизно 59,9% вартості п'яти окремих ліцензій. Окремий варіант коштував приблизно у 2,5 раза дорожче за мережевий.

Для чого об'єднувати роботу

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

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

Що тоді описували для «Корпорація 2»

У публікації 2009 року нову на той час версію представляли як зручнішу для розподіленої роботи. Основним варіантом бази даних називали MySQL, тоді як «Корпорація 1» працювала з Firebird 2. Твердження про підтримку «практично будь-якої SQL-бази» потребувало перевірки конкретного адаптера й версії.

Також зазначали модульність на основі програмного коду, керування доступом до команд меню та правами читання й запису. Окремо описували можливість тому самому користувачеві працювати з різними наборами прав — наприклад, керівникові виконувати звичайні операції з обмеженим доступом. Це історичний опис «Корпорація 2», який не замінює перевірки можливостей і умов сучасної версії.

5 причин, почему не пить кофе

Кофе повышает давление и вреден для сердца

С кофе советуют быть острожным людям, страдающим гипертонией, - он сильно повышает кровяное давление. Помимо этого итальянские исследователи обнаружили, что людей с повышенным давлением этот напиток может подтолкнуть к гипертонии. Две-три чашки кофе, конечно, не причинят особого вреда, а вот пить его ведрами точно не стоит.

Кофе вызывает бессонницу

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

Кофе оставляет налет на зубах

Если вы заметили, у кофеманов не очень белые зубы. Какао-масла и тяжелые углеводы кофе, а также сахар способствуют появлению желтого налета на зубах. Но желтизна от кофе неприятна только с эстетической точки зрения - кариес или болезни десен напиток не вызывает.

Кофе повышает уровень холестерина

Кафестол (cafestol), который содержится в кофе, значительно повышает уровень холестерина в крови. Больше всего этого кафестола в кофе-эспрессо, кофе, приготовленного в кофейнике типа "french press" (французский пресс), и "кофе по-скандинавски" (такой кофе варят из зерен, обжаренных на натертой чесноком сковородке). Голландские ученые установили, что употребление пяти чашек кофе по-французски в день в течение четырех недель повышает уровень холестерина в крови на 6-8%. Кстати говоря, в кофе без кофеина тоже есть кафестол.

Кофе вызывает зависимость

Кофеин - наркотик. Он действует на зоны мозга, отвечающие за получение удовольствия. Вегетососудистая система кофемана находится в зависимости от ароматного напитка, а потому отказывается полноценно работать без порции допинга. Подпавший под привязанность кофе человек без утренней чашки излюбленного напитка чувствует себя подавленным, не в силах сопротивляться сонливости, имеет проблемы с давлением, часто страдает головными болями.

Взято из: http://job.ukr.net/news/5-prichin-ne-pit-kofe/

Криза 2008–2009 років в ІТ: оголошення про скорочення та уточнені цифри

У лютому 2009 року я написав про вплив економічної кризи на ІТ-компанії. Новини про реструктуризацію з'являлися одна за одною, але їхні цифри потрібно співвідносити з конкретними датами й масштабом оголошених заходів.

Intel: 5–6 тисяч працівників у конкретному плані

У повідомленні Intel від 21 січня 2009 року йшлося про консолідацію виробництва, яка мала торкнутися 5–6 тисяч працівників до кінця 2009 року. Компанія зауважувала, що частині людей могли запропонувати роботу на інших майданчиках.

Тому число «20 тисяч» зі старої нотатки не підходить для опису саме цього оголошення. Кількість працівників, яких стосується реорганізація, також не дорівнює автоматично кількості звільнених.

Microsoft: до 5 тисяч посад протягом 18 місяців

У листі Стіва Балмера від 22 січня 2009 року, поданому до SEC, зазначено план скорочення до 5 тисяч посад за 18 місяців, із них 1 400 — того дня. Одночасно компанія планувала створювати нові посади в пріоритетних напрямах. Очікуване чисте зменшення чисельності в зазначених функціях становило 2–3 тисячі.

Початкове число «близько 15 тисяч» не відповідало цьому першоджерелу. План скорочення посад і чиста зміна кількості працівників — різні показники.

AMD: що означали приблизно 9%

У матеріалі CRN про січневу заяву AMD наведено відповідь представника компанії: продуктова частина AMD, без виробничого бізнесу The Foundry Company, планувала зменшити чисельність приблизно на 9%. До цього входили природне вибуття працівників, продаж бізнесу для портативних пристроїв і додаткове скорочення приблизно 900 посад. Отже, 9% стосувалися визначеної частини бізнесу та сукупності заходів, а не одного загального числа звільнень.

Пізніший річний звіт AMD, поданий 24 лютого 2009 року, підтверджує, що в січні компанія оголосила додаткове скорочення чисельності, тимчасове зниження зарплат у США й Канаді та призупинення окремих виплат. Цей документ підтверджує характер заходів; точну базу відсотка він у наведеному описі не деталізує.

HP: план інтеграції EDS, оголошений 2008 року

У формі 8-K щодо оголошення HP від 15 вересня 2008 року йшлося про усунення приблизно 24 600 посад протягом трирічної програми після придбання EDS. Водночас компанія очікувала замістити приблизно половину цих посад у межах зміни структури глобальної команди. Це був план інтеграції з власним строком і механізмом, а не число людей, уже звільнених до лютого 2009 року.

Чому важливий контекст

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

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

Збій Svitonline і робота через резервну лінію: досвід 2009 року

У лютому 2009 року я спостерігав перебої підключення Svitonline (Білайн): спочатку мережа працювала нестабільно, а наступного дня доступ до інтернету зник.

Тоді я підозрював проблему з DNS, але в нотатці немає результатів діагностики, які підтверджували б саме цю причину.

Резервна лінія допомогла продовжити роботу

Деякий час довелося працювати через резервну лінію. На момент публікації основне підключення вже відновилося.

NetworkManager після переходу з Ubuntu 8.04 на 8.10

Після оновлення мого комп’ютера з Ubuntu 8.04 до Ubuntu 8.10 виникла проблема з мережею: NetworkManager не хотів нормально працювати. У нотатці 2009 року я описав спосіб, який допоміг саме в цій конфігурації.

Що я змінив після оновлення

Я перейменував файл зі старими мережевими налаштуваннями /etc/network/interfaces та перезавантажив комп’ютер. Після цього NetworkManager знову належно керував мережею.

Чому справа не просто в наявності файла interfaces

Мій початковий висновок, ніби NetworkManager взагалі не працює, коли існує цей файл, був надто широким. За документацією NetworkManager.conf, якщо використовується плагін ifupdown, параметр managed=false змушує NetworkManager ігнорувати інтерфейси, перелічені в /etc/network/interfaces. Має значення спосіб керування конкретним інтерфейсом і вміст налаштувань.

Це пояснює, чому старі записи могли впливати на керування мережею. Але без збереженої конфігурації мого комп’ютера неможливо встановити точну причину того збою лише за сучасною документацією.

Що перевірити перед зміною мережевої конфігурації

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

Мій результат стосувався локального переходу Ubuntu 8.04 → 8.10. Він не робить перейменування /etc/network/interfaces універсальним способом виправлення мережі в інших версіях.

Мировой кризис способствует возникновению войн

Я давно заметил, что когда в США возникал какой-нибудь кризис, администрация страны организовывала войну с каким-нибудь государством. Тем самым, отвлекая внимание от проблем насущных и обращая вниманию на проблему №1 - война.

Частота войн в мире была около 1 войны в 2-3 года.

Сейчас же кризис возникает во всём мире. Тем самым стимулируя войны. Правительства государств организовывают войны для того, чтоб отвлечь внимание от проблем и получить дополнительные дивиденды.

Подтверждение того, что войны зависят от кризиса - текущие войны.

В прошлом году Россия напала на Грузию.
В конце года - Израиль вторгся в Палестину.
Т.е. получается по крайней мере 2 войны в год...

Этот год начался с войны Израиля и Палестины.
С газовой войны России и Украины.
Уже 2 войны на 16 января 2009 года!
В Сомали борятся с пиратами. Туда посланы флота всего мира...

Что будет в будущем ? Накал страстей будет усиливаться. Есть достаточно большая вероятность того, что Россия решит применить вооруженные силы против Украины. Об этом, много раз заявляли многие политики России. Заявляли открыто. А если уже об этом говорят открыто, то очень большая вероятность возникновения конфликта. Тем более, что руководство России не считает Украину страной, а считает, что это их владения...

Поэтому, именно сейчас возникает реальная угроза возникновения 3-й мировой войны. Более того, уже кто-то предсказывал, что 3-я мировая война возникнет в 2010 году. И нужно признать, что к этому времени накал кризиса будет в том состоянии, чтоб реально такое произошло.

Как может начаться 3-я мировая война ? Вот элементарный сценарий:

1. Падение цены нефти происходит во всём мире. Соответственно, уменьшается стоимость газа. Россия в больших долгах, бюджета страны не хватает для решения проблем. Уровень жизни сильно понижается на негативной мировой ситуации + усугублённое отсутствием доходов по основным статьям дохода.
2. У Путина возникает выбор: бороться с внутренним врагом, проводя репрессии или найти внешнего врага и под звуки войны провести "чистки" в стране, а так же повысить своё влияние как в мире, так и в стране.
3. В качестве козла отпущения Путин выбирает Украину. Ведь давно готовилась для этого основа. Тем более причин можно найти много: газ, Крым и т.п.
4. Авиация России бомбит Киев, Харьков и другие крупные города.
5. Украина поднимает международное мнение против России. И Евросоюз начинает "осуждать" агрессию России против Украины. США прямо заявляет, что если не прекратится агрессия, то вмешаются в Войну.
6. Россия успешно продолжает проводить военную операцию в Украине. Правда, жертвы со стороны России есть, но "внезапность" дала своё.
7. Грузия и США вмешиваются в войну с Россией.
8. Евросоюз стоит перед тем, что нужно что-то предпринимать и долго тянув резину решает вмешаться. По сути, страны НАТО решают втянуться в войну.
9. Начинаются массовые военные действия стран против России.
10. Китай вмешивается в войну в пользу поддержки России.
11. Война в самом разгаре. Экономика в военном состоянии. Огромное количество жертв. Самое большое со времён 2-й мировой войны...

Эта война будет длиться несколько лет. Думаю, может 4-5, пока все стороны понеся огромные жертвы не решат прийти к перемирию, а возможно после победы над общим врагом...
После войны, экономика начнёт "восстанавливаться". Темпы развития стран будут сравниваться с уровнем экономики во время войны. Т.е. с очень низким уровнем развития.
Только через 10-15 лет экономика сможет достичь пика свое развития, а возможно на это понадобится и больше времени...

Однозначно, что эта война может стать страшнее и более кровавой, чем 2-я мировая война. Т.к. возможностей оружия массового поражения гораздо больше...

Дай Бог, чтоб этого не случилось...

P.S. Нострадамус предугадал, что война начнётся в 2010 году. Нужно признать, что вероятность в этом довольно велика: http://intrest.ru/archives/533

Пошук позиції сайту в перших 100 результатах: архівна нотатка

У початковій нотатці згадано сервіс перевірки позиції сайту за запитом у перших 100 результатах Google, Yahoo! і MSN. Назву, адресу й приклад звіту не збережено.

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

Search Engine Index Count: історичний інструмент аналізу індексації

Search Engine Index Count у 2009 році давав змогу перевіряти кількість проіндексованих сторінок одразу для п’яти доменів. Огляд охоплював сім пошукових систем: Google, AOL, HotBot, Yahoo!, Fast, AltaVista та MSN.

Порівняння індексації доменів

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

History report і графік тенденції

Якщо аналіз домену вже запускався раніше, History report показував значення попередніх перевірок. Це допомагало стежити за змінами індексації в часі, а не оцінювати сайт лише за одним вимірюванням.

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

Як читати показники індексації

Числовий результат пошуку не варто сприймати як повний перелік проіндексованих сторінок. Зокрема, документація Google про оператор site: пояснює, що його результати не завжди вичерпні. Якщо потрібний URL не з’явився у видачі, для власного сайту варто перевірити його через інструмент перевірки URL у Search Console.

Backlink Spider: архівний опис інструмента аналізу посилань

У старій нотатці Backlink Spider описувався як інструмент отримання зворотних посилань із сортуванням за Google PageRank та анкорним текстом. Назву в заголовку виправлено з «Blacklink» на «Backlink».

Тоді в переліку можливостей зазначалися:

  • отримання посилань із Google, Yahoo! і MSN;
  • визначення PageRank та текстів посилань;
  • статистика Links, Domains, IPs;
  • групування за PageRank і анкорними текстами;
  • експорт результатів у CSV та HTML.

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

Fake PageRank Detection: історичний спосіб перевірки доменів

У 2009 році під час купівлі доменів звертали увагу на публічний показник PageRank. Покупцеві було важливо з’ясувати, чи відображає високий показник популярність саме цього домену. Видиме значення могло бути пов'язане з перенаправленням на інший домен, а не з власною історією ресурсу.

Як перевіряли домен у Fake PageRank Detection

У нотатці йшлося про перенаправлення 301 і 302 на інший домен із високим PageRank. Для перевірки згадувався сервіс Fake PageRank Detection. Його тодішній сценарій був таким: ввести домен, виконати перевірку й порівняти адресу в результаті з початковою. Наприклад, зміна www.domain-A.com на www.domain-B.com розглядалася як привід для додаткового аналізу.

Чому зміна адреси потребує аналізу

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

Сам код перенаправлення також потрібно тлумачити правильно: документація Google розрізняє постійне перенаправлення 301 і тимчасове 302. Переїзд сайту чи об’єднання адрес — звичайні причини їх використання. Тому висновок про домен варто робити за сукупністю перевірок, а не лише за одним старим лічильником.

Copyscape: пошук схожого тексту й перевірка збігів

Як знайти сторінки зі схожим текстом

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

Як читати знайдені збіги

Важливе уточнення з офіційного FAQ: сервіс не визначає, яка сторінка є першоджерелом, і не вирішує, чи відбулося копіювання. Збіг може бути цитатою, спільним зовнішнім джерелом або випадково однаковою фразою. Результат потрібно перевіряти в контексті.

Під час моєї тодішньої перевірки блогу сервіс знайшов спільний підпис автора шаблону. Я спершу усміхнувся такому результату :) Це хороший приклад того, чому сам збіг ще не є висновком про плагіат.

Обмеження безплатної перевірки

За FAQ безплатний варіант обмежує кількість результатів десятьма та має ліміти перевірок. Premium надає додаткові можливості й більше результатів; поточні умови слід перевіряти на сайті сервісу. Юридичних висновків про порушення прав із самого звіту робити не варто.

Успіхів у пошуку дублікатів і захисті власних текстів!

SEO for Firefox: можливості розширення в огляді 2009 року

SEO for Firefox у 2009 році використовували для аналізу пошукових параметрів сайтів просто у браузері. Розширення додавало під результатами Google та Yahoo! дані, за якими можна було порівнювати ресурси й оцінювати конкурентне середовище.

Які дані показувало розширення

  • PR — публічний Google PageRank сторінки.
  • Age — найранішу появу сторінки в Archive.org. Цей показник характеризував доступну архівну історію, а не дату реєстрації домену.
  • Links — приблизну кількість посилань на домен за тодішнім оператором Yahoo! linkdomain.
  • .edu Link — оцінку кількості посилань на домен з освітніх доменів .edu.
  • .edu Page Link — посилання з .edu на конкретну сторінку, а не на весь домен.
  • .gov Link — оцінку посилань на домен з урядових доменів .gov.
  • Page Links — оцінку посилань на окрему сторінку через Yahoo! link.
  • del.icio.us — кількість згадок посилання в закладках сервісу.
  • Technorati — приблизну кількість посилань із блогів.
  • Alexa — показник, пов’язаний з оцінкою трафіку сайту.
  • Cached — кількість сторінок сайту у результатах Google site:, яку використовували для оцінки індексації.
  • DMOZ — кількість сторінок сайту в каталозі; пошук виконувався через Google Directory.
  • Bloglines — кількість підписників блогу через цей сервіс.
  • dir.yahoo.com — наявність сайту в Yahoo! Directory.
  • WhoIs — доступ до реєстраційних відомостей про домен.

Керування та інтерпретація результатів

Значок у рядку стану тодішнього Firefox вмикав або вимикав SEO for Firefox. Ідею отримання даних безпосередньо в пошуковій видачі описано в початковому анонсі SEO Book.

Кожен показник мав власне джерело та призначення: число посилань на домен не тотожне числу посилань на сторінку, а присутність у каталозі не дорівнює трафіку. Для показника Cached також слід враховувати обмеження оператора site:, оскільки його видача не є вичерпним переліком проіндексованих URL. Набір сервісів і спосіб керування вище належать до версії розширення, описаної в огляді 2009 року.

Безкоштовні SEO-інструменти SEOToolSet: добірка 2009 року та оновлення

У лютому 2009 року я зберіг добірку Free SEO Tools by SEOToolSet, знайдену в блозі SeoTools. Початковий огляд було опубліковано 14 березня 2007 року. Ця нотатка показує, які завдання тоді розв'язували за допомогою безкоштовних SEO-інструментів.

Що входило до історичної добірки

  • Check Server. Перевірка серверних відповідей, перенаправлень та можливих перешкод для пошукових роботів. У старому описі також згадували заборони для роботів, клоакінг і віртуальні IP.
  • View Page Source. Перегляд вихідного коду доступної вебсторінки.
  • Keyword Activity. Оцінювання частоти запитів. Тодішній огляд порівнював інструмент з Overture, Keyword Discovery і Wordtracker та описував оцінки за пошуковими системами. Такі оцінки не дорівнюють гарантованому трафіку на сайт.
  • Keyword Density Analyzer. Підрахунок частоти слів і фраз. Червоним та синім позначали значення, які автори інструмента вважали низькими або високими.
  • Competition Research. Пошук конкурентів за запитами та порівняння їхніх позицій; у старому огляді йшлося про групування сайтів із перших 25 результатів.
  • Ranked Page Report. Порівняння кількості сторінок, представлених у першій десятці результатів.
  • Link Analysis Report. Аналіз зовнішніх посилань на власний сайт і сайти конкурентів. Початковий матеріал радив обирати доречні тематичні ресурси й уникати безладного обміну посиланнями.

Що змінилося

На офіційній сторінці безкоштовних інструментів SEOToolSet нині наведено Keyword Suggestion, KSP Tool, Single Page Analyzer, SEO Multi-Page Info, Check Server Page та SEO Cloaking Checker. Це полегшені версії; частину звітів обмежено. Поточний склад відрізняється від добірки 2007–2009 років.

Частота слів корисна для аналізу тексту, але універсального цільового відсотка для хороших позицій немає. Google Search Central застерігає від надмірного повторення ключових слів. Аналіз посилань також не виправдовує схем обміну заради позицій: дивіться правила Google щодо посилального спаму.

Історичне джерело добірки: SeoTools, публікація «Free SEO Tools by SEOToolSet» від 14.03.2007 на reanimator.blogseo.ru. Старі обіцянки точності й охоплення пошукових систем не слід переносити на сьогоднішні інструменти без окремої перевірки.

Безкоштовні SEO-інструменти SEOToolSet: добірка 2009 року та оновлення

У лютому 2009 року я зберіг добірку Free SEO Tools by SEOToolSet, знайдену в блозі SeoTools. Початковий огляд було опубліковано 14 березня 2007 року. Ця нотатка показує, які завдання тоді розв'язували за допомогою безкоштовних SEO-інструментів.

Що входило до історичної добірки

  • Check Server. Перевірка серверних відповідей, перенаправлень та можливих перешкод для пошукових роботів. У старому описі також згадували заборони для роботів, клоакінг і віртуальні IP.
  • View Page Source. Перегляд вихідного коду доступної вебсторінки.
  • Keyword Activity. Оцінювання частоти запитів. Тодішній огляд порівнював інструмент з Overture, Keyword Discovery і Wordtracker та описував оцінки за пошуковими системами. Такі оцінки не дорівнюють гарантованому трафіку на сайт.
  • Keyword Density Analyzer. Підрахунок частоти слів і фраз. Червоним та синім позначали значення, які автори інструмента вважали низькими або високими.
  • Competition Research. Пошук конкурентів за запитами та порівняння їхніх позицій; у старому огляді йшлося про групування сайтів із перших 25 результатів.
  • Ranked Page Report. Порівняння кількості сторінок, представлених у першій десятці результатів.
  • Link Analysis Report. Аналіз зовнішніх посилань на власний сайт і сайти конкурентів. Початковий матеріал радив обирати доречні тематичні ресурси й уникати безладного обміну посиланнями.

Що змінилося

На офіційній сторінці безкоштовних інструментів SEOToolSet нині наведено Keyword Suggestion, KSP Tool, Single Page Analyzer, SEO Multi-Page Info, Check Server Page та SEO Cloaking Checker. Це полегшені версії; частину звітів обмежено. Поточний склад відрізняється від добірки 2007–2009 років.

Частота слів корисна для аналізу тексту, але універсального цільового відсотка для хороших позицій немає. Google Search Central застерігає від надмірного повторення ключових слів. Аналіз посилань також не виправдовує схем обміну заради позицій: дивіться правила Google щодо посилального спаму.

Історичне джерело добірки: SeoTools, публікація «Free SEO Tools by SEOToolSet» від 14.03.2007 на reanimator.blogseo.ru. Старі обіцянки точності й охоплення пошукових систем не слід переносити на сьогоднішні інструменти без окремої перевірки.

Мої SEO-закладки: блоги, інструменти та просування сайтів

Зібрав в одному місці свої закладки про пошукову оптимізацію, інструменти для SEO та просування сайтів.

Блоги й матеріали про SEO

  • Блог про SEO — http://seo-library.com/
  • Матеріали про просування сайтів — http://ru-traff.blogspot.com/
  • SEOHorizont — http://seohorizon.net/
  • Блог GTAlex — http://blog.gtalex.ru/

Інструменти та інші ресурси

  • SEO-Tools — http://reanimator.blogseo.ru/
  • SEOCoder — http://www.seocoder.org/category/tools/
  • ADNE — http://adne.info/
  • HWOR — http://hwor.info/
  • Матеріали про заробіток у мережі — http://homelessin.blogspot.com/

Що доступно за цими адресами

За адресою ADNE.info зараз відкривається сайт про просування, бізнес і розвиток спільнот; на головній є матеріали про ведення соціальних мереж. Доступність інших восьми ресурсів підтвердити не вдалося. Їхні точні адреси збережено як початкові закладки 2009 року.

Реклама Google та гривня: враження 2009 року й уточнення назв сервісів

Після тривалої перерви я повернувся до рекламних інструментів Google й помітив зміни. Раніше враження були радше негативні: мене не влаштовували обмежений вибір способів оплати, розрахунки лише в доларах, висока для моїх завдань вартість кліка, слабкий таргетинг і незручне налаштування.

Що приємно здивувало в 2009 році

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

Це моє враження від роботи з конкретним обліковим записом у лютому 2009 року. Вартість кліка залежить від рекламного завдання; наведене порівняння описує мій досвід повернення до системи після перерви.

AdSense і Google Ads: різні сторони реклами

Щоб правильно зрозуміти згадку про оплату реклами, варто розрізняти два продукти. Офіційна довідка Google пояснює: AdSense призначений для видавців, які отримують дохід від реклами на власних ресурсах, а Google Ads — для рекламодавців, які купують її покази.

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

Технології Google: нотатка 2009 року та офіційні ресурси

У 2009 році натрапив на сайт із різноманітними матеріалами про технології Google й занотував його адресу: http://www.googlemon.ru/.

Офіційні ресурси для розробників

Для пошуку документації та інструментів Google є Google for Developers. На ньому зібрані переходи до ресурсів Android, Chrome, Firebase та Google Cloud.

Чему учат в школах на уроках информатики и как это вообще происходит

Кто-нибудь знает чему учат сейчас в школе на уроках информатики ?

Ещё в прошлом году столкнулся с программой для младших классов, которая предназначена для учебных учреждений. Главный "герой" программы - инопланетянин "Элзик", который рассказывает о компьютере и его составных частях.

Прежде всего, следует отметить, что данное "программное средство" с примитивной графикой и очень примитивной программной реализацией. Такое ощущение, что данный продукт был разработан в 80-х годах, а сейчас "адаптирован" под задачи школы.
Сам процесс обучения в этой программе не поддерживает никакой критике, т.к. смысловая нагрузка программы приближается к нулю. Уровень изложения информатики приближается к 80-х годам, когда ученики не видели ни компьютера, ни мобильных телефонов, ни интернет, когда вообще не знали, что такое компьютер... По сути, в программе в общей форме рассказывается о составе компьютера: блок системный, монитор и т.п.
Делается это в настолько не увлекательной форме, что ученикам надоедает слушать и они начинают "зевать"...

Конечно, можно было бы закрыть на низко-качественную графику глаза, можно было бы закрыть глаза на то, что этот горе-уродец "Элзик" ничему не обучает, но наше образование этого "героя" всунуло всюду, куда могло... Так, например, учебники для младшей школы буквально пестрят инопланетянами. Причём, в тексте данных учебников огромное количество ошибок и очень малая продуманность изложения информации. За красивыми картинками (из чего состоит учебник) скрывается бездарность его составления и полное отсутствие понимания преподавания предмета... Учебник буквально "высосан из пальца"...

Но это ещё не всё!!!

Эту всю муру ещё нужно и покупать, причём за не маленькие деньги! Ведь картинки и "качественная бумага книг" не стоят дёшево. Ну и что, что в этих книгах написан мягко выражаясь бред...
И не купить нельзя, т.к. если учитесь в обычной школе, то обязаны следовать "программе Министерства Образования"...

Более того, программа с "Элзиком" - коммерческое программное средство. И оно стоит денег! Более того, лицензия действует на год. И каждый год школы обязаны покупать у третьих фирм данный "программный продукт". Подукт, который не учит ничему, но на котором основано наше "бесплатное образование"...

Почему тратятся деньги на ерунду ??? Потому, что в Министерстве Образования всё это пропихнули. И там не важны были педагогические знания того, кто составлял учебника, а важен был "политический вопрос". Или другими словами - как получить деньги в лапы...

Какое образование должно было бы быть - моё мнение, как специалиста в программной области
Однозначно, такие программы, как программы с "Элзиком" толку не принесут никому... А только зря потратят деньги на электричество, лицензии и здоровье детей на сидение за компьютером....

Министерству Образования необходимо было бы выбрать единую грамотную политику внедрения компьютеризации в школах. И эта политика не должна смотреть только на то, чтоб потратить наибольший бюджет, а на то, чтоб вложить бюджет с умом в СОВРЕМЕННЫЕ технологии.
Однозначно, что Windows - это вчерашний день. Да ещё и за него нужно платить деньги.

Специально для образовательных учреждений был разработан дистрибутив Linux Ubuntu.
В данном дистрибутиве есть большинство программных продуктов, которые нужны для обучения. Более того, дистрибутив поддерживает огромное количество языков, в том числе и украинский.
Тут Вы найдете для детей младшего возраста:
- Обучающие игры для детей, напоример:
- Сборник обучающих игр GCompris. В данном сборнике собрано большое количество игр, которые в увлекательной форме научат детей владению мышью, клавиатурой. Игры увлекательные. Причём, разно-направленные. Куда там нашему "Элзику"....
- Tux Paint - обучение рисованию детей.
- Potaito Gui - увлекательная игра составления портретов, с помощью которой дети бы научились владеть мышью и получили бы массу удовольствия и положительных эмоций.
- Stellarium - программа изучения звёздного нема. Увлекательная 3-х мерная карта звёздного нема. Очень мощная программа, благодаря которой дети бы могли изучить звёздное небо. Пожалуй, подобного аналога я не видел нигде...
- Большое количество логических, арифметических и т.п. программ.

- Для более взрослых детей тут есть всё необходимое для изучения:
- Браузеры.
- Офисные пакеты. Например, OpenOffice - бесплатный аналог OpenOffice.
- Табличные процессоры.
- Огромное количество графических программ. В том числе и 3-х мерных.

- Для детей, которые учатся программировать:
- Базы данных.
- Средства разработки программного обеспечения. В том числе и IDE-среды.
- Дети могут изучать программирование, изучая исходные тексты операционной системы и программ (чего нет и не предвидится в Windows).

Словом, Linux - это будущее. То будущее, которого боятся тупые клерки, но которое завтра придёт. И если мы не будем учить детей владеть данными программными средствами, то отстанем безповоротно от жизни... Отстанет вся страна...

«Корпорація 2» в Ubuntu 8.10 через Wine: результат одного запуску

У 2009 році запустив «Корпорацію» в Linux Ubuntu 8.10 через Wine. У моєму середовищі програма запрацювала, а інтерфейс відобразився без помітних спотворень.

Особливо порадувало, що в Linux з’явився навіть значок програми в системному треї. Для нашого застосунку це був практичний приклад запуску поза Windows — через Wine.

За відчуттями програма працювала доволі жваво. Мені здалося, що швидкість була не нижчою, ніж у Windows.

Як фішинговий лист виманював платіжний пароль: випадок 2009 року

У лютому 2009 року я отримав лист нібито від «Яндекс.Денег». У ньому йшлося про скаргу на мій акаунт і тимчасове блокування. Щоб дізнатися подробиці, мені пропонували перейти за посиланням. У листі також писали, що повідомлення автоматичне й відповідати на нього не потрібно.

Що сталося після переходу

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

Коли я написав у відповідь із запитанням про блокування, лист повернувся як недоставлений. Тоді я придивився до адреси: сторінка була на сторонньому домені, хоча зовні нагадувала справжній сервіс. За цими ознаками я запідозрив, що форму використовували для збору даних входу.

Що я перевірив у справжньому сервісі

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

Як перевірити підозріле повідомлення

  • Відкрийте сервіс через офіційний застосунок або адресу, яку знаєте, і перевірте сповіщення в акаунті.
  • Зверніть увагу на домен посилання та несподівані запити паролів чи кодів. Знайоме оформлення сторінки легко скопіювати.
  • Якщо вже ввели дані на підозрілій сторінці, змініть пароль через справжній сервіс, перевірте операції й зверніться до підтримки. Увімкніть багатофакторну автентифікацію, якщо вона доступна.

Рекомендації FTC щодо розпізнавання фішингу.

Lazarus на Ubuntu 8.10 amd64: проблема кирилиці в IDE

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

Що допомогло в моїй конфігурації

Тимчасовим обхідним рішенням стало перейменування файла російського перекладу на іншу назву:

/usr/lib/lazarus/languages/lazaruside.ru.po

Після цього Lazarus запускався з англійським інтерфейсом і працювати в ньому знову було зручно.

Чому спосіб залежав від версії

У нотатці 2009 року я пов’язував проблему з локалізацією Lazarus і очікував її виправлення. Номер версії IDE та посилання на помилку там не збереглися, тому визначити за цим записом конкретний випуск із виправленням неможливо.

Шлях вище належить тодішньому встановленню Lazarus на Ubuntu 8.10. В іншій версії розташування перекладів і спосіб вибору мови можуть відрізнятися; перейменування цього файла не є універсальним налаштуванням сучасної IDE.

Nero для Linux: чим мене зацікавив запис Blu-ray

У 2009 році мене тішило, що виробники програм усе частіше звертали увагу на Linux. Одним із прикладів стала Linux-версія знайомої багатьом Nero — програми для запису оптичних дисків.

Чому я звернув увагу на Blu-ray

Найбільше мене зацікавила можливість записувати Blu-ray. Тоді мені здавалося, що Nero для Linux у цьому випереджає чимало звичних аналогів. Моє враження було настільки прихильним, що я навіть оцінював її роботу вище, ніж у Windows :)

Це враження не супроводжувалося порівняльними вимірюваннями, зате сама підтримка Blu-ray була задокументована: у посібнику Nero Linux 3 цей тип дисків є в переліку підтримуваних носіїв.

Запис залежав і від приводу

У тому ж посібнику пояснено практичне обмеження: доступні типи дисків і можливість їх запису залежали від установленого записувального приводу. Самої наявності програми було недостатньо — для Blu-ray потрібне відповідне обладнання.

Відновлення даних із Ubuntu Live CD: досвід після відмови диска

Довго я був переконаний, що відновити Windows простіше, ніж Linux. У нотатці 2009 року я описав випадок, який змінив мою думку: після відмови диска з Linux найзручнішим інструментом для копіювання вцілілих файлів виявилася Ubuntu Live CD.

Мій старий спосіб діставатися до файлів Windows

Раніше для роботи з Windows я залишав завантажувальний розділ FAT. Якщо система не запускалася, використовував дискету на основі Windows 98, а потім встановлював Windows на FAT-розділ, щоб отримати доступ до даних на NTFS. До того ж потрібної дискети могло не бути під рукою.

Це був мій власний, доволі незручний сценарій зі старими версіями Windows. Він не означає, що для будь-якого відновлення Windows обов’язково потрібні FAT-розділ, дискета й повторне встановлення системи.

Як допомогла Ubuntu Live CD

Коли виникла проблема з диском Linux, я завантажив комп’ютер з інсталяційного компакт-диска Ubuntu в режимі Live CD. Замість установленої на диску системи запрацювало окреме середовище з графічним інтерфейсом.

  1. Після завантаження Live CD я відкрив меню «Переход» — так воно називалося в тодішній локалізації Ubuntu.
  2. У меню були доступні диски й розділи. Я підключив потрібні розділи та відкрив файли.
  3. Перед перевстановленням системи скопіював усе, що залишилося неушкодженим, на інші диски для резервної копії.

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

Що вдалося врятувати і де межі цього способу

У тому випадку я скопіював файли, які ще можна було прочитати, і зменшив втрати перед перевстановленням. Live CD дав доступ до даних, але не усунув фізичне пошкодження диска й не відновив уже зіпсовані файли.

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

Для запуску сучасного середовища без встановлення Ubuntu є офіційна інструкція Try Ubuntu Desktop. Вона описує нинішній інтерфейс і завантаження з USB; меню старої Ubuntu Live CD в моїй історії виглядало інакше.

Рынок Windows теряет позиции

Вот обзор рынка Windows, взятый с http://www.ural.ru/news/techno/news-86753.html:

Доля операционных систем (ОС) семейства Windows впервые за 15 лет опустилась ниже 90%. Об этом сообщается в отчете исследовательской компании NetApplications за ноябрь 2008 года.

Доля ОС Windows опустилась до 15-летнего минимума, а опустевшую нишу заняли Mac OS и Linux. Причины этого в проблемах с Vista и росте популярности дешевых ноутбуков. Кризис может ускорить миграцию с Windows на альтернативные операционные системы.

Доля операционных систем (ОС) семейства Windows впервые за 15 лет опустилась ниже 90%. Об этом сообщается в отчете исследовательской компании NetApplications за ноябрь 2008 года. По сравнению с октябрем доля Windows упала сразу на 0,84%, это крупнейшее снижение за последние два года. В то же время конкуренты — Mac OS и Linux — увеличили свои доли на 0,66% и 0,12% соответственно.

В ноябре 2008-го Windows занимала 89,6% рынка, Mac OS — 8,9%, Linux — 0,83%.

Следует отметить, что NetApplications публикует данные на основе информации об ОС пользователей, которые посещают крупные веб-порталы (аудитория сайтов, участвующих в исследованиях NetApplications, составляет 160 млн). Таким образом, не учитываются посетители других сайтов и компьютеры без выхода в интеренет. Так что реальные цифры последнего исследования могут отличаться от действительности, но важной остается динамика изменений.

Барьер в 90% Microsoft преодолела еще в 1993 году, когда вышла Windows 3.11. Своего пика Windows достигла в 2003–2004 гг., когда ее рыночная доля была на уровне 96–97%. С тех пор процентное количество компьютеров с данной ОС постепенно сокращается. Похожая ситуация складывается и на рынке интернет-браузеров, где Internet Explorer (70% рынка, данные NetApplications) постепенно сдает позиции Mozilla Firefox (в ноябре 2008-го преодолел планку в 20%).

Аналитик Лиги независимых экспертов в области ИТ Linex Василий Буров согласен, что Windows теряет долю в пользу Mac OS и Linux. "Все, кто пользовался Mac OS, отмечают, что это более удобная операционная среда, чем Windows", — говорит эксперт. Правда, у Mac OS есть существенное ограничение — она поставляется только вместе с компьютерами Apple. "Яблочная" компания ориентируется в основном на рынок США, в России компьютеры Apple c Mac OS встречаются не так часто.

Главный драйвер роста для Linux — бум в продажах нетбуков, которые представляют собой дешевые компактные ноутбуки, отмечает Буров. Пользователю все равно, какая ОС установлена на нетбук, так как все равно главное назначение нетбуков — работа с интеренетом, рассказал "Газете.Ru" эксперт.

По мнению Бурова, финансовый кризис также может стимулировать к переходу на Linux некоторых корпоративных пользователей, так как им больше подходит бизнес-модель opensource — программы с открытым кодом. Linux бесплатная программа, деньги взимаются только за техническиое обслуживание. Windows же продается с лицензией, в которую сразу заложена и оплата техподдержки. "И то и другое сопоставимо по цене, но в случае с Linux платить придется постепенно, что дает гибкость в расходах", — рассказал эксперт.

Проблемы Windows Vista не прибавляют конкурентоспособности Microsoft. Больше всего нареканий вызвали высокие системные требования, в результате многие пользователи предпочитают оставаться на XP и даже "сносят" Vista, если она предустановлена на новом компьютере. В ноябре на долю Vista, релиз которой состоялся в начале 2007 года, пришлось только немногим более 20%, в то время как XP cейчас занимает около 66% рынка.

Microsoft решает проблему перехода с XP на Vista двояко. С одной стороны, корпорация попытается подправить подмоченную репутацию Vista с помощью рекламы, на которую этой осенью было выделено $300 млн. С другой стороны, активно разрабатывается новая ОС Windows 7, которая должна сменить Vista. Планируется, что она поступит на рынок в 2010 году. Производители с надеждой ждут новую ОС — например, глава Asustek Джерри Шен в октябре заявил, что Vista не будет устанавливаться на нетбуки популярной линейки Eee PC — после релиза Windows 7 будет осуществлен переход от XP сразу к этой ОС. Однако, сможет ли новая Windows увеличить рыночную долю Microsoft, эксперты прогнозировать затрудняются.


Думаю, пока Майкрософт выпустит свою новую ОС к 2010 году, они ещё сильней потеряют долю рынка. И это не удивительно, ведь например новая версия Linux Ubuntu выходит каждые пол-года и при этом может обновляться без потери информации и переустановки системы.

Да и такие монстры, как Google выходят на рынок операционных систем. Пока на Smart-фонах, но возможно скоро и на других ОС.

Думаю, экономический кризис во всём мире очень сильно пошатнёт позиции платных операционных систем, т.к. теперь компании будут думать о том, как сэкономить деньги. Да что там компании - целые страны будут переходить на альтернативные ОС. Так, например, Евросоюз ещё ранее сделал правильный выбор. Когда созреют другие страны - посмотрим...

С экономической точки зрения, разработка Windows не может соперничать с тем же Linux. Т.к. затраты на разработку Windows гораздо выше, а результативность - гораздо меньше.

iPhone та Android: особиста оцінка й прогноз 2009 року

У лютому 2009 року я натрапив на статтю «5 причин уникати iPhone»: http://sysadminonline.ru/5-reasons-to-avoid-iphone/. Вона стала приводом замислитися, який напрям розвитку смартфонів видавався мені перспективнішим.

Чому я тоді очікував зростання Android

На той час iPhone не здавався мені найвигіднішим вибором. Я думав, що найближчим часом значну частину ринку зможуть зайняти телефони на Android від Google. У власному прогнозі виділяв дві причини:

  • доступнішу ціну рішення;
  • інтеграцію з технологіями Google.

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

Ігри для Linux: особисті пошуки та добірка 2009 року

На свята до мене приїхав племінник і запитав: «Дядьку Сергію, а у вас є ігри?» Я майже не граю, тому запитання застало зненацька. На Linux-комп'ютерах було чимало невеликих ігор, а сам я іноді запускав Freeciv — кросплатформну гру в дусі Civilization.

На одній із Windows-машин знайшлася гра, яку я тоді назвав Might of Magic. Після цього вирішив пошукати більше ігор для Linux: екшени, аркади, стратегії, Blob Wars, Descent 2, AstroMenace та матеріали про DOS-ігри.

У добірці згадувався PlayOnLinux. Це інструмент на основі Wine, а не окрема заміна Wine. Він допомагає встановлювати й налаштовувати низку Windows-програм; сумісність потрібно перевіряти для конкретної гри.

Встановлення ігор із репозиторію

У початковій нотатці для пакунків із репозиторію наводилася команда:

aptitude install <название>

Це шаблон: потрібні наявний у дистрибутиві пакунок, відповідний менеджер пакунків і права адміністратора. Назву в кутових дужках слід замінити реальною.

Збережені адреси початкової добірки

Нижче відтворено історичні адреси, а не перевірений сучасний каталог завантажень. Згадку про різну платність AstroMenace для Linux і Windows слід читати в контексті тодішнього огляду.

  • добірка екшенів для Linux — http://sysadminonline.ru/42-best-games-for-linux-action/
  • аркадні ігри — http://sysadminonline.ru/42-best-games-for-linux-arcade/
  • стратегії — http://sysadminonline.ru/42-best-games-for-linux-strategy/
  • ще одна добірка ігор, зокрема Quake — http://sysadminonline.ru/best-games-linux-quake/
  • продовження добірки ігор — http://sysadminonline.ru/best-games-linux-next2/
  • огляд PlayOnLinux для запуску Windows-ігор — http://sysadminonline.ru/playonlinux/
  • сайт розробника PlayOnLinux — http://www.playonlinux.com/en/download.html
  • Blob Wars — http://sysadminonline.ru/blob-wars/
  • Descent 2 — http://sysadminonline.ru/descent2/
  • категорія ігор для Linux у Wikipedia — http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%98%D0%B3%D1%80%D1%8B_%D0%BF%D0%BE%D0%B4_Linux
  • каталог ігор для Linux — http://www.linuxgames.ru/
  • форум про ігри для Linux — http://torrents.ru/forum/viewforum.php?f=899
  • обговорення ігор у Linux — http://speak.ck.ua/showthread.php?t=894
  • добірка ігор для Linux — http://www.linuxcenter.kz/page.php?page=games
  • огляд AstroMenace з тодішнім порівнянням умов для Linux і Windows — http://wiki.linuxformat.ru/index.php/LXF95:AstroMenace
  • досвід розробки ігор для GNU/Linux — http://wiki.linuxformat.ru/index.php/LXF96:%D0%98%D0%B3%D1%80%D1%8B_%D0%BE%D1%81%D0%B2%D0%B0%D0%B8%D0%B2%D0%B0%D1%8E%D1%82_GNU/Linux
  • ігровий дистрибутив на основі Ubuntu — http://sudouser.com/igry-v-linux.html
  • запуск DOS-ігор у Linux — http://www.ashep.org/?p=21
  • матеріал про ігри та вибір Linux — http://askomp.by/gameslinux.html

Кросплатформність: потреба, яку показали різні пристрої клієнтів

У 2009 році серед наших клієнтів з’являлося більше людей із різними операційними системами: одні користувалися Mac OS, інші — КПК, а я сам працював у Linux і Windows.

Одна задача — різні середовища

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

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

Ajax, jQuery і GWT: моя добірка ресурсів для веброзробки

Під час роботи з Ajax у мене накопичилася добірка корисних адрес: документація, інструмент налагодження, приклади вкладок, ефектів і складніших полів введення. Нижче — список із моєї нотатки 2009 року, згрупований за завданнями.

Документація jQuery та налагодження

  • http://visualjquery.com/ — зручне подання документації jQuery з мого списку.
  • http://www.rsdn.ru/article/inet/jQuery.xml — матеріал про використання jQuery російською мовою.
  • http://getfirebug.com/ — Firebug, помічник для налагодження скриптів у Firefox.

Вкладки, ефекти, зображення й поля введення

  • http://www.stilbuero.de/jquery/tabs/#fragment-27 — приклад плагіна для створення вкладок.
  • http://interface.eyecon.ro/demos/?page=demos — демонстрації різних інтерфейсних ефектів.
  • http://www.miniajax.com/ — добірка Ajax-бібліотек і прикладів.
  • http://fancy.klade.lv/ — FancyBox — бібліотека для показу великих зображень в Ajax-стилі.
  • http://ajaxian.com/archives/facebook-style-input-box — поле введення у стилі Facebook; Ajaxian я також зберіг як сайт із матеріалами про Ajax-бібліотеки.

Google Web Toolkit і пов’язані бібліотеки

  • http://code.google.com/p/gwt-ext/ — бібліотека GWT-Ext із мого списку.
  • http://www.ibm.com/developerworks/ru/library/j-ajax4/index.html?ca=drs-ru — стаття IBM про роботу з Google Web Toolkit.
  • http://www.ajaxplanet.ru/google-web-toolkit-manual/ — невеликий посібник із використання Google Web Toolkit разом із PHP.

Довідка для роботи з нинішнім проєктом

Для jQuery core є офіційна документація API. Звіряйте приклади з версією бібліотеки у своєму проєкті: на цій сторінці документовано саме ядро jQuery, тоді як плагіни мають власні API й вимоги.

Firebug уже завершив свій життєвий цикл: Mozilla повідомила про це у 2017 році у статті Saying Goodbye to Firebug та спрямувала розробників до вбудованих Firefox Developer Tools. Тому адреса Firebug у старому списку пояснює мій тодішній набір інструментів, а для налагодження сучасного Firefox варто відкривати його вбудовані засоби розробника.

Орфографія вебсторінок: нотатка 2009 року

Питання орфографії на вебсторінках виникало досить часто, тож вирішив зберегти в блозі посилання на матеріал про це.

У 2009 році занотував таку адресу матеріалу на Webscript.ru: http://webscript.ru/stories/01/06/22/4814617.

Hostpro - провайдер с лимитами, не дающими нормально работать сайтам

Вот в очередной раз столкнулся с тем, что за красивой рекламой прячется плохая поддержка и высокие риски.

Так, например, столкнулся с таким провайдером, как Hostpro. Данный провайдер в рекламе пишет о не больших стоимостях хостинга 3-5$/мес за 100Мб дискового пространства.
Но, как оказалось, не всё так просто...

Для одного заказчика, мне пришлось воспользоваться услугами данной компании.
Записал маленький скрипт - на несколько байт, который просто обращается к серверу и выводит картинку.
Всё работало некоторое время нормально. Когда, вдруг в один прекрасный момент домен полностью отключили.
Как оказалось в процессе исследования ситуации отключили из-за того, что "скрипт сильно нагружает сервер". 5% в кратко-временном времени. И, что они отключают скрипты, если они потребляют более 5% процессорного времени или 256Кб памяти...
Такую нагрузку может создать любой скрипт. И тем более, любой более или менее посещаемый сайт....

Т.е. получается любой мало-мальски посещаемый сайт может быть отключен без предупреждения!!!

Это не правильно!
Т.к.:
1. Ведь вместо 100 Мб дискового пространства мой скрипт использует всего несколько кб. Т.е. не используется по крайней мере 99,9% дискового пространства! А дисковое пространство - это ведь тоже деньги.
2. Я не использую почту. А почта ведь тоже создаёт значительную нагрузку!
3. Расчёты хост-про не правильны. Т.к. 5%, на которые они показывают - это 5% одного виртуального процессора. Т.е. если у Вас 2 процессора у которых 4 ядра, то получится 8 виртуальных процессоров. И 5% - это 5% нагрузки на виртуальный процессор, а не на процессор в целом и тем более не сервер. Т.е. по сути моя нагрузка в этом случае - это 5/8 = 0,625% от всего сервера. Что нужно признать ну очень мизерная цифра.
4. Всесто того, чтоб бороться со своими клиентами, лучше бы оптимизировали свою систему.
У них до сих пор используется 1 уровневая система веб-сервера. А это очень не эффективно! Давно пора было переделать на 2-х уровневую систему веб-сервера nginx-apache!!!

Словом, очень не рекомендую кому-либо работать с Hostpro. Т.к. "скупой платит дважды", а с Hostpro Вы заплатите ещё больше...

Рекомендації до дизайну й верстки вебсайтів

Працюючи над вебпроєктами у 2009 році, я помічав ті самі проблеми під час передачі дизайну у верстку й програмування. Тому вирішив зібрати рекомендації в одному місці: від завершеності HTML-блоків до назв стилів і станів навігації.

22 правила для узгодження макета й верстки

  1. Робіть кожен компонент завершеною структурою HTML: відкривайте й закривайте його елементи в межах відповідного блока.
  2. Організовуйте зображення в зрозумілі каталоги. Назва images була домовленістю цього проєкту, а не вимогою HTML.
  3. Добирайте шляхи до ресурсів відповідно до розгортання. Відносні, від кореня сайту та абсолютні URL мають різні доречні застосування.
  4. Зазвичай логотип веде на головну сторінку; перевіряйте цю поведінку в макеті та верстці. Приклад: <a href="/">Логотип</a>.
  5. Відокремлюйте спільні стилі від розмітки. Назви style.css і styles.css — варіанти проєктної домовленості.
  6. Передбачайте всі потрібні блоки: авторизацію, пошук, карту сайту, верхнє, бічне й нижнє меню, пагінацію, хлібні крихти, логотип, основний вміст, каталог, новини й анонси.
  7. Використовуйте семантичну розмітку та CSS для компонування; таблиці залишайте для табличних даних.
  8. Давайте осмислені назви класам, полям і формам.
  9. Групуйте поля введення в form, коли вони становлять форму.
  10. Використовуйте кнопки для дій, а посилання — для переходів.
  11. Узгоджуйте базове оформлення заголовків h1–h6, сторінки та посилань, включно зі станами взаємодії.
  12. Коментуйте неочевидні рішення в CSS.
  13. Дотримуйтеся послідовних відступів і форматування HTML.
  14. Задавайте придатний колір фону на випадок, якщо фонове зображення не завантажиться.
  15. Позначайте заголовок відповідним елементом, наприклад h1, а не лише візуально схожим блоком.
  16. Форматуйте CSS так, щоб його було зручно супроводжувати: одна декларація на рядок і проміжки між змістовими групами полегшують читання.
  17. Показуйте активні пункти меню та поточний крок навігації в макеті й готовій сторінці.
  18. Домовляйтеся про послідовні назви рівнів меню. Цифрові суфікси — один зі способів, а не правило CSS.
  19. Перевіряйте сторінки в браузерах, якими користується ваша аудиторія. Згадані в оригіналі Internet Explorer 6, Opera 9, Firefox 3 і Safari відображають тодішнє середовище тестування.
  20. Передбачайте резервні шрифти та перевіряйте сторінку без додатково встановлених гарнітур. Наявність Arial Narrow не слід вважати гарантованою.
  21. Явно задавайте узгоджені кольори фону, тексту й станів посилань з достатньою читабельністю.
  22. Не примушуйте всі зовнішні посилання відкриватися в новій вкладці. За потреби поясніть користувачеві таку поведінку. Це відповідає рекомендації W3C G200.

Приклад форматування CSS

Початковий запис:

#knopka { background:url(/user/templates/alerta/images/fonsubmit.gif); background-repeat:repeat-x; border-color:#0f1324; border:none; color:#fff; font-size:11px; font-family:arial, verdana, sans-serif; font-weight:bold; text-align:center; padding-bottom:5px; padding-left: 6px; padding-right: 6px; padding-top:4px; height:23px; margin-top:1px;}

Той самий набір декларацій у читабельнішому вигляді:

#knopka {
  background:url(/user/templates/alerta/images/fonsubmit.gif);
  background-repeat:repeat-x;
  border-color:#0f1324;
  border:none;
  color:#fff;
  font-size:11px;
  font-family:arial, verdana, sans-serif;
  font-weight:bold;
  text-align:center;
  padding-bottom:5px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top:4px;
  height:23px;
  margin-top:1px;
}

Це демонстрація форматування старого коду. Зокрема, border:none прибирає рамку, попри попередню декларацію її кольору.

Послідовність назв меню

У первісному прикладі змішувалися назви:

#menu a{ text-decoration: none; color:#1c144d;}
#menu2 a:hover{color:#d8354a;}
#menu1 a:hover{color:#d8354a;}

Автор пропонував узгодити індекси:

#menu1 a{ text-decoration: none; color:#1c144d;}
#menu3 a:hover{color:#d8354a;}
#menu2 a:hover{color:#d8354a;}

Обидва фрагменти можуть бути синтаксично коректними; відповідність селекторів реальній структурі меню важливіша за сам спосіб нумерації.

Відкриття посилань

Історичні приклади відрізняються наявністю target:

<a href="http://corp2.net/"> RS™</a>
<a href="http://corp2.net/" target="_blank"> RS™</a>

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

Світові новини на «Корпорації 2»: запуск розділу у 2009 році

У 2009 році на нашому сайті запрацював розділ світових новин. Для нього використали нову систему збирання новин, яку розробили на «Корпорації 2».

Новий варіант розділу тоді можна було переглянути за адресою http://corp2.net/news/allnews/.

Про імпорт новин і посторінкову навігацію також розповів у нотатці «RSS та навігація сторінками в “Корпорації 2 CMS”».

Локалізація в «Корпорація 2 CMS»: словники та шаблони

У 2009 році ми створили для локалізації «Корпорації 2 CMS» два компоненти: translate підставляв переклади, а lang_bar показував перелік мов для перемикання.

Налаштування мов

У головному класі використовувалися три властивості, які можна було задавати в config_main.php:

public $lang='ru';  // Текущий язык публичной части
public $lang_adm='ru';  // Текущий язык админ-части
public $langs=array('ru','ua', 'en'); // Доступные языки

Позначення ua було внутрішнім ідентифікатором української мови в цій системі: саме з ним пов’язані наведені каталоги й конфігурація.

Словник компонента

Кожен компонент мав каталог lang з файлами масивів перекладу. Наприклад, український словник зберігався у /lang/ua/index.php:

defined( '_VALID_CORP' ) or die( 'Прямой вызов запрещён' );
$this->msg=array(
array('login_label', 'Логін'),
array('password_label' , 'Пароль'),
array('reg_label' , 'Реєстрація'),
array('forg_label' , 'Згадати пароль'),
array('hello_label' , 'Ласкаво просимо'),
array('exit_btn' , 'Вихід')
);

Підключення перекладача в компоненті

Далі компонент підключав клас перекладу та завантажував повідомлення для auth:

function CMain()
{
$GLOBALS["c"]->ins_comp_file("translate/main_class.php");
$this->trans=new translate($application);
$this->trans->get_msg('auth');
}

Для роботи цього фрагмента потрібен контекст компонента та змінної $application, якого в нотатці немає. У PHP 8 метод з назвою класу більше не є конструктором; для конструктора використовується __construct() (документація PHP).

Маркери в шаблоні

Замість готових підписів шаблон містив маркери на кшталт <%login_label%>. Приклад форми показує, де стояли такі маркери. У ньому залишилися таблична верстка, некоректне значення ширини 100%px та адреси Blogger; завершення PHP-рядка в записі відсутнє. Тому цей фрагмент пояснює розташування підписів, але не є готовою формою для копіювання у проєкт.

// Шаблон формы авторизации

$GLOBALS["myauth"]->auth_form='



<form>









<table border="0" cellpadding="0" cellspacing="0" style="width: 100%px;">                                            <tbody>
<tr>                                              <td align="left" valign="top">






<table border="0" cellpadding="0" cellspacing="0" style="width: 100%px;">                                                <tbody>
<tr>                                                  <td align="left" valign="top">






<table border="0" cellpadding="0" cellspacing="0" style="height: 22px; width: 100%px;">                                                    <tbody>
<tr>                                                      <td class="path" width="52"><%login_label%>:</td>                                                      <td><label>
                                                        <input class="str_001" name="login_corp" type="text" />
                                                      </label></td>                                                    </tr>
</tbody></table>







<table border="0" cellpadding="0" cellspacing="0" style="height: 22px; width: 100%px;">                                                      <tbody>
<tr>                                                        <td class="path" width="52"><%password_label%>:</td>                                                        <td><label>
                                                          <input class="str_001" name="passwd_corp" type="password" />
                                                        </label></td>                                                      </tr>
</tbody></table>
</td>                                                  <td align="right" class="tahoma_18_blue" valign="middle" width="25">





<input class="auth_button" name="sumbit_auth" type="submit" value="" />


</td>                                                </tr>
</tbody></table>
</td>                                              </tr>
<tr>                                              <td align="left" class="path2" height="25" valign="bottom"><a href="https://www.blogger.com/reg/"><%reg_label%></a> | <a href="https://www.blogger.com/rest_pwd/"><%forg_label%></a></td>                                            </tr>
</tbody></table>

</form>

Перед виведенням шаблон передавали перекладачеві:

echo $this->trans->tr($this->auth_form);

Приклад використання цього механізму містився в компоненті авторизації auth.

RSS та навігація сторінками в «Корпорації 2 CMS»

У лютому 2009 року в «Корпорації 2 CMS» з’явилися нові компоненти для роботи з новинами та переходу між сторінками.

Імпорт RSS і посторінкова навігація

  • rss_grabber — компонент збирання новин із RSS.
  • pages — компонент переходу між сторінками.

Також удосконалили компонент news, щоб він працював із великою кількістю новин.

Як компоненти працювали разом

На тестовому сайті показали весь сценарій: імпорт новин, виведення списку та перегортання його сторінок. Тодішня адреса демонстрації — http://image.corp2.net/news/allnews/.

Апостроф у SQL і старі функції кодування «Корпорація 2»

В українському тексті апостроф нерідко вводять символом одинарної лапки '. Якщо такий текст безпосередньо вставити в SQL-рядок, лапка може передчасно завершити літерал і зламати запит.

У відповідному синтаксисі SQL одиничну лапку всередині рядкового літерала подають двома послідовними одинарними лапками. Це не заміна символу на подвійну лапку ". Водночас ручна обробка лапок не є універсальним способом побудови запитів.

Історичні функції системи

У старій «Корпорація 2» використовувалися такі виклики:

$GLOBALS["c"]->ec('Текст')
$GLOBALS["c"]->dc('Текст')
$GLOBALS["c"]->ec_simple('Текст')
$GLOBALS["c"]->dc_simple('Текст')

За первісним описом, ec поєднувала перетворення кодування сайту в кодування бази з обробкою лапок. dc була описана як функція декодування, також з обробкою лапок, а варіанти з суфіксом _simple — як перетворення кодування без заміни лапок.

Напрямок перетворення для dc і dc_simple у вихідному тексті сформульовано суперечливо. Без реалізації цих функцій не можна достовірно встановити їхню поведінку. Так само обробка для SQL не забезпечує автоматично правильного екранування для PHP, JavaScript або HTML: це різні контексти.

Побудова нових запитів

Для значень у запитах PHP використовуйте підготовлені вирази й параметри, наприклад PDO. Параметри призначені для значень, а не для назв таблиць, стовпців чи довільних частин SQL. Див. PDO::prepare. Історичні функції вище не слід вважати перевіреним захистом від SQL-ін'єкцій.

Компоненти «Корпорація 2 CMS»: призначення й структура

У 2009 році «Корпорація 2 CMS» швидко розвивалася: ми вже розробили кілька десятків компонентів. Кожен відповідав за окреме завдання, а з їхніх викликів складалася функціональність сайту. Ось які компоненти на той момент уже були в системі.

Загальні компоненти

  • topmenu — меню сайту.
  • rewrite — робота зі зрозумілими URL, заголовками та перетворенням вмісту.
  • pathway — навігаційний ланцюжок, або «хлібні крихти».
  • search — пошук.
  • tiptop — порада дня.
  • inc_region — підключення окремої області сторінки.
  • map — карта сайту.

Облікові записи

  • auth — авторизація.
  • reg_user — реєстрація користувача.
  • forg_passwd — функція «згадати пароль».

Каталог товарів і замовлення

  • catalog_tov_dataset — клас роботи з SQL для каталогу.
  • catalog_tov — основний компонент каталогу.
  • group_tov і group_tov_map — групи товарів та їх подання в карті.
  • spis_tov — список товарів.
  • tov_detile — детальний опис товару.
  • scroll_tov — смуга прокручування товарів.
  • map_tov — подання товарів у компоненті map.
  • gtov_menu — меню груп товарів, яке часто розміщували ліворуч.
  • basket — кошик і оформлення замовлення.
  • basket_informer — кількість товарів у кошику та основний клас роботи з ним.

Адміністрування

  • page_editors — кнопки редагування статичної сторінки.
  • fckeditor — редактор HTML.
  • page_props — властивості сторінки.
  • edit_menu — редагування меню.

Три принципи, на яких ми будували систему

  1. Простота й лаконічність. Ми прагнули робити компоненти простими у використанні: типовий виклик часто займав лише один рядок.
  2. Модульність. Замість одного великого компонента — невеликі частини, кожна з яких розв’язує свою задачу.
  3. Повторне використання й перевірка. Ті самі невеликі компоненти застосовували в інших компонентах і різних проєктах. Це давало більше нагод перевірити їхню роботу та виправити помилки.

Такою була структура нашої CMS у цій версії: від меню та навігації до каталогу товарів, кошика й інструментів редагування сайту.

Збереження тексту у файл: приклад PHP та обгортка «Корпорації 2»

Часто доводиться зберігати текстову інформацію у файл. Іноді цю просту операцію реалізують заплутано, хоча для базового запису достатньо кількох рядків PHP.

У «Корпорації 2» ми зводили такий виклик до одного рядка через власний метод save_textfile.

Запис у файл засобами PHP

echo 'Записываемый файл: '.$filename.'<br />
';

if (is_writable(trim($filename))) { // Убеждаемся что файл доступен и существует для записи.
$savesize=file_put_contents(trim($filename), $text_data);
}else {
echo "Файл $filename недоступен для записи";
}

return $savesize;

Виклик у «Корпорації 2»

$GLOBALS["c"]->save_textfile('Название файла','Текст, который хотим сохранить в файл');

Важливі деталі прикладу

У гілці, де файл недоступний для запису, змінна $savesize у самому фрагменті не отримує значення. Тому перед поверненням результату потрібно подбати про обробку цього випадку.

is_writable перевіряє, чи існує вказаний об’єкт і чи доступний він для запису. Якщо нового файла ще немає, така перевірка його імені не дозволить перейти до запису в наведеній гілці коду.

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

Власна обгортка спрощує місце виклику. Її поведінку під час помилок і перевірку шляху визначає реалізація методу save_textfile, якої в цьому прикладі немає.

«Корпорація 2»: плани релізу та демонстрацій на початок 2009 року

Реліз нашого продукту «Корпорація 2» планували випустити на початку 2009 року.

Щоб показати роботу системи на практиці, хотіли підготувати на цій версії кілька складних демонстраційних інтернет-магазинів.

Також у планах був перехід усіх наших програмних продуктів на роботу в «Корпорації 2».

Відмова диска й відновлення сервера: уроки резервного копіювання

Через відмову жорсткого диска було втрачено робочі бази даних, конфігурацію та операційну систему сервера. Диск замінили, систему встановили заново, а дані відновили з доступного повного архіву початку листопада.

Уточнення хронології: у первісному тексті подію датовано 18 грудня 2009 року, тоді як збережена дата публікації — 12 лютого 2009 року. Ці дати суперечать одна одній; достатніх відомостей, щоб виправити рік або місяць події, немає.

Які копії були доступні

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

Що планувалося змінити

Після збою я планував посилити адміністрування власного хостингу та резервування, створити власну адміністративну панель і додаткові сервіси керування хостингом. Клієнтам планувалося надати авторизований доступ до останніх резервних копій. Також розглядалася можливість використовувати «Корпорація 2» для створення сайтів. Це були плани, а не підтвердження їхнього виконання.

Практичний висновок: слід перевіряти завершення копіювання й можливість відновлення. Другий диск у тому самому сервері не відокремлює копію від усіх ризиків цього сервера. У рекомендаціях CISA окремо йдеться про автономні зашифровані копії та регулярне тестування відновлення.

Безкоштовний хостинг: архівна добірка 2009 року

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

Обсяги, технології, географічні й тематичні обмеження в цій добірці стосуються 2009 року. Чинні умови потрібно перевіряти у конкретного постачальника.

Хостинги, зазначені у 2009 році

  • sevhosting.net - 35 МБ, PHP, база MySQL
  • eomy.net - 300 МБ, PHP, бази MySQL
  • alfaspace.net - 100 МБ, PHP, база MySQL
  • i7i.ru - 1gb МБ (неоднозначне позначення в оригіналі), необмежений трафік
  • holm.ru - без обмеження обсягу, SSI, Perl, PHP4, MySQL, FTP-доступ
  • na.by - 128 МБ, PHP5, база MySQL, FTP-доступ
  • np.by - 100 МБ
  • ho.od.ua - обсяг узгоджується заздалегідь, PHP, CGI, база MySQL, FTP-доступ
  • webservis.ru - 100 МБ, PHP, CGI, база MySQL, FTP-доступ
  • hostland.su - 80 МБ, PHP, CGI, база MySQL (20МБ для самої бази), FTP-доступ
  • sbn.bz - 60 МБ + шаблонний конструктор сайтів
  • mirahost.ru - обсяг узгоджується заздалегідь, PHP, CGI, база MySQL, FTP-доступ + безкоштовний пакет просування сайту
  • dama-pik.ru - від 5 МБ і більше (широкий вибір тарифних планів), PHP, CGI, база MySQL, FTP-доступ
  • ho.com.ua - 32 МБ, PHP, CGI, база MySQL, FTP-доступ
  • househost.ru - 100 МБ, PHP, Perl, база MySQL, FTP-доступ
  • by.ru - необмежений простір, SSI, FTP-доступ, прив’язка до домену
  • hut.ru - необмежений простір, PHP, база MySQL, FTP-доступ, доступ до файла .htaccess
  • page.by - 10 МБ, HTML
  • hosting.mk.ua - 10 МБ, HTML
  • eeden.biz - 1 gb, конструктор сайтів, блог, форум, опитування
  • hotbox.ru - 100 МБ + скринька, форум, опитування, HTML, SSI
  • narod.yandex.ru - необмежений простір, готові варіанти дизайну, лічильники, гостьова книга, форум, чат, FTP-доступ
  • jino-net.ru - 70 МБ, PHP5, база MySQL (20 МБ), FTP-доступ
  • hobby.ru - 20 МБ, CGI, FTP-доступ
  • ruhost.biz - від 30 МБ, PHP, CGI, база MySQL, FTP-доступ
  • ucoz.ru - від 100 МБ (до 2000 МБ), FTP-доступ, резервне копіювання даних, конструктор сайту та система модулів
  • miraclehost.ru - 100 МБ, FTP-доступ, PHP, CGI, SSI, база MySQL, 10 поштових скриньок
  • boom.ru - 50 МБ, FTP-доступ, поштова скринька, HTML
  • su74.ru - 5 МБ, FTP-доступ, поштова скринька, конструктор сайтів, модулі "магазин" і "зворотний зв’язок"
  • noka.ru - 50 МБ, FTP-доступ, PHP, CGI, SSI, база MySQL, необмежена кількість поштових скриньок (лише для освітніх проєктів)
  • hosting.webrise.ru - до 200 МБ, FTP-доступ, PHP, CGI, SSI, база MySQL, необмежена кількість поштових скриньок, інтерфейс PhpMyAdmin
  • yard.ru - 50 МБ, безкоштовний домен третього рівня, FTP-доступ, PHP, CGI, SSI, база MySQL, 5 поштових скриньок по 50 МБ, .htaccess .htpasswd
  • nextmail.ru - 200 МБ для сайту або сховища файлів + поштова скринька
  • orthodoxy.ru - від 75 МБ, безкоштовний домен третього рівня, FTP-доступ, PHP, CGI, SSI, база MySQL (лише для православних сайтів)
  • ru-web.net - 30МБ, трафік - 500МБ, одна скринька WebMail, FTP-доступ, PHP
  • bestof.ru - будь-який справді потрібний обсяг, FTP-доступ, MySQL, PHP, HTML + SSI тощо (Ресурс мав бути повністю готовим, а не лише ідеєю)
  • addr.ru - 50 МБ, FTP-доступ, MySQL, PHP, поштова скринька, підтримка доменів другого рівня.
  • pesni.ru - необмежений простір (для музикантів і виконавців), FTP-доступ, CGI, HTML, SSI, поштова скринька.
  • free.dl-hosting.ru - будь-який справді потрібний обсяг, FTP-доступ, MySQL, PHP, HTML + SSI.
  • hostow.net - 40 МБ, трафік 1,5 ГБ, FTP-доступ, MySQL (5), PHP, HTML, SSI, 10 поштових облікових записів.
  • paltus.ru - 300 МБ, трафік 10 Гб, FTP-доступ, MySQL (10 МБ), PHP, HTML, SSI, 10 поштових облікових записів.
  • phpmysql.ru - від 10 МБ, FTP-доступ, MySQL, PHP, HTML, SSI.
  • orgfree.com - від 250 МБ, FTP-доступ, MySQL (5), PHP, HTML, SSI.
  • moshost.com - 25 - 5000 МБ, FTP-доступ, MySQL (2), PHP, HTML, SSI.
  • host.sk - 50 МБ, FTP-доступ, MySQL, PHP, HTML, SSI.
  • awardspace.com - 200 МБ, трафік 2 ГБ, два домени, два піддомени, FTP-доступ, MySQL (10 МБ), PHP, HTML, SSI, 5 поштових облікових записів.
  • internethost.ru - 50 МБ, FTP-доступ, MySQL, PHP, HTML, SSI, 5 поштових облікових записів.
  • city.tomsk.net - 5 МБ, FTP-доступ, HTML.
  • okis.ru - 100 МБ, FTP-доступ, MySQL, PHP, HTML, SSI, Cron, .htaccess.
  • ru-hosting.info - від 30 МБ, FTP-доступ, MySQL, PHP, HTML, SSI, піддомени, .htaccess.
  • iplot.ru - 50 МБ, FTP-доступ, MySQL, PHP, HTML, SSI, Perl, Python.
  • kubcom.ru - 20 МБ, FTP-доступ, MySQL, PHP, HTML, SSI.
  • gomelhosting.com - 50 МБ, FTP-доступ, MySQL, PHP, HTML, SSI, PERL, 10 поштових скриньок (лише для сайтів із Гомеля або присвячених цьому місту).
  • intobservatory.ru - від 200 МБ, FTP-доступ, MySQL, PHP, HTML, SSI, PERL, + безкоштовний домен.
  • host-expert.com - від 50 МБ, FTP-доступ, MySQL (2), PHP, HTML, SSI, PERL.
  • ayola.net - від 200 МБ, FTP-доступ, MySQL, підтримка PHP 5 і GDLib, HTML, SSI, PERL.

Як читати старі характеристики

У переліку збережено позначення кількості баз MySQL, поштових скриньок і місця для баз даних там, де вони були вказані. Запис «1gb МБ» для i7i.ru неоднозначний, тому його не перетворено на нібито точний обсяг. Тодішнє «безлімітно» також не описує всіх можливих обмежень сервісу.

Згадки PHP 4 і PHP 5 показують вік добірки. Для нового проєкту звіряйте доступну версію з офіційним переліком підтримуваних версій PHP.

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

Розцінки на 3D-візуалізацію й анімацію: архівна таблиця 2009 року

Для цікавості зібрав розцінки на 3D-роботи, які опублікував у блозі в лютому 2009 року. У нотатці посилався на http://render.ru/books/show_book.php?book_id=520.

Таблиця розцінок із нотатки 2009 року

Поруч із сумою в доларах важливо читати одиницю розрахунку: квадратний метр, окремий об’єкт, зображення, секунду анімації чи робочий час. Це різні способи оцінки обсягу роботи.

Робота Ціна, дол. США Одиниця Примітка
Дизайн-проєкт житлового інтер’єру 10–40 м² Підбір і візуалізація типових меблів та рекомендації
Дизайн-проєкт громадського інтер’єру 4–20 м² Із типовими меблями
Креслення в AutoCAD ≈50 шт.
Супровід проєкту 300–500 послуга
Моделювання й візуалізація готового дизайн-проєкту 40–80 зображення Також наведено ≈40 за робочий день
Візуалізація невеликих громадських споруд ≈150 набір зображень
Будівлі середньої складності 300–500 набір зображень Приватний будинок, промислова або торговельна споруда
Будівлі підвищеної складності 800–1000 набір зображень Елітні приватні будинки, висотні будівлі
Житлові, торговельні чи промислові комплекси зі складним оточенням ≈1500 набір зображень
3D-об’єкти для реклами 30–50 об’єкт Також 40–80 за зображення
Low-poly моделювання для ігор 50–70 робочий день
Hi-poly персонаж за ескізами 1000–2000 шт. Із налаштуванням, текстурами та ригом
Лише Hi-poly модель за ескізами ≈500 шт.
Рекламна анімація 30–70 секунда
Персонажна анімація 100–500 секунда
Робота аніматора 10–20 робоча година

Від чого залежить обсяг 3D-робіт

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

Финансы по Украински

Нацбанк объявлил ограничение на досрочное изъятие вкладов: "Банки обязаны выполнять свои обязательства по всем типам договоров по привлечению ресурсов в любой валюте только в случае наступления срока окончания обязательств" (п. 2.5). То есть возможность снять деньги, по сути, осталась только у тех, чей срок окончания вклада подошел к концу, а также у владельцев текущих и карточных счетов, бессрочных "гибких" депозитов.

Казалось бы должна была бы быть возможность снятия денег, если они на накопительном счёте или карточном счёте, но... Фактические банки заморозили все накопительные и депозитные счета, не зависимо от того, есть срок у депозита или это "гибкий" депозит. Так, например, банк Надра уже неделю назад заблокировал возможность перечисления денег с накопительного счёта на текущий и возможность снятия их с карточки. Объясняя, что это из-за постановления НБУ...

Так же есть статья на подобную тематику: http://news.finance.ua/ru/~/2/0/all/2008/10/20/140653

MySQL у тестовому проєкті: перелік версій, модулів та утиліт

Оскільки основною тестовою базою даних у нашому проєкті була MySQL, я зібрав потрібні дистрибутиви, модулі Perl та допоміжні утиліти в одному списку. У публікації 2009 року поруч опинилися пакети кількох поколінь — від MySQL 3.23 до експериментальної 6.0.

Дистрибутиви

Назви файлів і розміри збережено з первісної нотатки. Архіви ZIP були зазначені як Windows-версії, TAR.GZ — як UNIX-версії. Початковий перелік Windows 95/98/NT/2000/XP/2003 не слід вважати перевіреною матрицею сумісності кожного випуску.

MySQL 6.0.6 — Alpha

mysql-6.0.6-alpha-win32.zip (63.2M)
mysql-6.0.6-alpha.tar.gz (27.5M)

MySQL 5.1.28 — пакет Release Candidate

mysql-5.1.28-rc-win32.zip (82.3M)
mysql-5.1.28-rc.tar.gz (26.7M)

MySQL 5.0.67 — позначка «Recommended» у моєму переліку

mysql-5.0.67-win32.zip (45.3M)
mysql-5.0.67.tar.gz (27.1M)

MySQL 4.1.22 — попередня гілка GA в переліку

mysql-4.1.22-win32.zip (41.3M)
mysql-4.1.22.tar.gz (16.9M)

MySQL 3.23 — старі виробничі випуски

mysql-3.23.58-win.zip (12.8M)
mysql-3.23.58.tar.gz (11.5M)

Позначка Release Candidate вище належить конкретному пакету 5.1.28, а не всій гілці MySQL 5.1 станом на лютий 2009 року. За документацією MySQL 5.1, випуск 5.1.30 отримав статус General Availability 14 листопада 2008 року. Тому стару позначку «Recommended» біля 5.0 не варто використовувати для визначення актуальної на той час гілки.

Модулі Perl

  • DBI-1.18 — старий варіант Perl DBI; DBI-1.50 у переліку вимагав Perl 5.006.
  • DBD-mysql-2.9007 — старий варіант; також наведено DBD-mysql-3.0002_4.tar.gz.
  • Net-MySQL-0.08 — реалізація інтерфейсу мережевого протоколу MySQL мовою Perl.
  • Msql-Mysql-modules-1.2219 — модуль DBD для доступу до mSQL і MySQL.
  • Data-Dumper-2.101 — Data::Dumper, згаданий для старих інсталяцій Perl з DBI/DBD.
  • Data-ShowTable-3.3 — допоміжний модуль для подання таблиць із DBI/DBD.

Інші програми й архіви

  • mysql_snap10_rus.exe, mysql_snap10_eng.exe — MySQL Snap, російський та англійський варіанти; у нотатці описано створення копій і перенесення баз між серверами.
  • mysqlgui-win32-static-1.7.5-2.zip — MySQLGUI для Windows; mycc-0.8.4-win32.zip — MySQL Control Center.
  • mod_auth_mysql-2.20.tar.gz — модуль автентифікації для Apache.
  • phpMyAdmin-2.7.0-pl2.tar.gz, phpMyAdmin-2.7.0-pl2.zip — пакети phpMyAdmin.
  • MySqlODBC.zip — архів драйвера ODBC для MySQL.
  • dbf2mysql.zip — утиліта Win32 для перенесення даних із файлів FoxPro DBF до MySQL.
  • dbexport.zip — описаний у джерелі засіб імпорту й експорту MS Access–MySQL через API без ODBC, з відкритим кодом.
  • myaccess2000_1_3.zip, myaccess97_1_3.zip, excel2mysql.zip, DelphiMySQL.zip — інші архіви з початкового списку.

Де вибрати дистрибутив для встановлення

Наведені вище назви допомагають розібратися зі старою конфігурацією проєкту. Для нового встановлення вибирайте версію й операційну систему в офіційному розділі MySQL Community Server та перевіряйте вимоги саме цього випуску: пакети зі списку 2009 року до сучасної конфігурації не належать.

«Корпорація» 2.0.0.27: заплановані інструменти розробки

У лютому 2009 року для нової версії «Корпорації» 2.0.0.27 планували додати три інструменти:

  • інтегроване середовище розробки застосунків — IDE;
  • запис макросів;
  • дизайнер діаграм.

Linux: власник, група та права каталогу вебпроєкту

Довго я налаштовував права файлів і каталогів через Midnight Commander: запускав пошук у всьому проєкті, виділяв знайдені об’єкти, призначав власника й групу, а потім знову виділяв їх для зміни прав доступу. На великому проєкті це займало багато часу.

Рекурсивні команди дають змогу обробити дерево каталогу без такого ручного повторення. У своїй нотатці 2009 року я навів приклад для каталогу web та користувача й групи www-data:

chown -R www-data web
chgrp -R www-data web
chmod -R g+rws web

Що змінює цей приклад

  • chown -R www-data web рекурсивно змінює власника каталогу web і його вмісту.
  • chgrp -R www-data web рекурсивно змінює групу.
  • У chmod -R g+rws web літера g означає групу, r і w додають читання та запис, а s задає спеціальний біт setgid. Це не те саме, що звичайне право виконання x.

На каталогах setgid у типових системах допомагає успадковувати групу новими об'єктами. Рекурсивна команда, однак, застосовує зміну також до файлів; її не слід механічно переносити на будь-який вебпроєкт.

Чому права потрібно добирати для конкретного проєкту

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

Довідка GNU: chown, chgrp, chmod, спеціальні біти каталогів.

Зміна адміністративного доступу до сервера: повідомлення 2009 року

12 лютого 2009 року я повідомив користувачам нашого сервера про зміни, зроблені для підвищення його безпеки: адміністративні права при підключенні через SSH2 було скасовано, а пароль адміністратора бази даних MySQL — змінено.

Куди звертатися, якщо сайт або підключення не працювали

Якщо після цих змін не працював сайт або не вдавалося підключитися до бази даних, я просив звертатися безпосередньо до власника сервера — тобто до мене :) Тоді для цього була вказана адреса rs@rsa.ms.

З актуальних питань K2 можна написати у WhatsApp: +380679016322.

Основні команди SVN: робоча копія, зміни та імпорт

Із Subversion можна працювати через графічний клієнт або командний рядок. Коли підключаєшся до сервера через SSH у PuTTY чи іншому терміналі, робота відбувається саме командами. Тому я зібрав основні операції SVN в одну пам’ятку: від створення репозиторію до надсилання змін.

У початковій нотатці джерелом частини прикладів зазначено ibm.com без адреси конкретної сторінки. Пояснення команд нижче звірено з документацією Subversion.

Створення репозиторію й робочої копії

# Створити репозиторій на диску
svnadmin create /home/user/new_repository

# Отримати робочу копію у каталог new_repository
svn checkout file:///server/svn/existing_repository new_repository

У другому прикладі file:///server/... — локальний шлях, що починається з /server, а не ім'я віддаленого SSH-сервера. checkout створює робочу копію; для отримання наступних змін у наявній копії використовується update.

Щоденна робота

# Оновити робочу копію
svn update

# Запланувати додавання файла або підкаталогу
svn add <file subdirectory="">

# Переглянути локальні зміни
svn diff

# Перейменувати об'єкт
svn rename <old_file> <new_file>

# Запланувати видалення
svn delete <file subdirectory="">

# Надіслати підготовлені зміни до репозиторію
svn commit

Позначення в кутових дужках — заповнювачі з оригіналу: замініть їх реальними шляхами, не вводьте буквально. Операції над шляхами робочої копії завершуються передаванням змін через commit. Операції безпосередньо над URL можуть мати іншу поведінку.

Архівні приклади підключення

svn checkout file://localhost/mnt/d/svn_repository/corp2 --username ИмяПользователя --password Пароль
svn checkout svn+ssh://localhost/mnt/d/svn_repository/corp2 --username ИмяПользователя --password Пароль

Ці два рядки збережено для повноти старої публікації, але їхні початкові пояснення були неточними. localhost означає ту саму машину. Для svn+ssh автентифікацію виконує SSH, тому параметри пароля Subversion не слід сприймати як налаштування пароля SSH. Реальні паролі не варто вставляти в такі командні рядки.

Початковий імпорт

svn import mytree file:///usr/local/svn/newrepos/some/project -m "Initial import"

import переносить незаверсійоване дерево до репозиторію та одразу створює ревізію. Початковий каталог при цьому не стає робочою копією: для подальшої версійної роботи потрібен окремий checkout.

Джерела: основний цикл роботи, імпорт, доступ через SSH. Це документація для Subversion 1.7; для іншої версії звіряйте її власну довідку.

SVN-репозиторії «Корпорації»: адреси й доступ через SSH

Для отримання вихідних текстів «Корпорації 2» та спільної роботи над іншими нашими проєктами використовувався Subversion (SVN). У нотатці 2009 року я навів чотири адреси репозиторіїв.

Якому проєкту відповідає кожна адреса

  • corp2 — система «Корпорація 2».
  • corp1 — система «Корпорація 1».
  • corp_web — «Корпорація 2 CMS», вебчастина «Корпорації 2».
  • rs_sites — наші корпоративні сайти.
svn+ssh://corp2.net/mnt/d/svn_repository/corp2
svn+ssh://corp2.net/mnt/d/svn_repository/corp1
svn+ssh://corp2.net/mnt/d/svn_repository/corp_web
svn+ssh://corp2.net/mnt/d/svn_repository/rs_sites

Чому в адресі вказано svn+ssh

Таке підключення передає протокол Subversion через зашифрований SSH-тунель. Автентифікацію виконує SSH, а на сервері для роботи з репозиторієм запускається svnserve у тунельному режимі. Механізм описано в розділі svnserve книги Version Control with Subversion.

Це пояснює спосіб підключення, але саме існування адреси не надає прав на вихідні тексти. Для використання потрібні чинний доступ до сервера та дозволи на відповідний репозиторій.

Клієнт SVN у Windows

Для роботи я вказував TortoiseSVN: цей клієнт інтегрується в оболонку Windows і дає змогу працювати з SVN через Провідник. Чотири адреси вище відтворюють структуру наших репозиторіїв на час написання нотатки; актуальну адресу потрібного проєкту слід брати в його адміністратора.

SVN на сервері titanr: початок обліку змін вихідного коду

У лютому 2009 року нам удалося встановити й налаштувати систему керування версіями SVN на сервері titanr.

Після цього планували контролювати зміни всіх вихідних текстів програмними засобами — вести роботу з кодом через систему керування версіями.

K2 відкрила курс з ERP: 61 урок, практика й сертифікат

Перший день у новій ERP часто починається з пошуку потрібної кнопки. Наступний виклик складніший: зрозуміти, що зміниться після натискання. ...