Pull to refresh
28
0
Николай Александров @dos

User

Send message

Еще несколько полезных плагинов

Reading time2 min
Views1.8K
За последний месяц, я написал уже два поста с обзорами плагинов jQuery (1 и 2). Надо сказать, что подобные статьи на английском языке появляются все чаще и чаще. Однако их содержание довольно быстро приедается. Галереи картинок, слайдеры, опять галереи картинок, многочисленные динамические меню и опять слайдеры. Мне не хочется описывать очередную порцию подобных плагинов. Поэтому сегодня я расскажу не о двадцати-тридцати как обычно, а только о семи важных на мой взгляд плагинах, о которых очень хотелось рассказать. Лучше меньше, да лучше.
Читать дальше →

Подслушиваем в AD

Reading time3 min
Views49K

Введение
Я только недавно столкнулся с виндовыми доменами (Active Directory) и познаю много нового и удивительного. Так уж получилось, что значительное количество пользователей в домене организации имеют права локальных админов (технические специалисты, программисты и другие) (ведь не редко так бывает?). Но последствия от этого колоссальны. В данной статье мы рассмотрим как можно подслушивать звуки (разговоры, переговоры) на удаленных машинах.
Читать дальше →

Evercookie — самые устойчивые куки

Reading time1 min
Views75K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →

Онлайн-мониторинг транспорта своими руками

Reading time4 min
Views96K

Всегда нравилась идея онлайн-мониторинга чего-либо на карте. И вот представилась возможность сделать нечто подобное.
Процессом и результатом разработки хочу поделиться с сообществом.
Читать дальше →

Запущен конкурс 10K Apart — создай веб-приложение в 10 Кб и выиграй $3000

Reading time1 min
Views1.3K
image

Команда Mix Online запускает конкурс для веб-разработчиков под названием 10K Apart.

По условиям конкурса, вы должны разработать веб-сайтприложение общим размером в 10К, в который входят все ресурсы: разметка, скрипты, стили, картинки и прочее. Однако, вы можете использовать одну из следующих библиотек: jQuery, Prototype и Typekit с CDN и их размер не будет засчитываться в общий размер сайтаприложения.

Работа должна представлять собой совместимый со стандартами HTML5 веб-сайтприложение, которое будет работать в IE9 Preview 3, Firefox и браузерах на базе Webkit.

Среди жюри конкурса известные люди: Jeffrey Zeldman, Eric Meyer, Nicole Sullivan, Whitney Hess, Jeremy Keith.

Победитель получит $3000, регистрацию на мероприятие An Event Apart в следующем году и книгу HTML5 for Web Designers.

На сайте конкурса представлено уже три работы.

Иконки типов файлов

Reading time1 min
Views6.3K
По просьбе гражданина dio нарисованы 25 иконок типов файлов в размерах 64х64, 48х48, 32х32 и 16х16. Иконки распространяются на условиях лицензии CC BY-ND.
Этот сет является дополнением к первому и второму бесплатным наборам.
Скачать иконки можно здесь

image

Как выучить любой язык за 3 месяца?

Reading time6 min
Views99K
Перевод статьи Тима Ферриса из его блога.

image

(Учебник Дзюдо Окано Исао, который я использовал для изучения японской грамматики)

Изучение языка не должно быть сложным.

Принципы когнитивной нейронауки и управления временем могут быть применены для достижения свободного владения языком на разговорном уровне (в данном случае определяется как 95%+ процентов понимания и 100% выразительных возможностей) в течение 1-3 месяцев.

Время прочтения: 15 минут

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views257K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности

Древовидное облако тэгов

Reading time2 min
Views2.6K
Долгое время любил и люблю нативный javascript без всяких примочек и рамочек. Однако фреймворки — вещь полезная!
По долгу службы полюбил jQuery, и пусть судорожно вздохнут все противники, а холивары с завистью потрут руки, но для меня это хоть и не было любовью с первого взгляда — теперь $() в моем сердце.
И, чтобы не быть эгоистом, делюсь со всеми своим первым публичным плагином — hcloud
Древовидное облако тэгов

Резюме для Google

Reading time2 min
Views25K
Нина Цепляева, Рекрутер на инженерные позиции, Google Россия

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

#1 Не пишите мало. Не пишите много.
Идеальное резюме — это 1-2 страницы текста, из которых сразу понятно, что знает и умеет делать человек.
Старайтесь максимально конкретно обрисовать ваш опыт работы за последние 5-7 лет. Используйте только факты.
Не пишите сочинение: оно “отяжелит” резюме и нам сложно будет отделить важное от очень важного.
Не пишите о том, в чем не очень хорошо разбираетесь. На собеседовании наши инженеры могут начать задавать вам вопросы по предметам, с которыми вы не очень хорошо знакомы, и это негативно скажется на оценке вас как кандидата.

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

#3 Образование и опыт.
Начнем со структуры: располагайте события от нового к старому. Текущее место работы на странице должно находиться над предыдущим.
Попытайтесь перечислить только самые значимые проекты, самые важные и интересные, которыми хотелось бы гордиться. Опишите цель проекта, используемые технологии, вашу роль в нем, его длительность и результат.
Перечисляя компании, где вы работали, расскажите нам, пожалуйста, чем эти компании занимаются, по возможности укажите ссылки на корпоративные сайты.
Укажите, где вы получили образование, на каком факультете учились в ВУЗе, какой у вас средний балл в дипломе.
Если у вас имеются публикации, расскажите нам о них.

