SlideShare a Scribd company logo
1 of 45
Download to read offline
www.postgrespro.ru
СОВЕТЫ ДЛЯ
РАЗРАБОТЧИКОВ
POSTGRESQL
Анастасия Лубенникова
a.lubennikova@postgrespro.ru
2
Содержание
• Как устроено международное
сообщество PostgreSQL
• Как написать патч (от Proposal до
Commit'а)
• Инструменты разработчика
3
Мотивация
• Изучение PostgreSQL
• Создание материала для обучения
новых разработчиков
• Шпаргалка и чек-лист для себя
• Обмен опытом
*Подчеркнутый текст – это ссылки
4
Содержание
• Как устроено международное
сообщество PostgreSQL
• Как написать патч (от Proposal до
Commit'а)
• Инструменты разработчика
5
6
Сообщество PostgreSQL
• The PostgreSQL Global
Development Group (PGDG)
– Основная команда – core team
– Коммитеры – commiters
– (Основные) разработчики –
(Major) contributors
• Компании-спонсоры (Postgres
Professional, EnterpriseDB,
2ndQuadrant, Cybertec...)
7
Open source
• Распространяется свободно
• Лицензия PostgreSQL License –
похожа на BSD
• Исходный код PostgreSQL доступен
на Github
• Документация в открытом доступе
на официальном сайте
– Содержит разделы и для DBA, и
для разработчиков
8
Конференции и встречи
• PGCon в Оттаве (в середине июня)
• PGConf.eu (в конце октября)
• PGConf.ru (в начале февраля)
• Множество локальных
PGConf и PGDay (в течение года)
• #PostgreSQLRussia Meetup (каждый
месяц)
• Семинары Postgres Professional
9
Mailing lists (листы рассылки)
• pgsql-hackers – основной лист для
общения разработчиков
• pgsql-bugs
• pgsql-general
• pgsql-perfomance
• pgsql-novice
• И так далее...
10
Правила хорошего тона в
листах рассылки
• Отдельное письмо для новой темы
• Используйте теги и пометки
– PROPOSAL, WIP (Work In
Progress), POC (Proof Of
Concept), PATCH
• Отвечайте в рассылку или
“Ответить всем”
• Цитируйте
11
Правила хорошего тона в
листах рассылки
• Используйте подпись, если
работаете в компании
Hi, hackers! 
Bla­bla­bla.
­­ 
Anastasia Lubennikova
Postgres Professional: 
http://www.postgrespro.com
The Russian Postgres Company
12
Правила хорошего тона в
листах рассылки
• Пишите ответ в конце письма
A: Because it reverses the logical flow of 
conversation. 
Q: Why is top posting frowned upon? 
A: Top­posting. 
Q: What is the most annoying thing on 
usenet and in email?
13
Цикл разработки
• Создание ветки для новой версии
• Commitfests (с июля по март)
• Feature Freeze (середина апреля)
• Alpha-версия
• Тестирование и доработка
• Beta-версия (середина июня)
• Выпуск новой версии PostgreSQL
(середина октября)
14
Commitfests
• Разработчики выкладывают патчи
• Получают обратную связь от
Reviewers
• Автор дорабатывает патч
• Reviewer отмечает патч как готовый
для коммита
• Коммитер добавляет патч в
репозиторий на Github
15
Где найти материалы?
• Документация
• Feature Matrix
• Архивы листов рассылок
• Wiki PostgreSQL
• Блоги о PostgreSQL
• Книги
• Видео докладов с конференций
• README и комментарии к коду
16
Содержание
• Как устроено международное
сообщество PostgreSQL
• Как написать патч (от Proposal до
Commit'а)
• Инструменты разработчика
17
Как написать патч
• Идея
• Proposal (предложение)
• Обсуждение
• Разработка
• Ревью
• Принятый патч
18
Идея
• Есть ли готовые решения?
• Это задача из TODO?
• Предыдущие обсуждения в hackers?
• Аналоги в других системах?
• Документация и README
• Исходный код
19
Proposal
• Идея, use case
• Измеримые результаты
• Необходимые изменения
– например, новый синтаксис
• Ссылки на:
– прошлые обсуждения в hackers
– академические статьи
• Вопросы
20
Обсуждение
• Кто-то уже работает над этим
• Подводные камни
• Вопросы реализации
• Предложения
• Это слишком сложно внедрить
• Это никому не нужно =(
Защищайте свою идею!
21
Разработка
• Код
• Отладка
• Тесты
– regression tests
– concurrency tests
– обратная совместимость
• Code style
• Документация
22
Код
23
Отладка
• Gdb
– select pg_backend_pid();
pg_backend_pid 
­­­­­­­­­­­­­­­­
           5140
(1 row)
– gdb ­p 5140
• Logfile
24
Отладочный вывод
• elog
elog(LOG,“Server msg”);
elog(NOTICE,“Client expected msg”);
elog(WARNING,“Client unexpected msg”);
elog(ERROR, “Abort transaction”);
●
print.c, outfuncs.c
●
Assert
Assert(some_ptr != NULL);
25
Regression tests
• Regression tests
– make check
– vi src/test/regress/regression.diffs
• Добавить новый
– src/test/regress/sql/new.sql
– src/test/regress/expected/new.out
– src/test/regress/serial_schedule
– src/test/regress/parallel_schedule
26
Pgbench
• pgbench
27
Buildfarm
• PostgreSQL Buildfarm
• Только после коммита
28
Dataset
• Sample Databases
• Встроенные функции
– random();
– generate_series(start, stop, step);
CREATE TABLE test (id integer, b box);
INSERT INTO  test
(SELECT x, point(random(), random())
FROM generate_series(1,10) as x);
29
Настройки
• postgresql.conf
– SHOW config_file;
– SHOW ALL;
– select * from pg_settings;
• ?
– timing
– x
30
Настройки
• Planner configuration
– SET enable_indexscan=false;
– SET enable_mergejoin=false;
• EXPLAIN
– explain (analyze, buffers) table t;
– explain (analyze, verbose) table t;
– explain (analyze, format xml) table t;
31
Code style
• Выравнивание Tab'ами
• Tab-size = 4
• Без концевых пробелов
• {} на отдельной строке
• Перенос длинных строк
• Объявления переменных в начале
блока
32
Code style
• Комментарии
/*­­­­­­­­­­­­­­­­­­­­­­­
 * (___/) комментарий
 * (='.'=)   со сложным
 * (")_(") форматированием
 *­­­­­­­­­­­­­­­­­­­­­­­
 */
• src/tools/pgindent
33
Документация
• Комментарии
– объяснить “зачем”, а не “как”
– упомянуть зависимости
• README
– обзор раздела кода
• Документация
– примеры
– предупреждения
34
Патч
• Новое письмо в hackers.
– Ссылка на прошлое обсуждение
– Описание ситуации
– На какой коммит оно ложится
– Тесты и результаты
– Документация
• Патч на коммитфесте
35
Содержание
• Как устроено международное
сообщество PostgreSQL
• Как написать патч (от Proposal до
Commit'а)
• Инструменты разработчика
36
Git
●
Working with Git
git clone 
git://git.postgresql.org/git/postgresql.git
cd postgresql
git branch my_branch
git checkout my_branch
$EDITOR
git add
git commit ­a
git diff ­­patience master my_branch |
filterdiff ­­format=context > ../my­cool­
feature.patch
37
Git
●
Ежедневная работа с Git
●
Шпаргалка
●
Поиск коммита по изменениям
– git log ­S 'vacuum'
38
IDE / Текстовый редактор
●
Vim. Filestyle
●
Emacs. src/tools/editors
●
Sublime Text. Trailing Spaces
●
KDevelop
●
Eclipse
●
Doxygen*
*только web-интерфейс к коду
39
./configure
●
Installation Procedure
CFLAGS='­O0'   CFLAGS='­O2'или
./configure
­­prefix=$WORKSPACE_PATH/postgres_bin/
­­enable­debug
­­enable­cassert
­­enable­depend
40
Переменные окружения
PATH=”$WORKSPACE_PATH/postgres_bin/bin”
LD_LIBRARY_PATH=
”$WORKSPACE_PATH/postgres_bin/lib”
PGDATA=”$WORKSPACE_PATH/postgres_data”
41
make
●
make ­j4
●
make install
●
make clean
●
make distclean
42
Установка
●
Installation guide
./configure //     не забывайте флаги
make ­j4
make check //       временная установка и тесты
su
#make install
#adduser postgres
#mkdir $WORKSPACE_PATH/postgres_data
#chown postgres 
$WORKSPACE_PATH/postgres_data
43
Установка
initdb ­D $WORKSPACE_PATH/postgres_data
pg_ctl ­D $WORKSPACE_PATH/postgres_data 
­l logfile start
createdb test
psql test
44
Продолжение следует...
●
В следующий раз:
– как организован исходный код
– System Catalogs
– Node, Oid, Datum, Relation и
прочие страшные слова
www.postgrespro.ru
СПАСИБО ЗА ВНИМАНИЕ!
ВОПРОСЫ?
Анастасия Лубенникова
a.lubennikova@postgrespro.ru

More Related Content

What's hot

Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Ontico
 
Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.Anastasia Lubennikova
 
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Ontico
 
2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ruNikolay Samokhvalov
 
Олег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоОлег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоCodeFest
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один goBadoo Development
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахAlexey Vasiliev
 
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussiaNikolay Samokhvalov
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Ontico
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Ontico
 
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)Nikolay Samokhvalov
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015OSLL
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Alexey Lesovsky
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Ontico
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practiceAlexey Lesovsky
 
Romanova techforum bash
Romanova techforum bashRomanova techforum bash
Romanova techforum bashkuchinskaya
 

What's hot (20)

Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
 
Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.Hacking PostgreSQL. Разделяемая память и блокировки.
Hacking PostgreSQL. Разделяемая память и блокировки.
 
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
 
2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru2014.10.15 Сергей Бурладян, Avito.ru
2014.10.15 Сергей Бурладян, Avito.ru
 
Avito Stachka 2012
Avito Stachka 2012Avito Stachka 2012
Avito Stachka 2012
 
Олег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоОлег Бартунов и Иван Панченко
Олег Бартунов и Иван Панченко
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один go
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектах
 
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
 
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
 
Барнаул15
Барнаул15Барнаул15
Барнаул15
 
Devconf15
Devconf15Devconf15
Devconf15
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practice
 
Romanova techforum bash
Romanova techforum bashRomanova techforum bash
Romanova techforum bash
 

Viewers also liked

Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...
Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...
Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...Ontico
 
5 мифов о производительности баз данных и Python
5 мифов о производительности баз данных и Python5 мифов о производительности баз данных и Python
5 мифов о производительности баз данных и PythonMax Klymyshyn
 
Python и высокая нагрузка
Python и высокая нагрузкаPython и высокая нагрузка
Python и высокая нагрузкаAlexander Shigin
 
Gtd Dev Labs2010 Part Ii
Gtd Dev Labs2010 Part IiGtd Dev Labs2010 Part Ii
Gtd Dev Labs2010 Part IiMaxim Dorofeev
 
Gtd Dev Labs2010 Part I
Gtd Dev Labs2010 Part IGtd Dev Labs2010 Part I
Gtd Dev Labs2010 Part IMaxim Dorofeev
 
PostgreSQL Vacuum: Nine Circles of Hell
PostgreSQL Vacuum: Nine Circles of HellPostgreSQL Vacuum: Nine Circles of Hell
PostgreSQL Vacuum: Nine Circles of HellAlexey Lesovsky
 
2009-2010 10 Syllabus
2009-2010 10 Syllabus2009-2010 10 Syllabus
2009-2010 10 Syllabusslr1541
 
Making Awesome Experiences with Biosensors
Making Awesome Experiences with BiosensorsMaking Awesome Experiences with Biosensors
Making Awesome Experiences with BiosensorsSophiKravitz
 
Kumpulan pantun by:ririnrosalinda abdinegara
Kumpulan pantun by:ririnrosalinda abdinegara Kumpulan pantun by:ririnrosalinda abdinegara
Kumpulan pantun by:ririnrosalinda abdinegara ririnrosalinda
 
SalesRev - Boost Your Conversions and Generate More Business Without Spending...
SalesRev - Boost Your Conversions and Generate More Business Without Spending...SalesRev - Boost Your Conversions and Generate More Business Without Spending...
SalesRev - Boost Your Conversions and Generate More Business Without Spending...Keith McGibbon
 
Kpi google analytics
Kpi google analyticsKpi google analytics
Kpi google analyticschamberthomas
 
Kpi for project management
Kpi for project managementKpi for project management
Kpi for project managementchamberthomas
 
Instructivo hidrología unamba
Instructivo hidrología unambaInstructivo hidrología unamba
Instructivo hidrología unambaJesus Ayerve Tuiro
 
2011-2012 AmLit Syllabus
2011-2012 AmLit Syllabus2011-2012 AmLit Syllabus
2011-2012 AmLit Syllabusslr1541
 

Viewers also liked (20)

Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...
Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...
Расширяемость PostgreSQL для хакеров и архитекторов / Олег Бартунов, Александ...
 
5 мифов о производительности баз данных и Python
5 мифов о производительности баз данных и Python5 мифов о производительности баз данных и Python
5 мифов о производительности баз данных и Python
 
Python и высокая нагрузка
Python и высокая нагрузкаPython и высокая нагрузка
Python и высокая нагрузка
 
Big Data aggregation techniques
Big Data aggregation techniquesBig Data aggregation techniques
Big Data aggregation techniques
 
Gtd Dev Labs2010 Part Ii
Gtd Dev Labs2010 Part IiGtd Dev Labs2010 Part Ii
Gtd Dev Labs2010 Part Ii
 
Gtd Dev Labs2010 Part I
Gtd Dev Labs2010 Part IGtd Dev Labs2010 Part I
Gtd Dev Labs2010 Part I
 
PostgreSQL Vacuum: Nine Circles of Hell
PostgreSQL Vacuum: Nine Circles of HellPostgreSQL Vacuum: Nine Circles of Hell
PostgreSQL Vacuum: Nine Circles of Hell
 
Kpi indicator
Kpi indicatorKpi indicator
Kpi indicator
 
Kpi key
Kpi keyKpi key
Kpi key
 
2009-2010 10 Syllabus
2009-2010 10 Syllabus2009-2010 10 Syllabus
2009-2010 10 Syllabus
 
Making Awesome Experiences with Biosensors
Making Awesome Experiences with BiosensorsMaking Awesome Experiences with Biosensors
Making Awesome Experiences with Biosensors
 
Page compression. PGCON_2016
Page compression. PGCON_2016Page compression. PGCON_2016
Page compression. PGCON_2016
 
Kumpulan pantun by:ririnrosalinda abdinegara
Kumpulan pantun by:ririnrosalinda abdinegara Kumpulan pantun by:ririnrosalinda abdinegara
Kumpulan pantun by:ririnrosalinda abdinegara
 
SalesRev - Boost Your Conversions and Generate More Business Without Spending...
SalesRev - Boost Your Conversions and Generate More Business Without Spending...SalesRev - Boost Your Conversions and Generate More Business Without Spending...
SalesRev - Boost Your Conversions and Generate More Business Without Spending...
 
Toyato cars
Toyato carsToyato cars
Toyato cars
 
Kpi google analytics
Kpi google analyticsKpi google analytics
Kpi google analytics
 
Destroying Router Security
Destroying Router SecurityDestroying Router Security
Destroying Router Security
 
Kpi for project management
Kpi for project managementKpi for project management
Kpi for project management
 
Instructivo hidrología unamba
Instructivo hidrología unambaInstructivo hidrología unamba
Instructivo hidrología unamba
 
2011-2012 AmLit Syllabus
2011-2012 AmLit Syllabus2011-2012 AmLit Syllabus
2011-2012 AmLit Syllabus
 

Similar to Советы для начинающих разработчиков PostgreSQL

20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...Rais Charipov
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustMichael Pankov
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеDenis Chistyakov
 
Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Anastasia Goryacheva
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в ЯндексеAndrey Kazarinov
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеYandex
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаКонстантин Никифоров
 
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Ontico
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...Nikolay Samokhvalov
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Yandex
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаRoman Dvornov
 
Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Yandex
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practicesIgor Kurochkin
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3Computer Science Club
 

Similar to Советы для начинающих разработчиков PostgreSQL (20)

20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на Rust
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
 
Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторинга
 
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Team workflow
Team workflowTeam workflow
Team workflow
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practices
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 

Советы для начинающих разработчиков PostgreSQL