146

Try to be professional

Embed Size (px)

Citation preview

Page 1: Try to be professional
Page 2: Try to be professional

1. Каким должен быть разработчик

2. Инструменты для разработки

3. Инфраструктура для разработки

Page 3: Try to be professional

Ссылка на презентацию и все материалы

https://goo.gl/tkBPa0

https://goo.gl/tkBPa0

Page 4: Try to be professional

https://goo.gl/tkBPa0

Page 5: Try to be professional

Что такое «хороший программист»

https://goo.gl/tkBPa0

Page 6: Try to be professional

Академические знания

https://goo.gl/tkBPa0

Page 7: Try to be professional

https://goo.gl/tkBPa0

Page 8: Try to be professional

Типы данных MySQL?

https://goo.gl/tkBPa0

Page 9: Try to be professional

Типы данных MySQLTINYINTINTBIGINTFLOATDOUBLE

DATETIMESTAMPYEARBLOBENUM

https://goo.gl/tkBPa0

Page 10: Try to be professional

Типы таблиц MySQL?

https://goo.gl/tkBPa0

Page 11: Try to be professional

Типы таблиц MySQLMyISAMInnoDB

https://goo.gl/tkBPa0

Page 12: Try to be professional

Типы таблиц MySQLMyISAMInnoDB

ISAMMERGEHEAPBDB

https://goo.gl/tkBPa0

Page 13: Try to be professional

ОтличияТип таблицы MyISAM InnoDBТранзакционный Нет ДаInsert Быстрее МедленнееSelect Быстрее МедленнееSelect/update/delete/insert

Медленнее Быстрее

Внешние ключи Нет ДаБлокировка Таблица Строка

https://goo.gl/tkBPa0

Page 14: Try to be professional

Регулярные выраженияВыбрать числа?Начало строки?Пробел?Граница слова?Конец строки?

https://goo.gl/tkBPa0

Page 15: Try to be professional

Регулярные выраженияВыбрать числа - [0-9]+ или [\d]+Начало строки - ^Пробел - \sГраница слова - \bКонец строки - $

https://goo.gl/tkBPa0

Page 16: Try to be professional

Командная строка linuxСоздать архив?

https://goo.gl/tkBPa0

Page 17: Try to be professional

Командная строка linuxСоздать архивtar –c files.tar.gz ~/files

https://goo.gl/tkBPa0

Page 18: Try to be professional

Командная строка linuxСоздать архивtar –c files.tar.gz ~/files-c – create

https://goo.gl/tkBPa0

Page 19: Try to be professional

Командная строка linuxСоздать архивtar –cv files.tar.gz ~/files-c – create

https://goo.gl/tkBPa0

Page 20: Try to be professional

Командная строка linuxСоздать архивtar –cv files.tar.gz ~/files-c – create-v – verbose

https://goo.gl/tkBPa0

Page 21: Try to be professional

Командная строка linuxСоздать архивtar –cvz files.tar.gz ~/files-c – create-v – verbose

https://goo.gl/tkBPa0

Page 22: Try to be professional

Командная строка linuxСоздать архивtar –cvz files.tar.gz ~/files-c – create-v – verbose-z – gzip

https://goo.gl/tkBPa0

Page 23: Try to be professional

Командная строка linuxСоздать архивtar –cvzf files.tar.gz ~/files-c – create-v – verbose-z – gzip

https://goo.gl/tkBPa0

Page 24: Try to be professional

Командная строка linuxСоздать архивtar –cvzf files.tar.gz ~/files-c – create-v – verbose-z – gzip-f – file-archive

https://goo.gl/tkBPa0

Page 25: Try to be professional

Командная строка linuxРаспаковатьtar –x files.tar.gz ~/files

https://goo.gl/tkBPa0

Page 26: Try to be professional

Командная строка linuxРаспаковатьtar –x files.tar.gz ~/files-x – extract

https://goo.gl/tkBPa0

Page 27: Try to be professional

Командная строка linuxРаспаковатьtar –xv files.tar.gz ~/files-x – extract -v - verbose

https://goo.gl/tkBPa0

Page 28: Try to be professional

Командная строка linuxРаспаковатьtar –xvf files.tar.gz ~/files-x – extract -v – verbose-f – file-archive

https://goo.gl/tkBPa0

Page 29: Try to be professional

Грейдирование –табель роста*