#4 Достижения.
Если вы участвовали в олимпиадах или каких-либо научных соревнованиях, напишите нам о них: что за мероприятие, какое место вы заняли.
Если вы придумали что-то новое (какую-нибудь программу, алгоритм, изобрели велосипед, самопропалывающиеся грядки, самоналивающийся кофе и т.п.), обязательно расскажите нам об этом. Мы очень ценим кандидатов, способных придумать что-то новое и воплотить это в жизнь.
Помните, что для нас важны ваши способности, ваши знания и опыт, а не громкие названия занимаемых должностей. Если вы любите заниматься разработкой и никогда не были менеджером, не стесняйтесь этого! Многие люди не хотят управлять другими и являются при этом прекрасными специалистами в своей области.

#5 Увлечения.
Расскажите нам о своих хобби и увлечениях — о том, как вы проводите своё свободное время, чем интересуетесь, какие книги любите читать, на каких инструментах играете.

Для подачи резюме в Google нужно составить его на английском языке и отправить, перейдя по ссылке: Software Engineer — Moscow

Разговорный английский язык — это обязательное требование ко всем кандидатам, подающим резюме в Google.

SMS-уведомления из Nagios малой кровью

Reading time2 min
Views17K
Стоял как-то раз админ в курилке и думал — а как бы ему так в нерабочее время вдали от компьютера и интернетов узнать, что на каком-то из его серверов проблема возникла. Можно конечно посадить студента за монитор с Nagios, чтоб он если что звонил админу и говорил «Тут красненькое что-то появилось»… Стоп. Звонил. На мобильный. Нафиг студента, SMS можно получать. На этом мысль остановилась и админ пошёл пить кофе. Потом вернулся и сел за рабочее место, где в браузуре был загружен Google Calendar… и решение пришло само.
Решение

Fugue Icons 2.9.3a

Reading time1 min
Views2.4K
image

Совсем недавно существенно обновился набор замечательных иконок Fugue Icons от Yusuke Kamiyamane. Теперь их 2,926 (16х16) + 210 (24х24) + 46 (32х32) = 3182 качественные иконки для вашего сайта. В архиве также имеется версия без теней.

Лицензия Creative Commons Attribution 3.0 позволяет использовать иконки в любых целях со ссылкой на автора.

Превью 3Mb
Архив 4.9Mb
Архив+исходники 24.8Mb

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

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

Плагин для отображения таблицы с данными. FlexiGrid

Reading time8 min
Views8.1K
Таблицу мы будем делать используя jQuery-плагин «FlexiGrid».
Более чем уверен, что опытные программисты уже знакомы с этим плагином, но как показывает опыт, некоторые все же не знают о подобных вещах.
Читать дальше →

Highcharts: Красивые, динамические чарты за 5 минут!

Reading time2 min
Views67K
image
Highcharts — библиотека для создания чартов написанная на JavaScript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих и многих других типов.

Чарты работают со всеми популярными браузерами, включая Safari на iPhone.
Минимальная версия для IE составляет 6+. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Читать дальше →

ExtJS. Изложения в примерах

Reading time1 min
Views4.9K
Хотел бы начать знакомить всех с фреймворком ExtJS. Оказывается, все не так сложно как может показаться…

1. [ExtJS] :: Часть 1. Вводная. Модель DOM и типы данных в ExtJS
2. [ExtJS] :: Часть 2. Основы пользовательского интерфейса в ExtJS
3. [ExtJS] :: Часть 3. Загрузка, проверка и обработка форм в ExtJS
4. [ExtJS] :: Часть 4. Работа с выпадающими списками и календарем
5. [ExtJS] :: Часть 5. Отображение и редактирование табличных дан
6. [ExtJS] :: Часть 6. Обзор таблиц и списков
7. [ExtJS] :: Часть 7. Вкладки и деревья

Ссылка на ресурс тут

Пока все.

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

PS. С НАСТУПАЮЩИМ!!!

Загрузка браузером нескольких файлов

Reading time5 min
Views30K
Если нужно дать пользователю возможность загрузки нескольких файлов, традиционное решение на данный момент — использовать для этой цели Flash (реже — Java applet или ActiveX). В случае, если соответствующий плагин недоступен, пользователю, как правило, показывают стандартный HTML-элемент для загрузки файла.

Последнюю ситуацию можно улучшить, если использовать встроенную в браузеры возможность множественной загрузки файлов. Из всех браузеров сейчас данную возможность не поддерживает только Internet Explorer (впрочем, мы ещё не видели девятую версию, может там что-то изменится), остальные браузеры — Opera 9 и выше (а так же версии 3.5—6.05), Firefox 3.6+, Chrome 3.0.191.0+ и Safari 4.0.1+ такую возможность предоставляют.

Достаточно написать что-то вроде
Copy Source | Copy HTML
  1. <form enctype="multipart/form-data" method="post">
  2.    <input type="file" min="1" max="9999" name="file[]" multiple="true" />
  3.    <input type="submit" name="submit" />
  4. </form>
PHP оказался готов к такой конструкции (именно для него в параметре «name» стоят квадратные скобки), он просто разложит загружаемые файлы по элементам массива $_FILES, если только мы не используем «Оперу».

К сожалению, «Опера» (ещё с версии 3.5) отправляет, при использовании мультизагрузки, файлы в контейнере «multipart/mixed», который PHP не понимает.

Я попробовал исправить эту ситуацию.
Читать дальше →

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

Календарные типы данных в MySQL: особенности использования

Reading time6 min
Views83K
В MySQL 5 есть несколько типов данных для хранения даты и времени. Это TIMESTAMP, DATE, DATETIME, TIME и YEAR. Все они обладают своими особенностями, и выбор в пользу того или иного календарного типа должен производиться отдельно в каждой конкретной ситуации. Я хотел бы поделиться с вами результатом моего сегодняшнего миниисследования этих типов, в том числе в аспекте работы с временными зонами.


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

Information

Rating
9,915-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity