Как стать автором
Обновить
0
0
Сергей @sergeantxp

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

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

Яндекс убил сервис Подписки

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


Сегодня Яндекс убил сервис Яндекс.Подписки. Несмотря на то, что о нём гордо писали во время закрытия Google Reader, мол — мы остаёмся, теперь сервис убит и всех насильно перетащили в Яндекс.Новости.

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

API, пока что, работает, через него ещё можно спасти непрочитанное. Сдаётся мне, что его тоже убьют.

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

Пост в Блоге Яндекс.Почты с анонсом.

UPDATE: с 31 марта закрыт и API сервиса.
Всего голосов 64: ↑52 и ↓12 +40
Комментарии 96

Google Reader закрывают

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


Google в официальном блоге, а также на самом сайте Google Reader объявил о закрытии сервиса.

Среди причин было названо желание сфокусироваться на основных продуктах и улучшить их.
Дата закрытия сервиса: 1го июля 2013.

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

P.S. Среди онлайн альтернатив сервиса могу назвать Яндекс.Ленту и NetVibes.
Предложите свою альтернативу в комментариях.

UPD: Вы можете подписать петицию Keep Google Reader Running
Всего голосов 243: ↑222 и ↓21 +201
Комментарии 475

Изучение английского языка с помощью параллельных переводов

Время на прочтение 2 мин
Количество просмотров 71K
Изучение английского языка — дело непростое и небыстрое. Хотя этот язык и считается одним из самых простых и прозрачных для изучения, но в действительности прозрачен в английском языке только синтаксис. Специфика произношения английских слов и наличие большого количества идиом значительно усложняют изучение этого языка. Если при разговоре на русском языке основную роль играют согласные, то при разговоре на английском языке основное внимание уделяется гласным.

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

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

На сайте getParallelTranslations.com процесс изучения английских слов с помощью параллельных переводов выглядит следующим образом.

Есть набор художественных книг. На данный момент их около пятидесяти. Вы можете выбрать любую из книг для изучения английского языка.
Каждая книга разбита на предложения как показано на рисунке ниже.
Читать дальше →
Всего голосов 63: ↑62 и ↓1 +61
Комментарии 67

25 полезных шорткатов для Photoshop

Время на прочтение 3 мин
Количество просмотров 187K
Здравствуй, дорогой хабрадруг! В этой статье приводятся 25 самых полезных сочетаний клавиш (шорткатов) в Photoshop, которые вы можете использовать, для того чтобы ускорить выполнение вашей работы. Некоторые из них редко упоминаются, некоторые применяются довольно часто, а некоторые вообще доступны только в Photoshop CS5. Я надеюсь, что каждый из вас найдет новые и полезные шорткаты в этой статье. Итак, давайте же начнем!


Читать дальше →
Всего голосов 126: ↑103 и ↓23 +80
Комментарии 76

Работа с WebMoney API

Время на прочтение 4 мин
Количество просмотров 54K
WebMoney Transfer уже давно является для многих привычным способом расчётов в интернете. Одним из достоинств системы является богатый API для взаимодействия со программным обеспечением сторонних сервисов. Через него можно получать состояния ваших счетов, осуществлять денежные переводы, выставлять клиентам счета на оплату, контролировать их оплату, возвращать платежи без комиссии, работать с платежами с протекцией, получать информацию из аттестатов других пользователей, отправлять сообщения по внутренней почте WM. На сайте WebMoney есть хорошая документация на API.

Вашим покорным слугой написан модуль Business::WebMoney, который распространяется по свободной лицензии и получил статус официального Perl-интерфейса системы.
Читать дальше →
Всего голосов 45: ↑37 и ↓8 +29
Комментарии 34

Миграция с Ruby

Время на прочтение 5 мин
Количество просмотров 8K
imageУверен, что на Хабре обитает огромное число юзеров, облизывающихся при чтении описаний технологий и архитектур, используемых в молодых, динамичных и, что наиболее важно, быстрорастущих в своей пользовательской базе, компаний. К сожалению, относительно небольшое количество наших соотечественников работает в таких компаниях по всему миру, а те, кто все-таки трудится во внутренней кухне, связаны различными условиями трудовых договоров или банальным NDA, запрещающим сливать публике самые интересные подробности. Тем не менее, я лично знаю большое количество специалистов, особенно заинтересованных в высоких нагрузках и не знающих, где получить эту информацию из первых рук.

