Pull to refresh
35
Michael Kechinov @mkechinovread⁠-⁠only

User

Send message

Лучшее видео, которое я видел сегодня, заставит вас улыбаться

Reading time1 min
Views2.4K
Если это видео не заставляет вас улыбаться на оставшуюся часть дня, то вы ублюдок (перевод от слова bastard, не принимайте близко к сердцу, это не оскорбление) с холодным сердцем. Смотрите его от начала до конца и вы не пожалеете об этом.


Это сингл Stand By Me был записан неизвестными уличными музыкантами со всего мира при помощи виртуальной студии. Все началось с базового трек-вокала и гитары, записанных на улице Санта-Моника, Калифорния, уличным музыкантом Роджером Ридли. Базовая дорожка была затем отправлена в Нью-Орлеан, штат Луизиана, где слепой дед Эллиот (певец из французского квартала) добавил уже свой вокал и гитару, слушая записанный Ридли трек через наушники. В том же городе были добавлены звуки стиральной доски Чаза.

После этого данный трек был провезен через многие страны Европы, Африки и Южной Америки. Везде добавлялись множественные семплы инструментов и вокала, которые были собраны в окончательном варианте, который вы видите сейчас. Все делалось при помощи обычных ноутбука и микрофонов.

Взято отсюда, Оригинал сообщения.
UPDATE: Перенесено в блог «Звук и музыка»
UPDATE: Сайт всего проекта — www.playingforchange.com (спасибо xabk)
Total votes 232: ↑180 and ↓52+128
Comments147

Безопасный JSONP? Интересная особенность Bing API

Reading time3 min
Views1.8K
Я только что изучил API нового поисковика Bing от Microsoft (который фактически является ребрендингом Live Search, также с переключением на «просмотр с малой полосой пропускания», чтобы иметь возможность использовать документы более гибко), и нашёл интересный финт для защиты кода от выброса исключений.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments17

Хостинг на AWS (EC2, EBS, S3) для чайников

Reading time4 min
Views139K
На хабре уже проскакивали периодически заметки посвященные AWS (Amazon Web-Services) — так что тема не новая. Однако, если для меня лично (да и для многих моих знакомых как выяснилось) — этот термин был знаком — однако каких-либо деталей я не знал. Попробую на основании только-что полученного опыта рассказать немного подробней, а так же изложить основные шаги по организации хостинга сервера на AWS и его преимущества. Как и несколько ссылок, которые могут оказаться полезными.
image
Читать дальше →
Total votes 101: ↑98 and ↓3+95
Comments62

Рисоваська, часть 3: Амазоновские веб-сервисы в действии

Reading time10 min
Views36K
В данной статье я расскажу, что же такое Amazon Web Services или сокращенно AWS, для чего это можно использовать, и приведу пошаговую инструкцию, как настроить их у себя с самого начала. В статье основной упор будет сделан на Amazon Elastic Compute Cloud или EC2 и Amazon Simple Storage Service или S3. Amazon CloudFront, являющийся логическим продолжением S3, хорошо рассмотрен в статье mish: Настраиваем CloudFront для работы с S3. С остальными амазоновскими сервисами вы можете познакомиться самостоятельно: Amazon SimpleDB, Amazon Simple Queue Service или SQS, а также другими сервисами Амазона. Данная статья является продолжением первой и второй статей. Итак:

Что такое Amazon Web Services


Это набор удобных сервисов, которые можно использовать как по отдельности, так и вместе. В первую очередь это «облачные вычисления» (анг. Elastic Compute Cloud). Что это значит? Это значит, что вы можете запустить в «облаке» любое кол-во компьютеров нужной вам конфигурации c нужной вам операционной системой всего за пару минут. Это действительно так. Время запуска одного инстанса (instance называется один виртуальный сервер в амазоне) обычно не превышает двух минут. Сразу после запуска инстанс начинает работать, к нему есть root-доступ по SSH или Remote Desktop, если там установлен Windows. Не правда ли, здорово! С момента запуска оплата за инстанс идет по часам. В любой момент вы можете остановить инстанс и деньги за его использование перестанут сниматься. Помимо времени работы инстанса, так же отдельно оплачивается входящий и исходящий трафик.
Читать дальше →
Total votes 101: ↑98 and ↓3+95
Comments51

Zend Framework: подключаем OpenID

Reading time8 min
Views2.1K
В своем проекте (Вопросы и ответы для программистов) на Zend Framework мне стало необходимо подключить OpenID и после часа работы я успешно подключил стандартный зендовский сервис. Думаю класс, как легко и удобно(как и все в зенде), но как оказалось этот сервис не работает с OpenId 2.0, да — он просто не дописан.

Немного порывшись в исходниках я это подтвердил — Consumer.php * todo OpenID 2.0 (7.3) XRI and Yadis discovery
Потом посмотрел по багтрекеру и оказалось что это весит уже давно(очень) и никто не спешит доделывать. Тогда я и начал искать альтернативу. Выбор попал на openidenabled.com/php-openid.

