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
600
За смъртта на TDD
skanev
0
500
Python 0 2014
skanev
1
1.6k
Other Decks in Programming
See All in Programming
デプロイを任されたので、教わった通りにデプロイしたら障害になった件 ~俺のやらかしを越えてゆけ~
techouse
52
32k
Honoの来た道とこれから
yusukebe
19
3k
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
1.5k
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
23
11k
推し活としてのrails new/oshikatsu_ha_iizo
sakahukamaki
3
1.7k
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
4
1.2k
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
Java ジェネリクス入門 2024
nagise
0
610
現場で役立つモデリング 超入門
masuda220
PRO
13
2.9k
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
230
CSC509 Lecture 09
javiergs
PRO
0
110
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
870
Featured
See All Featured
A Tale of Four Properties
chriscoyier
156
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
How GitHub (no longer) Works
holman
311
140k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Building Applications with DynamoDB
mza
90
6.1k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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