понедельник, 4 апреля 2011 г.

4.04

С днем веб-разработчика, веб-мастера!


Cвятой Исидор Севильский

День святого Исидора

Cвятой Исидор Севильский считается покровителем учеников и студентов, а в 2003 году папа Иоанн Павел II официально назвал святого Исидора покровителем интернета.


Читать дальше »

вторник, 6 апреля 2010 г.

Блогинг и троллинг

Captain Obvious. To the rescue!

«Бессмысленная и бездарная статья»
– Вася Пупкин

«Не знаю шо имел ввиду автор, но читать не рекомендую»
– Дмытро Сеопульченко

«Это статья о блоггинге и троллинге»
– Капитан Очевидность


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

.

#TODO: Купить хорошие кроссовки для бега.


В общем, в понедельник, после многокилометровых прогулок по городу голеностоп все же дал о себе знать. Настроение по этому поводу было крайне мерзкое, а буквопомойка в тви-ленте так и подмывала устроить сеанс микро-троллинга. Я серьезно. (Не читайте меня).


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


Мои ёрничания по тексту – исключительно моя реакция на написанное и не обязательно "правильная".


Читать дальше »

пятница, 16 октября 2009 г.

Скачать коммунизм

Серп и МолотПятница – традиционно день умственного упадка у блоггеров и их читателей. Поэтому, в этот день не рекомендуется размещать в блогах что-либо «сложнее» смешной картинки или цитаты с башорга. Наибольшей популярностью в этот день пользуются картинки об «уставшем на работе» офисном планктоне, кружки с холодным пивом и конечно же сиськи!


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


When You're downloading Mozilla Firefox... You're downloading Communism – Bill Gates«Когда вы скачиваете Mozilla Firefox, вы скачиваете коммунизм»
Билл Гейтс

Скачать коммунизмВообще была у меня на слуху эта цитата, но в оригинале она звучала не совсем так. Да и бог бы с ней – пусть будет на совести авторов плаката. Чего тянуть-то? – Справа кнопка, «под ней» ссылка. Скачай коммунизм прямо сейчас! Бесплатно.


Бонус для подписчиков блога – тематический демотиватор. Подписаться.


Живи в России
Вместо игры в GTA

Читать дальше »

Blog Action Day 2009

Сегодня (не по московскому времени, и даже не по киевскому) Blog Action Day. Что лично я перевожу как «День блоггерской активности». Хотя это, возможно, и не совсем правильно. В текущем году этот день посвящен такой проблеме как изменение климата. Скажу честно, – не совсем моя тема: лично мне более привычней писать про негров, лошадей и китайцев. Но коль уже подвизался, то поделюсь собственными наблюдениями.


Детство мое, во всяком случае – сознательная его часть, прошло на севере Украины. Помню украинские зимы – солнечно и снежно; довольно мягкий климат. Походы на лыжах в лесу, топленое сало у костра :) и пушистые белые сугробы. Повзрослев, я переехал в другие края с климатом куда более суровым, где и прожил порядка 10 лет.


Вернувшись пару лет назад, обратил внимание, что зимы уже не те. Снега почти не бывает, а когда и случится ему выпасть, – стаивает уже в районе обеденного перерыва. Не то, чтобы я так уж сильно по нему скучал. Там где я жил снег лежал долго, что к середине весны уже порядком надоедал. И было его столько, что не будь транспортных проблем, его можно было б экспортировать африканским неграм. Как альтернативу зеркальцам и бусам. Но климат явственно изменился. Да и местные это подтверждают.


И всего-то десять лет прошло; ну пусть 15, и вот тебе пожалуйста. К чему это я? Да просто изменение климата – это не где-то там далеко, где лишенные привычной среды обитания, обезумевшие от жары пингвины сгоняют негров с насиженных пальм. И не где чукчам приходится переплывать океан, чтобы охладить банку пива. И даже не голливудская чушь про «смену полюсов», удары космического холода и уже американских негров, вмороженных в ледяной воздух прямо возле горящей потухшей помойки, с недовысказанными словами гангста-рэпа на губах. Нет, все это реально и это прямо здесь, на твоей большой и малой Родине, и изменения эти ты можешь наблюдать в течении своей, собственной жизни.


На следующий год в Blog Action Day 2010 я проголосовал за тему «политкорректность» :).


