Как стать автором
Обновить
4
0
True Chaotic @TrueChaotic

Пользователь

Отправить сообщение

Как бы выглядели YouTube, Facebook и Google+ в 1997 году

Время на прочтение 1 мин
Количество просмотров 1.2K


История — великое дело, особенно в такой быстро меняющейся области как IT!

Создатели http://1x-upon.com/ сделали реально работающие «древние копии» YouTube, Facebook и Google+ (даже с фреймами). Авторы рекомендуют вспомнить, что такое Netscape Navigator 4.03 и просматривать сайты с разрешением 1024×768, желательно на CRT-мониторе; желающие могут в виртуальной машине запустить Windows 95. Для полноты ощущений соединение с сервером ограничено 8 kB/s — как в настоящем dial-up.

YouTube

Facebook

Google+
Всего голосов 220: ↑202 и ↓18 +184
Комментарии 106

Из html в pdf – легко! Обзор конвертеров

Время на прочтение 3 мин
Количество просмотров 102K
Ежедневно в процессе деятельности регистратора REG.RU, в котором я работаю программистом, совершаются сотни операций, требующих оформления каких-либо официальных документов. Среди них — различные договоры, счета, сертификаты и т.п., которые необходимо печатать как компании, так и клиентам. Для таких целей хорошо подходит формат PDF, который на сегодняшний день стал де-факто основным для обмена и распространения документации. Основными преимуществами этого формата можно назвать: кроссплатформенность, аппаратную независимость и безопасность. Все вышеперечисленное позволило PDF завоевать популярность среди пользователей и стать одним из самых распространенных.

Как можно создавать документы в формате PDF на лету, из скрипта?
Читать дальше →
Всего голосов 79: ↑70 и ↓9 +61
Комментарии 24

В Google+ появились игры

Время на прочтение 1 мин
Количество просмотров 4.7K
PictHost
Признаюсь, я ждал этого шага со дня релиза соц. сети. Одновременно с добавлением игр Google запустила блог для разработчиков приложений для Google+. Доступ к программным интерфейсам, позволяющим создавать игровые приложения для соцсети, компания первоначально предоставила лишь небольшому количеству разработчиков, обещая постепенно расширять круг партнеров и возможности своей платформы.

На данный момент список игр, доступных, к сожалению, только части пользователей Google+, включает лишь 16 наименований, среди которых есть легендарные Angry Birds и Zynga Poker. Ждать появления FarmVille и CityVille, как сообщает TechCrunch, не стоит, в силу эксклюзивного соглашения с Facebook. Но это не беда — хороших игрушек хватает.

UDP: У меня заработала ссылка на соответствующий раздел.
Всего голосов 59: ↑44 и ↓15 +29
Комментарии 75

О практических применениях свойства float

Время на прочтение 5 мин
Количество просмотров 32K

Каждый хороший верстальщик скажет, что только безукоризненное знание собственной работы способно принести позитивные результаты. Собственные наблюдения привели меня к выводу, что не только начинающие верстальщики не совсем понимают сути применения свойства float. На Хабре просмотрел имеющиеся публикации на данную тематику. Появилось желание поделиться некоторыми замечаниями и практическими применениями данного свойства. Приведенные ниже разъяснения в большинстве своем могут стать полезными для начинающего верстальщика.
Читать дальше →
Всего голосов 56: ↑51 и ↓5 +46
Комментарии 37

Креативное использование веб-шрифтов

Время на прочтение 14 мин
Количество просмотров 33K

С помощью CSS-магии мы можем создавать красивые типографические эффекты и забыть о использовании изображений, в большинстве случаев. В этой статье мы создадим ряд симпатичных примеров веб-типографики, используя плагин jQuery — lettering.js, а также различные приемы CSS. В некоторых примерах мы также добавим переходы при наведении курсора мыши, чтобы сделать их немного более интерактивным.
Читать дальше →
Всего голосов 100: ↑94 и ↓6 +88
Комментарии 27

Самовызывающийся конструктор Джона Резига и размышление о том, почему это решение не прижилось

Время на прочтение 7 мин
Количество просмотров 13K
Настала пора мысленно вернуться на четыре с небольшим года назад ко блогозаписи «Simple “Class” Instantiation» из блога Джона Резига, прославленного создателя необыкновенно удобной библиотеки jQuery. И вернёмся.

Однако же, так как я вовсе не вижу её в результатах поиска на Хабрахабре по слову «Resig», то поневоле приходится думать, что эту полезную блогозапись никто не удосужился перевести (или хотя бы пересказать) за четыре прошедших года — мне придётся, стало быть, самостоятельно пересказать блогозапись Резига прежде, чем я исполню моё главное намерение: поразмыслить вслух, почему же предложенный Резигом способ решения указанной им проблемы так и не сделался общераспространённым. И перескажу. (Сам этот пересказ ужé был бы полезен читателю, даже кабы я к нему ничего от себя не прибавил. А я прибавлю.)



Шестого декабря 2007 года Резиг рассмотрел, что получается, когда в джаваскрипте используется операция «new» для создания объекта (в языках с классами мы сказали бы «экземпляра класса»):

function User(first, last){
   this.name = first + " " + last;
}

var user = new User("John", "Resig");

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

Поэтому, рассудил Резиг, рано или поздно кто-нибудь попробует вызвать «User()» без «new» и тем получит на свою голову сразу две неприятные проблемы. Во-первых, переменная «user» останется неопределённою: функция «User()» задумана ведь как конструктор, а значения она никакого не возвращает. Во-вторых, что ещё хуже, попытки обращения к «this» изнутри такого (некорректно вызванного) конструктора неизбежно приведёт к засорению глобального пространства имён — а это чревато зловещими и трудноуловимыми последствиями. Обе проблемы Джон Резиг продемонстрировал на примере:

var name = "Resig";
var user = User("John", name);
// здесь переменная «user» не определена
// БОЛЕЕ ТОГО: значение «name» теперь ужé не «Resig»!
if ( name == "John Resig" ) {
   // фигассе!…
}

Читать дальше →
Всего голосов 78: ↑67 и ↓11 +56
Комментарии 50

Ключевое слово this в javascript — учимся определять контекст на практике

Время на прочтение 4 мин
Количество просмотров 182K
По просьбам некоторых читателей решил написать топик про контекст в javascript. Новички javascript часто не понимают значение ключевого слова this в javascript. Данный топик будет интересен не только новичкам, а также тем, кто просто хочет освежить данный аспект в памяти. Посмотрите пример ниже. Если вы затрудняетесь ответить на вопрос «что будет выведено в логе» хотя бы в одном из пунктов или хотите просто посмотреть ответы — добро пожаловать под кат.

var f = function() {
    this.x = 5;
    (function() {
        this.x = 3;
    })();
    console.log(this.x);
};

var obj = {x: 4, m: function() {
    console.log(this.x);
}};


f();
new f();
obj.m();
new obj.m();
f.call(f);
obj.m.call(f);

Читать дальше →
Всего голосов 111: ↑108 и ↓3 +105
Комментарии 122

Про jQuery и велосипеды — мое дополнение

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

Для затравки начнем с простого.
Читать дальше →
Всего голосов 242: ↑230 и ↓12 +218
Комментарии 126

5 полезных методов jQuery API, о которых вы могли не знать

Время на прочтение 2 мин
Количество просмотров 55K
В статье я расскажу о пяти методах jQuery, которые я нашел для себя полезными и о которых, по моим наблюдениям, мало кто знает.

Я с jQuery работаю уже около двух лет, но до недавнего времени не использовал эти методы, так как и без них можно обойтись. Но с ними может быть на много легче.
Читать дальше →
Всего голосов 131: ↑112 и ↓19 +93
Комментарии 68

VK::App — модуль для создания клиентских приложений в vk.com

