[C#] $文字を置換したい
ちょっとnewbie的ですが、$
文字をひっかけようとしてうまくいかなかったので、その時のメモです
今回の開発環境はこちら
- Visual Studio 2019
- Windows10
- Unity 2021.3.0f1
Unityで string
文字列の中の $
文字を置換使用を思いましたが、うまく出来ませんでした
|
|
はて。。。なんでかな?
調べてみて、こちらなら思った通りの動作になりました
|
|
正規表現だとうまく行くみたい
参考:
- Simple way to trim Dollar Sign if present in C# - stack overflow
https://stackoverflow.com/questions/154845/simple-way-to-trim-dollar-sign-if-present-in-c-sharp
[C++] VC++でHackerRankの環境構築
この記事は C++ Advent Calendar 2022 7日目の記事です。
(内容まとめ)
競プロ勢にとったら当たり前のローカル環境設定についての記事です
自分の言葉でまとめなおしたメモになります
みんな!AtCoder もいいけど HackerRank も面白いよ!
今年の3月ごろ、同僚(海外の方)から
「HackerRank 結構いいよ、わたしは週末によくやってるよ~」
と教えてもらいまして
たまにポチポチ解いています
- HackerRank
https://www.hackerrank.com/
ざっくり言うと、お題に対するコードを書いて、要求通りの出力が出来れば Pass! でポイントが溜まっていってバッチがもらえたりします
わたしは主にC++の Problem Solving を解いています
(数学系の問題も多いです)
C++ language のジャンルで解くことも出来ますが、こっちは文法問題なので、あまり面白くない
HackerRankは他のオンラインコーディングプラットフォームとはちょっと異なっていて
競技で問題を解いてランクを上げるというよりは、スキルの習得に焦点を当てているような気がします
解いて欲しい問題用の関数がミニマムに提供されてて、最初に記載するであろう入力系の処理が予め記載されているので、解くのに集中出来ますね
で、それまで真面目に Easy
問題を解いていたのですが、簡単すぎるし量も多い…つまらん…
となって、教えてくれた同僚に
「HackerRank、何の問題を解いてる?」
と聞いたところ、
「えぇー Easy
やってるの?時間の無駄だよ~わたしは Hard
しかやらないよ」
と突っ込まれました><。
さてそこで、Hard
問題をやり始めましたが、あら。。。難しい。。。
こんなけ難しかったらデバッグしたくなるんだけど、HackerRankのサイトに組み込まれたコードエディタ上から問題を解くので、プリントデバッグしか方法がない
変数の中身や配列の中身をもっとアグレッシブに確認したい…
前置きが長くなりましたが、HackerRankをやるときに、Visual Studio上でコードを書いて確認する方法を記載しましたmm
<今回の環境>
- Windows10
- Visual Sutdio 2019
- Hacker Rank の C++ 問題を対象
VSにコードコピペしてHackerRankの問題を解きたい
コピペ出来ないとしんどいです!
しかし HackerRank も他の競プロと同じく、#include <bits/stdc++.h> があります
そのまんまじゃリンク通りません
なので、ライブラリを認知する箇所に stdc++.h を置いておけば良いのです
のコピペ元のgist
reza-ryte-club/stdc++.h
https://gist.github.com/reza-ryte-club/97c39f35dab0c45a5d924dd9e50c445f
他にも色んな方が公開されてますけど、検索するとこの方の↑↑↑リンクがよく見つかりました
これを、VC++がデフォで認知する場所に置きます
一番簡単な場所に調べ方は、
|
|
とコードに書いて、F12
で iostream
の場所までジャンプ
→ソースのタブを右クリックすると、そこのディレクトリの場所までジャンプ出来る
ちなみにわたしの場合は、ここにありました
C:\Program Files (x86)
\Microsoft Visual Studio
\2019
\Enterprise
\VC
\Tools
\MSVC
\14.29.30133
\include
エラーやワーニングが出る場合
めんどいですが、毎回エラー除去のための define
を書くのが無難な対応だと思います
(業務のコードじゃないし)
例えば、HackerRank でよく出てくるこんなコード
|
|
エラーになります
error C4996: ‘getenv’: This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
あんた getenv
は非推奨だけど使いたいなら、_CRT_SECURE_NO_WARNINGS
定義しなさいよ!ってやつです
ええ、使いたいんです、HackerRank にコードコピペしたいんで!
なのでわたしはガッツリと先ほどの stdc++.h の上の方に定義を追記しています
自分はVSに慣れてるので、慣れた環境でコード書けるのが快適ですね
(余談) VSCodeでやろうとしたが…
最初は、Windoows の VSCode で環境構築をしようとしてたのですが、なかなか手ごわいです…
mac はさくっとものの数分で C++デバッグ環境が構築できたのに
Windows だと、半日かけてもうまく動きませんでした><。
(VC++ がうまく動かなくて、gcc はなんとか動作したって感じです)
色々調べていた時に、VSCode on Windows 情報でいちばん面白かったのが、この中国の投稿サイトでした
- Visual Studio Code はどのように C および C++ プログラムを作成して実行しますか?(翻訳) - zhihu.com
https://www.zhihu.com/question/30315894
わたしは中国語はよくわからないので、Googleのページ翻訳でよくここの Zhihu サイトを見るのですが
この記事は見てて笑っちゃいました。。。
情報量も多いし、皮肉アリ、ぶっちゃけトークありで、読み物として面白かったです
ここを見て、あ、VSCode on Windows でVC++使うのちょっと大変かも…と思いました
中国は同じように感じがあるので、そこの悩みも詳細にかかれてて、親近感沸きました
あんまり日本でこういう記事見ないな~なんでだろ、ぶっちゃけすぎるからかな?
C++だけじゃなくてUnityの情報も多いです、知識投稿サイトってやつかなー?とにかく面白い
(まとめ)
コード書くなら開発環境は整えようね!
C++ で mac なら VSCode だけど、Win なら VS 使おうぜ!
HackerRank ほんとお勧め、地道に解くのが楽しい
(参考)
- Visual StudioでC++のbits/stdc++.hを使う
https://qiita.com/kokosan60/items/d24ab868f7090586b0bc
[Git] コミット済みのファイルを Git LFS 管理対象にしたいとき
バイナリファイルコミットしちゃたけど、これ Git LFS
管理対象にしたかったよねー。。。
というときの作業メモです
わたしの環境は Windows
での動作確認になります
1) git lfs install
で Git LFS
をインストールします
わたしの環境にはすでに入っていたみたい…
>git lfs install
Updated Git hooks.
Git LFS initialized.
2) git lfs version
でバージョンを確認しておく
>git lfs version
git-lfs/3.2.0 (GitHub; windows amd64; go 1.18.2)
3) git lfs track
とすると、.gitattributes
に格納されている対象データの情報が見れます
例えばこんな感じ
>git lfs track
Listing tracked patterns
*.dll (.gitattributes)
*.exe (.gitattributes)
4) git lfs track
でLFS管理に入れたいファイルを指定します
>git lfs track "*.o"
Tracking "*.o"
ファイル単体を指定したければ、直接指定すればOK
>git lfs track "aaa/bbb/ccc.bin"
5) .gitattributes
に追加した対象ファイルが記載されているので
それをコミット&プッシュすればOK!
6) まだLFS管理してなかったときにコミットしてしまったファイルは
いったん削除コミットをしてから、もう一度コミット&プッシュするのが良さそうでした
(参考リンク)
- Git LFS を使ってみる - すらりん日記
https://blog.techlab-xe.net/git-lfs-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B/ - Git LFS について(オブジェクトとロック) - すらりん日記
https://blog.techlab-xe.net/git-lfs-object-and-lock/
[Unity] Windows/macOS内にあるUnityの場所
バッチモードとかでUnityを起動させたいとき
Windowsだと
C:¥Program Files¥Unity¥Hub¥Editor¥(バージョン名)¥Editor¥Unity.exe
とまぁ想像のつく位置にいてるんですけど
macOSのとき、あれ?どこにあるんだっけな?になったので、そのメモです
mac の場合はここに居てました
/Applications/Unity/Hub/Editor/(バージョン名)/Unity.app/Contents/MacOS/Unity
(バージョン名)
は例えば 2021.3.2f1
とかになります
[Windows] 壁紙のレジストリ設定場所
PCの壁紙にしてる画像データ…どこにあるんだっけ?
デスクトップでは見えてるんだけど…
そんな時は一度、レジストリの中を見てみたら解決するかもしれません
Windows11の環境で見てみました
壁紙のレジストリ設定
regedit
でアプリを検索するとRegistry Editor
が出てきます
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers
の中に、壁紙として登録されている画像情報のパスが入っています
おお。。。ここにありましたか。。。!
しかし、
元のファイルを消しちゃったけど、デスクトップの壁紙だけは残ってるってときは
どこにあるんでしょうかね…
どなたか知ってる方いらっしゃれば教えてくださいmm
(参考)
- Windows 10 最近使用したデスクトップの背景画像をWindowsの設定から削除して更新する
https://www.billionwallet.com/windows10/backimage-remove.html
[Git] macでgitを初めて使う時
mac で初めてコマンドから git を使う時の設定メモです
- わたしの環境
- MacBook Pro 16-inch, 2019
- macOS Monterey
git コマンドが使えなかった
Gitをコマンドラインで打つと、こんなエラーが出ました。。。
|
|
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
開発者ツールが入ってないらしい
Xcode をインストールする
xcode-select --install
でインストールします
|
|
こんな感じでインストールが進みます
実際のダウンロードは、わたしの環境では20分くらい、インストールは10分くらいでした
そしてインストール完了のウィンドウが出てほっ…
Gitコマンドが使えるように
git
と打ってみる
|
|
usage: git [–version] [–help] [-C
] [-c = ]
[–exec-path[=]] [–html-path] [–man-path] [–info-path]
[-p | –paginate | -P | –no-pager] [–no-replace-objects] [–bare]
[–git-dir=] [–work-tree= ] [–namespace= ]
[ ]
…
無事、コマンドラインから git が使えるようになりました〜
[Hugo] GitHub Actionsでサイトを自動デプロイしたときにCNAMEを残す方法
Hugo
に限らないのですが
gh-pages
ブランチを利用して GitHub Pages
を作った時
自動デプロイで、独自ドメインの設定を記載した CNAME
が消えちゃうことがあります
そのトラブルシュートについてです
Hugo
自体の設定もあるのですが、それよりも
元のコンテンツに CNAME
ファイルを含めてしまうのがシンプルで簡単です
Hugo
ならメインブランチの static
ディレクトリ以下に CNAME
を設置します
これだけでOK!
[C++] 2次元Vectorのメモ
HackerRankやってるときによく2次元配列が出てくるので、ちゃちゃっとやりたいときのメモです
|
|
業務や後に残るコードではなく、とにかくちゃちゃっとやりたい、という要望って
自分はこれまで出会ったことが無かったので
この手のコーディングは、自分的にはかなり新しいというか新鮮な感じがします
[C++] Windowsの空のアプリケーションを作る手順メモ
いつもどうやったっけな?と思って同じ過ちを繰り返してるのでメモ
環境:
Visual Studio 2022
作りたいソリューション
- C++プロジェクト
- ブランクプロジェクト
- Windowsデスクトップアプリケーション(コンソールではない!)
いつもわたし、空のプロジェクトを作りたいからといって
Empty Project
を選んでしまうのです…
すると、コンソールベースの exe を作るソリューションになってしまいます
ちゃうねん、これちゃうねん!
Windowアプリの空のソリューションを作りたい場合はこれ
Create a new project
Windows Desktop Wizard
を選択Configure your new project
で名前を入れて次に進むWindows Desktop Project
でDesktop Application (.exe)
を選択- 更に
Empty project
にチェックを入れる - これで
OK
を押せば、よし!
これこれ、、、これやねん。。。
[Git] フォーク元のリポジトリに追いつきたいときメモ
よくフォークしたリポジトリを最新化する方法を忘れては検索を繰り返してるので、いい加減自分のブログにメモしておきます
最初の fork
以降、フォーク元のリポジトリに追いつきたいときのお話です
1. 自分のローカルのリポジトリに登録されているリモート情報を見てみる
|
|
わたしの実行結果はこんな感じ、まだフォーク元との関連はなし
|
|
2. フォーク元のURLを upstream
に登録します
(フォーク元は zzz/xxx という名前で公開されている場合です)
|
|
ちゃんと登録されてるかどうかは、さっきの git remote -v
で確認します
|
|
upstream
にフォーク元が登録されていますね
<余談>
もし
upstream
の内容を間違って登録してしまったときは
$ git remote remove upstream
このコマンドで削除することができます
3. フォーク元リポジトリを fetch
and mearge
します
|
|
<余談>
※ これ↑↑↑ は主流のブランチが
master
の場合。ものによってはmain
の場合もあるので確認が必要!
@qt_luigi さんからのコメント頂いたので、記事に追記しておきます~
ローカルのリポジトリ内容が、フォーク元と同じに最新化されました!
あとは別ブランチでプルリクエストを出すなりなんなりすればOK
ローカルの master
はこのまま push
しておくのも忘れずに♪
一度この作業をやっておくと、GitHub側に Fetch upstream
というボタンが出てくるので、次からはこのボタンをポチッとするだけで↓↓↓
内容がフォーク元に追いつきます
便利ですね〜★
(参考)
- 他人のリポジトリをフォークして、最新版を追従する方法 - akitoshiblog https://akitoshiblog.hatenablog.jp/entry/2020/09/22/155538