Читать дальше »

среда, 30 сентября 2009 г.

День Интернет

С Днём Интернет, дорогие камрады и камрадки! ..и остальные пользователи Всемирной пута... Паутины.


«По какому праву?!!»

30 сентября в России празднуется День Internet. В этот день в 1998 году была проведена первая перепись пользователей Рунета, а их количество достигло 1 млн. человек.



КиберсексКиберсекс
Йопт! Это та самая 18лГорячаяШтучка, с которой ты только что мастурбировал

Как говорится, «Би кэфул».

Читать дальше »

понедельник, 31 августа 2009 г.

С Днем блогов!

31 АвгустаДень блогов. С чем с удовольствием я и поздравляю коллег по цеху.


Если перевести слово Blog в цифры, то получится 3108, то есть 31 августа. Так родилась идея в этот день праздновать День Блога (или Blog Day). В этот день каждый пользователь публикует у себя ссылки на 5 других блогов, отличных по тематике. Впервые праздник отмечался в 2005 году.
открытки@mail.ru / День Блога

И, хотя уже научно доказано и известно, что блоггер – это субтильный, прыщавый несостоявшийся задрот, реализующий свои низменные комплексы в интернете, я поздравляю блоггеров с их профессиональным праздником. И желаю всем прогрессирующих успехов, растущей популярности и толстеющего счета. В общем:

Жирного тебе улова!!!
робот Бендер – цитата из м/с “Futurama”)


Насчет 5 ссылок на другие блоги... лично я считаю, что это «разводняк». Но, тем не менее, поддержу «традицию». Итак,


Всех благ!


Читать дальше »

пятница, 10 июля 2009 г.

Объектно-ориентированное программирование

В продолжение программы по обновлению и дополнению «теоретического багажа» в данном посте разбираю парадигму ООП. Эта статья в первую очередь, – шпаргалка для себя. Поэтому постараюсь избежать излишней детализации. Дополнительные детали, на мой взгляд, «жизненно необходимы» лысеющим теоретикам, да судорожно содрогающимся студентам на экзаменах. ..Сдаваемых лысеющим теоретикам.


Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.


Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.


Класс является моделью ещё не существующей сущности, объекта.


Объект — сущность, появляющаяся при создании экземпляра класса.


Основные понятия


Абстракция данных
Объекты представляют собою упрощенное, идеализированное описание реальных сущностей предметной области. Если соответствующие модели адекватны решаемой задаче, то работать с ними оказывается намного удобнее, чем с низкоуровневым описанием всех возможных свойств и реакций объекта.

Инкапсуляция
Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как «чёрный ящик» — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларируемых свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.

Сокрытие данных
Сокрытие данных — неотделимая часть ООП, управляющая областями видимости. Является логическим продолжением инкапсуляции. Целью сокрытия является невозможность для пользователя узнать или испортить внутреннее состояние объекта.

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

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


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

Множественное наследование и интерфейсы
Некоторые ОО языки допускают наследование более чем одному базовому классу. Другие языки позволяют вам наследовать только от одного класса, но дополнительно позволять вам наследовать также от многочисленных интерфейсов или чисто абстрактных классов, то есть классов, состоящих только из виртуальных функций.

Определение ООП


Объектно-ориентированный подход заключается в следующем наборе основных принципов:

  1. Всё является объектом.
  2. Вычисления осуществляются путём взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
  3. Каждый объект имеет независимую память, которая состоит из других объектов.
  4. Каждый объект является представителем (экземпляром) класса, который выражает общие свойства объектов.
  5. В классе задаётся поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
  6. Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.


Особенности реализации


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

Поля данных
Параметры объекта (конечно, не все, а только необходимые в программе), задающие его состояние (свойства объекта предметной области). Иногда поля данных объекта называют свойствами объекта, из-за чего возможна путаница. Физически поля представляют собой значения (переменные, константы), объявленные как принадлежащие классу.

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


Взаимодействие объектов в абсолютном большинстве случаев обеспечивается вызовом ими методов друг друга.


Инкапсуляция обеспечивается следующими средствами:

