{"id":21839339,"url":"https://github.com/darkleaf/must_read","last_synced_at":"2025-03-21T15:22:00.821Z","repository":{"id":29138415,"uuid":"32668460","full_name":"darkleaf/must_read","owner":"darkleaf","description":null,"archived":false,"fork":false,"pushed_at":"2017-04-24T08:45:24.000Z","size":59,"stargazers_count":159,"open_issues_count":0,"forks_count":36,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-01-26T10:42:09.763Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkleaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-22T08:50:47.000Z","updated_at":"2024-07-31T00:42:45.000Z","dependencies_parsed_at":"2022-09-06T12:50:36.363Z","dependency_job_id":null,"html_url":"https://github.com/darkleaf/must_read","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkleaf%2Fmust_read","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkleaf%2Fmust_read/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkleaf%2Fmust_read/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkleaf%2Fmust_read/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkleaf","download_url":"https://codeload.github.com/darkleaf/must_read/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244819881,"owners_count":20515662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-27T21:17:15.433Z","updated_at":"2025-03-21T15:22:00.776Z","avatar_url":"https://github.com/darkleaf.png","language":null,"readme":"TODO: подумать над структурой\n\n# Начало\n\n* [Правила программирования](requirements.md)\n* [Закон Дырявых Абстракций](http://russian.joelonsoftware.com/Articles/LeakyAbstractions.html)\n* [Ричард Фейнман - Магниты и вопросы \"почему?\"](https://youtu.be/IPogLMRBZ4o)\n* [Ментальное программирование](http://www.youtube.com/watch?v=eEEHWQNuCLQ)\n* [Слайды](http://www.slideshare.net/profyclub_ru/07-19946378)\n* [Человеческий фактор или «соглашения не работают»](http://megamozg.ru/post/1240/)\n* [The Zen of Python](https://ru.wikipedia.org/wiki/Python#.D0.A4.D0.B8.D0.BB.D0.BE.D1.81.D0.BE.D1.84.D0.B8.D1.8F)\n* [Утиная типизация](https://ru.wikipedia.org/wiki/%D0%A3%D1%82%D0%B8%D0%BD%D0%B0%D1%8F_%D1%82%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)\n* [Рефлексия](https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5))\n* [Как работает реляционная БД](http://habrahabr.ru/company/mailru/blog/266811/)\n\n# Styleguide\n\n* [Ruby styleguide](https://github.com/bbatsov/ruby-style-guide)\n* [Rails styleguide](https://github.com/bbatsov/rails-style-guide)\n\n# Документация\n\n* [rails guides](http://guides.rubyonrails.org/)\n* [rusrails](http://rusrails.ru/)\n* [ru.wikibooks.org/wiki/Ruby](http://ru.wikibooks.org/wiki/Ruby)\n* [api.rubyonrails.org](http://api.rubyonrails.org/)\n* [apidock.com](http://apidock.com)\n\n# Ruby\n\n* [Иерархия ошибок в Ruby](http://leonid.shevtsov.me/ru/ierarhiya-oshibok-v-ruby-a-takzhe-kakie-isklyucheniya-nuzhno-brosat-a-kakie-lovit)\n* [Объектная модель в Ruby](http://7vn.ru/blog/2011/11/18/object-model/)\n* [Введение в объектно-ориентированный Ruby](http://nashbridges.me/introducing-ruby-oop)\n* [Вникаем в include и extend](http://habrahabr.ru/post/143483/)\n* [Гномики и метапрограммирование в Ruby](http://rubyflow.ru/items/1130)\n* [Unexpected Ruby Behaviour](http://greyblake.com/blog/2012/08/10/unexpected-ruby-behaviour/)\n* [What Does Your Webserver Do When a User Hits Refresh?](http://www.shopify.com/technology/7535298-what-does-your-webserver-do-when-a-user-hits-refresh)\n* [Когда не использовать unless](http://37signals.com/svn/posts/2699-making-sense-with-rubys-unless)\n* [value object](http://www.sitepoint.com/value-objects-explained-with-ruby/)\n* [respond to missing](https://robots.thoughtbot.com/always-define-respond-to-missing-when-overriding)\n* [ruby hacking guide](https://ruby-hacking-guide.github.io/)\n* [class_exec and instance_exec](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/207801)\n\n# Gems\n\n* [Gem глазами потребителя](http://nashbridges.me/gem-for-end-user)\n* [Learn how RubyGems works, and how to make your own](http://guides.rubygems.org/)\n* [Bundler](http://bundler.io/)\n\n# Rails\n\n* [Иерархия контроллеров](http://habrahabr.ru/post/136461/)\n* [7 Ways to Decompose Fat ActiveRecord Models](http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/)\n* [Give Rails Autoloading a Boot to the Head](http://wondible.com/2011/12/23/give-rails-autoloading-a-boot-to-the-head/)\n* [Что же такое Railtie, Engine и Plugin?](http://memo.undr.su/2011/04/01/chto-zhe-takoe-railtie-engine-i-plugin/)\n* [Does My Rails App Need a Service Layer?](http://blog.carbonfive.com/2012/01/10/does-my-rails-app-need-a-service-layer/)\n* [Rails is not your application](http://blog.firsthand.ca/2011/10/rails-is-not-your-application.html)\n* [The 10 Most Underused ActiveRecord::Relation Methods](http://blog.mitchcrowe.com/blog/2012/04/14/10-most-underused-activerecord-relation-methods/)\n* [About the composed_of removal](http://blog.plataformatec.com.br/2012/06/about-the-composed_of-removal/)\n* [Where's Your Business Logic?](http://collectiveidea.com/blog/archives/2012/06/28/wheres-your-business-logic/)\n\n# Тестирование\n\n* [Тестирование в стиле TSA](http://habrahabr.ru/post/143616/)\n* [Rspec](http://rspec.info/)\n* [Better Specs](http://betterspecs.org/ru/)\n\n# Правила\n\n* DateTime.current\n* На функциональные баги пишется тест;\n* Запросы к базе только в моделях, снаружи scopes или методы;\n* Не используем default_scopes;\n* Используем новый формат валидаторов (validators);\n* Все константы (magic numbers, urls) подставляются через конфиги и не пишутся в коде;\n* В шаблонах можно использовать числа: для вывода массива в 3 колонки;\n* Строки через локали;\n* Можно локализировать partial целиком;\n* Покрытие контроллеров \u003e 90%;\n* Объекты получаем отдельно, используем отдельно;\n* Извлекаем информацию из БД за постоянное число запросов(см. N+1);\n* Не увлекаемся индексами: стало тормозить - добавили индекс;\n* На уникальное поле - уникальный индекс (+ uniqueness).\n\n# Верстка\n\n* http://webmasters.teamdev.com/\n\n# Git\n\n* [Github flow](https://guides.github.com/introduction/flow/)\n* [GitHub Flow: рабочий процесс Гитхаба](http://habrahabr.ru/post/189046/)\n* [Git flow / Удачная модель ветвления для Git](http://habrahabr.ru/post/106912/)\n* [Pro Git](http://git-scm.com/book/ru)\n* [Думай как Git, руководство по Git](http://web.archive.org/web/20131019113913/http://git.geekjob.ru/epic-mode/)\n* [Внтутреннее устройство Git](http://www.opennet.ru/base/dev/git_guts.txt.html)\n* [Что скрывает от нас директория .git](http://habrahabr.ru/post/143079/)\n* [Git Tips From the Pros](http://net.tutsplus.com/tutorials/tools-and-tips/git-tips-from-the-pros/)\n* [tryGit](http://try.github.com/)\n* [Learn Git Branching](http://pcottle.github.com/learnGitBranching/)\n\n# Github\n\n* [guides.github.com](https://guides.github.com/)\n\n# Postgresql\n\n* [DBA2. Администрирование PostgreSQL. Расширенный курс.](https://www.youtube.com/playlist?list=PLaFqU3KCWw6JgufXBiW4dEB2-tDpmOXPH) [«Постгрес Профессиональный»](http://www.POSTGRESPRO.ru)\n* [полнотекстовый поиск](https://mkdev.me/posts/kak-delat-full-text-poisk-v-rails-pri-pomoschi-postgresql)\n\n# Проектирование\n\n* [Разделение получения и использования](http://mokevnin.github.io/blog/2012/06/03/razdelenie-polucheniya-i-ispolzovaniya/)\n* [Принцип наименьшего удивления (ПНУ)](http://mokevnin.github.io/blog/2013/11/14/pnu/)\n* [RESTful API для сервера – делаем правильно](http://habrahabr.ru/post/144011/)\n* [GRASP](http://ru.wikipedia.org/wiki/GRASP)\n* [Принцип одного уровня абстракции](http://habrahabr.ru/post/126227/)\n* [Закон Деметры](http://msdn.microsoft.com/ru-ru/magazine/cc947917.aspx)\n* [Принцип единственности ответственности](http://blog.byndyu.ru/2009/10/blog-post.html)\n* [Принцип открытости/закрытости](http://blog.byndyu.ru/2009/10/blog-post_14.html)\n* [Принцип замещения Лисков](http://blog.byndyu.ru/2009/10/blog-post_29.html)\n* [Принцип разделения интерфейса](http://blog.byndyu.ru/2009/11/blog-post_19.html)\n* [Принцип инверсии зависимостей](http://blog.byndyu.ru/2009/12/blog-post.html)\n* [Command Query Separation](http://igor.quatrocode.com/2009/10/command-query-separation.html)\n* [SOLID](http://igor.quatrocode.com/2008/09/solid-top-5.html)\n* [Hexagonal/Onion Architecture - слоим приложения](http://igor.quatrocode.com/2009/07/hexagonalonion-architecture.html)\n* [Корень агрегации](http://blog.byndyu.ru/2010/06/domain-driven-design-aggregation-root.html)\n* [Репозиторий](http://blog.byndyu.ru/2011/01/domain-driven-design-repository.html)\n* [Создание домена](http://blog.byndyu.ru/2010/05/domain-driven-design.html)\n* [DDD подход к решению задачи сложной фильтрации данных](http://web.archive.org/web/20120902021132/http://codemehanika.org/blog/2011-05-10-pattern-composite-in-filtering-tasks.html)\n* [DDD: начало](http://zendframework.ru/forum/index.php?topic=4066.0)\n\n# Тестирование\n* [Как тестировать закрытые методы?](http://sergeyteplyakov.blogspot.ru/2013/05/blog-post.html)\n\n# Паттерны\n\n* [state_machine](http://www.ict.edu.ru/ft/003756/pattern.pdf)\n\n\n\n# Библиотеки\n* [awesome-ruby](https://github.com/markets/awesome-ruby)\n\n* [date_range_formatter](https://github.com/darkleaf/date_range_formatter)\n* [state_machine](https://github.com/state-machines/state_machines-activerecord)\n* [validates](https://github.com/kaize/validates) - частые валидации (email, slug)\n* [simple_form](https://github.com/plataformatec/simple_form) - формы на стероидах\n* [webmock](https://github.com/bblimke/webmock) - stub/mock для io\n* [simplecov](https://github.com/colszowka/simplecov) - test coverage\n* [factory_girl_rails](https://github.com/thoughtbot/factory_girl_rails) - Удобная замена фикстур\n* [ransack](https://github.com/ernie/ransack) - Object-based searching (бывший MetaSearch)\n* [enumerize](https://github.com/brainspec/enumerize) - поле типа перечисление с поддержкой I18n и ActiveRecord/Mongoid\n* [js-routes](https://github.com/railsware/js-routes) - генерирует javascript файл содержащий именованные пути из rake routes \n* [gon](https://github.com/gazay/gon) - Your Rails variables in your JS\n* [backup](https://github.com/meskyanichi/backup)\n* [ancestry](https://github.com/stefankroes/ancestry) - Organise ActiveRecord model into a tree structure (MP)\n* [breadcrumbs_on_rails](https://github.com/weppos/breadcrumbs_on_rails)\n* [acts-as-taggable-on](https://github.com/mbleigh/acts-as-taggable-on) - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts\n* [cocoon](https://github.com/nathanvda/cocoon) - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms\n* [money](https://github.com/RubyMoney/money) - Реализация паттерна [Money](http://martinfowler.com/eaaCatalog/money.html) для Ruby\n* [omniauth](https://github.com/intridea/omniauth) - Масштабируемая система OAuth авторизации\n\n## Black list\n\n* device\n* active_admin\n* can_can\n* paperclip\n* decent_exposure\n\n\n# JS\n\n* [http://superherojs.com/](http://superherojs.com/)\n* [http://shichuan.github.com/javascript-patterns/](http://shichuan.github.com/javascript-patterns/)\n* [http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html](http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html)\n* [http://addyosmani.github.com/todomvc/](http://addyosmani.github.com/todomvc/)\n* [http://github.com/madrobby/keymaster](http://github.com/madrobby/keymaster)\n* [Twitter аккаунт с кучей JS-интересностей](https://twitter.com/jsunderhood)\n\n# JS libs\n\n* [Moment.js](http://momentjs.com/) ([gem](http://github.com/derekprior/momentjs-rails))\n* Lodash\n\n# Блоги\n\n* [Бындю](http://blog.byndyu.ru)\n* [Алексей Махоткин](http://squadette.ru/)\n* [nashbridges.me](http://nashbridges.me/)\n* [rubyflow.ru](http://rubyflow.ru/)\n* [Технические заметки одного Евтуховича](http://evtuhovich.ru/)\n* [solnic.eu](http://solnic.eu/)\n* [Блог Леонида Шевцова](http://leonid.shevtsov.me/ru)\n\n# Casts\n\n* [railscasts](http://railscasts.com/)\n* [asciicasts](http://asciicasts.com/)\n* [tons of rails video tutorials](http://www.youtube.com/user/mackenziechild/videos)\n* [ruby rogues](http://devchat.tv/ruby-rogues/)\n\n# Статьи\n\n* [Коды возврата \u0026 исключения](http://habrahabr.ru/post/131212/)\n* [устройство индексов](http://www.sql.ru/articles/mssql/03013101indexes.shtml)\n* [Defensive Design. Откуда берутся сбои](http://igor.quatrocode.com/2009/02/defensive-design.html)\n* [TDD](http://wiki.agiledev.ru/doku.php?id=tdd)\n* [REST](http://habrahabr.ru/post/144011/)\n* [UML](http://habrahabr.ru/post/150041/)\n* [CLI](http://habrahabr.ru/post/150950/)\n* [Протокол HTTP](http://squadette.ru/blog/2012/01/19/high-scalability/)\n* [Алгоритмы и структуры данных](http://squadette.ru/blog/2012/01/19/high-scalability-2/)\n* [Анатомия ошибок](http://goblingame.blogspot.ru/2012/10/blog-post_12.html)\n* [Экстремальное программирование – реальность и мифы](http://www.skipy.ru/philosophy/xp.html)\n* [Implementing Rails APIs like a professional] (http://blog.joshsoftware.com/2014/05/08/implementing-rails-apis-like-a-professional/)\n\n# Книги\n\n## Совершенный код\n\n* [Идеальный программист](http://www.ozon.ru/context/detail/id/7360633/) (Роберт Мартин)\n* [Совершенный код](http://www.ozon.ru/context/detail/id/5508646/) (С. Макконнелл)\n* [Программист-прагматик. Путь от подмастерья к мастеру](http://www.ozon.ru/context/detail/id/3353337/) (Э.Хант, Д.Томас)\n* [Паттерны проектирования](http://www.ozon.ru/context/detail/id/6108824/) (Э. Фримен, Э. Фимен, К. Сьерра, Б. Бейтс)\n* [Приемы объектно-ориентированного проектирования. Паттерны проектирования](http://www.ozon.ru/context/detail/id/2457392/) (Э.Гамма, Р.Хелм, Р.Джонсон, Дж.Влиссидес)\n* [Чистый код](http://www.ozon.ru/context/detail/id/6733562/) (Роберт Мартин)\n* [Принципы, паттерны и методики гибкой разработки на языке C#](http://www.ozon.ru/context/detail/id/5800704/) (Р.С.Мартин, М.Мартин)\n* [Рефакторинг с использованием шаблонов](http://www.ozon.ru/context/detail/id/2909721/) (Джошуа Кериевски)\n* [Архитектура корпоративных приложений](http://www.ozon.ru/context/detail/id/4884925/) (М. Фаулер)\n* [Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем](http://www.ozon.ru/context/detail/id/5497184/) (Эрик Эванс)\n* Джоэл о программировании (Джоэл Спольски)\n* [Rails Antipatterns: Best Practice Ruby on Rails Refactoring](http://www.goodreads.com/book/show/9765652-rails-antipatterns) (Chad Pytel, Tammer Saleh)\n\n## Ruby/Rails изнутри\n\n* [Practical Object-Oriented Design in Ruby: An Agile Primer] (http://www.poodr.com/) (Sandi Metz)\n* [Ruby under a microscope](http://patshaughnessy.net/ruby-under-a-microscope) (Pat Shaughnessy)\n* [Ruby Science] (https://gumroad.com/l/ruby-science) (thoughtbot)\n* [The Well-Grounded Rubyist] (http://www.goodreads.com/book/show/3892688-the-well-grounded-rubyist) (David A. Black)\n* [Clean Ruby] (http://www.goodreads.com/book/show/14438307-clean-ruby) (Jim Gay)\n* [Eloquent Ruby] (http://www.goodreads.com/book/show/9364729-eloquent-ruby) (Russ Olsen)\n* [Confident Ruby] (http://www.confidentruby.com/) (Avdi Grimm)\n* [Refactoring Ruby Edition] (http://martinfowler.com/books/buying.html) (Jay Fields, Shane Harvey and Martin Fowler)\n* [The Rails 4 Way] (http://www.amazon.com/Rails-Edition-Addison-Wesley-Professional-Series/dp/0321944275) (Obie Fernandez)\n\n## Базы данных\n\n* [Оптимизация баз данных](http://www.ozon.ru/context/detail/id/1685709/) (Деннис Шаша, Филипп Бонне)\n* [Рефакторинг sql приложений](http://www.ozon.ru/context/detail/id/4491539/)\n* [Рефакторинг баз данных](http://www.ozon.ru/context/detail/id/3261793/) (Скотт В. Эмблер, Эмблер Прамодкумар Дж. Садаладж)\n* [Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement] (https://pragprog.com/book/rwdata/seven-databases-in-seven-weeks) (Eric Redmond and Jim R. Wilson)\n\n## UML\n\n* [UML основы](http://www.ozon.ru/context/detail/id/6289616/) (М. Фаулер)\n\n## Операционные системы\n\n* [Код](http://www.ozon.ru/context/detail/id/125884/) (Чарльз Петцольд)\n* [Операционные системы](http://www.ozon.ru/context/detail/id/1150703/) (Столлингс)\n* [Операционная система UNIX](http://www.ozon.ru/context/detail/id/2419365/) (Андрей Робачевский, Сергей Немнюгин, Ольга Стесик)\n* [Современные операционные системы](http://www.ozon.ru/context/detail/id/20217189/) (Эндрю Таненбаум)\n\n## Администрирование\n\n* [Руководство Администратора Linux](http://www.ozon.ru/context/detail/id/3285836/) (Эви Немет, Гарт Снайдер, Трент Хейн)\n\n## Тестирование\n\n* [Непрерывная интеграция](http://www.ozon.ru/context/detail/id/3851770/) (Поль М. Дюваль, Стивен Матиас и Эндрю Гловер)\n* [Everyday Rails Testing with RSpec](http://everydayrails.com/2014/10/05/rspec-3-book-update.html) (Aaron Sumner)\n\n## ПМ\n\n* [Человеческий фактор. Успешные проекты и команды](http://www.ozon.ru/context/detail/id/2338486/) (Том Демарко и Тимоти Листер)\n* [Мифический человеко-месяц](http://www.ozon.ru/context/detail/id/83760/) (Фредерик Брукс)\n* [Цель. Процесс непрерывного совершенствования](http://www.ozon.ru/context/detail/id/4341360/) (Элия М. Гольдратт, Джеф Кокс)\n\n## Интересное\n\n* [Как сдвинуть гору фудзи?](http://www.ozon.ru/context/detail/id/4780454/) (У. Паундстоун)\n\n\n\n# Сервисы\n\n* [ruby-toolbox](https://www.ruby-toolbox.com/)\n* [airbrake](https://airbrakeapp.com/)\n* [newrelic.com](http://newrelic.com/)\n* [travis-ci](http://travis-ci.org/)\n* [codeclimate.com](https://codeclimate.com)\n* [relishapp.com](https://www.relishapp.com/)\n* [lucidchart.com](https://www.lucidchart.com/)\n* [gemnasium.com](https://gemnasium.com/)\n* [stillmaintained.com](http://stillmaintained.com/)\n* [coderwall.com](http://coderwall.com/)\n* [cloud9 IDE](http://c9.io/)\n* [regex101 - разбор регулярок](https://regex101.com/)\n\n\n\n# Сервисы для изучения ruby\n\n* [try ruby](http://tryruby.org/)\n* [rubeque.com](http://rubeque.com/)\n* [rubymonk.com](http://rubymonk.com/)\n* [codecademy](http://www.codecademy.com/ru/tracks/ruby)\n* [exercism.io](http://exercism.io/)\n* [ruby-warrior](https://www.bloc.io/ruby-warrior/)\n\n# Twitter Bootstrap\n\n* [Bootstrap, from Twitter](http://twitter.github.com/bootstrap/)\n* [resources 1](http://bootsnipp.com/resources)\n* [resources 2](http://bootstraphero.com/the-big-badass-list-of-twitter-bootstrap-resources)\n* [Bootbox.js](http://bootboxjs.com/)\n* [Bootswatch](http://bootswatch.com/)\n* [Built With Bootstrap](http://builtwithbootstrap.com/)\n* [WrapBootstrap](http://wrapbootstrap.com/)\n* [Boot snipp](http://bootsnipp.com/)\n\n# Material UI\n\n* [material ui with react](http://material-ui.com/)\n\n# Vim\n\n* [Как пользоваться vim](http://ru.najomi.org/vim)\n* [vimcasts](http://vimcasts.org/)\n* [vimgolf](http://vimgolf.com/)\n* [vimbits](http://vimbits.com/)\n* [эффективное использование vim: «incredibly tips, part I»](http://habrahabr.ru/post/28155/)\n* [эффективное использование vim: «from the very begining»](http://habrahabr.ru/post/28108/)\n* [Graphical Cheat Sheet](http://habrahabr.ru/post/28200/)\n* [vim-adventures](http://vim-adventures.com/)\n\n# Soft\n\n* keepassx - password manager\n* [BitTorrent Sync](https://www.getsync.com/)\n\n# chrome extensions\n\n* [Ruby on Rails API Search](https://chrome.google.com/webstore/detail/ruby-on-rails-api-search/nbhhppofdccphcpbilanmljnlkmbgike)\n* [XV - XML Viewer](https://chrome.google.com/webstore/detail/eeocglpgjdpaefaedpblffpeebgmgddk)\n* [JSONView](https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc)\n* [Advanced REST client Application](https://chrome.google.com/webstore/detail/hgmloofddffdnphfgcellkdfbfbjeloo/related?utm_source=chrome-ntp-icon)\n* [NewRelic + Airbrake](https://chrome.google.com/webstore/detail/newrelic-%2B-airbrake-for-g/emencamphkobkmeloepceomcacgejlnc)\n\n# Благодарности\n\nОгромное спасибо команде [kaize](https://github.com/kaize/).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkleaf%2Fmust_read","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkleaf%2Fmust_read","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkleaf%2Fmust_read/lists"}