Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL

SQL
В одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
Взглянем?
Всего голосов 99: ↑96 и ↓3 +93
Просмотры134.2K
Комментарии 41

Сравнение изображений и генерация картинки отличий на Ruby

Обработка изображений
Перевод
Наверняка вы видели новые режимы просмотра изображений, которые Github выкатил в прошлом месяце. Это действительно изящный способ показать разницу между двумя версиями картинки. В этой статье я попробую объяснить, как можно просто сравнивать изображения с помощью только Ruby и ChunkyPNG.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры26.7K
Комментарии 9

Подключение GitHub к Mylyn для Eclipse

Git
Перевод
На этой неделе выпущен альфа-релиз плагина для подключения GitHub к Mylyn для Eclipse. Если вы не знакомы с проектом Mylyn — это набор плагинов, добавляющих ​​поддержку работы с системами управления задачами, системами сборки и инструментами ревизии кода внутри Eclipse IDE.

image
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры2.7K
Комментарии 1

Новая версия github:gist

ПрограммированиеGit
Команда Github продолжает радовать своими обновлениями, и на этот раз они приглашают нас попробовать полностью обновленный github:gist.

Для тех, кто не был знаком с этим сервисом ранее — Gist предназначен для обмена кусочками кода (и не только кода) между людьми. В основе Gist лежит система контроля версий git, что делает возможным коллективную работу над материалом, поддержку форков и версионности.

Gist успел стать незаменимым инструментом в арсенале Open Source сообщества. Например, таким простым образом распространяется перформанс-патч для руби, упомянутый недавно на хабре.
Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Просмотры41.8K
Комментарии 31

Плагин для работы с Gist в Notepad++

Open source.NETGitHub
Однажды мне потребовалось создать gist, а еще я активно пользуюсь Notepad++. После того, как найти плагин для работы с gist в Notepad++ мне не удалось (есть только под Sublime), я решил написать свой. Ну и к тому же это было хорошим опытом в написании плагинов и работе с github api.
Сразу выкладываю ссылку на исходники:
NppGist sources и сам плагин: NppGist (для его подключения просто перенесите файл в папку plugins в папке Notepad++).



Под Notepad++ плагины можно писать на нескольких языках: C++, Ada, Delphi, .NET, но я остановился на последнем из-за скорости разработки и из-за того, что я лучше его знаю.

Для разработки было использовано следующее:
  1. NppPlugin.NET — шаблон Notepad++ плагина для .NET платформы.
  2. ServiceStack.Text — сериализация и десериализация JSON (высокая производительность и небольшой размер).
  3. hurl.it — удобный онлайн-инструмент для составления и тестирования GET, POST, DELETE и других запросов.
  4. NUnit — юнит-тестирование.

Тем, кому интересно знать, как писать плагины под Notepad++, добро пожаловать под кат.
Технические подробности
Всего голосов 18: ↑18 и ↓0 +18
Просмотры10.3K
Комментарии 0

Некоторые методы поиска нечетких дубликатов видео

Data MiningАлгоритмыОбработка изображений
Существует достаточно широкий круг задач, где требуется анализ, аудио-визуальных моделей реальности. Это относится и к статическим изображениям, и к видео.

image


Ниже приведен небольшой обзор некоторых существующих методов поиска и идентификации нечетких дубликатов видео, рассмотрены их преимущества и недостатки. На основе структурного представления видео построена комбинация методов.
Обзор совсем небольшой, за подробностями, лучше обращаться к первоисточникам.
Подробности
Всего голосов 31: ↑31 и ↓0 +31
Просмотры17.1K
Комментарии 10

Snipper — маленький помощник программиста

PHPПрограммирование
Из песочницы
Snipper — простое, консольное приложение, написанное на PHP, для удобного импорта фрагментов кода из популярного сервиса GitHub Gist.

Предыстория


В один прекрасный день я понял, что порядком задолбался переписывать мелкие файлы конфигураций из проекта в проект и стал искать ответ на вопрос — как избавить себя от страданий и не добавить новых?

Рассмотрев, как мне показалось, достаточное количество решений я взялся писать собственное консольное «приложение» для загрузки часто используемых файлов с кодом (речь идёт именно о файлах а не о работе с буфером обмена). Для хранения выбрал сервис от GitHub, так как в работе без него никак (готовых библиотек для работы с API великое множество), а для сипатичного внешнего вида — знакомый всем компонент Console из арсенала Symfony.
Что из этого получилось?
Всего голосов 19: ↑15 и ↓4 +11
Просмотры12.6K
Комментарии 3

Чем PostgreSQL лучше других SQL баз данных с открытым исходным кодом. Часть 2

Разработка веб-сайтовMySQLPostgreSQLSQL
Перевод
Друзья, представляем вашему вниманию вторую часть перевода «Чем PostgreSQL лучше?». Надеемся, она вызовет такое же горячее обсуждение в комментариях, как и первая часть. А также с радостью продолжим с вами дискуссию лично на PG Day'16 Russia, до которой осталось совсем немного!

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


Читать дальше →
Всего голосов 49: ↑47 и ↓2 +45
Просмотры55.6K
Комментарии 32

Эффективное использование Github

Блог компании 2ГИСРазработка веб-сайтовGitСистемы управления версиямиGitHub

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


Содержание



Читать дальше →
Всего голосов 149: ↑148 и ↓1 +147
Просмотры109.1K
Комментарии 38

Оптимизация одного запроса с GROUP BY в PostgreSQL

Высокая производительностьPostgreSQLПрограммированиеSQL
image

Сразу скажу, что в этой статье нет универсального совета на все случаи, а рассмотрен случай оптимизации лишь небольшого класса запросов. Тем не менее такие запросы могут встречаться во многих проектах.
Ускоряем запрос с GROUP BY в 10 раз
Всего голосов 29: ↑28 и ↓1 +27
Просмотры17K
Комментарии 37

Эффективные методы сжатия данных при тренировке нейросетей. Лекция в Яндексе

Блог компании ЯндексСжатие данныхМашинное обучение
Не так давно в Яндекс приезжал Геннадий Пехименко — профессор Университета Торонто и PhD Университета Карнеги-Меллон. Он прочитал лекцию об алгоритмах кодирования, которые позволяют обходить проблему ограничения памяти GPU при обучении глубоких нейронных сетей.


— Я вхожу в несколько групп Университета Торонто. Одна из них — Computer Systems and Networking Group. Есть еще моя собственная группа — EcoSystem Group. Как видно из названий групп, я не специалист непосредственно в машинном обучении. Но нейронные сети сейчас достаточно популярны, и людям, которые занимаются компьютерной архитектурой и сетями, компьютерными системами, приходится сталкиваться с этими приложениями на постоянной основе. Поэтому последние полтора-два года этой темой я тоже плотно занимаюсь.
Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Просмотры11.4K
Комментарии 7

Почему вам стоит перестать использовать продуктовые роадмапы и попробовать GIST

Блог компании Kolesa GroupУправление разработкойУправление проектамиРазвитие стартапаУправление продуктом
Перевод

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




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

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Просмотры17.7K
Комментарии 8

Контроль версий отдельных файлов с использованием GitHub Gist

GitGitHub
Из песочницы
image

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

Одни скрипты он использует в одних проектах, другие в других.

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

Тут есть несколько вариантов:

Первый вариант:

Создать один репозиторий и поместить туда все скрипты. Затем этот репозиторий подключается как подмодуль к проекту и используется.

Минусы:

  1. в проект копируются все скрипты включая ненужные.
  2. подмодуль не commit-ится в репозиторий проекта, поэтому если будет недоступен удаленный репозиторий подмодуля, то мы не сможет выкачать проект целиком.

Второй вариант:

Каждый скрипт отдельно хранить на Github gist и подключать нужные как подмодули
Минус тот-же, что и в первом варианте во втором пункте.

Третий вариант:

Использовать Git Subtree.

(Данное решение является альтернативой для Git submodules)
Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Просмотры8.7K
Комментарии 2

Как расставить приоритеты в разработке. Опыт внедрения GIST + ICE в Яндекс.Маркете

Блог компании ЯндексРазработка веб-сайтовУправление разработкойУправление проектамиУправление продуктом

Рассмотрим одно из подразделений Яндекс.Маркета. Оно довольно крупное — 85 человек. Внутри подразделения есть несколько команд. Команды либо занимаются функциональными частями Маркета, либо решают какую-то большую пользовательскую задачу. Вот одна из них: изменить сам сервис Яндекс.Маркет и интернет-торговлю в регионах так, чтобы местным пользователям стало удобнее решать свои проблемы.


С чего командам начать? Как объяснить всем вокруг, почему мы делаем одно, а не другое? Как донести до каждого инженера, зачем он занимается своей текущей задачей? Как вкладывать силы в то, что действительно улучшит мир вокруг, и не тратить время на то, что не нужно? Как сделать работу команд прозрачной друг для друга?


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


Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Просмотры8.9K
Комментарии 5

Delivery Club x GIST

Блог компании Mail.ru GroupБлог компании Delivery Club TechУправление разработкойУправление проектамиУправление продуктом


Привет! Меня зовут Илья Воробьёв, в Delivery Club я отвечаю за направление клиентских продуктов. Вместе с Андреем Евсюковым я расскажу о том, как в растущей команде мы пересобирали процессы планирования и к чему это привело.

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

  • Мария Чебакова, руководитель группы оптимизации процессов. Отвечает за формирование и настройку бизнес- и операционных процессов.
  • Антон Сокольников, руководитель проектов в направлении логистики. Отвечает за развитие логистических продуктов.
  • Станислав Ураков, руководитель разработки в направлении логистики. Отвечает за систему, архитектуру и архитектурные решения, а также команды разработки.
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры2.7K
Комментарии 3

PostgreSQL Antipatterns: работаем с отрезками в «кровавом энтерпрайзе»

Блог компании ТензорPostgreSQLSQLАлгоритмыERP-системы
В различных бизнес-приложениях регулярно возникает необходимость решить какую-либо задачу с отрезками/интервалами. Самое сложное в них — понять, что это именно одна из таких задач.


Как правило, они отчаянно маскируются, и даже у нас в СБИС их найти можно в абсолютно разных сферах управления предприятием: контроле рабочего времени, оценке загрузки линий АТС или даже в бухгалтерском учете.
«Отличие enterprise [решения] от всего остального — он всегда идёт от запросов бизнеса и решает какую-то бизнес-задачу.» [src]
Вот и давайте посмотрим, какие именно прикладные задачи и как можно решить с помощью PostgreSQL и сократить время анализа данных с нескольких секунд на бизнес-логике до десятков миллисекунд, умея эффективно применять следующие алгоритмы непосредственно внутри SQL-запроса:

  • поиск отрезков, пересекающих точку/интервал
  • слияние отрезков по максимальному перекрытию
  • подсчет количества отрезков в каждой точке
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Просмотры3.8K
Комментарии 2

SQL HowTo: префиксный FTS-поиск с релевантностью по дате

Блог компании ТензорPostgreSQLSQLАлгоритмыERP-системы
В нашем СБИС, как и в любой другой системе работы с документами, по мере накопления данных у пользователей возникает желание их "поискать".

Но, поскольку люди — не компьютеры, то и ищут они примерно как "что-то там такое было от Иванова или от Ивановского… нет, не то, раньше, еще раньше… вот оно!"

То есть технически верное решение — это префиксный полнотекстовый поиск с ранжированием результатов по дате.

Но разработчику это грозит жуткими проблемами — ведь для FTS-поиска в PostgreSQL используются «пространственные» типы индексов GIN и GiST, которые не предусматривают «подсовывания» дополнительных данных, кроме текстового вектора.

Остается только грустно вычитывать все записи по совпадению префикса (тысячи их!) и сортировать или, наоборот, идти по индексу даты и фильтровать все встречающиеся записи на совпадение префикса, пока не найдем подходящие (как скоро найдется «абракадабра»?..).

И то, и другое не особо приятно для производительности запроса. Или что-то все же можно придумать для быстрого поиска?
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры1.8K
Комментарии 12