memo.log

技術情報の雑なメモ

2020-01-01から1年間の記事一覧

【Ruby】シンプルなネットワークブリッジを作ってみた

シンプルなネットワークブリッジをRubyで作ってみた。 github.com 動作確認した環境 Raspberry Pi 4 Model B+ Raspberry Pi OS Lite, Release date: December 2nd 2020 Ruby 2.7 使い方 以下のように記述して、sudo で実行 require_relative "lib/simple_bri…

【Ruby】ioctl で NWインターフェースのフラグ(ifr_flags)情報を取ってみるメモ

概要 『C for Linux 2』という本に ioctl でネットワークインターフェースの情報を取得するサンプルプログラムがあった。 以下のような実行イメージ。 % ./ifinfo eth0 name=eth0 UP BROADCAST MULTICAST mtu=9001 addr=172.31.7.56 dstaddr=172.31.7.56 bro…

AWS Client VPNで「vpnプロセスの開始に失敗しました。ポートは別のプロセスですでに使用されています」エラー

WSLを起動したらなぜかつながった…。 多分仮想ネットワークインターフェース周りが悪さをしていたものと思うが、深追いはしていない…。

RailsでDocker経由でPostgreSQLに接続できなかったときのメモ

Dockerの環境構築でcould not connect to server: Connection refusedのエラーが出た時の対処法 - Qiita https://qiita.com/yuki_0920/items/84e2ca260bfe13cf3072 →こちらの通り、 host をコンテナ名にする必要があった。 また、 Root ユーザーを手動で作成…

【Dockerメモ①】コンテナ作成、起動、停止、ログインをコマンドで順を追って確認していく

よくそもそもの使い方を忘れるのでコマンドで順を追って確認するようにするメモ 確認すること コンテナはイメージから作成できる コンテナは起動と停止ができる コンテナにログインするためには起動していないといけない コンテナに保存したデータは、コンテ…

【Ruby】Rawソケットでイーサネットフレームをまるごと受信するメモ

RubyでRawソケットでイーサネットフレームを丸ごと受信するメモ。 Rawソケットを使ったプログラミングは以前ICMPは扱ったことがあったが、イーサネットフレーム全体の扱い方が分からなかった。 qiita.com C言語のサンプルはたくさん出てくるけど、Rubyのサン…

Raspberry Piでブリッジを構成するメモ

Raspberry Piでブリッジを構成するメモ brctl を利用 構成 Raspberry PiのVesion $ cat /etc/debian_version 10.6 手順 インストール $ sudo apt-get install bridge-utils ブリッジ設定 ブリッジのデバイスで以下を実施 # ブリッジを作成 $ sudo brctl addb…

【Raspberry Pi】LANケーブルの接続

Raspberry Pi同士で接続するときはクロスケーブルでないと認識しない(インターフェースがアップしない)。 PCとRaspberry Piならどちらのケーブルでもアップする。 Auto MDIXだったらどちらでもアップすると思っているのだがなぜ…?

【Ruby】名前空間の使い方のメモ

Rubyの名前空間の使い方のメモ: モジュール内でクラスが呼ばれた場合、既に同名モジュールでクラスが定義されていたら、そのモジュールのクラスが呼ばれる 同名モジュール外のクラスを呼ぶ場合は、 :: を一番左につけてトップレベルと明示する # トップレベ…

Boidsアルゴリズムでラズパイカーを動かす

はじめに ラズパイコンテスト2020(リンクは本記事執筆時)に応募するためのネタとして、Raspberry Piで作成したラジコンカーをBoidsアルゴリズムにしたがって動物の群れの動きを再現する、という個人プロジェクトを進めていました。 project.nikkeibp.co.jp…

CircleCI Local CLI で Cannot find a job named `xxxx` to run in the `jobs:` section of your configuration file.

CircleCI Local CLIで表記のエラーが出て build が実行出来なかった。 jobs: に書いているはずなのになぜ…。 と思ったら workflows を入れているときは workflows にジョブを Job を定義しないと表記のエラーになってしまうみたい。

【ハマったメモ】手元で作成・更新したファイルがCircleCI 上でのビルド内容に反映されない

git 上で push していなかった。。 circleci.com

Code Deploy でS3にあるファイルをEC2インスタンスにデプロイする最低限の手順メモ

概要 Code DeployでS3に置いてあるアプリケーションをEC2インスタンスにデプロイしてみる手順のメモ 前提/構成 マネコンで操作する EC2インスタンス(Amazon Linux2)を1台用意しておく デプロイすることになるインスタンス Code Deployエージェントをインスト…

Terraform で Lambdaファンクションをデプロイする最低限の手順メモ

概要 TerraformでLambdaファンクションをデプロイする最低限だけ書いたメモ。 以下に資材一式がある。 https://github.com/kuredev/test-lambda-circleci/tree/minimum-lambda 前提 terraform がインストール済であること tfenv が使いやすそう AWSの認証情…

自分で書いたRubyファイルをirb上で読み込んで実行するとき

自前のコードをファイルに保存している時に、そこで定義しているクラスやメソッドを使いたいとき: irb してから require すればいい。 bundle installでインストールしているライブラリをファイルの中で読んでいる場合は bundle exec irb すれば良い。 % ca…

npm の勉強メモ(4)

概要 npm でインストールしたライブラリ(lodash)をTypeScriptから使う Webブラウザからのリクエストで実行する 手順 前提 分かりやすいようまっさらの環境から構築してみる 手順 # はコメントメモ # 初期化 % npm init # TypeScript インストール % npm inst…

npm の勉強メモ(3)

概要 今回はTypeScriptを使ってみる。 手順 TypeScript の利用 前回のリソースから package.json だけを利用する。 TypeScriptを実行する最低限のメモ。 TypeScript インストール % npm install --save-dev typescript .ts ファイル作成 TypeScript だと分か…

npm の勉強メモ(2)

概要 ブラウザでnpmインストールしたrequireしたライブラリをブラウザからのリクエストの時に使用する 手順 browserify の利用 (1) によると、browserifyを用いることで、依存関係のライブラリを含めて1つのjsファイルにまとめてブラウザから参照できるよう…

npm の勉強メモ(1)

概要 npm を利用してライブラリ(lodash)を利用してみるまで 前提 % cat /etc/system-release Amazon Linux release 2 (Karoo) % node --version v12.16.3 手順 プロジェクト作成 まずはプロジェクト作成。適当にEnter押して package.json を作成 % npm ini…

【Ruby】Raw Socket でICMP Echo を送信するメモ

概要 Ruby で Raw Socket を使ってICMP Echo をヘッダから作っていこうと思う 以下画像のICMPヘッダ部分を作成する 目的はRaw Socketの扱い方に慣れること 2進数の取り扱いが難しかったので、とりあえずイメージしやすいように文字列型で扱う。 慣れてきたら…