Далее приведу пример, который позволит тем кто еще только собирается подключать сделать это минут за 15.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments28

Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

Reading time3 min
Views33K
Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта).
Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи — у Вас, скорее всего, на VPS эти же грабли.

В статье — почему и как это работает.

Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments45

Закрепляем jQuery — 25 отличных советов

Reading time19 min
Views168K
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию jQuery, так и тем, кто уже какое-то время с ним работает. А кого-то, возможно, заставит глянуть эту чудесную библиотечку. Многие советы имеют отношение не только к jQuery, но и к JavaScript в целом. Лично для меня была весьма и весьма познавательной, посему и захотелось донести это «до масс». Перевод не дословный, но передающий смысл и максимально адаптированный к русскому языку.

Далее все написано от имени автора оригинальной статьи.

Введение


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

Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).

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

Содержание


  1. Загружайте фреймворк с Google Code
  2. Используйте «шпаргалку» (cheat sheet)
  3. Соединяйте все ваши скрипты и уменьшайте размер файла
  4. Используйте возможности Firebug для ведения логов
  5. Минимизируйте операции выборки в пользу кэширования
  6. Сводите манипуляции с DOM-деревом к минимуму
  7. Оборачивайте все в единый элемент, когда речь идет о любой вставке в DOM
  8. Используйте «id» вместо классов, где это возможно
  9. Задайте контекст своим селекторам
  10. Используйте последовательности вызовов методов с умом
  11. Научитесь правильно использовать анимацию
  12. Научитесь назначать и делегировать события
  13. Используйте классы для сохранения состояния
  14. Еще лучше — используйте встроенный в jQuery метод data() для сохранения состояния
  15. Пишите собственные селекторы
  16. Подготавливайте HTML и модифицируйте его, когда страница загружена
  17. Используйте «отложенную загрузку» (lazy loading) для определенного контента для выигрыша в общей скорости и преимуществ для SEO
  18. Используйте служебные функции jQuery
  19. Используйте «noconflict» для переименования глобального объекта «jquery», когда используете его с другими фреймворками
  20. Как узнать что картинки загружены?
  21. Всегда используйте последнюю версию
  22. Как проверить, что элемент существует?
  23. Добавляйте класс «JS» в элемент «html»
  24. Возвращайте «false» для отмены поведения по-умолчанию
  25. Короткая запись для события готовности документа


Rock'n'Roll!
Total votes 188: ↑182 and ↓6+176
Comments109

Элементарный Bash скрипт для резервного копирования данных

Reading time3 min
Views55K
Привет хабралюди, сейчас я расскажу как можно немного автоматизировать рутиную работу по подготовке бэкапов.

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

Читать дальше →
Total votes 53: ↑43 and ↓10+33
Comments63

DNS Amplification (DNS усиление)

Reading time6 min
Views93K
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →
Total votes 179: ↑179 and ↓0+179
Comments61

Памятка дизайнеру сайтов

Reading time10 min
Views245K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

Читать дальше →
Total votes 453: ↑444 and ↓9+435
Comments231

Общий обзор стандартных средств наблюдений за системой

Reading time5 min
Views16K
Уровень сложности: начальный

Вводный обзор стандартных инструментов GNU/Linux должен помочь начинающим пользователям Linux контроллировать работу ОС. Используемые приложения, как правило, включены в поставку известных дистрибутивов. Полезным побочным эффектом я считаю возможность сориентировать молодых системных и сетевых администраторов в условиях [подозрения] компрометации.
Читать дальше →
Total votes 81: ↑76 and ↓5+71
Comments88

Работаем с менеджерами удаленно

Reading time4 min
Views5.7K
Мы с вами живем в России, и гордимся тем, что наша страна самая большая в мире! Невероятно огромный кусок планеты, позволяет охватить очень большое количество клиентов. Кто знает, может именно ваш клиент находится в Хабаровске, пока вы ищете его в Питере. В 21-ом веке, расстояние потеряло некоторую силу, и общение теперь доступно вне зависимости от расстояния, но вот прежде чем общаться с клиентом, его надо найти, да и общаться по инету с клиентом не всегда просто. Отсюда вывод: что бы организовать нормальную работу с клиентом из другого города, вам, в этом городе, нужен свой человек. То есть – менеджер. В этой статье я попытаюсь рассказать как отыскать менеджеров в разных уголках нашей страны, и наладить работу с клиентами через них. Все написанное далее относиться к организации работы web-студий.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments58

Плагин для быстрой смены кодировки открытого файла в Gedit