https://goo.gl/tkBPa0

Page 30: Try to be professional

ИПРИндивидуальный План

Развития

https://goo.gl/tkBPa0

Page 31: Try to be professional

Проектирование классов*BPuser

GetByID(in UserID, out arUser)GetByEmail(in Email, out arUser)Add(in arUser, out ProfileID)

https://goo.gl/tkBPa0

Page 32: Try to be professional

Проектирование БД*

https://goo.gl/tkBPa0

Page 33: Try to be professional

Проектирование БД

https://goo.gl/tkBPa0

MySQL Workbench

Page 34: Try to be professional

Проектирование БД*

https://goo.gl/tkBPa0

http://dbdesigner.net/

Page 35: Try to be professional

https://goo.gl/tkBPa0

Page 36: Try to be professional

Блок-схемы*

https://goo.gl/tkBPa0

Page 37: Try to be professional

UML-диаграммы

https://goo.gl/tkBPa0

Page 38: Try to be professional

https://cacoo.com/

https://goo.gl/tkBPa0

Сервис для онлайн-работы с:• UML• Блок-схемы• Flow-chart• Mindmap• DB-scheme• Server-schemes

Page 39: Try to be professional

Server-scheme*

https://goo.gl/tkBPa0

Page 40: Try to be professional

Описание кластера*

https://goo.gl/tkBPa0

1. Структура кластера1.1 Схема кластера2. Настройка программного обеспечения2.1 Общие настройки2.2 Настройка рабочих нод кластера rzn-web-11, msk-web-112.2.1 Установка пакетов2.2.2 Пользовательские скрипты2.2.3 Конфигурация демона nginx2.2.4 Конфигурация демона nodejs…. 

Page 41: Try to be professional

Я все это должен знать/уметь?!

https://goo.gl/tkBPa0

Page 42: Try to be professional

DevOps?

https://goo.gl/tkBPa0

Page 43: Try to be professional

development & operations

https://goo.gl/tkBPa0

Page 44: Try to be professional

Современный разработчик

https://goo.gl/tkBPa0

Page 45: Try to be professional

Быть центром компетенций

https://goo.gl/tkBPa0

Page 46: Try to be professional

Как стать действительно ценным специалистом?

https://goo.gl/tkBPa0

Page 47: Try to be professional

Решать проблемы, а не задачи

https://goo.gl/tkBPa0

Page 48: Try to be professional

Специалист• академические знания• умеет проектировать (читай: думать и

параллелить разработку)• постоянно развивается• решает проблемы, а не задачи

https://goo.gl/tkBPa0

Page 49: Try to be professional

Links0. Алексей Рыбак Badoo - Про то, что я бы хотел, чтобы мне рассказали, пока я учился - http://habrahabr.ru/company/mailru/blog/269687/ 1. Тупняк как чума 21 века и что с этим делать - http://2015.codefest.ru/lecture/1023 2. Эффективность неэффективности - http://www.youtube.com/watch?v=XDF02KmgJFE 3. Читаем про MYSQL: http://www.mysql.ru/docs/man/Introduction.html 4. Работа в командной строке Linux: http://younglinux.info/bash.php 5. Разбор команд командной строки Linux http://habrahabr.ru/post/262127/ 6. Как работать в MySQL через командную строку http://habrahabr.ru/post/163545/ 7. DNS - https://ru.wikipedia.org/wiki/DNS 8. Программа стажировки http://webpp.ru/traineeship/ 9. PHP https://www.codecademy.com/ru/learn/php10. PHP http://www.php-s.ru/self-teacher/

https://goo.gl/tkBPa0

Page 50: Try to be professional

Link: https://goo.gl/tkBPa0

Page 51: Try to be professional

https://goo.gl/tkBPa0

Page 52: Try to be professional

GIT

https://goo.gl/tkBPa0

Page 53: Try to be professional

Links1. GIT обучение: http://git-scm.com/book/ru/v1 2. И еще одно: http://githowto.com/ru 3. Интерактивное обучение: https://try.github.io/levels/1/challenges/1 4. Шпаргалка http://eax.me/git-commands/ 5. Работа с битрикс и GIT: http://habrahabr.ru/post/219569/

https://goo.gl/tkBPa0

Page 54: Try to be professional

ХукиСкрипты, запускаемые при каком-либо событии.Бывают локальные и глобальные.