Эту проблему можно решить единственным способом — предоставить слово кому-то из менеджеров отдела разработки или любому другому человеку, занимающему адекватно высокий пост и разбирающемуся в разработке, а после — тянуть, тянуть из него все подробности. Примерно так поступили в Information Queue, опросив одного из инженеров Twitter'а — Эвана Уивера (Evan Weaver) о том, почему компания так долго развивавшаяся на «рельсах», решила переключиться на использование других технологий и какие это имело последствия.

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

Итак, история начинается в прошлом году, когда Twitter анонсировал изменения в архитектуре бэкэнда (message queue), а так же заявил о намерении переписать Twitter Storage на Scala, а весной началась работа по переписыванию всего поискового движка. Как часть этих изменений, БД MySQL (лежавшая в основе поиска) была заменена Lucene. И, наконец, совсем недавно команда разработчиков заявила о замене Ruby on Rails в области поиска — на его место встал Java-сервер, который они сами называют Blender. Результатом этой замены стало трехкратное снижение задержки при выполнении поискового запроса.
Читать дальше →
Всего голосов 72: ↑65 и ↓7 +58
Комментарии 82

Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

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

Введение


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

В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.

Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Читать дальше →
Всего голосов 272: ↑232 и ↓40 +192
Комментарии 378

Screen — текстовый оконный менеджер

Время на прочтение 4 мин
Количество просмотров 31K
Людям, которые в Линуксе часто работают с консолью приходилось сталкиваться с проблемой необходимости нескольких терминалов, например в одном из них пользователь правит текстовый файл, а в другом идет компиляция программы. Существует много способов решения данной проблемы, например открыть несколько псевдо-терминалов или открыть несколько вкладок. В данной статье я хотел бы рассмотреть способ, не связанный с каким-то конкретным терминалом: использовать консольный оконный менеджер Screen.

Итак, что же представляет из себя Screen?

Читать дальше →
Всего голосов 48: ↑46 и ↓2 +44
Комментарии 38

Хранение паролей в Android

Время на прочтение 8 мин
Количество просмотров 117K
Предисловие: Этот обзор был написан после прочтения топика “Свободный Android — золотая жила для Google” и комментариев к нему. Автору перевода данного топика я хочу сказать свое спасибо.
Кроме того, хочу поблагодарить форум androidfan.ru за их ветку с описанием приложений, где собственно и были найдены рассматреваемые экземпляры.

История вопроса



Два года назад, 21 октября 2008 года мобильная платформа Android перестала быть лишь виртуальной основой для разработчиков и вышла в реальный мир в образе коммуникатора T-Mobile G1 (HTC Dream). С момента первого выхода система претерпела множество изменений, как по качеству кода, так и по количеству возможностей, предоставляемых ей. Однако, как справедливо было замечено некоторыми хабровчанами, качество и популярность платформы зависят не только от интенсивности ее разработки и качества собственного кода, но и от приложений, которыми она позволяет пользоваться.

Кроме того, если вы любите обращать внимания на маленькие детали, то могли заметить, что Android, как операционная система, быстро приобрел большую популярность не только у простых пользователей, но также и у производителей мобильных устройств – ведь они достаточно быстро стали выпускать коммуникаторы бизнес-класса.
Осторожно, много скриншотов!
Подробнее о хранении паролей
Всего голосов 54: ↑43 и ↓11 +32
Комментарии 95

Cookies внутри iframe — проблема при создании приложения ВКонтакте/Facebook

Время на прочтение 5 мин
Количество просмотров 56K
Управление сессиями при помощи посылки cookies на сайтах стало настолько распространено, что без этого не обходится, наверное, ни один проект, требующий авторизации пользователей. Казалось бы, механизм настолько изучен, что проблемы с ним просто немыслимы.

