SlideShare uma empresa Scribd logo
1 de 20
Вредные советы для разработчиков
Равиль Кадырбаев и Василий Кечин,
системные администраторы PS.KZ
Совет 1
Как не надо делать:
Не стоит тратить свое драгоценное время на настройку фаервола. Сетевые службы
лучше оставить открытыми всему миру, открытость - залог успеха.
Как надо делать:
Настраиваем фаервол по принципу «Что не разрешено – запрещено».
www.ps.kz
Совет 2
Как не надо делать:
Никогда не знаешь, какая функция php может вам пригодиться в проекте, поэтому
никогда не настраивайте запрещенные функции.
Как надо делать:
disable_functions =
apache_setenv,dl,exec,openlog,passthru,pcntl_exec,pcntl_fork,pfsockopen,popen,posix_getp
wuid,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_sta
tus,proc_nice,proc_open,proc_terminate,shell_exec,socket_create,socket_create_listen,socke
t_create_pair,syslog,system,socket_listen,stream_socket_server
www.ps.kz
Совет 3
Как не надо делать:
Не отключайте показ версии используемых компонентов - посетитель должен знать с
чем он работает. И, к тому же, это абсолютно безопасно.
Как надо делать:
php.ini:
expose_php = Off
nginx.conf:
server_tokens off;
httpd.conf:
ServerSignature Off
ServerTokens Prod
www.ps.kz
Совет 4
Как не надо делать:
Не стоит загромождать сервер приложения большим количеством веб-серверов.
Доверяй только «старому индейцу» и своему notepad'у.
Как надо делать:
Всю статику отдавать через nginx.
www.ps.kz
Совет 5
Как не надо делать:
Зачем заводить кучу пользователей, если вся команда может ходить под root по
принципу KISS.
Как надо делать:
Закрываем удаленный вход под администратором. На сервер ходим только под
непривилегированным пользователем.
www.ps.kz
Совет 6
Как не надо делать:
Не стоит чистить базу данных от лишних данных, копии БД и тестовые пользователи
всегда могут пригодиться.
Как надо делать:
mysql_secure_installation, никаких посторонних БД и пользователей на боевом сервере.
www.ps.kz
Совет 7
Как не надо делать:
Unix-права - это очень сложно, всем известно что 777 гарантировано исправляет
проблемы в приложении.
Как надо делать:
777 – это плохо
750 или 755 для каталогов
640 или 644 для файлов
www.ps.kz
Совет 8
Как не надо делать:
Нет смысла генерировать длинные и сложные пароли, ну кому нужен ваш сервер?
Как надо делать:
Используем генераторы и менеджеры паролей.
www.ps.kz
Совет 9
Как не надо делать:
Будь проще, храни все пароли в репозитории.
Как надо делать:
.gitignore
www.ps.kz
Совет 10
Как не надо делать:
Если хочешь быть успешным, ставь программы make install'ом,
Это проще, и быстрее, и понятнее для всех.
Как надо делать:
checkinstall, rpmbuild, makepkg и прочие.
www.ps.kz
Совет 11
Как не надо делать:
В серверном ПО конфигурация сразу подобрана так, чтобы выдерживать любые
нагрузки и она может самостоятельно адаптироваться под проект. Поэтому не стоит что-
либо менять в дефолтных конфигах.
Как надо делать:
Настраивайте ПО под ваши требования, нагрузки и архитектуру.
www.ps.kz
Совет 12
Как не надо делать:
Если ты действительно любишь свой проект - отпусти его, ты и так потратил на него
много времени. Хорошее ПО обновлять и исправлять - только портить.
Как надо делать:
Следить за уязвимостями и обновлениями (сайт, ОС).
www.ps.kz
Совет 13
Как не надо делать:
Если ты хороший, уверенный в себе программист - разрабатывай прямо на боевом
сервер, опыт не даст тебе ошибиться.
Как надо делать:
Всегда разделяйте тестовый и боевой серверы.
www.ps.kz
Совет 14
Как не надо делать:
Обязательно ставьте все компиляторы, дебагеры, трейсеры. "Случайному" посетителю
вашего сервера будет намного проще скомпилировать эксплоит.
Как надо делать:
Инструменты разработки - только на тестовом сервере.
www.ps.kz
Совет 15
Как не надо делать:
Обязательно хардкодьте полный путь до каждого компонента вашего сайта.
Как надо делать:
Не использовать абсолютные пути в коде.
www.ps.kz
Совет 16
Как не надо делать:
Если хочешь что-то обновить, сделай это тихо. Если что-то сломается, всегда можно
спихнуть на коллегу.
Как надо делать:
Уведомлять об обновлениях и изменениях платформы всех ответственных.
www.ps.kz
Совет 17
Как не надо делать:
Пиши в нестандартной кодировке, дабы запутать врага.
Как надо делать:
utf-8
www.ps.kz
Совет 18
Как не надо делать:
Никогда не документируйте проект - держите все в голове, тренируйте память.
Как надо делать:
Документируйте требования к платформе и программному обеспечению.
www.ps.kz
Продолжение следует…
www.ps.kz

Mais conteúdo relacionado

Mais procurados

«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр КолесеньIT Share
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Ontico
 
Знакомство с WebAssembly
Знакомство с WebAssemblyЗнакомство с WebAssembly
Знакомство с WebAssemblyNikita Zimin
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word pressvovasik
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Vladimir Malyk
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.PVasili
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovdrupalconf
 
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Fwdays
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersAleksey Fomkin
 
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Egor Konovalov
 
Salt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsSalt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsAlex Chistyakov
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"IT Event
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterpriseAlex Chistyakov
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»WrikeTechClub
 
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplantit-people
 

Mais procurados (20)

«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень
 
openSUSE Build Server от Б до Ю
openSUSE Build Server от Б до ЮopenSUSE Build Server от Б до Ю
openSUSE Build Server от Б до Ю
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)
 
Знакомство с WebAssembly
Знакомство с WebAssemblyЗнакомство с WebAssembly
Знакомство с WebAssembly
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word press
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
 
Drupal conf2011 2_kolosov
Drupal conf2011 2_kolosovDrupal conf2011 2_kolosov
Drupal conf2011 2_kolosov
 
Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.Инструментарий начинающего разработчика Drupal.
Инструментарий начинающего разработчика Drupal.
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
 
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web Workers
 
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
 
Salt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsSalt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systems
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterprise
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
 
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
 

Destaque

Чем бесят программисты
Чем бесят программистыЧем бесят программисты
Чем бесят программистыITCrowd Almaty
 
Система управления конфигурациями Ansible
Система управления конфигурациями AnsibleСистема управления конфигурациями Ansible
Система управления конфигурациями AnsibleITCrowd Almaty
 
Система мониторинга Zabbix
Система мониторинга ZabbixСистема мониторинга Zabbix
Система мониторинга ZabbixITCrowd Almaty
 
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основеITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основеITCrowd Almaty
 
Hack day almaty отчёт
Hack day almaty отчётHack day almaty отчёт
Hack day almaty отчётMikhail Kulakov
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаITCrowd Almaty
 
Web Performance в Казнете
Web Performance в КазнетеWeb Performance в Казнете
Web Performance в КазнетеITCrowd Almaty
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиITCrowd Almaty
 
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский ФайерволлКлюч от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский ФайерволлITCrowd Almaty
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахITCrowd Almaty
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используютITCrowd Almaty
 
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в командеITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в командеITCrowd Almaty
 
Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon frameworkАлександр Трищенко: Phalcon framework
Александр Трищенко: Phalcon frameworkOleg Poludnenko
 

Destaque (15)

Чем бесят программисты
Чем бесят программистыЧем бесят программисты
Чем бесят программисты
 
Система управления конфигурациями Ansible
Система управления конфигурациями AnsibleСистема управления конфигурациями Ansible
Система управления конфигурациями Ansible
 
Система мониторинга Zabbix
Система мониторинга ZabbixСистема мониторинга Zabbix
Система мониторинга Zabbix
 
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основеITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
ITCrowd 2 - Обзор существующих стандартов разметки и продуктов на ее основе
 
Hack day almaty отчёт
Hack day almaty отчётHack day almaty отчёт
Hack day almaty отчёт
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
На плаву!
На плаву!На плаву!
На плаву!
 
Web Performance в Казнете
Web Performance в КазнетеWeb Performance в Казнете
Web Performance в Казнете
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
React + Flux
React + FluxReact + Flux
React + Flux
 
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский ФайерволлКлюч от всех дверей: чем опасен Великий Казахстанский Файерволл
Ключ от всех дверей: чем опасен Великий Казахстанский Файерволл
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
 
ITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в командеITCrowd 2 - Разработка крупного проекта в команде
ITCrowd 2 - Разработка крупного проекта в команде
 
Александр Трищенко: Phalcon framework
Александр Трищенко: Phalcon frameworkАлександр Трищенко: Phalcon framework
Александр Трищенко: Phalcon framework
 

Semelhante a Вредные советы для разработчиков

Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Fwdays
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovRuby Meditation
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчейVitebsk DSC
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Fwdays
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...IT-Portfolio
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
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
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...
Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...
Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...Dev_Party
 
Xp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practicesXp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practicesAlexey Andreev
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичковOvadiah Myrgorod
 
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Moscow.pm
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментовVitalii Morvaniuk
 
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.ScrumTrek
 

Semelhante a Вредные советы для разработчиков (20)

Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
 
Chef @DevWeb
Chef @DevWebChef @DevWeb
Chef @DevWeb
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчей
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
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
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...
Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...
Анатолий Полицын, агентство интернет-маркетинга «Синапс» — Корпоративный хост...
 
Faq2 online-business-master
Faq2 online-business-masterFaq2 online-business-master
Faq2 online-business-master
 
Xp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practicesXp days 2019 - Why startups need SRE practices
Xp days 2019 - Why startups need SRE practices
 
Этичный хакинг
Этичный хакингЭтичный хакинг
Этичный хакинг
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
 
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментов
 
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
 

Mais de ITCrowd Almaty

Designer ≠ дизайнер
Designer ≠ дизайнерDesigner ≠ дизайнер
Designer ≠ дизайнерITCrowd Almaty
 
ITCrowd - Метапрограммирование
ITCrowd - МетапрограммированиеITCrowd - Метапрограммирование
ITCrowd - МетапрограммированиеITCrowd Almaty
 
ITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd - Потенциал казахоязычной аудитории РКITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd - Потенциал казахоязычной аудитории РКITCrowd Almaty
 
ITCrowd - Почему и как я стал фрилансером?
ITCrowd - Почему и как я стал фрилансером?ITCrowd - Почему и как я стал фрилансером?
ITCrowd - Почему и как я стал фрилансером?ITCrowd Almaty
 
ITCrowd - Правильная структура лендинга
ITCrowd - Правильная структура лендингаITCrowd - Правильная структура лендинга
ITCrowd - Правильная структура лендингаITCrowd Almaty
 

Mais de ITCrowd Almaty (7)

WatchKit 101
WatchKit 101WatchKit 101
WatchKit 101
 
AngularJS
AngularJSAngularJS
AngularJS
 
Designer ≠ дизайнер
Designer ≠ дизайнерDesigner ≠ дизайнер
Designer ≠ дизайнер
 
ITCrowd - Метапрограммирование
ITCrowd - МетапрограммированиеITCrowd - Метапрограммирование
ITCrowd - Метапрограммирование
 
ITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd - Потенциал казахоязычной аудитории РКITCrowd - Потенциал казахоязычной аудитории РК
ITCrowd - Потенциал казахоязычной аудитории РК
 
ITCrowd - Почему и как я стал фрилансером?
ITCrowd - Почему и как я стал фрилансером?ITCrowd - Почему и как я стал фрилансером?
ITCrowd - Почему и как я стал фрилансером?
 
ITCrowd - Правильная структура лендинга
ITCrowd - Правильная структура лендингаITCrowd - Правильная структура лендинга
ITCrowd - Правильная структура лендинга
 

