Pull to refresh
113
0
Alexey Gopachenko @neuro159

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

Send message

Создание расширения для Google Chrome

Reading time8 min
Views118K
Тема создания расширений достаточно хорошо раскрыта в сети, есть множество статей, документации на эту тему. Но я не нашел ни одного ресурса, который бы описал процесс создания расширения от начала до конца. Я собираюсь исправить эту ситуацию, и рассказать о том как создать расширение, как хранить, читать настройки, как добавить поддержку нескольких языков.

Для работы с расширениями вам понадобится переключить канал обновлений на Dev или Beta.
Читать дальше →
Total votes 98: ↑93 and ↓5+88
Comments28

Gource — визуализируем историю работы над проектом

Reading time1 min
Views22K
Спешу рассказать хабрасообществу о, относительно новом, дьявольски завораживающем проекте Gource которое еще не упоминалось. Это приложение позволяет визуализировать историю изменений в системе контроля версии. Отрисовывает невероятно красиво при помощи OpenGL.


Читать дальше →
Total votes 65: ↑61 and ↓4+57
Comments51

Пузырьки, кэши и предсказатели переходов

Reading time6 min
Views10K
Эта заметка написана по мотивам одного любопытного поста, краткий коммент её же автора к которому сподвиг меня разобраться в происходящем поподробнее. Предлагается сравнить две вариации алгоритма сортировки пузырьком. Первая из них – обычный пузырёк, с небольшой оптимизацией — внутренний цикл можно закончить немного раньше, зная, что оставшаяся часть массива уже отсортирована:
for (i=0; i<N; i++)
  for (j=0; j<N - (i+1); j++)
    if (a[j] > a[j+1])
      swap(a[j], a[j+1]);


Во втором варианте внутренний цикл проходит по другой части массива, однако алгоритмически этот вариант эквивалентен первому (подробности ниже):
for (i=0; i<N-1; i++)
    for (j=i; j>=0; j--)
        if (a[j] > a[j+1])
            swap(a[j], a[j+1]);


Запускаем (код), например, для N=100 000 на массиве int'ов, и получаем около 30 секунд в первом случае, и меньше 10 секунд — во втором, то есть отличие в 3 раза! Откуда же тогда берётся такая разница?
Читать дальше →
Total votes 157: ↑150 and ↓7+143
Comments65

IntelliJ IDEA стала открытой

Reading time1 min
Views20K
Одна из самых популярных и удобных сред разработки для Джавы, IntelliJ IDEA, стала опен-сорсной.

Начиная с со следующей версии (9.0), IntelliJ IDEA будет выходить в двух версиях: Community Edition и Ultimate Edition. В бесплатной версии, выпускаемой по лицензии Apache 2.0, будет полная поддержка Java SE, Groovy и Scala, а поддержка Java EE и связанных с ней технологий останется прерогативой коммерческой версии.

Подробная информация — в официальном блоге.
Total votes 90: ↑85 and ↓5+80
Comments77

AdSweep для Chrome

Reading time1 min
Views2.8K


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

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

В этот раз я расскажу об AdSweep. Наконец-то они сделали вариант плагина, который сам, безо всякого вмешательства пользователей, удаляет баннеры и для Хрома!

Скачать можно тут.

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

Работает сам, нигде не виден (только на странице расширений).

Надеюсь, кому-то эта информация была полезна, хоть эта новость и не новая!
Total votes 100: ↑81 and ↓19+62
Comments93

PHPUnit+Netbeans

Reading time4 min
Views10K
Здравствуйте.

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

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

В крупных конторах для этого есть специальные люди, которые занимаются тем, что пишут unit-тесты.

Меньшие конторы, фрилансеры этим грешат, да и на маленьких проектах это не всегда нужно. Согласитесь, если класс на 100 строк, то писать тесты на 200 строк кажется лишней тратой времени.

Тем не менее, не буду вдаваться в подробности кому надо кому нет.

Я хочу показать как можно клево тестировать код на NetBeans с удобным GUI.
Читать дальше →
Total votes 69: ↑58 and ↓11+47
Comments40

Стэнфордские ученые представили Open Source-фотокамеру

Reading time1 min
Views968
Ученые из Стэнфорда представили цифровую фотокамеру Frankencamera, позиционируемую как Open Source-проект.

Дизайн прототипа камеры был разработан аспирантом Эндрю Адамсом (Andrew Adams). Он на фото вместе со своим профессором Марком Левой (Marc Levoy):



Камера состоит из следующих компонентов: электронная схема SoC (system on chip) от Texas Instruments с двумя процессорами (общего назначения и для обработки изображений) и небольшим LCD-экраном; модуль камеры из телефона Nokia N95; линзы Canon. Корпус устройства был изготовлен самостоятельно в Стэнфорде. Камера работает под управлением операционной системы GNU/Linux.

