Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Трикове за продуктивност
Search
Stefan Kanev
May 25, 2013
Programming
0
140
Трикове за продуктивност
Презентацията ми от OpenFest Gabrovo
Stefan Kanev
May 25, 2013
Tweet
Share
More Decks by Stefan Kanev
See All by Stefan Kanev
Въведение в (Machine|Deep) Learning
skanev
0
73
GraphQL
skanev
0
350
Automated Testing: Getting it Right
skanev
1
48
From Novice to Expert
skanev
0
410
Inbetween Code and Profession
skanev
0
350
Clojure & ClojureScript
skanev
2
100
Extreme Programming
skanev
0
560
За смъртта на TDD
skanev
0
470
Python 0 2014
skanev
1
1.6k
Other Decks in Programming
See All in Programming
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
940
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
470
API Platform for Laravel
dunglas
1
710
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.4k
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
420
REXML改善のその後
naitoh
0
190
Developer Joy == Developer Productivity (really!)
hollycummins
1
230
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
200
Ruby Parser progress report 2024
yui_knk
2
230
Go1.23で入った errorsパッケージの小さなアプデ
kuro_kurorrr
2
400
Data Contracts In Practice With Debezium and Apache Flink
gunnarmorling
0
110
Featured
See All Featured
BBQ
matthewcrist
83
9.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
Designing for humans not robots
tammielis
248
25k
GitHub's CSS Performance
jonrohan
1030
450k
Documentation Writing (for coders)
carmenintech
65
4.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
89
16k
Embracing the Ebb and Flow
colly
83
4.4k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Ruby is Unlike a Banana
tanoku
96
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
123
18k
Transcript
Трикове за продуктивност Стефан Кънев http://skanev.com/ @skanev OpenFest Габрово 25
май 2013 Габрово
Здравейте, аз съм Стефан
3
Аз не ползвам Cloud - хоствам в автомобила си
productivity |prɒdʌkˈtɪvɪti| noun the ability to maximize the amount of
work done while minimizing the effort expended
Ruby Programmer Bias DISCLAIMER
абстрактно vs. конкретно
The Productive Programmer Accelaration Focus Automation Cannonicality
Конкретни неща в 4 области
1. Принципно 2. Работа 3. Програмиране 4. Инструменти
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1. Принципно
1 3 списъка: To Do, Later, Review
1. Неща, които трябва да се свършат 2. Неща, които
да се погледнат по-късно 3. Неща, които да се следят периодично
Всяка сутрин избирайте по 3 неща, които да свършите днес
Аларми и таймери 2
Ако имате час при зъболекаря, найстройте аларма вместо да гледате
часа
По този начин се абстрахирате от часовника
Seinfeld календари 3
None
Ефективен начин за създаване на навик
None
Алтернативи: Lift
Научете се да учите 4
Всеки учи различно. Открийте кое работи най-добре за вас.
Пример за разлики: visual, aural, tectile
The Dreyfus model of skill acquisition
None
Водете бележки религиозно 5
Забравяте повече, отколкото си мислите
Иронично, но записването на нещо помага за запомнянето му
Изградете си собствена система за водене на бележки
Тефтери Mindmap-ове Wiki-та Evernote
Минимизирайте decision fatigue 6
Вземането на решения е уморително
None
http://lifehacker.com/5944198/president-obamas-productivity-tactics
Какво да правя сега? Да отворя ли Twitter? Кога да
си тръгна от работа? Това днес или утре? Как да се облека днес?
2. Работа
Ползвайте два браузера 7
Работа Лични неща
Дори минималното усилие да пусна Firefox намалява разсейването
9GAG Facebook под контрол
Елиминирайте прекъсванията 8
No Instant Messengers
Един единствен приятел, невиждан от година, може да развали целия
ден.
Може да ползвате втори account, само за работа.
Изключете известияна на Twitter
The Pomodoro Technique 9
None
None
5 мин 25 минути 1 2 25 минути 5 мин
3 25 минути 5 мин 4 25 минути 15 минути
I have found Jesus!
Вече мога да се фокусирам за 25 минути!
Дори да не ми се работи, трябва само да пусна
таймера.
Работния ми ден става по-предвидим
The ToDo List 10
None
Сетя ли се за нещо друго, записвам го в списъка
и продължавам със задачата
Преглеждам списъка, когато съм приключил със задача
Няма нужда да се натоварвам с помнене на неща.
Имам подобен списък за всякакви неработни идеи.
None
Проверявайте си пощата в определени часове 11
Проверяването отнема неясно време
Може да ви разсее дългосрочно
Например по два пъти дневно - сутрин и след работа
За важните неща има други канали
Поддържайте добра скорост на писане 12
Писането може да бъде bottleneck, ако пишете бавно
Минимална скорост: 80wpm Добра скорост: 100wpm
Очевидно, но: трябва да пишете с десет пръста, без да
гледате клавиатура
Харесайте си произволна програма за touch typing и прекарвайте с
нея по 10 минути/ден
3. Програмиране
Selenium macros 13
Дори да не пишете тестове, може да ползвате Selenium да
разцъквате приложението, което правите
Не е нужно да пазите скриптовете - трийте, когато сте
готови
Selenium IDE може да записва макроси
Shell aliases 14
Създайте си alias-и за всички команди, които изпълнявате често
Git също има alias-и
OH MY ZSH https://github.com/robbyrussell/oh-my-zsh
Научете всички shortcut-и 15
Всяка работна среда има “бързи клавиши”, които вдигат производителността драматично
4 ZSH KEYS M-_ M-q M-h M-e
TDD workflow 16
Усвоете добре TDD workflow
None
Намалява decision fatigue
Continuous testing
Guard/Watchr 17
Ползвайте Guard за всякакви неща, за които ще минe: compilation,
lint, static check
Радикална идея: git pull при всяко минаване на тестовете
None
Минимизирайте времето за чакане 18
Build-овете трябва да са бързи
Пускането на приложението трябва да е бързо
Тестовете трябва да са бързи
Deployment-а трябва да е бърз
Бавните елементи от билда са симптоп за нездрав проект
Научете се да дебъгвате 19
Дебъгването може да е “пътешествие в заешката дупка”
Разучете инструменти за debug-ване
Изградете подход за debug-ване
None
Кеширайте неща локално 20
Кеширайте всякакви development ресурси (документация) локално
$ man wget
Spike-вайте при неяснота 21
spike |spʌɪk| verb a small test-free time-boxed throw-away exploratory solution
Когато не познавате технологиите добре, писането на тестове е трудно
Не се привързвайте към написания код - втората версия ще
е по-добра
Оставете счупен тест преди да станете 22
НЕ го слагайте във version control
Страхотен начин да си спомните как да продължите работата от
предния ден
4. Инструменти
Автоматизирайте с Make/Rake 23
Слагайте Rakefile-ове навсякъде. Правете Rake задачи за всичко.
Автоматизирайте всичко, което иначе бихте вършили на ръка
SICP/EOPL
Овладейте възможностите на bash/zsh 24
Създавайте bash/zsh скриптове/функции постоянно
$ install-key fmi.clojure.bg
Научете се да можете да си свършите работата с shell
OH MY ZSH https://github.com/robbyrussell/oh-my-zsh
Създавайте си dotfiles 25
$ find ~ -iname '.*' -maxdepth 1
Повечето инструменти могат да се конфигурират либерално
$ git lol $ git la
.tmux.conf
GitHub!
Овладейте скриптирането на текстовия си редактор 26
Инвестицията в текстовия редактор се отплаща многократно
Vim Emacs SublimeText
Shims/jigs 27
Пишете малки one-off скриптчета когато имате да свършите нещо
None
None
None
Когато можете, сглобявайте неща “от кол и въже”
Пазете ги някъде. Ще са ви полезни
Правете си малки приложения 28
Правете си малки приложения, които да ви улесняват живота
None
sinatra, dancer, web.py redis, mongodb twitter bootstrap
Разучете добре съществуващите инструменти 29
В духа на нещата досега, ако владеете много инструменти може
лесно да ги сглобявате в по-големи
Git
ImageMagick
GraphViz
curl
tmux
Midnight Commander
$ git catchup
Гледайте какво правят другите 30
https://github.com/search?q=dotfiles dotfiles в GitHub
Play by Play https://peepcode.com/screencasts/play-by-play ScreenCasts Destroy All Software https://www.destroyallsoftware.com/screencasts
None
None