Вредные советы для разработчиков

  • 1. Вредные советы для разработчиков Равиль Кадырбаев и Василий Кечин, системные администраторы PS.KZ
  • 2. Совет 1 Как не надо делать: Не стоит тратить свое драгоценное время на настройку фаервола. Сетевые службы лучше оставить открытыми всему миру, открытость - залог успеха. Как надо делать: Настраиваем фаервол по принципу «Что не разрешено – запрещено». www.ps.kz
  • 3. Совет 2 Как не надо делать: Никогда не знаешь, какая функция php может вам пригодиться в проекте, поэтому никогда не настраивайте запрещенные функции. Как надо делать: disable_functions = apache_setenv,dl,exec,openlog,passthru,pcntl_exec,pcntl_fork,pfsockopen,popen,posix_getp wuid,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_sta tus,proc_nice,proc_open,proc_terminate,shell_exec,socket_create,socket_create_listen,socke t_create_pair,syslog,system,socket_listen,stream_socket_server www.ps.kz
  • 4. Совет 3 Как не надо делать: Не отключайте показ версии используемых компонентов - посетитель должен знать с чем он работает. И, к тому же, это абсолютно безопасно. Как надо делать: php.ini: expose_php = Off nginx.conf: server_tokens off; httpd.conf: ServerSignature Off ServerTokens Prod www.ps.kz
  • 5. Совет 4 Как не надо делать: Не стоит загромождать сервер приложения большим количеством веб-серверов. Доверяй только «старому индейцу» и своему notepad'у. Как надо делать: Всю статику отдавать через nginx. www.ps.kz
  • 6. Совет 5 Как не надо делать: Зачем заводить кучу пользователей, если вся команда может ходить под root по принципу KISS. Как надо делать: Закрываем удаленный вход под администратором. На сервер ходим только под непривилегированным пользователем. www.ps.kz
  • 7. Совет 6 Как не надо делать: Не стоит чистить базу данных от лишних данных, копии БД и тестовые пользователи всегда могут пригодиться. Как надо делать: mysql_secure_installation, никаких посторонних БД и пользователей на боевом сервере. www.ps.kz
  • 8. Совет 7 Как не надо делать: Unix-права - это очень сложно, всем известно что 777 гарантировано исправляет проблемы в приложении. Как надо делать: 777 – это плохо 750 или 755 для каталогов 640 или 644 для файлов www.ps.kz
  • 9. Совет 8 Как не надо делать: Нет смысла генерировать длинные и сложные пароли, ну кому нужен ваш сервер? Как надо делать: Используем генераторы и менеджеры паролей. www.ps.kz
  • 10. Совет 9 Как не надо делать: Будь проще, храни все пароли в репозитории. Как надо делать: .gitignore www.ps.kz
  • 11. Совет 10 Как не надо делать: Если хочешь быть успешным, ставь программы make install'ом, Это проще, и быстрее, и понятнее для всех. Как надо делать: checkinstall, rpmbuild, makepkg и прочие. www.ps.kz
  • 12. Совет 11 Как не надо делать: В серверном ПО конфигурация сразу подобрана так, чтобы выдерживать любые нагрузки и она может самостоятельно адаптироваться под проект. Поэтому не стоит что- либо менять в дефолтных конфигах. Как надо делать: Настраивайте ПО под ваши требования, нагрузки и архитектуру. www.ps.kz
  • 13. Совет 12 Как не надо делать: Если ты действительно любишь свой проект - отпусти его, ты и так потратил на него много времени. Хорошее ПО обновлять и исправлять - только портить. Как надо делать: Следить за уязвимостями и обновлениями (сайт, ОС). www.ps.kz
  • 14. Совет 13 Как не надо делать: Если ты хороший, уверенный в себе программист - разрабатывай прямо на боевом сервер, опыт не даст тебе ошибиться. Как надо делать: Всегда разделяйте тестовый и боевой серверы. www.ps.kz
  • 15. Совет 14 Как не надо делать: Обязательно ставьте все компиляторы, дебагеры, трейсеры. "Случайному" посетителю вашего сервера будет намного проще скомпилировать эксплоит. Как надо делать: Инструменты разработки - только на тестовом сервере. www.ps.kz
  • 16. Совет 15 Как не надо делать: Обязательно хардкодьте полный путь до каждого компонента вашего сайта. Как надо делать: Не использовать абсолютные пути в коде. www.ps.kz
  • 17. Совет 16 Как не надо делать: Если хочешь что-то обновить, сделай это тихо. Если что-то сломается, всегда можно спихнуть на коллегу. Как надо делать: Уведомлять об обновлениях и изменениях платформы всех ответственных. www.ps.kz
  • 18. Совет 17 Как не надо делать: Пиши в нестандартной кодировке, дабы запутать врага. Как надо делать: utf-8 www.ps.kz
  • 19. Совет 18 Как не надо делать: Никогда не документируйте проект - держите все в голове, тренируйте память. Как надо делать: Документируйте требования к платформе и программному обеспечению. www.ps.kz