Контроль доступа 
Поскольку методы класса могут быть как чисто внутренними, обеспечивающими логику функционирования объекта, так и внешними, с помощью которых взаимодействуют объекты, необходимо обеспечить скрытость первых при доступности извне вторых. Для этого в языки вводятся специальные синтаксические конструкции, явно задающие область видимости каждого члена класса. Традиционно это модификаторы:
  • public – открытые члены класса;
  • protected – члены класса, доступные только из классов-потомков;
  • private – скрытые, доступные только внутри класса.

Конкретная номенклатура модификаторов и их точный смысл различаются в разных языках.

Методы доступа 
Поля класса, в общем случае, не должны быть доступны извне, поскольку такой доступ позволил бы произвольным образом менять внутреннее состояние объектов. Поэтому поля обычно объявляются скрытыми (либо язык в принципе не позволяет обращаться к полям класса извне), а для доступа к находящимся в полях данным используются специальные методы, называемые методами доступа. Такие методы либо возвращают значение того или иного поля, либо производят запись в это поле нового значения. При записи метод доступа может проконтролировать допустимость записываемого значения и, при необходимости, произвести другие манипуляции с данными объекта, чтобы они остались корректными (внутренне согласованными). Методы доступа называют ещё аксессорами (от англ. access — доступ), а по отдельности — геттерами (англ. get — чтение) и сеттерами (англ. set — запись).

Свойства объекта
Псевдополя, доступные для чтения и/или записи. Свойства внешне выглядят как поля и используются аналогично доступным полям (с некоторыми исключениями), однако фактически при обращении к ним происходит вызов методов доступа. Таким образом, свойства можно рассматривать как «умные» поля данных, сопровождающие доступ к внутренним данным объекта какими-либо дополнительными действиями (например, когда изменение координаты объекта сопровождается его перерисовкой на новом месте). Свойства никаких новых возможностей не добавляют, а лишь скрывают вызов методов доступа. Конкретная языковая реализация свойств может быть разной.


Почитать по теме:


Читать дальше »

пятница, 3 июля 2009 г.

We were born in this hole...

И действительно, «нафига попу гармонь»? Делюсь ссылкой на статью, которая не так давно широко меня улыбнула.


Десять лет назад (кто-то подсказывает: «почти двадцать») на голову фирмам разной масти и толка свалился Интернет. Осмелюсь предположить, что для большей части из них он стал скорее обузой, чем благом. С одной стороны: «у всех уже есть чёртов сайт, что мы хуже, что ли?», с другой: «да нафиг оно надо? We were, так сказать, born in this hole. And we will die in this hole». В конце концов всё как-то устаканилось. У всех появились ужасные сайты-визитки, с ужасными улыбками на лицах гендиректоров, и «новостями» за позапрошлый год. Через некоторое время, когда очки, нанизанные на… скажем, хвост, не помогали, разумный директор средней руки по-своему торжествовал, отечески похлопывая по плечу унылого премиум-айтишника. «Я же говорил, что дурная затея? А ты — «большие возмо-ожности, много новых клие-ентов». Мой клиент — такой же старый бобёр как я (надевая шапку из сородича и кряхтя). Открыл газету, ткнул пальцем, цена низкая? вот и славно, вот и позвонил. Хорошо хоть недорого обошлось...»

Дальше шире: Вашей фирме (не)нужна социальность.


Читать дальше »

пятница, 17 апреля 2009 г.

Бесплатные файлохранилища

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


JavascriptHost, сервис, который я использовал для хранения javascript-файлов приказал долго жить. Без последнего концерта и тонущего Ди Каприо, трогательно протягивающего ручонку в последнем прощании, пошел на дно с полными трюмами.


Ripway с завидным постоянством перестал отображать иконку блога. Ты не поверишь, но This user account has exceeded their daily bandwidth limit. («Пользователь превысил свой суточный лимит трафика»). Много же с них натянул мой favicon...


Fileden Напрочь отказался загружать файлы javascript. На нет и суда нет, и туда нет; прощаемся.


Перевез свое барахло подключаемые файлы на Hotlinkfiles. Судя по заявленному, Hotlinkfiles лучший веб-сайт, предоставляющий услуги бесплатного хранения файлов с прямыми ссылками. Они предоставляют 1GB дискового пространства и 8GB трафика в месяц. Размер файлов ограничен 50-ю мегабайтами, что для моих целей (см. выше) очень даже «вполне». И главное – он допускает прямые ссылки на файлы.


