2023-01-01から1年間の記事一覧
google chromeの開発ツールでネットワークタブを使用する。 digコマンドでもIPアドレスを知ることができる。しかしサブディレクトリでサーバーが異なる場合は調査できない。(DNSプロトコルを使用している為) 参考 atmarkit.itmedia.co.jp
ネットワーク探索やセキュリティ監査に使用されるオープンソースツール ポートにSYNフラグをたてたTCPリクエストをサーバに送信します。サーバはポートが開いていた場合、SYN+ACKをNmap側に返します。この時、Nmapはそのポートが開いていると判断し、ACKをポ…
composition apiでロジックを別ファイルに切り出して実装している。 関数Aを一つ定義して、そのプロパティとして関連する関数を複数定義する際に、プロパティとして定義した関数同士で呼び出す実装は良くない。 単体テストを書く際モックしたくなった場合に…
Nuxt.jsでcomposition apiを使って開発している際に関数オブジェクトを定義して、そのプロパティに関数を定義することが多いが、その際既存のプロパティ名を上書きしない方が良い。 デバッグの際に紛らわしくなる。 既存のプロパティは他にはlength, prototy…
関数は()をつけないと参照になり、()をつけると実行される function sayHi() { console.log('Hello'); } // 関数の後ろに括弧が無い console.log(sayHi); /* function sayHi() { console.log('Hello'); } */ 参考 tcd-theme.com
副問い合わせに対して比較述語(=、!=、<>、<、<=、>、>=)を使用した比較を一度にすることができる。 すべての条件に一致しているレコードだけを抽出することができる。 副問い合わせでは、複数のカラムを返すようなSELECT文を使用することはできない。 SEL…
Nuxt から Vue コンポーネントに追加のオブジェクト/パラメータを提供する。 asyncData 、fetch 、plugins 、middleware そして nuxtServerInit のような特別な Nuxt ライフサイクル内で使用できる。 <script lang="ts"> import { fetch } from '@nuxtjs/composition-api' ... …
プロセスとは OSが実行しているプログラムのインスタンス 各プロセスは同じメモリ領域を一切共有しない スレッドとは CPUから見たプログラムの「実行単位」 プロセスに含まれる プロセス内の同じメモリ領域を共有する マルチスレッド環境で適切なメモリ管理…
Amazon EC2、Amazon ECS、を含む複数のコンピュートインスタンスから同時にアクセスできるファイルシステム。 VPCを選択して作成する。その為同じVPC内からアクセスすることが一般的。異なるVPC間で利用するにはEFS マウントヘルパーを使用してVPC ピアリン…
プライベートネットワーク内での名前解決の仕組み。 ECSのサービスに対してDNS名を付与する。(DNS名はサービス名+名前空間名) DNS名の付与に関しては裏でaws cloud mapとroute53が使われている。 DNS名とプライベートIPアドレスが紐づいている。 ECSのサ…
日付を渡して曜日が返却される DAYOFWEEK( 'YYYY-MM-DD' ) 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, 7=Saturday. 参考 db.yulib.com
Statement coverage、Branch coverageを参考にすると良さそう(simpleCov、jestの場合Condition Coverageはデフォルトでは測定できない) Statement Coverage プログラム内の各命令が実行されたかの網羅率(命令網羅率) 三項演算子の条件分岐は見れない Bra…
importメソッドからブロックを受け取りitemsをキーにしてドキュメントごとの処理の結果を見ることができる Article.import do |response| puts response['items'] end 参考 rubydoc.info
enumを設定した属性で元の値を取得するには属性名 + _before_type_castが必要(rails5以降) rails4 user[:role] => 1 だったのが、Rails5だと・・・、 rails5 user[:role] => 'admin' 参考 qiita.com
現在のメソッド名を返す aliasが設定されている場合は実行中のメソッド名ではなく呼び出されたメソッド名を返す def foo p __callee__ end alias :bar :foo foo # => :foo bar # => :bar 参考 qiita.com
alias 新メソッド名 旧メソッド名 def aaa puts "aaa" end alias bbb aaa # bbb でaaaメソッドを実行できる 参考 docs.ruby-lang.org
ruby3.1から有効 # ハッシュ h = { x: x, y: y } h = { x:, y: } # キーワード引数 def aa(b: b) puts b end def aa(b:) puts b end 参考 techlife.cookpad.com
ruby3.1からエンドレスメソッドを使えるようになった # エンドレスメソッド def greet = puts 'Hello' # 以前の記法 def greet puts 'Hello' end 参考 secret-garden.hatenablog.com
サブクラスはそのスーパークラスと置換可能であるべき すべてのサブクラスはスーパークラスのすべての振る舞いを持つべき 参考 Sandi Metz. オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 (Japanese Edition)
Location レスポンスヘッダーはリダイレクト先の URL を示します。 3xx (リダイレクト) または 201 (created) ステータスレスポンスを返すときのみ意味を成します。 絶対パス、相対パスどちらでも可能 参考 developer.mozilla.org
/static の内容が /.nuxt ディレクトリにコピーされることはない。 /static の内容は、本番環境でそのままルートからアクセスできるようにサーバーから直接提供される。 参考 aik0aaat.hatenadiary.jp 参考 moneyforward-dev.jp .nuxt ディレクトリにはWebpa…
privateメソッドを呼び出す時は、レシーバは指定できない。 自分(self)以外のオブジェクトのメソッドを呼び出すには、レシーバを指定する必要がある。 → クラス外部から呼び出せない private def _private_method p "aa" end => self.private_method # こ…
nuxt.config.jsでserverMiddlewareを設定する際、pathを指定できる。 handlerとして呼びだされるファイルの中でNode.jsのHTTPリクエストオブジェクトを使用してreq.urlを表示するとserverMiddlewareのpathで指定した部分は除外されている。 nuxt.config.js s…
named export モジュール(ファイル)ごとに複数のexportを行う default export モジュールごとに1つのexportを行う デフォルトエクスポートは一つのファイルにつき一つしか存在できない。 インポートの仕方が異なる [named export] // prefectures.ts expor…
単一責任のメリット 変更が容易 再利用が可能 (着脱可能なユニットになっている為) クラスが単一責任か見極める方法 クラスの持つメソッドを質問に言い換えたときに、意味を成す質問になっているか確認する。 メソッドが単一責任か見極める方法 役割が何であ…
簡易的なクラスを作成できる。 構造体のメンバに対するアクセスメソッドが定義されている。 User = Struct.new(:name, :age) user = User.new("taro", 20) user.name => "taro" user.age => 20 複雑なデータ構造を振る舞いに変換する際に便利。 「振る舞いに…
継承したクラスとmixinしたモジュールではmixinした方のメソッドが先に呼び出される。 参照 qiita.com
asyncキーワードを使って関数を定義した場合返却される値は必ずPromiseになる。(Promiseにラップされた値が返る) 返された値を利用したい場合は、その関数の呼び出しに対してawaitを使うか、thenメソッドを使ってその値を利用することができる。 async fun…
引数にPromiseを返す非同期処理を配列形式で複数渡せる。全てのPromiseが解決された時、または1つでも拒否された時に単一のPromiseを返す 。複数の処理を並列で実行して全てが完了した時に次の処理に進みたい場合に便利。 参考 zenn.dev
terraformでは3箇所でリソースの状態を記録している。 stateファイル (s3に保存 terraform state listで管理しているリソースを確認できる) aws本番のリソース terraformのコード 本番とstateファイルで差異が出るとエラーの原因になる。(コンソールから…