Примеры:pre-commit – перед коммитомprepare-commit-msg – перед появлением редакторас сообщением коммитаpost-merge – после merge

https://goo.gl/tkBPa0

Page 55: Try to be professional

Хуки

https://goo.gl/tkBPa0

Page 56: Try to be professional

gitolite

Утилита для управления репозиториями

https://goo.gl/tkBPa0

Page 57: Try to be professional

gitoliteСсылки:• http://gitolite.com/gitolite/index.html - официальная дока• http://habrahabr.ru/post/136815/ - о gitolite• http://habrahabr.ru/post/253413/ - установка для ламеров

https://goo.gl/tkBPa0

Page 58: Try to be professional

gitolite - конфиг

https://goo.gl/tkBPa0

Page 59: Try to be professional

gitolite – ключи

https://goo.gl/tkBPa0

Page 60: Try to be professional

Как работают ключи?

https://goo.gl/tkBPa0

Page 61: Try to be professional

Пара ключей

https://goo.gl/tkBPa0

ryzhkin.pub ryzhkinryzhkin.pp

k

Page 62: Try to be professional

puttygen

https://goo.gl/tkBPa0

Page 63: Try to be professional

Не забывайте закрывать .git по .htpasswd

https://goo.gl/tkBPa0

<Files .git> deny from all</Files>

Page 64: Try to be professional

Не забывайте удалять старые, неактуальные ключи из репозитория!

https://goo.gl/tkBPa0

Page 65: Try to be professional

.gitignore

https://goo.gl/tkBPa0