Проект Frankencamera получил поддержку компаний Nokia, Adobe Systems, Kodak и Hewlett-Packard.

Стоит также напомнить о существовании компании Elphel, основанной россиянином и специализирующейся на создании открытых цифровых фото- и видеокамер.

via nixp.ru
Total votes 39: ↑32 and ↓7+25
Comments41

Список полезных инструментов для php разработчика

Reading time10 min
Views147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Total votes 214: ↑200 and ↓14+186
Comments131

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Reading time5 min
Views10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Total votes 160: ↑152 and ↓8+144
Comments55

peeep.us — ссылки на закрытые страницы

Reading time1 min
Views5.1K
Привет, Хабр!

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

Суть сервиса в том, что вместе с самой ссылкой peeep.us хранит содержимое страницы с точки зрения пользователя, который создавал ссылку. Это дает возможность опубликовать или дать другу ссылку на страничку, обычно недоступную для просмотра извне. Например, можно показать другу классный пост на Лепре или личное сообщение вконтакте. А еще его можно использовать просто как хранитель состояния сайта. По пииипнутой ссылке будет всегда доступно содержимое страницы на момент времени, когда она была создана (вместе с удаленными коммантариями, например). Это как кеш Google или archive.org, только по требованию.

Вот как это выглядит: прекрасный пост Артема Шитова. Видна лепра?

Чтобы просто сохранить состояние страницы нужно ввести адрес на peeep.us и кликнуть submit. А если нужно сделать ссылку на закрытую страницу, придется воспользоваться букмарклетом, который есть там же. Букмарклет скачает текст страницы XMLHttpRequest'ом, а затем отправит куда надо. Все, вроде бы, несложно.

Кстати, сам сервис работает на Google AppEngine, то есть потенциально закроется или заддосится только вместе с гуглом целиком ;). А если кому интересно, откуда такое тупое название, так это от слова peep — подглядывать [в замочную скважину].
Total votes 182: ↑167 and ↓15+152
Comments139

Узнаем параметр Generic-класса в Java

Reading time9 min
Views111K
Если вы не очень часто программируете на Java, то этот топик скорее всего будет для вас бесполезен. Не читайте его :)

Недавно понадобилось решить следующую задачу: определить класс, которым параметризован generic-класс.

Если кто-то сталкивался с подобной задачей, то наверное также сразу попробовал написать что-то вроде этого:
public class AbstractEntityFactory<E extends Entity> {
  public Class getEntityClass() {
    return E.class;
  }
}

Увы, IDE либо компилятор сразу укажут вам на ошибку («cannot select from a type variable» в стандартном компиляторе): " E.class" — не является допустимой конструкцией. Дело в том, что в общем случае во время исполнения программы информации о реальных параметрах нашего generic-класса может уже и не быть. Поэтому такая конструкция в Java не может работать.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments32

Особенности обработки исключений

Reading time5 min
Views13K
Некоторые вещи иногда работают не так, как подсказывает интуиция. Это утверждение можно отнести к обработке исключений в Java. Далее — ситуации и примеры кода, которые отражают некоторые имеющиеся нюансы.

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments29

Верни мои деньги, банкомат

Reading time13 min
Views71K
Бывает такое, что привычная, казалось бы, вещь, встречается с такой изюминкой, после которой начинаешь смотреть на эту вещь совершенно иначе. Так случилось и у меня… пару лет снимал деньги с карточки в сотне мест и бед не знал… а тут приехал в один городок и в первом же банкомате мне повстречалась эта самая изюминка. Причем место и обстоятельство были такими, что за пару мгновений пищи для размышления и впечатлений накопилось недели на две вперед.


Читать дальше →
Total votes 459: ↑435 and ↓24+411
Comments250

Bing покажет соседей по хостингу

Reading time1 min
Views13K
Оказывается, поисковик Bing умеет делать обратный поиск по IP-адресу. Вводите запрос вида [IP:123.123.123.123] — и получите список сайтов на этом IP.



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

Имейте в виду, что соседей нужно выбирать с умом. Если на вашем IP сидят какие-то спамеры, до добра это не доведёт.

У крупных сайтов никаких «соседей» по хостингу, разумеется, нет, потому что они располагаются на одном или нескольких выделенных серверах. Но и здесь Bing может показать что-то интересное. Например, для Хабрахабра [IP:62.213.122.2] он выдаёт список приблизительно 34400 зарегистрированных пользователей. Причём порядок выдачи явно выбран не случайно, а по рейтингу входящих ссылок на каждый профиль. То есть это альтернативный рейтинг пользователей Хабрахабра. На первом месте хабраюзер xaoccps, который лидирует и в рейтинге хабралюдей. Но дальше идут явные расхождения, причём Bing, пожалуй, получше отражает реальность, чем собственный рейтинг на Хабре.