Reading time2 min
Views23K
В Gedit есть возможность выбирать кодировку файла при его открытии. И при открытии файлов вкодировке отличной от системной в Gedit, возникают проблемы кракозябры. Вроде бы есть и автоопределение кодировки, но оно у меня ни разу не работало :-(.
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments38

Издержки больших проектов или взгляд на программирование в команде изнутри

Reading time1 min
Views3.8K
Ни для кого не секрет, что разработка больших программных продуктов требует не только эффективного руководства, но и эффективных процессов, которым следуют все разработчики. На примере своей компании я постараюсь описать жизненный цикл проекта и цену его разработки и поддержки. Те, кто работает в небольших командах из нескольких человек, смогут сравнить и представить, что их ждет при увеличении штата или же чего они избежали, если расширяться не планируют. А в комментариях можно покритиковать, указать на ошибки и предложить альтернативы.

Итак, собственно, к делу.

Мы занимаемся системами электронной биржевой торговли, аналитикой рынка и поставкой маркет-данных в реальном времени. К таким системам предъявляются повышенные требования по надежности — каждая ошибка может привести к потере больших денег.
Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments112

Багтрекингус: Оригами для прожектменеджера

Reading time2 min
Views3.7K

Когда несколько человек начинают работать над задачами, сложнее чем «Домашняя страничка Пети», пренепременно возникает ситуация, когда держать в голове все мысли, идеи и планы их осуществления становится невозможно. Тогда покупается бумага, разноцветные маркеры, и идеи начинают записываться, зачёркиваться и раскрашиваться. Возможно, для простых проектов этого достаточно, но с возрастанием сложности, есть риск превратить своё рабочее место в фабрику по переработке бумажных отходов.
Читать дальше →
Total votes 111: ↑97 and ↓14+83
Comments49

Сила и красота декораторов

Reading time5 min
Views83K
Одним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.

Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.

Читать дальше →
Total votes 98: ↑97 and ↓1+96
Comments30

Краткая инструкция по управлению заказчиками

Reading time3 min
Views2.5K
Довольно часто коллеги жалуются на заказчиков. Мол, совсем от рук отбились, подонки! Ничего делать не хотят.

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

Первое, что нужно запомнить: заказчики на самом деле полезные (и не идиоты, нет).
Второе: заказчик, на самом деле, такой же ресурс, как программист или дизайнер.
Третье: основная задача менеджера проектов (мы-то с вами знаем кто на самом деле рулит вселенной (дьявольский смех)) – научиться управлять заказчиком так же эффективно, как программистами.

Читать дальше →
Total votes 95: ↑84 and ↓11+73
Comments69

Горизонтальное масштабирование PostgreSQL с помощью PL/Proxy.

Reading time9 min
Views28K
Очень тяжело начать писать статью. Т.е очень тяжело придумать вступительное слово. Хочется рассказать обо всём и сразу :) Но нет. Будем последовательны.
Начну с того что совсем недавно проходил Highload++ 2008 на котором мне удалось побывать.
Скажу сразу — мероприятие было проведено по высшему клаcсу, докладов было много и все были очень интересными.
Одной из самых запомнившихся презентаций была лекция Аско Ойя об инфраструктуре серверов баз данных в Skype. Лекция в большей степени касалась различных средств с помощью которых достигается такая производительность серверов.
По словам Аско, база данных Skype выдержит даже если все жители Земли захотят подключится к скайп в один момент.

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

UPD: Как правильно заметил хабраюзер descentspb в статье присутствует досаднейшая ошибка. В следствие своей невнимательности я подумал что PgBouncer надо устанавливать между прокси и клиентом. Но, как оказалось, та проблема которую я решал с помощью PgBouncer не решится если установить его именно так. Правильнее надо устанавливать боунсер между нодами и прокси. Мало того, именно так и рекомендуется делать в оффициальном мануале на сайте PL/Proxy.
В любом случае использование PgBouncer так как указано на моей схеме также даст прирост производительности. (Разгрузит Proxy).


Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments46

Запуск проекта на разных хостах

Reading time4 min
Views3.6K
Наверное, каждый разработчик встречался с задачей запуска одного проекта на разных компьютерах. В простом случае это машина разработчика и «боевой» сервер. Ещё сложнее ситуация, если в разработке участвуют несколько человек, и у каждого свои настройки.

Сложность здесь в том, что разное окружение (доступ к БД, расположение файлов и проч.), будучи «жестко» прописанным в файле конфигурации, заставляет нас постоянно этот файл править. Кроме того, файлы настроек часто заливаются в репозиторий, и после очередного обновления кода у вас всё перестаёт работать.

Для решения проблемы я использовал два метода.
Читать дальше →
Total votes 35: ↑26 and ↓9+17
Comments50

Предпроектная документация: что это и почему она так важна?

Reading time4 min
Views18K
Среди моих знакомых нет ни одного, кто любил бы писать технические задания или что-то вроде этого. Чертить на салфетках планы захвата вселенной, собирать лэйауты из разноцветных стикеров, шлифовать концепцию в голове и на словах – это все любят и умеют делать, а вот сесть и как следует записать…
Меня, например, любой шаблон серьезного документа погружает в глубочайшую тупку.

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

Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments52

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity