Short link: www.bit.ly/js-courses-list (NB: if you click it from this document recursion may occur :) )
| name or author | url | duration, week/month | price, rub |
|---|---|---|---|
| HTML Academy | https://htmlacademy.ru/intensive/javascript | 5w | 19 500 |
| Ilya Kantor | 2m | 26000 |
| # See http://help.github.com/ignore-files/ for more about ignoring files. | |
| # Based on https://gist.github.com/chrishough/6488118 | |
| # | |
| # If you find yourself ignoring temporary files generated by your text editor | |
| # or operating system, you probably want to add a global ignore instead: | |
| # git config --global core.excludesfile ~/.gitignore_global | |
| ############################################################################################### | |
| # Ignore specific config files | |
| ############################################################################################### | |
| .bundle/* |
| // layout file | |
| <body> | |
| <div class="container"> | |
| <%= flash_messages %> | |
| <%= yield %> | |
| </div><!-- /container --> | |
| </body> |
| #!/usr/bin/env ruby | |
| ADDED_OR_MODIFIED = /^\s*(A|AM|M)/.freeze | |
| changed_files = `git status --porcelain`.split(/\n/) | |
| unstaged_files = `git ls-files -m`.split(/\n/) | |
| changed_files = changed_files.select { |f| f =~ ADDED_OR_MODIFIED } | |
| changed_files = changed_files.map { |f| f.split(" ")[1] } |
| =Navigating= | |
| visit('/projects') | |
| visit(post_comments_path(post)) | |
| =Clicking links and buttons= | |
| click_link('id-of-link') | |
| click_link('Link Text') | |
| click_button('Save') | |
| click('Link Text') # Click either a link or a button | |
| click('Button Value') |
| git branch -m old_branch new_branch # Rename branch locally | |
| git push origin :old_branch # Delete the old branch | |
| git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote |
Short link: www.bit.ly/js-courses-list (NB: if you click it from this document recursion may occur :) )
| name or author | url | duration, week/month | price, rub |
|---|---|---|---|
| HTML Academy | https://htmlacademy.ru/intensive/javascript | 5w | 19 500 |
| Ilya Kantor | 2m | 26000 |
| # in spec/support/omniauth_macros.rb | |
| module OmniauthMacros | |
| def mock_auth_hash | |
| # The mock_auth configuration allows you to set per-provider (or default) | |
| # authentication hashes to return during integration testing. | |
| OmniAuth.config.mock_auth[:twitter] = { | |
| 'provider' => 'twitter', | |
| 'uid' => '123545', | |
| 'user_info' => { | |
| 'name' => 'mockuser', |
At the top of the file there should be a short introduction and/ or overview that explains what the project is. This description should match descriptions added for package managers (Gemspec, package.json, etc.)
Show what the library does as concisely as possible, developers should be able to figure out how your project solves their problem by looking at the code example. Make sure the API you are showing off is obvious, and that your code is short and concise.
| # paths | |
| app_path = "/home/deployer/qna" | |
| working_directory "#{app_path}/current" | |
| pid "#{app_path}/current/tmp/pids/unicorn.pid" | |
| # listen | |
| listen "/tmp/unicorn.qna.sock", :backlog => 64 | |
| # logging | |
| stderr_path "log/unicorn.stderr.log" |
| ### Nginx ### | |
| check process nginx with pidfile /opt/nginx/logs/nginx.pid | |
| start program = "/etc/init.d/nginx start" | |
| stop program = "/etc/init.d/nginx stop" | |
| if cpu > 60% for 2 cycles then alert | |
| if cpu > 80% for 5 cycles then restart | |
| if memory usage > 80% for 5 cycles then restart | |
| if failed host 127.0.0.1 port 80 protocol http | |
| then restart | |
| if 3 restarts within 5 cycles then timeout |