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
360
Automated Testing: Getting it Right
skanev
1
48
From Novice to Expert
skanev
0
420
Inbetween Code and Profession
skanev
0
360
Clojure & ClojureScript
skanev
2
100
Extreme Programming
skanev
0
590
За смъртта на TDD
skanev
0
490
Python 0 2014
skanev
1
1.6k
Other Decks in Programming
See All in Programming
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
3
1.1k
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
3
1.2k
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
120
色々なIaCツールを実際に触って比較してみる
iriikeita
0
130
Vertical Architectures for Scalable Angular Applications
manfredsteyer
PRO
0
290
Synchronizationを支える技術
s_shimotori
1
140
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
530
WEBエンジニア向けAI活用入門
sutetotanuki
0
290
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
2
2k
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
3
1k
gopls を改造したら開発生産性が高まった
satorunooshie
8
230
The future of development – Are our jobs getting harder or easier?
hollycummins
1
240
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Typedesign – Prime Four
hannesfritz
39
2.4k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Building Adaptive Systems
keathley
38
2.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Automating Front-end Workflow
addyosmani
1365
200k
Writing Fast Ruby
sferik
626
60k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Designing Experiences People Love
moore
138
23k
It's Worth the Effort
3n
183
27k
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