Так считали и мы при разработке iframe-приложения для ВКонтакте.
Но после того, как приложение было разработано (разработка велась в основном в Mozilla Firefox и Google Chrome), выяснилось, что оно неработоспособно в Internet Explorer, к которому позднее присоединились последние версии Opera и Safari.

Под катом подробное описание проблемы и вариантов её решения.
Читать дальше →
Всего голосов 59: ↑54 и ↓5 +49
Комментарии 45

Как находить и устранять утечки памяти на примере Яндекс.Почты

Время на прочтение 8 мин
Количество просмотров 65K
На первый поверхностный взгляд, слова JavaScript и «утечка памяти» рядом стоять не могут. Настоящих утечек памяти в JS, конечно, не может быть, потому что процесс сборки мусора происходит автоматически и не может контролироваться из нашего кода. Выделить память под объект и забыть освободить невозможно. Но могут быть ситуации, связанные с ошибками в логике работы приложения, которые приводят к утечкам памяти другого рода. Например, забиндили обработчик, в котором что-то делаем с методами общего объекта и забыли его анбиндить. Или же посылаем письмо с большим телом и не очищаем тело даже после отправки.

image

Мы в Яндекс.Почте, сложном и массовом проекте, накопили заметный опыт в поиске и устранении таких утечек, и хотим им поделиться.
Итак, больше подробностей
Всего голосов 147: ↑143 и ↓4 +139
Комментарии 13

База GeoIP – страны и города, сентябрь 2013

Время на прочтение 2 мин
Количество просмотров 70K
Вышла в свет обновленная версия русскоязычной базы данных стран и городов.

База распространяется в двух модификациях: «Страны и города» (13Mb, после установки ~74Mb)  и «Только страны» (2Mb, после установки ~9Mb). Также в архивах находится небольшой пример использования базы данных на php.
Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Комментарии 31

Сниппеты для Chrome DevTools

Время на прочтение 5 мин
Количество просмотров 31K
Возможности встроенного в браузер инструмента Chrome Developer Tools можно расширить с помощью сниппетов. Это ускоряет разработку и упрощает рабочий процесс. Хорошая коллекция сниппетов есть на GitHub'е.

Сниппеты в Google Chrome


Подробно о функциях сниппетов можно почитать в официальной документации Chrome. А вот краткая инструкция:

  1. Зайти в «chrome://flags» — Отметить «Enable Developer Tools experiments».
  2. Открыть DevTools: «Settings» — «Developer Tools Experiments» — Отметить «Snippets support».
  3. После перезагрузки во вкладке DevTools «Sources» появится «Snippets», где можно управлять сниппетами:

image
Читать дальше →
Всего голосов 51: ↑49 и ↓2 +47
Комментарии 13

7 рефакторингов для больших ActiveRecord — моделей

Время на прочтение 9 мин
Количество просмотров 13K
От переводчика: предлагаю вашему вниманию вольный перевод статьи из блога Code Climate под названием 7 Patterns to Refactor Fat ActiveRecord Models.
Code Climate — мощное средство анализа качества кода и безопасности Ruby on Rails — приложений.

Введение


Когда разработчики начинают использовать Code Climate для улучшения качества их Rails-кода, им приходится избегать «распухания» кода их моделей, так как модели с большим количеством кода создают проблемы при сопровождении больших приложений. Инкапсуляция логики предметной области в моделях лучше, чем помещение этой логики в контроллеры, однако такие модели обычно нарушают Принцип единственной обязанности (Single Responsibility Principle). К примеру, если поместить в класс User все что относится к пользователю — это далеко не единственная обязанность.
Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 12

Алгоритм генерации хода для игры Эрудит

Время на прочтение 6 мин
Количество просмотров 20K
image

Доброго времени суток, хабр!

В этой статье я расскажу о том, как я создавал искусственный интеллект для игры Эрудит. Подробности под катом.
Читать дальше →
Всего голосов 30: ↑27 и ↓3 +24
Комментарии 6

Поиск подстроки. Алгоритм Кнута–Морриса-Пратта

