Основы и методология программирования 2016/2017/168-2 — различия между версиями
Материал из Wiki - Факультет компьютерных наук
Akashin (обсуждение | вклад) (→02.11) |
Akashin (обсуждение | вклад) (→Семинары) |
||
| Строка 6: | Строка 6: | ||
=== 02.11 === | === 02.11 === | ||
| + | |||
| + | ==== Linux ==== | ||
How to install Linux? | How to install Linux? | ||
| Строка 34: | Строка 36: | ||
* pip install cpplint --user | * pip install cpplint --user | ||
* Or download here https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py | * Or download here https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py | ||
| + | |||
| + | * Более удобная консоль iTerm2 для OSX: https://www.iterm2.com/ | ||
| + | |||
| + | ===== Zsh ===== | ||
| + | Замена стандартного интерпретатора Bash, гибкий в настройке, поддерживает много полезных плагинов | ||
| + | * Руководство по установке: https://gist.github.com/derhuerst/12a1558a4b408b3b2b6e | ||
| + | * Плагины: https://github.com/robbyrussell/oh-my-zsh | ||
| + | |||
| + | ===== Vim ===== | ||
| + | * Хороший туториал: https://github.com/mhinz/vim-galore | ||
| + | |||
| + | ===== Сайты для изучения UNIX инструментов ===== | ||
| + | * Online judge для задач с использованием unix инструментов: https://www.hackerrank.com/domains/shell/bash | ||
| + | * Изучение команд linux в форме CTF соревнования: http://overthewire.org/wargames/bandit/ | ||
| + | * Набор отличных гайдов про Линукс и Bash: http://ryanstutorials.net/ | ||
| + | |||
| + | ==== C++ ==== | ||
Ссылка на контест: https://official.contest.yandex.ru/contest/3154/problems/ | Ссылка на контест: https://official.contest.yandex.ru/contest/3154/problems/ | ||
Версия 08:32, 3 ноября 2016
Содержание
Общая информация
Почта: kashin.andrej@gmail.com
Семинары
02.11
Linux
How to install Linux?
- Take Ubuntu from https://www.ubuntu.com/ and install it on you laptop
- Install it on https://www.virtualbox.org/
- Get Digital Ocean / Amazon machine through github student pack and code using SSH there
- For the first lesson you can use https://www.tutorialspoint.com/unix_terminal_online.php for practice
Useful Unix tools:
- Navigation: ls, cd,
- Work with file system: cp, mv, rm
- Work with files: cat, head, tail, sort, uniq, wc
- Interaction between programs: pipes, redirection, <, >, >>, stdin, stdout, stderr
- Text editors and IDEs: vim, Atom, CLion
Get C++ compiler:
- OSX: brew install homebrew/versions/llvm38
- Ubuntu: sudo apt-get install clang-3.8
Copiling code:
- Compilers: clang++, g++
- Useful flags: -Wall -Wextra -Wconvertion
Running code:
- ./a.out < input.txt
Installing cpplint:
- pip install cpplint --user
- Or download here https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py
- Более удобная консоль iTerm2 для OSX: https://www.iterm2.com/
Zsh
Замена стандартного интерпретатора Bash, гибкий в настройке, поддерживает много полезных плагинов
- Руководство по установке: https://gist.github.com/derhuerst/12a1558a4b408b3b2b6e
- Плагины: https://github.com/robbyrussell/oh-my-zsh
Vim
- Хороший туториал: https://github.com/mhinz/vim-galore
Сайты для изучения UNIX инструментов
- Online judge для задач с использованием unix инструментов: https://www.hackerrank.com/domains/shell/bash
- Изучение команд linux в форме CTF соревнования: http://overthewire.org/wargames/bandit/
- Набор отличных гайдов про Линукс и Bash: http://ryanstutorials.net/
C++
Ссылка на контест: https://official.contest.yandex.ru/contest/3154/problems/