Время на прочтение 3 мин
Количество просмотров 27K
Хочу рассказать о своем модуле VK::App для создания клиентских приложений в социальной сети vk.com. Основные возможности модуля:
  • Авторизация, основанная на OAuth 2.0, по логину/паролю или cookies.
  • Установка прав доступа, которые потребуются приложению.
  • Выполнение любых запросов VK API и получение результата в JSON, XML или Perl Object виде.
Модуль использует минимум зависимостей: только LWP и JSON.
A пользоваться им очень просто
Всего голосов 55: ↑48 и ↓7 +41
Комментарии 28

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Время на прочтение 14 мин
Количество просмотров 345K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Всего голосов 126: ↑116 и ↓10 +106
Комментарии 180

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №5 (5 — 11 мая 2012)

Время на прочтение 7 мин
Количество просмотров 18K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 12

Закон Евросоюза о cookies

Время на прочтение 2 мин
Количество просмотров 31K
cookie lawЗакон Евросоюза о cookies вступил в силу в 2011 году, но ICO (Information Commissioner’s Office) решили, что справедливо будет дать владельцам сайтов один год для выполнения требований закона. Крайним сроком было назначено 26 мая 2012 года. С этой даты сайты, не соответствующие требованиям закона, могут быть оштрафованы на сумму £500 000.
Читать дальше →
Всего голосов 89: ↑83 и ↓6 +77
Комментарии 157

Как правильно сортировать контент на основе оценок пользователей

Время на прочтение 5 мин
Количество просмотров 91K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →
Всего голосов 458: ↑423 и ↓35 +388
Комментарии 134

Несколько примеров применения Responsive Web Design, или Ваш сайт может и должен быть резиновым

Время на прочтение 2 мин
Количество просмотров 33K
Доброго времени суток!

Несколько дней назад, гуляя по интернету, я наткнулся на достаточно интересную подборку сайтов, которые следуют, если можно так сказать, практике под названием Responsive Web Design. В двух словах, эта практика подуразумевает создание «резинового» сайта, который будет тянуться в зависимости от размера окна вашего браузера, или же экрана вашего мобильного телефона. Итак, встречайте наших сегодняшних героев!
Осторожно! Много трафика под катом!
Всего голосов 87: ↑71 и ↓16 +55
Комментарии 71

Codeception — тестирование по-новому

Время на прочтение 4 мин
Количество просмотров 87K
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Всего голосов 75: ↑70 и ↓5 +65
Комментарии 68

Код Хэмминга. Пример работы алгоритма

Время на прочтение 4 мин
Количество просмотров 552K

Вступление.


Прежде всего стоит сказать, что такое Код Хэмминга и для чего он, собственно, нужен. На Википедии даётся следующее определение:

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

Другими словами, это алгоритм, который позволяет закодировать какое-либо информационное сообщение определённым образом и после передачи (например по сети) определить появилась ли какая-то ошибка в этом сообщении (к примеру из-за помех) и, при возможности, восстановить это сообщение. Сегодня, я опишу самый простой алгоритм Хемминга, который может исправлять лишь одну ошибку.
Читать дальше →
Всего голосов 67: ↑64 и ↓3 +61
Комментарии 33

Android. Обзор боевых приложений

Время на прочтение 2 мин
Количество просмотров 318K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →
Всего голосов 255: ↑238 и ↓17 +221
Комментарии 49

jQuery File Upload

Время на прочтение 2 мин
Количество просмотров 182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Всего голосов 215: ↑206 и ↓9 +197
Комментарии 118

Tinyicon — счетчик в favicon на js

Время на прочтение 1 мин
Количество просмотров 4.1K
Tinyicon это небольшая библиотека для манипуляции с favicon сайта для передачи информации о новых событиях. Для браузеров не поддерживающих canvas счетчик отображается в title страницы.

image

Примеры и ссылки инсайд
Всего голосов 119: ↑113 и ↓6 +107
Комментарии 30

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность