Как стать автором
Обновить
36
0
Сергей Мелехин @CPro

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

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

Postgres и Пустота

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

Только что натолкнулся на возможность Postgresql, показавшуюся мне забавной. Для кого "баян" — респект вам, я несколько лет работаю с Postgres и до сих пор не натыкался на такую штуку.


select; без указания полей, таблицы и условий возвращает одну строку. Но у этой строки нет полей:


=> select;
--
(1 row)

Для сравнения:


=> select null;
 ?column? 
----------

(1 row)
=> select null where 0=1;
 ?column? 
----------
(0 rows)

А сможем ли мы создать таблицу из такого "пустого" запроса? Таблицу без полей.

Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Комментарии 33

Приглашаем на DevFest Владивосток

Время на прочтение 1 мин
Количество просмотров 1.7K
Если вы будете во Владивостоке 3 декабря — приходите на конференцию для разработчиков DevFest!

У нас будут доклады и мастер-классы по Android, машинному обучению, web разработке, Kubernetes и Go; Интересные железяки — Google Home, Android TV, Cardboard, Tango.

Конференция проводится GDG Владивосток при поддержке Google.

Участие бесплатное. Почитать подробней и зарегистрироваться можно на сайте.
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 4

Парсинг резюме

Время на прочтение 7 мин
Количество просмотров 23K
Те кто сталкивался с задачами автоматизированного анализа резюме, представляют современное состояние дел в этой области — существующие парсеры в основном ограничиваются выделением контактных данных и ещё нескольких полей, таких как «должность» и «город».

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

Живой пример (кусок XML результата анализа резюме от одного из лидеров области Sovren):

    <EmployerOrg>
        <EmployerOrgName>ООО Звезда-DSME</EmployerOrgName>
        <PositionHistory positionType="directHire">
            <Title>Ведущий специалист отдела развития информационных систем</Title>
            <OrgName>
                <OrganizationName>ООО Звезда-DSME</OrganizationName>
             </OrgName>

Парсер Sovren прекрасно справился с выделением полей. Ребята не зря занимаются этим делом без малого 20 лет!

Но что дальше делать с «Ведущий специалист отдела развития информационных систем»? Как понять, что же это за должность, насколько опыт работы этого человека релевантен для той или иной вакансии?
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 7

Emply.ru ищет инвестора

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

Неделю назад наш инвестор сообщил, что по ряду причин его доходы сократились и он больше не может финансировать нас в полном объеме. C Августа команду придётся сократить. Для продолжения разработки и продвижения мы ищем дополнительные инвестиции.

За время работы мы сделали два самостоятельных онлайн-проекта, каждый из которых не имеет аналогов на нашем рынке:
  • Поисковик вакансий emply.ru
  • Сервис скоринга резюме emply.ru

Что в этом особенного?
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 20

Вертикальный поисковик вакансий

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


Как часто вам хотелось дописать в запросе к Google параметры похитрей: "… с видом на море", или "… мощностью более 500 л/c", или "… цена не больше 100 рублей"?

Именно так мне тоже ни разу не хотелось, но ведь было бы круто, если бы поисковик понимал такой запрос и соответственно фильтровал результат!
Принципиальная проблема здесь в том, что традиционные поисковики не ограничены по тематике поиска, а чтобы уметь обрабатывать подобные запросы и про коньки, и про мормышки, нужна система, знающая всё обо всём.

На подобные запросы могут ответить “вертикальные” поисковики. Хитрость в том, что они работают в чётко очерченной предметной области. Например, ищут только фокстерьеров или только калоши. Зато про эти самые калоши они знают всё и позволяют задать много всяких специфичных параметров.

Мы затеяли разработку как раз вот такой штуки — поисковика по вакансиям. Да не простого поиска по тексту, а поиска с фильтрацией не хуже чем на специализированных сайтах вакансий.

Сегодня мы запустили альфа версию emply.ru — поисковую систему по вакансиям, которая собирает вакансии по всем русскоязычным (пока) сайтам, включая как сайты работодателей, так и доски объявлений.

Читать дальше →
Всего голосов 16: ↑10 и ↓6 +4
Комментарии 28

Хранимые функции. За и против

Время на прочтение 6 мин
Количество просмотров 90K
Использование хранимых функций СУБД для реализации бизнес-логики или её части, всегда было камнем преткновения. С одной стороны баррикад DBA и программисты БД, с другой — разработчики backend.
Рискну навлечь на себя гнев из обоих лагерей, но всё же просуммирую плюсы и минусы и изложу свои соображения о том, когда стоит писать код в хранимых функциях, а когда следует выносить наружу.


Читать дальше →
Всего голосов 82: ↑68 и ↓14 +54
Комментарии 191

Тестирование хранимых функций с помощью pgTAP

Время на прочтение 4 мин
Количество просмотров 13K
Недавно я выложил статью со «скелетом» схемы данных, который можно использовать для создания своих схем PostgreSQL.
Помимо собственно скриптов разворачивания схемы, создания объектов, там были примеры хранимых функций и Unit-тесты на них.



В этой статье я хочу на примере pg_skeleton подробней остановиться на том, как писать тесты для хранимых функций PostgreSQL при помощи pgTAP.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 2

Заготовка для схемы данных с тестами, CI, без преферанса

Время на прочтение 3 мин
Количество просмотров 9.8K
Реляционная базы данных — зверь сравнительно непознанный, и имеет репутацию генератора проблем. Не то, чтобы проблем не существовало, но как и с другими инструментами, чаще всего сложности возникают от неумения их (РСУБД) готовить.
Готовить с одной статьи не выучиться, но одно блюдо сдюжим.

Я постарался выделить скелет, набор скриптов, на базе которого можно делать свои схемы данных PostgreSQL и тестировать их при помощи pgTAP: github.com/C-Pro/pg_skeleton
И в качестве приятного бонуса я прикрутил это дело к Travis, чтобы у вас ещё и CI было уже на старте :)


Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 0

Обзор бесплатных сервисов для веб-разработки

Время на прочтение 4 мин
Количество просмотров 143K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Всего голосов 157: ↑136 и ↓21 +115
Комментарии 113

PostgreSQL vs Oracle

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

Сравнение с точки зрения разработчика




Сразу оговорюсь — я не имею ничего против размещения части бизнес логики в хранимых функциях, если это предусмотрено в архитектуре системы и оправдано по ряду практических соображений, которые выходят за рамки этой статьи.
Читать дальше →
Всего голосов 80: ↑73 и ↓7 +66
Комментарии 201

Информация

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