Время на прочтение 3 мин
Количество просмотров 87K
В задачах поиска информации одной из важнейших задач является поиск точно заданной подстроки в строке. Примитивный алгоритм поиска подстроки в строке основан на переборе всех подстрок, длина которых равна длине шаблона поиска, и посимвольном сравнении таких подстрок с шаблоном поиска. По традиции шаблон поиска или образец принято обозначать как needle (англ. «иголка»), а строку, в которой ведётся поиск — как haystack (англ. «стог сена»). На языке Python примитивный алгоритм выглядит так:

index = -1
for i in xrange(len(haystack)-len(needle)+1):
    success = True
    for j in xrange(len(needle)):
        if needle[j]<>haystack[i+j]:
            success = False
            break
    if success:
        index = i
        break
print index


Обозначим n=|haystack|, m=|needle|. Простейший алгоритм поиска даже в лучшем случае проводит n–m+1 сравнений; если же есть много частичных совпадений, скорость снижается до O(n*m).

Рассматриваемый далее алгоритм хотя и имеет невысокую скорость на «хороших» данных, но это компенсируется отсутствием регрессии на «плохих». Алгоритм Кнута-Морриса-Пратта является одним из первых алгоритмов с линейной оценкой в худшем случае.
Читать дальше →
Всего голосов 46: ↑29 и ↓17 +12
Комментарии 16

Много бесплатных книг по программированию

Время на прочтение 7 мин
Количество просмотров 345K
Читать дальше →
Всего голосов 202: ↑192 и ↓10 +182
Комментарии 42

Cookie без куков

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

Отслеживание



Как мы обычно отслеживаем посетителей сайта? Одним из следующих методов:

  • cookies
  • javascript
  • local storage
  • flash, java, иные плагины
  • ip-адрес и UserAgent


Допустим, пользователь отключил всё это (и ходит через прокси или даже vpn). Есть ли способ всё-таки его отследить?
Оказывается — да. Это кэш браузера.
Читать дальше →
Всего голосов 132: ↑110 и ↓22 +88
Комментарии 27

Не верьте своему мозгу

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


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

Память обманчива


Сегодня человеческий мозг пытается сфокусироваться на множестве проблем ежедневно, но он не готов к этому. Не так давно человека волновали дикие животные, которые могли его съесть, а не переполненная электронная почта. Именно поэтому внимание рассеивается и сложно концентрироваться на действительно важных вещах. С возрастом память ухудшается, становится все сложнее запоминать.
Читать дальше →
Всего голосов 82: ↑63 и ↓19 +44
Комментарии 32

Неэффективный программист или как взломать свой мозг за 2 дня

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


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


Интернет сделал нас ленивыми!

Почему? Кто в последний раз посмотрел видео больше 3х минут? Кто прочитал пост больше 2 страниц? Какой заголовок более привлекателен, «63 способа бла-бла-бла» или «3 проверенных метода бла-бла-бла»? А если эти три проверенных метода выделены от основного текста, то это вообще гуд (можно не читать текст вовсе, а просто пробежаться по выделенным подзаголовкам).

В этом свои плюсы. Наш мозг эволюционировал, и обрабатывает информацию быстрее, чем, скажем, 15-20 лет назад (да и эволюционирует быстрее, чем это было возможно век назад). Как компании справляются с высокими нагрузками? Как процессор выполняет программу по возможности быстро? С помощью кэширования! (как вариант, но самый приоритетный). Что делает наш мозг, чтобы справиться с большой нагрузкой? Кэширует! Что именно и как — оставим на размышление ИИшникам (специалистам по искусственному интеллекту). В противном случае при увеличении размера обрабатываемой информации время «отклика» бы увеличилось в разы, и на ответ на «как добраться до ближайшей больницы?» уйдет больше времени, чем человек «в силе ждать». «Сила ждать» тоже уменьшилась, «размер» нашего терпения уменьшился, и мы быстро устаем, если продолжительность видео большая, размер статьи большой (на самом деле продолжительность может не влиять на терпение, больше всего влияет полезная информация, если «воды» меньше или вовсе нет, то и терпеть ничего не приходится, посему данный пост написан «эз лаконик эз посибл»).
Убедиться в этом
Всего голосов 258: ↑207 и ↓51 +156
Комментарии 176

Информация

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