.dbconn.php (.sample)/*.log/*.sql

Page 66: Try to be professional

https://github.com/

https://goo.gl/tkBPa0

Page 67: Try to be professional

https://bitbucket.org/

https://goo.gl/tkBPa0

Page 68: Try to be professional
Page 69: Try to be professional

gitlab

https://goo.gl/tkBPa0

Page 70: Try to be professional

Управление repo?

https://goo.gl/tkBPa0

Page 71: Try to be professional

https://goo.gl/tkBPa0

Page 72: Try to be professional

https://goo.gl/tkBPa0

Page 73: Try to be professional

https://goo.gl/tkBPa0

Page 74: Try to be professional

https://goo.gl/tkBPa0

Page 75: Try to be professional

https://goo.gl/tkBPa0

Page 76: Try to be professional

https://goo.gl/tkBPa0

Page 77: Try to be professional

https://goo.gl/tkBPa0

Page 78: Try to be professional

https://goo.gl/tkBPa0

Page 79: Try to be professional

https://goo.gl/tkBPa0

Page 80: Try to be professional

Sourcetree – local GIT GUI

https://goo.gl/tkBPa0

• Free• Bitbucket.com

Page 81: Try to be professional

Sourcetree - codereview

https://goo.gl/tkBPa0

Page 82: Try to be professional

xhprof

https://goo.gl/tkBPa0

Page 83: Try to be professional

https://goo.gl/tkBPa0

Page 84: Try to be professional

https://goo.gl/tkBPa0

Page 85: Try to be professional

https://goo.gl/tkBPa0

Page 86: Try to be professional

xhprof

https://goo.gl/tkBPa0

Ссылки1. Установка http://ruhighload.com/post/%D0%A3%D

1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+XHprof

2. Использование http://ruhighload.com/index.php/2009/08/21/xhprof-%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-php-%D0%BE%D1%82-facebook/

3. Статья на хабре http://habrahabr.ru/post/145895/

Page 87: Try to be professional

Unit тесты

https://goo.gl/tkBPa0

Page 88: Try to be professional

https://goo.gl/tkBPa0

Page 89: Try to be professional

https://goo.gl/tkBPa0

Page 90: Try to be professional

https://goo.gl/tkBPa0

Page 91: Try to be professional

Unit тесты

https://goo.gl/tkBPa0

Установка и использование https://phpunit.de/getting-started.html

Page 92: Try to be professional

IDE

https://goo.gl/tkBPa0

Что такое IDE?

Page 93: Try to be professional

IDE

https://goo.gl/tkBPa0

Integrated Development Environment

Page 94: Try to be professional

PHPStorm

https://goo.gl/tkBPa0

Page 95: Try to be professional

PHPStorm

https://goo.gl/tkBPa0

Page 96: Try to be professional

PHPStorm

Page 97: Try to be professional
Page 98: Try to be professional
Page 99: Try to be professional

PHPStormА еще:1. Уведомления об изменении файла на сервере2. Интеграция с CSV3. Подсказки по классам/методам4. Сниппеты5. И многое многое другое…

https://goo.gl/tkBPa0

Page 100: Try to be professional
Page 101: Try to be professional
Page 102: Try to be professional

https://goo.gl/tkBPa0

Page 103: Try to be professional

https://goo.gl/tkBPa0

Page 104: Try to be professional

https://goo.gl/tkBPa0

Page 105: Try to be professional

https://goo.gl/tkBPa0

Page 106: Try to be professional

https://goo.gl/tkBPa0

Page 107: Try to be professional

https://goo.gl/tkBPa0

Page 108: Try to be professional

https://goo.gl/tkBPa0

Page 109: Try to be professional

https://goo.gl/tkBPa0

Page 110: Try to be professional

https://goo.gl/tkBPa0

Page 111: Try to be professional

https://goo.gl/tkBPa0

Page 112: Try to be professional

https://goo.gl/tkBPa0

Page 113: Try to be professional

https://goo.gl/tkBPa0

Page 114: Try to be professional

https://goo.gl/tkBPa0

Page 115: Try to be professional

https://goo.gl/tkBPa0

Page 116: Try to be professional

https://goo.gl/tkBPa0

Page 117: Try to be professional

https://goo.gl/tkBPa0

Page 118: Try to be professional

https://goo.gl/tkBPa0

Page 119: Try to be professional

https://goo.gl/tkBPa0

Page 120: Try to be professional

https://goo.gl/tkBPa0

Page 121: Try to be professional

https://goo.gl/tkBPa0

Page 122: Try to be professional

https://goo.gl/tkBPa0

Page 123: Try to be professional
Page 124: Try to be professional

https://goo.gl/tkBPa0

Page 125: Try to be professional

https://goo.gl/tkBPa0

Page 126: Try to be professional

https://goo.gl/tkBPa0

Page 127: Try to be professional

https://goo.gl/tkBPa0

Page 128: Try to be professional

https://goo.gl/tkBPa0

Page 129: Try to be professional

https://goo.gl/tkBPa0

Page 130: Try to be professional

https://goo.gl/tkBPa0

Page 131: Try to be professional

https://goo.gl/tkBPa0

Page 132: Try to be professional

https://goo.gl/tkBPa0

Page 133: Try to be professional

https://goo.gl/tkBPa0

Page 134: Try to be professional

https://goo.gl/tkBPa0

Page 135: Try to be professional

https://goo.gl/tkBPa0

Page 136: Try to be professional

https://goo.gl/tkBPa0

Page 137: Try to be professional

https://goo.gl/tkBPa0

Page 138: Try to be professional

https://goo.gl/tkBPa0

Page 139: Try to be professional

https://goo.gl/tkBPa0

Page 140: Try to be professional

https://goo.gl/tkBPa0

Page 141: Try to be professional

https://goo.gl/tkBPa0

Page 142: Try to be professional

https://goo.gl/tkBPa0

Page 143: Try to be professional

https://goo.gl/tkBPa0

Page 144: Try to be professional

https://goo.gl/tkBPa0

Page 145: Try to be professional

https://goo.gl/tkBPa0

Page 146: Try to be professional

Бонус

https://goo.gl/tkBPa0

• Continuous delivery в крупном интернет проекте https://tech.badoo.com/presentation/89/• Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей

https://tech.badoo.com/presentation/81/• Процесс разработки и выкатка релизов в Badoo. Автоматическое тестирование. Девелоперское окружение

https://tech.badoo.com/article/107/• Релиз-менеджмент в Badoo http://profyclub.ru/docs/220• Continuous integration для php http://habrahabr.ru/post/68571/• Непрерывная интеграция и TeamCity http://habrahabr.ru/post/105895/• Идеальный процесс разработки – утопия или Continuous Integration?

http://my-it-notes.com/2013/01/continuous_integration_as_ideal_software_development_process/• Олег Бунин - Мини мастер-класс по высоконагруженным системам - http://

www.youtube.com/watch?v=CNVOWgLTmr0• PSR стандарт кодирования - http://www.php-fig.org/psr/psr-1/ru/• Стандарты от Битрикс: http://

dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&CHAPTER_ID=03044&LESSON_PATH=3913.4776.4774.3044