Rails Girls Sofia 11
16-17 ноември 2018 г.
Ден 1
WiFi: NPC RAILSGIRLS
Pass: railsgirls11
#RailsGirlsSofia
Slide 2
Slide 2 text
Здравейте!
(Отново! Аз съм Сашо.)
Slide 3
Slide 3 text
Процедурни
Slide 4
Slide 4 text
Ток
Slide 5
Slide 5 text
Регистрация
Slide 6
Slide 6 text
WiFi: NPC RAILSGIRLS
Pass: railsgirls11
Slide 7
Slide 7 text
Температура
Slide 8
Slide 8 text
WC
Slide 9
Slide 9 text
Бирата
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
#RailsGirlsSofia
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
1. Логическа задача, която ще решавате
индивидуално.
2. Условието е достъпно онлайн на адрес
http://bit.ly/saprailsgirls11
3. Пращайте решенията до 15:00 ч. в
събота.
4. Има три награди.
Помощ от публиката
• Що е то уебсайт?
• Static vs. dynamic
Slide 38
Slide 38 text
Приложение за
гласуване
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
No content
Slide 41
Slide 41 text
static vs. dynamic
Slide 42
Slide 42 text
Ruby?
Slide 43
Slide 43 text
No content
Slide 44
Slide 44 text
Език за програмиране
Slide 45
Slide 45 text
Когато пишем код,
комуникираме
Slide 46
Slide 46 text
Език за програмиране
=
Купчина правила, с
които можете да
управлявате компютър
Slide 47
Slide 47 text
Сходно на
естествените езици,
но с по-стриктни правила
Slide 48
Slide 48 text
Не е трудно
да се научите
Slide 49
Slide 49 text
Код
=
Текст, написан
на даден език за
програмиране
Slide 50
Slide 50 text
Езици за програмиране
• Ruby (Руби) е език за програмиране
• Има и други (C#, Java, C++, PHP, JavaScript,
Clojure, Scheme и още 712...)
• Можем да ползваме произволен* език, за да
правим това, което ще правим днес
• Ruby е готин и ще ползваме него
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
No content
Slide 53
Slide 53 text
No content
Slide 54
Slide 54 text
Нещата, които ще
научите с Ruby,
важат и за други езици.
Slide 55
Slide 55 text
Освен Ruby, ще
използваме и Sinatra
Slide 56
Slide 56 text
Sinatra?
Slide 57
Slide 57 text
Sinatra
• “Sinatra” е името на една програма, написана на Ruby
• Sinatra е просто купчина Ruby код, която някой е
написал вместо нас, за да ни улесни в направата на уеб
приложения (още: библиотека, фреймуърк)
• Можем да я ползваме безплатно
• Sinatra има някои вградени функции и може да играе
ролята на нужния ни уеб сървър
• Можем и без Sinatra, но ще се поизпотим повече
Slide 58
Slide 58 text
Нашият код
Библиотеката Sinatra
Езикът за програмиране Ruby
Операционната система Linux (Cloud9)
Виртуализацията и инфраструктурата на Amazon Web Services
Хардуерът в дейта центровете на Амазон, и firmware-а, вървящ на него (BIOS, UEFI и други)
Speak Geek.
Or how to teach the language of web
Friday, March 23, 12
Slide 66
Slide 66 text
No content
Slide 67
Slide 67 text
No content
Slide 68
Slide 68 text
4
Friday, March 23, 12
Slide 69
Slide 69 text
HTML
AJAX
CSS
RUBY, PYTHON, PHP, SCALA
MYSQL,
MONGODB
RUBY ON RAILS, DJANGO,
CAKEPHP, JETTY , LIFT….
XML
JAVASCRIPT
DOM
UNICORN
Friday, March 23, 12
Slide 70
Slide 70 text
Etsy:
“We use a number of different programming languages (including Matlab!) but
are primarily a PHP shop. We have a number of databases, some of which
are MySQL and some of which are PostgreSQL. “
Friday, March 23, 12
Slide 71
Slide 71 text
7
PHP + Matlab
MySQL
PostgeSQL
Friday, March 23, 12
Slide 72
Slide 72 text
8
Foursquare:
“Server code is written in scala running on the lift web framework using
jetty for a webserver. We front everything with nginx, and use HAProxy in
between.
MongoDB handles most of our data storage needs (though a bit hasn't been
migrated off PostgreSQL yet).
Friday, March 23, 12
Slide 73
Slide 73 text
9
MongoDB and
PostresSQL
Nginx + HAProxy
Lift
Scala
Friday, March 23, 12
Slide 74
Slide 74 text
R
#1 PHP
#2 SaaS
#3 RoR
#4 HTML
#5 MongoDB
Rules: Figure out the term and place it on the bentobox in
the right place..
There might be false friends and doubles.
Googling allowed!
You have five minutes – wrong answers will be removed,
the team with most post-its wins!
#6 Apache
#7 CSS
#8 Django
#9 MySQL
#10 nginx
Friday, March 23, 12
Slide 75
Slide 75 text
HTML
PHP
SaaS
RoR
MongoDB
CSS
Apache
Django
nginx
MySQL
Friday, March 23, 12
Slide 76
Slide 76 text
Lightning Talks
Slide 77
Slide 77 text
Габриела Лухова
Slide 78
Slide 78 text
Три неща, които научих
като програмист
Габриела Лухова
Slide 79
Slide 79 text
No content
Slide 80
Slide 80 text
No content
Slide 81
Slide 81 text
Средата, в която учите, е
изключително важна
Slide 82
Slide 82 text
No content
Slide 83
Slide 83 text
No content
Slide 84
Slide 84 text
Програмисткото общество е
благоприятно настроено към
начинаещите
Slide 85
Slide 85 text
No content
Slide 86
Slide 86 text
No content
Slide 87
Slide 87 text
Съмненията са здравословни,
но само в определени граници
Slide 88
Slide 88 text
Васил Манолов
Slide 89
Slide 89 text
Интернет
Slide 90
Slide 90 text
No content
Slide 91
Slide 91 text
No content
Slide 92
Slide 92 text
No content
Slide 93
Slide 93 text
No content
Slide 94
Slide 94 text
No content
Slide 95
Slide 95 text
No content
Slide 96
Slide 96 text
No content
Slide 97
Slide 97 text
No content
Slide 98
Slide 98 text
Excuse (преведено определение):
Фалшива причина, която
изтъкваме, за да обясним защо
(не) сме направили нещо.
Slide 99
Slide 99 text
Кучето ми изяде домашното
Slide 100
Slide 100 text
Алармата ми не се включи
Slide 101
Slide 101 text
Имаше задръстване
Slide 102
Slide 102 text
При мен работи
Slide 103
Slide 103 text
Не съм достатъчно подготвен/а
—
Slide 104
Slide 104 text
Нямам време
Slide 105
Slide 105 text
Да си отговорим на няколко въпроса
Slide 106
Slide 106 text
Куче изяде ли домашното ви за днес?
Slide 107
Slide 107 text
Алармата ви включи ли се тази сутрин?
Slide 108
Slide 108 text
Изненада ли ви трафикът?
Slide 109
Slide 109 text
Роботът ви стигна ли до целта вчера?
Slide 110
Slide 110 text
Успяхте ли да се запишете за
Rails Girls Sofia?
Slide 111
Slide 111 text
Намерихте ли време да присъствате?
Slide 112
Slide 112 text
Браво!
(продължавайте да избягвате оправданията)
Slide 113
Slide 113 text
Надя Данабашева
Slide 114
Slide 114 text
IT (It’s a Trap)
common sense
in а fancy presentation
Slide 115
Slide 115 text
Who is that WOMAN talking to me?
Slide 116
Slide 116 text
You can become a good
developer in TWO months
Slide 117
Slide 117 text
To be in IT I MUST be a developer
Slide 118
Slide 118 text
• PROJECT MANAGER
• SCRUM MASTER
• PRODUCT OWNER
• BUSINESS ANALYST
• QUALITY ASSURANCE
• DATA ANALYST
• TECHNICAL WRITERS
• DATABASE ADMINISTRATION
• DATA QUALITY
• HELP DESK SPECIALIST
Slide 119
Slide 119 text
I’m gonna be RICH
Slide 120
Slide 120 text
IT people know EVERYTHING about computer programs,
platforms, and languages
Slide 121
Slide 121 text
Developers are ANTI-SOCIAL
Slide 122
Slide 122 text
COMMUNICATION
MENTORSHIP
TEAMWORK
LISTENING
PROBLEM SOLVING
CRITICAL OBSERVATION
LEADERSHIP
ADAPTABILITY
CONTRACT
NEGOTIATION
Slide 123
Slide 123 text
I'm a woman, so I WILL be sexually
harassed and/or be underestimated
Slide 124
Slide 124 text
You are a woman and you can code, be a
mother and be a wife and a friend. All at
the same time.
I have to SACRIFICE everything
Slide 125
Slide 125 text
No content
Slide 126
Slide 126 text
Димитър Димитров
Slide 127
Slide 127 text
За грешките и
програмирането
Slide 128
Slide 128 text
No content
Slide 129
Slide 129 text
No content
Slide 130
Slide 130 text
No content
Slide 131
Slide 131 text
Експерименталната
фаза
Помага за ученето.
Slide 132
Slide 132 text
Мъдростта
на опита
С v1.0.0 работата тъкмо започва.
Slide 133
Slide 133 text
По-малко код =
по-добре
По възможност никакъв код.
Slide 134
Slide 134 text
Как работи
регистрацията?
Приложили сме мъдрост.
Slide 135
Slide 135 text
No content
Slide 136
Slide 136 text
Spreadsheets to the
rescue
По възможност никакъв код.
Slide 137
Slide 137 text
Разпределението
по участнички
И връзката с вашия инструктор.
Slide 138
Slide 138 text
Какво
се случи
И как разбрахме.
Slide 139
Slide 139 text
Изводи
Slide 140
Slide 140 text
Проверявайте си
работата
По няколко пъти.
Slide 141
Slide 141 text
Не вярвайте сляпо
на инструментите
Всичко е бъгаво. FUBAR.
Slide 142
Slide 142 text
Не се страхувайте
да грешите
Част от ежедневието е.
Slide 143
Slide 143 text
Не спирайте с
експериментите
Иначе спирате да се учите.
Slide 144
Slide 144 text
Марта Радева
Slide 145
Slide 145 text
ДЗЕН
И изк в да е авя и к ачки
Slide 146
Slide 146 text
Историята с косачката, или приказка за неволята
Slide 147
Slide 147 text
Контекст
Slide 148
Slide 148 text
Линия на времето
Slide 149
Slide 149 text
Линия на времето
Slide 150
Slide 150 text
Success story? Failure story?
Slide 151
Slide 151 text
Историята с косачката, или приказка за неволята
Slide 152
Slide 152 text
Защо?
Slide 153
Slide 153 text
Съвременният свят
● V - Vol it
● U - Un e t y
● C - Com x
● A - Am i t
● И - Из е чив
● Н - Не иг е
● С - С же
● Д - Дв й ве
https://en.wikipedia.org/wiki/Volatility,_uncertaint
y,_complexity_and_ambiguity
Slide 154
Slide 154 text
Поуките?
Slide 155
Slide 155 text
Не спирай да се учиш.
Slide 156
Slide 156 text
Не се страхувай да сбъркаш.
Slide 157
Slide 157 text
Бъди любител.
Slide 158
Slide 158 text
Благодаря.
Slide 159
Slide 159 text
Димитър Смилянов
Slide 160
Slide 160 text
Поцъкай малко
Slide 161
Slide 161 text
Дай още малко
Slide 162
Slide 162 text
Да посвикнеш с
дистанционното
Slide 163
Slide 163 text
А така
Slide 164
Slide 164 text
Май е добре
Slide 165
Slide 165 text
Почвай
Slide 166
Slide 166 text
Как се подготвих за
триатлон
Как се научих да
програмирам
Slide 167
Slide 167 text
No content
Slide 168
Slide 168 text
No content
Slide 169
Slide 169 text
No content
Slide 170
Slide 170 text
No content
Slide 171
Slide 171 text
5.95
Slide 172
Slide 172 text
No content
Slide 173
Slide 173 text
No content
Slide 174
Slide 174 text
No content
Slide 175
Slide 175 text
No content
Slide 176
Slide 176 text
No content
Slide 177
Slide 177 text
Тичане
Slide 178
Slide 178 text
Колоездене
Slide 179
Slide 179 text
Плуване
Slide 180
Slide 180 text
No content
Slide 181
Slide 181 text
Януари
Slide 182
Slide 182 text
Февруари
Slide 183
Slide 183 text
Март
Slide 184
Slide 184 text
Април
Slide 185
Slide 185 text
Май
Slide 186
Slide 186 text
Юни
Slide 187
Slide 187 text
Юли
Slide 188
Slide 188 text
Август
Slide 189
Slide 189 text
No content
Slide 190
Slide 190 text
1. Трябва да инвестирате време
Slide 191
Slide 191 text
No content
Slide 192
Slide 192 text
No content
Slide 193
Slide 193 text
No content
Slide 194
Slide 194 text
No content
Slide 195
Slide 195 text
No content
Slide 196
Slide 196 text
No content
Slide 197
Slide 197 text
No content
Slide 198
Slide 198 text
No content
Slide 199
Slide 199 text
2. Ще пострадате поне веднъж
Slide 200
Slide 200 text
No content
Slide 201
Slide 201 text
No content
Slide 202
Slide 202 text
Най-добър
Slide 203
Slide 203 text
25
50,000
25
Slide 204
Slide 204 text
49,975?
Slide 205
Slide 205 text
3. Никога няма да сте най-
добрите
Slide 206
Slide 206 text
No content
Slide 207
Slide 207 text
No content
Slide 208
Slide 208 text
No content
Slide 209
Slide 209 text
4. Ще се забавлявате
Slide 210
Slide 210 text
1. Трябва да инвестирате време
2. Ще пострадате поне веднъж
4. Ще се забавлявате
3. Никога няма да сте най-
добрите
Ако искате да се подготвите за
триатлон:
Slide 211
Slide 211 text
1. Трябва да инвестирате време
2. Ще пострадате поне веднъж
4. Ще се забавлявате
3. Никога няма да сте най-
добрите
Ако искате да се научите да
програмирате:
Как да продължим?
1. Продължете да се занимавате
2. Работете над нещо реално
3. Поддържайте връзка помежду си
4. Забавлявайте се!
Slide 221
Slide 221 text
Study групи
Slide 222
Slide 222 text
No content
Slide 223
Slide 223 text
Study групи
• Седмични срещи в Puzl CowOrKing
• Има поне един инструктор
• Без задължителна “домашна” работа
• Индивидуална “програма”
• С начинаещи започваме от нулата
• Трупате знания чрез практика
Slide 224
Slide 224 text
Study групи
• Поне един ден седмично, след 19:30
• Малки групи - под 10 човека
• Не е фатално, ако понякога изпускате
• Ако има повече желаещи, ще го измислим
• Доброволни и безплатни
Slide 225
Slide 225 text
Study групи
• Напълно възможно е да се научите
• Няма тайна – формулата е време + постоянство
• Ще получавате помощ, но трябва да сте
мотивирани да изкачите планината сами
Slide 226
Slide 226 text
rails-girls-sofia-study-group.github.io
Slide 227
Slide 227 text
Ресурси
Slide 228
Slide 228 text
CoderDojo
Bulgaria
Slide 229
Slide 229 text
No content
Slide 230
Slide 230 text
Благодарности
• На всички инструктори!
• На Делян!
• На целия екип на Rails Girls Sofia!