Памятуя о всенародно любимой ремарке про надпись на сарае, посмотрю как оно на самом деле. Впечатлениями поделюсь.


Upd Сервис HotLinkFiles не впечатлил. Зато проблема была решена «почти родным» для Blogger способом: Прямые ссылки на файлы. Сервис №1


Читать дальше »

среда, 11 марта 2009 г.

Необычное использование обычных вещей

ПользаПорой совершенно, на первый взгляд (да и на второй тоже), бесполезные вещи можно использовать с пользой. Как бы «каламбурно» это ни звучало. Вот, например, что пивную бутылку можно открыть 8-килограммовой гантелей с круглыми навершиями, я убедился несколько лет назад. К слову, пиво можно открыть практически любым предметом, ну да сейчас не об этом. А вот знаешь ли ты, что даже в самом простом швейцарском армейском ноже есть инструмент «фигурная отвертка»? Он есть! ..И опять-таки не об этом.


Wordle: dotRBНедавно натолкнулся на сервис Wordle. Вроде с виду обычная игрушка, способная убить около полутора часа твоего свободного времени. А вот если ее так бочком-бочком... ты возьми и примени ее для анализа собственных текстов, или даже собственного блога. Сразу отловятся и слова-паразиты и лишние термины в выдаче RSS. Анализируй, камрад блоггер! Тулза тебе и совет от «городского сумасшедшего» в помощь.

Читать дальше »

суббота, 28 февраля 2009 г.

Коварный rel external

Что значит атрибут ссылки rel="external".


Довольно часто просматривая чужие блоги натыкаюсь на ссылки вида:

<a rel="external nofollow" href="http://dotrb.blogspot.com">Солодоварни Рубина</a>


Что значит атрибут nofollow я знаю, но вот что такое external? Дело в том, что в спецификации XHTML атрибут ссылки target не поддерживается. Следовательно, конструкция вида: target="_blank" не является валидной. Открывание нового окна браузера – это задача скрипта, а не гипертекстовой разметки. Открывать ссылки в новом окне теперь предлагается с помощью, например языка javascript. Для этого отдельными разработчиками и был искусственно введен атрибут external.


Читать дальше »

четверг, 19 февраля 2009 г.

Инструмент Stripe Generator

Онлайн генератор полосатого узора


Очередной полезный инструмент для веб-мастеров. На самом деле, это брат-близнец генератора узора «шотландки». С одним лишь отличием... Да, вы угадали -- вместо клетчатых узоров он делает «полосатости».


Stripe Generator 2.0

Необходимое и достаточное количество функций, приятный интерфейс, реализовано с использованием технологии AJAX. Поэтому -- удобно, шустренько, приятно. Рекомендую. Ссылка под катом -- лучше один раз попробовать, чем десять раз прочитать ;).


Этот генератор планирую использовать в одном из следующих примеров.



Читать дальше »

среда, 11 февраля 2009 г.

Pastie подсветка синтаксиса

Самый первый пост, опубликованный мной с тегом JavaScript освещал такую интересную для любого «кодоблоггера» тему, как Динамическая подсветка синтаксиса с помощью javascript.

Если же по каким-то причинам вам лень добавлять javascript к вашему шаблону, вы можете воспользоваться сервисом Pastie.

Pastie код
Pastie «умеет» подсвечивать код ActionScript, C/C++, CSS, Diff, HTML (ERB / Rails), HTML / XML, Java, Javascript, Objective C/C++, Pascal, Perl, PHP, Plain text, Python, Ruby, Ruby (on Rails), Shell Script (Bash), SQL, YAML. Вставьте полученный код javascript в ваш блог и подсветка кода готова.

Код Pastie в блоге
Второй, неявный способ применения Pastie -- обмен фрагментами кода. Удобно при удаленной разработке в команде.

P.S. Pastie написан на Ruby on Rails.


Читать дальше »

воскресенье, 18 января 2009 г.

CSS Zen Garden

На этом сайте вы можете лишний раз убедиться в силе CSS. Никакой магии, только один файл HTML и около 800 файлов CSS.
Из серии «пища для глаз», рекомендуется для просмотра. Особенно полезно при творческом запоре застое.

CSS Zen Garden

Читать дальше »

Онлайн генератор разметки страницы CSS