Вводя запросы от 62.213.122.2 до 62.213.122.6, можно увидеть и другие проекты «Тематических медиа», в том числе «секретные».

Вообще, функция обратного поиска по IP есть в различных домейнерских сервисах, но среди поисковых систем Bing единственный, кто умеет такое показывать. Кстати, эта фича досталась ему в наследство от MSN/Live.
Total votes 114: ↑86 and ↓28+58
Comments39

Couchsurfing.org или клубы гостеприимства

Reading time2 min
Views1.3K
image
Год назад я путешествовал по Европе автостопом. Один раз, расположившись недалеко от автобана, я разбил палатку, как вдруг обнаружил, что ко мне бравым шагом направляются двое полицейских.
Пожурив меня за пренебрежение частной собственностью, и подвезя до ближайшего хостела, полицаи взяли с меня слово, что в следующий раз я предварительно найду у кого остановиться через couchsurfing. Таким образом я первый раз узнал об этом необычном сайте.
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments78

JetBrains открыла программу EAP для Web IDE

Reading time1 min
Views2K
JetBrains открыла программу EAP (Early Access Program) для JetBrains Web IDE. JetBrains Web IDE это IDE для веб программирования. Она построена на основе платформы JetBrains IDE Framework.

Web IDE доступна в двух вариантах: в стандартный вариант включена поддержка HTML, CSS, JavaScript. В PHP Developer edition добавляется поддержка PHP и SQL.

Как и все приложения на JetBrains IDE Framework, Web IDE доступна на всех основных платформах: Windows, Linux и MacOS.

Скачать и найти больше информации можно здесь: www.jetbrains.net/confluence/display/WI/Web+IDE+EAP
Total votes 25: ↑25 and ↓0+25
Comments63

Поддержка nginx в IntelliJ IDEA

Reading time2 min
Views6.8K
idea nginx plugin
Я использую nginx как фронт сервер для своего проекта. Сам проект пишется на Java в IntelliJ IDEA. Захотелось редактировать конфиги nginx и запускать nginx сразу в IDEA. Сел и написал плагин.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments18

Принципы разработки ПО для iPhone с использованием акселерометра

Reading time11 min
Views23K
В статье рассмотрено принципы работы iPhone акселерометра, показаны примеры приложений, использующие акселерометр в качестве главного компонента, наведены рекомендации по использованию акселерометра. Также показано, как использовать акселерометр в веб-приложениях. Часть материалов была взята из статьи «Скроллинг при помощи акселерометра».

Что такое акселерометр?


Обратимся к Википедии:
Акселерометр (от лат. accelero — ускоряю и μετρέω — измеряю) — прибор, измеряющий проекцию кажущегося ускорения. Кажущееся ускорение есть равнодействующая сил не гравитационной природы, действующая на массу и отнесённая к величине этой массы. Акселерометр может применяться как для измерения проекций абсолютного линейного ускорения, так и для косвенных измерений проекции гравитационного ускорения. Последнее свойство используется для создания инклинометров. Акселерометры входят в состав инерциальных навигационных систем, где полученные с их помощью измерения интегрируют, получая инерциальную скорость и координаты носителя. Электронные акселерометры часто встраиваются в мобильные устройства (в частности, в телефоны) и применяются в качестве шагомеров, датчиков для определения положения в пространстве, автоматического поворота дисплея и других целей. В игровых приставках акселерометры используются для управления без использования кнопок — путем поворотов в пространстве, встряхиваний и т. д.


Apple — не первая компания, которая внедрила акселерометр в мобильный телефон, но первая, у которой это получилось хорошо.
Читать дальше →
Total votes 85: ↑81 and ↓4+77
Comments26

Google Chrome получает экспериментальную поддержку жестов

Reading time1 min
Views5.9K
Представлено экспериментальное расширение к браузеру Google Chrome под названием Chromegestures. Следует отметить, что по сравнению, например, с системой управления жестами в браузере Opera, технология Chromegestures выглядит не менее развитой и довольно зрелой, если учесть, что первая версия выпущена только 16 июля этого года.

image
Для установки расширения Chromegestures необходима версия Chrome для разработчиков (dev). Кроме того, перед установкой расширения надо включить поддержку расширений, включив в команду запуска браузера параметр enable-extensions. После этого можно спокойно перейти на страницу загрузки и установить файл ChromeGestures.crx.
Читать дальше →
Total votes 48: ↑38 and ↓10+28
Comments79

Git Wizardry

Reading time17 min
Views449K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

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

Читать дальше →
Total votes 89: ↑66 and ↓23+43
Comments76

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity