2024-05-08 追記:動画制作時と比べて忙しくなったため、トラブルシューティングのご依頼への対応はほぼ不可能になりました。すみませんがトラブルの際はほかを当たってください。 May 8, 2024 Update: I've become busier since making this video, so I can't respond to most troubleshooting requests. Please seek assistance elsewhere if you encounter issues. == エラーが出るなど問題があればお気軽にコメントしてください。できる範囲でお答えします。 Please feel free to comment if you encounter any issues such as errors. I will respond as much as I can.
This is an exciting series! Can't wait for your next video. Since you went so in-depth into the terminal and command line, will you make a video on stress testing someday?
Thanks! After briefly covering the basic topics, maybe I'll make a bit more advanced video about stress testing and "experiments" (to make a wild guess) in "lap 2."
4:498:4812:59 "apt-get update" 5:06 "apt-get install" well, apt-get is not recommended to be used directly by the user. it's only for using with a library. for manually running the commands, use just "apt"; so, these commands will become: "apt update", "apt install"
It took some time but I was able to change all my previous setup and map the g++-13 from clang in Mac OS. The Mac OS article is helpful and remember to change the path in .json files too and after that restart.
@@evimalab Yes, it explained every step properly in a sequential way if followed step by step. Also, it took some time as I have to change .z profile path and uninstall VSCode completely (in the second go) before making it work (this was my fault of uninstalling VSCode due to previous settings) as I was unable to move the path to g++-13 for all program in c++ and gcc-13 for c. Also, my python native in Mac OS was 3.9 which I never noticed and updated to 3.12 using Homebrew. Moreover, I have to translate the article in english. I presume that I could not find any good article with such detailed explanation in english and no resource to setup in such a detail for Mac. Even every other UA-cam video which I see in english is all about setup in Windows/Linux and no one talks about Mac OS for example __gnu_pbds library, bits/stdc++ which is default in g++13 /opt/Homebrew/include folder. I later deleted the once which I added inside /usr/.. folder as bits/stdc++.h file. The only part which I still have to figure out is the one in which you explained in this video was output.txt compile in Python but I needed this for C++ which I have to figure out. Thank you.
Quick note about the " output.txt" thing: it's "COMMAND < input.txt > output.txt" where COMMAND should be "python a.py", "./a.out", or whatever. ( ss64.com/mac/syntax-redirection.html It's probably better to keep the spaces around "".)
You are amazing, just did the changes and it worked like a charm! ./a.out < input.txt > output.txt @@evimalab I can't see my previous comment in this comment section. Thank you.
9:12 ここの部分で command 'python' not found, did you mean: command 'python3'from deb python3 command 'python' from deb python-is-python3 と出てきましたがどうすれば良いとかありますか?
Could you please tell why is Ubuntu better than Windows for competitive programming? I can't see a difference between using Windows and Ubuntu for competitive programming
I think Unix commands are simpler and easier to use than those in Command Prompt or PowerShell, but if you ask why again, I don't have much to say. However, I believe it does no harm to learn Unix commands if you learn programming.
2024-05-08 追記:動画制作時と比べて忙しくなったため、トラブルシューティングのご依頼への対応はほぼ不可能になりました。すみませんがトラブルの際はほかを当たってください。
May 8, 2024 Update: I've become busier since making this video, so I can't respond to most troubleshooting requests. Please seek assistance elsewhere if you encounter issues.
==
エラーが出るなど問題があればお気軽にコメントしてください。できる範囲でお答えします。
Please feel free to comment if you encounter any issues such as errors. I will respond as much as I can.
霊夢が初心者目線でバシバシ質問入れてくれる構成が初心者にとても親切
「これってどういう意味なんだろう」って思った次の瞬間に毎回霊夢が聞いてくれてる
Atcorder登録したものの1年以上放置してたので今回の動画でやっとセットアップできてよかったです
これだーこれだ!!これだわ!!
やあ、私はインド人です....アニメのキャラクターとその声を使って物事を説明する方法が好きです....CPに関するビデオを定期的にアップロードしてください 🤗
This is an exciting series! Can't wait for your next video. Since you went so in-depth into the terminal and command line, will you make a video on stress testing someday?
Thanks! After briefly covering the basic topics, maybe I'll make a bit more advanced video about stress testing and "experiments" (to make a wild guess) in "lap 2."
13:40まで進めたのですが、同じエラーメッセージが出てしまい、進めなくなりました。
えびまさんの動画と見比べたところ、tasks.json()の”commandの/g++が自分のところでは/gccとなっていたので、無理やり/g++に書き換えたところ、コンパイル成功しました。試しにCでhello worldしたところ、これも通りました。なにか今後不具合か生じないでしょうか…
いえ、正しい対処だと思います。
tasks.jsonの "command" が何らかの理由で "/usr/bin/gcc"(C言語用コンパイラ)になっていたなら、"/usr/bin/g++"(C++用コンパイラ)に書き換えないとC++のコードはコンパイルできないはずです。
逆にC言語のコードがg++でコンパイルできてしまうのは、C++は基本的にC言語の上位互換なので正常な振る舞いです。
おおこのコメントで助かった😭😭😭神神
マジで助かりましたありがとう!!!!!
出来ました!!ありがとうございます!!
わかりやすい動画ありがとうございます!
8:48あたりのコマンドラインの実行でつまずいています。
コマンドラインを実行しても、4行のテキストをターミナルに貼り付けますか?というメッセージが出てきません。「※エラーが出たら以下を実行」のところに書かれているものは全て実行済で、入力例もコピーしてあります。ファイル入出力はできます。
ありがとうございます!
説明不足ですみません、そのメッセージは自動で出ているわけではなく、クリップボードに複数行がある状態で右クリック(貼り付け)すると出ます。
もちろん Ctrl+V / Cmd+V でも構いません、というより普通はそちらの方が速いでしょう。
@@evimalab ありがとうございます!右クリックしたらできました。私の理解力が足りませんでした😢
コマンドラインはロマンですね!
コメント失礼します
c++でのコマンドラインでのコンパイル(?)はできるのですがF5での実行ができません。ブレークポイントを設定したいのですが困っています。どうすればいいでしょうか?
7:12 "ctrl-shift-`" wow, i have always been using only ctrl-` for launching terminal in vscodium for so long.
0:25 > _"[for] C++, [mac] might be a bit tricky"_
wow, never heard that before. but nice to know lol
15:07のところでCPLUS_INCLUDE_PATH:ライブラリの場所:No such file or directoryと出るのですがどうすれば良いですか?
エラーメッセージの通り、そのPATHが存在しない(指定された場所、名前のフォルダやファイルが見つからない)ので、自身の環境で本当にそのPATHがあっているか確認してください
ありそうな理由として、動画内の環境ではユーザー名が"reimu"となっているので、"home/reimu/・・・"となっていますが、人によってユーザー名が違うと思うのでそれに合わせて変える必要があります
スペルミスしそうなら、cdコマンドで対象のディレクトリまで移動した後にpwdコマンドを使うと、ホームディレクトリからの相対パスが得られるので、それをコピペする形の方がいいかもしれないです
はじめまして。12:58で実行したところ「Pythonのデバッグ環境で誤ってC++のファイルを実行しようとしている」みたいなエラーが出てきました。どうしたらいいですか?ちなみにPythonのコードは実行できました。
すみません、そういった内容のエラーは見たことがありません。
とりあえず、C++の拡張機能(C/C++ Extension Pack)が本当にインストールされて有効になっているかを確認する価値はあると思います。
また、もしかしたらVSCodeやPCの再起動などで直ってしまうような一時的な不調である可能性も少しだけありそうです。
正確なエラーメッセージがあれば、言えることが増えるかもしれません。
@@evimalab返信ありがとうございます。 再起動で直りました。
動画ありがとうございます!
質問なのですが、 7:23 のPythonの拡張機能がずっと「インストールしています」のまま終わりません。どうすれば良いのでしょうか?ちなみにWindowsを使っていて、スペックも足りないというわけではないと思います。
どういたしまして!
この動画で日本語化のあとにインストールした拡張機能「WSL」を「無効にする」→「有効にする」で直るかもしれません( kobazlab.tech/2022/07/03/wsl%E4%B8%8A%E3%81%AEvs-code%E3%81%A7%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8C%E7%B5%82%E3%82%8F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8/ )。
これでダメなら、一般的な対処法に従っていくことになります( command-lab.com/tech/vscode-extention-trouble/ など)。なお、最後の「VS Codeの再インストール」の前に試しにPC自体を再起動してみてもいいかもしれません。
できました!おかげさまでスムーズに環境構築ができました。競プロ楽しみです
ありがとうございます😭
4:49 8:48 12:59 "apt-get update" 5:06 "apt-get install"
well, apt-get is not recommended to be used directly by the user. it's only for using with a library.
for manually running the commands, use just "apt"; so, these commands will become: "apt update", "apt install"
12:28の場面で赤波線はでてくるのですが「利用できるクイックフィックスはありません」と表示され"includePath"設定の編集から先に進めなくなっています、
どうすればよいでしょうか
この部分の目的は c_cpp_properties.json を作ることなので、「手動」でこのファイルを作ってしまうことをおすすめします。
ターミナルで、ワークスペースのルートフォルダ(動画では ~/projects/kyopro/ )から以下を実行してください。
mkdir .vscode
cd .vscode
code c_cpp_properties.json
開いたウィンドウに以下をコピー&ペーストすれば、12:39 の状態になります。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
動画では、このあと同じ場所(~/.vscode)に tasks.json を作ります。念のため、そちらの初期内容も貼っておきます。(13:18 で表示されているもの)
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ アクティブなファイルのビルド",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "デバッガーによって生成されたタスク。"
}
],
"version": "2.0.0"
}
ありがとうございます!!
おかげで解決しました!
12:58のところで
#includeの2つとも赤線が出てしまい、「ソースファイルを開けません“algorithm”“cstdio”.システムヘッダーを見つけるには、’IntellSence 構成の選択...‘コマンドを実行してください。」と書かれているのですがどうしたらいいでしょうか?
dockerやdocker-compose上等の昨今開発環境事情だと、ベースがLinuxカーネルのMacbookが羨ましくなる。
コマンドに慣れると逆にWindowsの方がしんどいわ😅
mac版作って欲しいです...
始めたばかりの初心者で的外れな質問かも知れませんが、これをしたら何ができるようになるんですか?AtCoder側でコードを書くのとは違うんでしょうか
【短い答え】全く違います。VSCodeの大量の機能やUNIXコマンドが使えて、AtCoderのサイトでコーディングする際の不便も解消されます。
【長い答え】AtCoderのサイトのエディタと比較した場合のVSCode+WSLのメリットを挙げていきます。
(実際のコーディング風景が ua-cam.com/video/ZHjeEmKmSLc/v-deo.html (0:52~1:56) で見られます。)
・コード表示の色分けがAtCoder側のエディタより強力
・自動補完がある
・構文エラーなどが自動で検出される
・デバッグ実行ができる(8:03 を見てください)
・複数のファイルの取り扱いが楽(AtCoder側のエディタではファイルの保存が面倒だと思います)
・コードに与える入力・コードの出力の表示の文字数制限がない
・コードの実行時間に上限がない(AtCoderのコードテストでは10秒で打ち切り)
・(AtCoderのサーバーと通信する必要がないので)実行が少し速い
・UNIXコマンドが使える(一言で言うと「何でも」できる)
・VSCodeに拡張機能を導入して機能を増やせる(GitHub Copilotなど)
一番のメリットは実際の開発に近い環境でコーディングできることで得られる経験が圧倒的に変わります。VS codeでコーディングする方法を理解することでプログラミング以外の周辺知識を習得する形になりますがその知識でよりコンピュータで動作するプログラムがどのように実行されているかが明確になると思うので頑張ってみてください。
ありがとうございます
なんとなくですがわかりました
素晴らしい動画ありがとうございます!
Atcoder libraryはC++用って認識でいいでしょうか。ちなみに自分はPythonで始めようと思っています。
AtCoder が公式に提供している AtCoder Library は C++ 用ですが、非公式の Python 移植版があります。(github.com/not522/ac-library-python )
とはいえ、C++ で実行した際の本来の実行速度(AtCoder Library の主な利点)が出ることはなく、C++ 専用と考えることもできると思います。
少し遅くなり無意味な返信になってしまったかもしれませんが、こちらこそご覧くださりありがとうございます!
分かりやすくて助かりました!ありがとうございます!質問ですが、15:12にてulimit -s unlimitedとすると、bash: ulimit: stack size: cannot modify limit: Invalid argumentと表示されます。どうすればよろしいでしょうか?
A big thank you.
It took some time but I was able to change all my previous setup and map the g++-13 from clang in Mac OS. The Mac OS article is helpful and remember to change the path in .json files too and after that restart.
You're welcome! I'm glad to hear that the macOS article was actually helpful (you are the first one to say so).
@@evimalab Yes, it explained every step properly in a sequential way if followed step by step. Also, it took some time as I have to change .z profile path and uninstall VSCode completely (in the second go) before making it work (this was my fault of uninstalling VSCode due to previous settings) as I was unable to move the path to g++-13 for all program in c++ and gcc-13 for c. Also, my python native in Mac OS was 3.9 which I never noticed and updated to 3.12 using Homebrew.
Moreover, I have to translate the article in english. I presume that I could not find any good article with such detailed explanation in english and no resource to setup in such a detail for Mac. Even every other UA-cam video which I see in english is all about setup in Windows/Linux and no one talks about Mac OS for example __gnu_pbds library, bits/stdc++ which is default in g++13 /opt/Homebrew/include folder. I later deleted the once which I added inside /usr/.. folder as bits/stdc++.h file.
The only part which I still have to figure out is the one in which you explained in this video was output.txt compile in Python but I needed this for C++ which I have to figure out.
Thank you.
Quick note about the " output.txt" thing: it's "COMMAND < input.txt > output.txt" where COMMAND should be "python a.py", "./a.out", or whatever. ( ss64.com/mac/syntax-redirection.html It's probably better to keep the spaces around "".)
You are amazing, just did the changes and it worked like a charm!
./a.out < input.txt > output.txt
@@evimalab I can't see my previous comment in this comment section.
Thank you.
12:58 この時に
#include
の
なんだかわかりませんが解決しました
念のため書いておくと、「#include 」と実際に書かれていたのならタイプミスです。
(正しくは「#include 」で、"No such file or directory" は文字通りの意味です。なお実用上は #include してしまうのが楽かもしれません。)
わかりやすい動画ありがとうございます。一つ質問なのですが、F5でコードを動かすのと、Ctrl+Shift+Bでコンパイルしてから./a.outするのだと、 競プロではどちらが良いのでしょうか。複数のサンプルを試すときにF5だと少しやりづらくて悩んでいます。
正直なところ動画ではF5「デバッグの開始」をやや濫用してしまっていて、単に実行するならコンパイルしてから実行するのが基本だと思います。
(F5を推し気味なのはコマンドラインに不慣れな人を怖がらせないためでした。)
ただ、コードを1回しか実行しない見込みが高いなら、デバッグ機能を使わなくてもF5の方が速いことがあるかもしれません。
2回以上実行するならコンパイル→実行の方が有利でしょう。
ちなみに、好みによりますがコマンドラインでエイリアスなどを定義して使う手もあります。
私は .bashrc に次のような関数を定義してしまっています。
function g () {
if [ -z $2 ]; then
g++ $1.cpp -O2 -std=c++23 -I /home/evima/lib/ac-library
else
g++ $1.cpp -O2 -std=c++23 -I /home/evima/lib/ac-library -o $2
fi
}
function a () {
./a.out
}
function h () {
g $1 && a
}
「g b」を実行すると b.cpp がコンパイルされ、「a」で ./a.out を実行し、「h b」で両方とも行います。
「g b b1」でコンパイルすると生成される実行ファイルの名前が b1 になります。
@@evimalab
非常にわかりやすいコメント本当にありがとうございます。特に後半記載いただいた.bashrcのエイリアスは自分にとっては目からウロコでした。インクルードパスを変えてそのまま使わせていただきます。atcoderのコードテストがすごく簡単になりました。ありがとうございます。これからも応援してます。
9:12 ここの部分で
command 'python' not found, did you mean:
command 'python3'from deb python3
command 'python' from deb python-is-python3
と出てきましたがどうすれば良いとかありますか?
(念のため sudo apt-get update を実行してから)
sudo apt-get install python-is-python3 を実行するか、C++もセットアップするなら
sudo apt-get install build-essential gdb python-is-python3 を実行してください。
(上の内容は 8:48 に書きましたが、繰り返しておくべきでした。
なお、これも 5:18 で話しましたが、Python しか書く予定がなくても、
他人の C++ のコードを実行できるように C++ もセットアップしておくのがオススメです。)
ちなみに、python-is-python3 なしでも、python a.py などと入力する代わりに python3 a.py などと入力すれば
Python を実行できますが、Python2 の寿命が尽きたいま、python-is-python3 を使って損はないでしょう。
@@evimalabありがとうございます!
いつもAtCoder3分解説のわかりやすい解説に助かっています
6:09のところなんですが、code.と打っても「code. : command not found」と出てきてしまうのですが、どうしたら良いのでしょうか?
VScodeを開いて'WSLへの接続'というところを押したら動画と同じように、左下にWSL:Ubuntuと表示されているのですが、これでも大丈夫なんでしょうか。
1. すでに解決されていると思いますが、他の方に向けて答えておくと「code半角スペース.」です。(字幕ではスペースの存在がわかりにくかったかもしれません。)
2. 大丈夫です。(動画でもそちらをクリックした方がわかりやすかったかもしれません。)
Could you please tell why is Ubuntu better than Windows for competitive programming? I can't see a difference between using Windows and Ubuntu for competitive programming
I think Unix commands are simpler and easier to use than those in Command Prompt or PowerShell, but if you ask why again, I don't have much to say.
However, I believe it does no harm to learn Unix commands if you learn programming.
neovimは、日本のCPの間で有名ですか?
13分40秒のところでF 5を押して実行したのですが、ビルドをしています。からいっこうに動きません。どうしたらいいでしょうか
無事に解決することができました!
#include と
#include
はこのまま使うことはできますか?
はい、#include を使える環境であれば特に問題なく併用できるはずです。
(なお、動画の方法で作った環境では #include を使えるはずです。)
ありがとうございます。
とても使いやすくなりました!
動画いつも見てます!
これからもよろしくお願いします!
ありがとうございます。
とても使いやすくなりました!
動画いつも見てます!
これからもよろしくお願いします!
c_cpp_properties.jsonとtasks.jsonを書き加えたのにa.cppの一行目#include
↑ここにエラーが出ます。
エラー警告のウィンドウは動画内で出たものと同じです。ディレクトリ構成などを間違えたのでしょうか?教えていただけると幸いです。
コードの一行目に赤波線が出続ける場合、十中八九 c_cpp_properties.json の includePath の指定が間違っていると思います(tasks.json はひとまず関係ありません ※11/17追記:すみません、関係あるかもしれません。tasks.jsonのパスも直すべきです)。
念のため、動画中の c_cpp_properties.json の一部を下に貼っておきます。
"includePath": [
"${workspaceFolder}/**",
"/home/reimu/lib/ac-library-master"
],
正しく指定できているかは、例えばターミナルで `ls [追加したパス]` を実行すれば確認できます。
$ ls /home/reimu/lib/ac-library-master
LICENSE README.md atcoder document_en document_ja expander.py test tools
このように表示されない場合(atcoder と表示されない場合)、パスの指定かライブラリファイルの設置場所が間違っています。
例えば、「ac-library-master」とだけ表示された場合は、/home/reimu/lib/ac-library-master/ac-library-master に atcoder が置かれてしまっています。
(ac-library-master.zip を解凍して出てきた ac-library-master というフォルダをそのままコピーするとこうなる可能性があります。)
この場合は、外側の ac-library-master を改名してから内側の ac-library-master を外に出す必要があります。
もし ls で atcoder が表示されたのに赤波線が出ているという場合、まず c_cpp_properties.json のパスの指定をもう一度見直してください(正しそうでも、とりあえず ls のあとに書いたパスをコピーするべきでしょう)。
もしパスが正しいのに赤破線が出る場合、c_cpp_properties.json が現在のワークスペース直下の .vscode の中にないせいで読み込まれていない可能性があります。
その場合は、この .vscode/c_cpp_properties.json を直接含むディレクトリ(このファイルを作った場所)で VSCode を開き直すか、現在のワークスペースで c_cpp_properties.json を作り直してください。
まだ解決していない場合、とりあえず VSCode を再起動してみる価値はあります。(※11/17追記:まだ赤波線が消えない場合、F5などでコードを実行・デバッグすることで消える可能性があります。)
おそらくここまでで解決すると思います。
(すでに解決済みかもしれませんが、他の方の参考になるかもしれないので長い回答を書きました。)
@@evimalab わざわざわかりやすくありがとうございます。
重ねて質問になって申し訳ないのですが、赤波線が消えたにも関わらず、実行すると勝手にデバッグが終了し、デバッグコンソールに
「ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x8001269」
ターミナルには
「&"warning: GDB: Failed to set controlling terminal: Operation not permitted
"」
という表記がでて進みません、再起動や再構築など試してみましたが、治らなくて困っています、お時間がある時でよいのでまたご教授いただけると幸いです。
すみません、解決いたしました。貴重な動画ありがとうございました。
6:04
この部分でcode.を入力してもnot found と表示されます
何が問題なのでしょうか
code .ですね(間に空白)
環境構築の質問ではなくすみません。Ubuntuをeverythingの検索リストに入れたいですが、どうすればいいでしょうか
質問失礼します。
環境構築まで動画を見ながら終わったのですが、これからatcoderを進めていくときは動画と同じように進めればよいのですよね?
お疲れさまでした。はい、これらの動画はそのつもりで作りましたが、ここまで来ればもうどのような進め方をしてもいいと思います。
Pythonユーザーです。本動画を参考にWSLの環境に移行したのですが、入力ファイルの末尾に改行を入れた場合、1番最後に入力される文字列の文字数が1多くなってしまいます(len()の値が+1されてしまう)。これは入力値を入力ファイルにコピぺする際、毎回改行を消して対策するしかないのでしょうか?
WSLを再起動したら直りました。コメント失礼しました。
全部できたけど結局これをどうやって使ったらいいか分からないんですがそれは