И снова в копилку полезных ресурсов. Он-лайн генератор разметки страницы с использованием CSS (для ленивых). По завершении операции выдаст ссылки на два файла:
  • randomNumber.html -- собственно, сама страница с готовой разметкой HTML;
  • randomNumber.css -- «таблица стилей» CSS.

CSS Layout Generator

Читать дальше »

пятница, 9 января 2009 г.

Yahoo Samsung Internet@TV


Компания Samsung совместно с крупнейшим порталом Yahoo объявили о сотрудничестве по разработке нового интернет-сервиса “Internet@TV - Content Service”, который будет запущен весной 2009. Для этого отдельные модели телевизоров Samsung HDTV будут оснащены встроенным програмным комплектом Yahoo! Widget Engine, который позволит зрителям осуществлять интерактивный просмотр программ при помощи набора “TV Widgets”.

TV Widgets дадут возможность управлять пользователям интернет-контентом и расширить возможности просмотра телевизионных каналов за счет программ и каналов в сети Интернет. Сервис, разработанный с использованием Javascript и XML позволит осуществлять поиск по видеороликам, просматривать видеоконтент и участвовать в работе социальных сетей и приложений. Таким образом обыкновенный телевизор превратится в интерактивное устройство для глобальной сети.

Набор TV Widgets позволит работать также с такими порталами как с Flickr, Yahoo! News, Yahoo! Weather и Yahoo! Finance и просматривать видео на ряде других сервисолв, к примеру USA TODAY, YouTube, eBay и Showtime Networks.
Читать дальше »

понедельник, 5 января 2009 г.

Год бесплатного хостинга для разработчиков web-приложений Bebo

BeboSun Microsystems, совместно с провайдером Joyent предоставляют разработчикам Web-приложений для Bebo один год бесплатного хостинга. Это предложение будет основываться в бесплатном размещении их приложений для социальной медийной сети с поставляемым пользователями наполнением. Кроме того, разработчикам будут доступны инструменты Java, PHP, Ruby on Rails, а также Sun Web 2.0 Scalable Performance Toolkit и Apache Olio, находящиеся на стадии разработки, с помощью которых разработчики смогут создавать, отлаживать и развертывать социальные Bebo-приложения.

Разрабатываемый инструмент Sun Web 2.0 Scalable Performance Toolkit призван отвечать за генерирование рабочей нагрузки, а Apache Olio - за оценку пригодности, функциональности и производительности размещаемых Web-приложений.

Кроме того, разработчикам будет доступен набор инструментов от самой Bebo. В него войдет анализ всего времени, которое было затрачено на создание приложения. Следовательно, пользователи смогут в точности до секунд рассчитывать и распределять свое время при создании Web-приложений для социальной медийной сети Bebo.
Читать дальше »

понедельник, 8 декабря 2008 г.

AJAX-индикаторы бесплатно и быстро

При разработке AJAX-приложений порой не лишне дать пользователю знать, что выполняется ajax-запрос, а не просто «оно чего-то затупило...». Для этого часто используется анимированное изображение GIF, так называемый “ajax-loader”. Появление такого индикатора оказывает на душевное состояние пользователя прямо-таки благотворное воздействие. Он видит – что-то происходит, его запрос выполняется, его здесь любят и ценят :). К показателю «дружественности» интерфейса +1.

Ajaxload
Читать дальше »

среда, 3 декабря 2008 г.

Генератор веб-кнопок

Еще один полезный веб-инструмент -- генератор кнопок. Несколько наборов шаблонов кнопок, возможность задавать текст кнопки, порядка 15+ шрифтов, возможность изменять цвета текста и кнопки, использовать эффекты -- «тень» (Drop Shadow), «свечение» (Outer Glow) и пр. То же самое и для rollover-кнопки.
Генератор веб-кнопок


Читать дальше »

понедельник, 1 декабря 2008 г.

Генератор узора-«шотландки»

Генератор узора-«шотландки»Еще один онлайн-генератор. Генерирует трехцветный клетчатый узор-«шотландку». Будет полезно в-первую очередь для сплошных фонов веб-страниц. Клетчатый узор для фона этого блога был добыт на другом ресурсе с последующей обработкой в Photoshop. А тут поди ж ты -- специальный генератор!

# Tartan Maker
Читать дальше »