概要 プロキシ環境下でdockerコンテナを使用する際、プロキシの設定が正しくできていなくてコンテナ外と通信できないというケースが多々ある。 そのため、今回はプロキシ環境下でdockerコンテナを使用するための設定を紹介する。 方法①:config.jsonを使用す…
概要 以下の記事でdockerコンテナ内でpingを使用する方法を紹介したが、サーバーとクライアントのコンテナ間でtcp接続確認をしたいケースもたまにある。 powerbombkun.hatenablog.jppingではポート指定等できないシンプルなコマンドなので、その場合は別のコ…
dockerを使用していると、自分のPCのdockerイメージを別のPCに持って行って使用したいということがたまにあります。 イメージのファイルがどこかに保存されているはずだから、それをコピーしちゃえば良いと思いやってみると # dockerイメージがあるフォルダ…
Vueを勉強したいが、環境構築からどうやるかさっぱり分からないVue初心者なので、まずはこの本を買って参考にやってみた。 これからはじめるVue.js 3実践入門 | 山田 祥寛 |本 | 通販 | Amazon Vueを動かす環境について Vueを動かす方法としては大きく分けて…
githubにsshの公開鍵を登録してgitのコマンド(clone, pull)をすると、こんな感じでパスフレーズの入力を聞かれてしまう。 Enter passphrase for key '/c/Users/bombkun/.ssh/id_ed25519': 小さいリポジトリなら1回入力だけで終わりなのであまり気にならな…
gitを使ってチームで開発をする場合、 ほとんどの場合作業ブランチを切ってローカルで作業をすると思う。 だが、git初心者はまずコマンドもよく知らないのでブランチを切ることさえも分からないことが多い。初心者にも分かるようにまとめてみた。 ブランチの…
C言語やC++で構造体を使う場合、構造体の中にたくさんのが定義されすぎてて初期化が面倒という場面はないだろうか。例えば以下のような型の構造体がある場合、 なにも考えずに普通に初期化しようとすると変数の数だけ初期化処理を書かなきゃいけない。 struc…
C++のコードを読んでいたところ以下のようなコードを目にした。 bool status = std::get<1>(datainfo); std::getという構文自体を目にしたことが無かったので自分はこの意味が全く分からなかった。 いろいろ調べてみると、Tupleのデータを取り出す時に使う構…
バージョン管理ツールgitでよく使うコマンドをまとめておく。 clone関連 リモートリポジトリをローカルにclone git clone https://github.com/***/***.git ローカルリポジトリ名を指定してリモートリポジトリをclone git clone https://github.com/***/***.g…
相変わらずC++の勉強を続けているが、本日新たにstd::bindというものを目にした。 昔はなかった気がしたので調べてみるとC++11で追加された機能らしい。 std::bindとは 一言でカンタンに言うと関数の引数を束縛する機能。 例えば引数がA,B,Cと3つあるような…
WindowsPCにC++のコンパイル環境を作ったので手順をまとめておく。WindowsのC++コンパイル環境というとVisualStudioが有名だが、 今回は別のVisualStudioではなくMinGWを使いg++のコンパイラをインストールし環境をつくる。 手順①:ダウンロード まずは以下…
ここ10年ほどC++から離れていたので最近学びなおしをしている。C++にはテンプレートという機能があるが、 これを学びなおすべくテスト用のクラスをテンプレートを使い実装してみた。 // Hoge.h template <class T> class Hoge { private: T m_hoge; public: T GetHoge</class>…
コードを書いていると関数の定義先へ移動し内容を確認した後、 元の位置(関数の呼び出し元)へ戻るということをよくやる。VisualStudioCodeにもこのショートカットキーあるはずだと思い調べたら見つかったので、 備忘録として残す。 定義元へ移動:F12 元の…
asキャストとは asと()キャストの違い 違い①:キャスト失敗時のふるまい 違い②:キャストできる対象のオブジェクト 正しい使い分け方法 asキャストとは C#ではCやC++にはなかったas演算子を使ってキャストをする機能が追加された。 使い方としてはキャストし…
Windows10ではSMB2.0というファイル転送プロトコルが使われている。 このSMB2.0だがネットワークの負荷を軽減させるためにクライアント側にキャッシュを持たせる機能が入っており、共有フォルダへのアクセスが遅くなる場合がある。デフォルトは10s毎にサーバ…
C#の標準クラスではMath.Roundという数値の四捨五入に使えるメソッドがある。 docs.microsoft.comこのMath.Roundメソッドだがそのまま何も考えずに四捨五入で使うと問題が起きる。 例えば以下のようなケース。 Console.WriteLine(Math.Round(1.5)); Console.…
実装時にEnumの要素数を使って何かをしたいケースがよくある。 Enum自体は配列等ではないので、そのままでは要素数にあたるメソッド等は持っていない。 でも1行でカンタンに要素数取得する方法がある。例えばこんなenumの要素数を取得する場合 public enum …
DataGridViewTextBoxはテキストだけ表示するのが普通だが、セル内にテキストに加えて画像も一緒に描画したりすることができる。 DataGridViewのCellPaintingイベントで自力描画させれば割とカンタン。 セルを選択時は晴れ、非選択時は曇り画像を表示させるよ…
DataGridViewの実装でDataGridViewComboBoxCellを使うことがたまにある。 このコンボボックスは普通のSystem.Windows.FormsのComboBoxと仕様が違い、デフォルトだと1クリックではリストがドロップダウンしてくれないのだ。 ドロップダウンしない2回クリッ…
テキストボックスに指定した文字(数字等)が入力されたら背景色を変えて、ユーザーにルール違反していることを通知したいことがある。 テキストボックスのイベントに少し処理追加すればカンタンに実装することができる。 public partial class Form1 : Form…
何も考えずにWindowsフォームアプリケーションを作り高DPIのPC上で起動するとこんな感じにボヤけた表示になる。 高DPI未対応これはアプリケーションが高DPI環境に対応できていないためだ。 ボヤけたままの表示はダサいし、文字が見えにくいので対応したいと…
C#でクラスのリソース開放をする時、普通はDisposeメソッドを実装する。 このDisposeだがあまりC#詳しくない人だとてきとうに実装してしまいがち。 こんな感じ。↓ // ダメなDisposeの実装方法 internal class MySampleClass { private SqlConnection _connec…
業務でWindows資格情報を読む機能を実装したことがあったので備忘録として残す。WindowsAPIのCredRead関数をC#から呼び出すことで実装可能。 サンプルコードは以下。 [DllImport("Advapi32.dll", EntryPoint = "CredReadW", CharSet = CharSet.Unicode, SetL…
業務アプリの開発をしているとフォルダ内のファイル一覧を取得して参照し何かしたいことが多々ある。 C#だとDirectory.GetFilesメソッドを使うことでカンタンに実装することができる。例えばCドライブ直下のこんな構成のフォルダ内のファイル一覧を取り出し…