Поиграемся с HTML5 history API


Никакой военной тайны в статье не открою, но открою глаза для тех, кто не работал с history API. Чтобы понять нужно вам или нет, просто кликните сюда и понаблюдайте за адресной стройкой браузера. Если эта возможность не удивила – можете дальше не читать статью. (Прошу обратить внимание: мы меняем содержание адресной строки без перезагрузки страницы, это важно)

Continue reading

Избавляемся от Facebook рекламы c Greasemonkey

Для тех, кто может не знает, расскажу что для FF есть прекрасный аддон Greasemonkey, который позволят выполнять дополнительный javascript для страницы, тем самым позволяя ее изменять под наши нужды.

Continue reading

Anycase Timer

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

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

Кому интересны детали – можно покопаться в исходниках: для реализации использовал localStorage.

Примеры задач на собеседование для старших разработчиков

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

Continue reading

Пишем свой Uploader с нуля на javascript используя FileApi. Часть4

В частях 1, 2, 3 мы научились читать файлы с диска.Теперь попробуем разобрать процесс отправки файлов на сервер с помощью технологии ajax.

В начале вспомним как работать с аяксом для передачи файла на сервер:

  1. Метод передачи будет POST
  2. Обязательно нужно будет указать Content-Type, а именно multipart/form-data
  3. Правильно сформировать само тело сообщения

Получим следующий код(по пунктам):

var request = new XMLHttpRequest(); 
request.onreadystatechange = ajaxReady; 
request.open('POST', 'uploader.php', true); // (1)
request.setRequestHeader('Content-Type', contentType); // (2)
request.sendAsBinary(createTestMsg()); // (3)

Continue reading

Пишем свой Uploader с нуля на javascript используя FileApi. Часть3

В этой части мы рассмотрим ключевой момент: чтение файла частями – это очень важно при отправке больших файлов( от 400-700МБ ), т.к. если мы будем пытаться их читать целиком – это вызовет дикие тормоза браузера.

Continue reading

Пишем свой Uploader с нуля на javascript используя FileApi. Часть2

Вот и созрело продолжение первой части, где мы разобрались как можно использовать родной объект FileReader для чтения файла.

Давайте еще добавим прогресс чтения файла для нашего загрузчика. Для этого зададим callback метод для FileReader:

reader.onprogress = updateProgress;

Continue reading

Вторая встреча ThinkPHP.

ThinkPHP#2 или подумаем о PHP еще раз. Хотя (просматривая темы докладов), думать-обсуждать в этот раз мы похоже PHP не будем, будем думать о JavaScript, что тоже хорошо.

Итак посмотрим что у нас есть по докладам:

Continue reading

Пишем свой Uploader с нуля на javascript используя FileApi. Часть1

Отметим ключевые моменты, которые нас интересуют по FileApi:
– у input с атрибутом type=”file” теперь есть свойство files(массив объектов класса File)
а объект класса File содержит следующие свойства:
name — имя файла
type — MIME тип файла
size — размер в байтах

Continue reading

node.js вместе c модулем socket.io

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

npm install socket.io

Continue reading