2/32ページ

2/32ページ

[C#][VB] 二分探索(バイナリサーチ)の実装

二分探索(バイナリサーチ)とは 二分探索 – Wikipedia 二分探索(にぶんたんさく、英: binary search、BS)やバイナリサーチとは、ソート済み配列に対する探索アルゴリズムの一つ。 要素数nの配列に対して線形探索する場合(先頭から順番に探す方法)は、時間計算量が O(n) となります。それに対して二分探索(バイナリサーチ)は O(log n) と高速に動作します。た […]

20190811_[C#][VB] 優先度付きキューを実装する方法

優先度付きキュー(PriorityQueue) 優先度付きキュー(Priority Queue)は、優先度に従って優先的に要素を取り出せるコレクションです。 単純なキューだと先入れ先出し(FIFO)ですが、取り出すときに優先度の高い要素(例えば値の大きいもの)から順番に取り出せるというキューになります。例えば普通のキューだと 3, 5, 1 の順に入れるとその順番に取り出せますが、これを優先度に従 […]

[C#] Iterator パターン – デザインパターン入門

デザインパターン入門 『Java言語で学ぶ デザインパターン入門』という本に書かれているデザインパターンのサンプルを C# で書き換えて勉強していこうと思います。 今回は Iterator パターンです。 Iterator パターン GoF によって定義されたデザインパターンの1つです。内部のデータ構造に依存せず、反復処理(ループ)を抽象化するためのデザインパターンです。 C# の場合、簡単に言う […]

GAS

GAS入門 スプレッドシートのセル編集時のイベントトリガーまとめ

GAS とは GAS(Google Apps Script) は Google Apps(スプレッドシートとか) を自動化するためのスクリプト言語です。Excel VBA のマクロみたいなことをスプレッドシートで実現するには GAS を使います。 GAS は Javascript に似ている言語です。 スプレッドシートに対して GAS でいろいろ操作するためのトリガー(イベント)をまとめます。 ス […]

Rust インデックス付きで Vec, イテレータをループ, 走査する方法

Rust の Vec をインデックス付きでループする方法 Rust の Vec もしくは イテレーターの要素をループして走査する際、インデックスも一緒にほしい場合があります。その方法をまとめます。 単純に for i in 0..a.len() {} みたいにしてループするのではなく、インデックスと要素のペアセットでループするようにします。 enumerate() を使う std::iter::I […]

CircleCI で Firebase Hosting, CloudFunctions をビルド&デプロイする方法

CircleCI に Firebase のデプロイしたい Firebase(Hosting, CloudFunctions) へのデプロイを CircleCI を通じて行う方法をまとめます。 GitHub の master ブランチへプッシュが行われると自動的にビルドとデプロイを行えるようにします。 前提 本記事で紹介する手順では以下の環境を前提とします。 npm を使用 Firebase Hot […]

[Firebase] Cloud Functions を開発デプロイする方法入門

Firebase Cloud Functions とは Cloud Functions for Firebase | Firebase Cloud Functions for Firebase を使用すると、Firebase 機能や HTTPS リクエストによってトリガーされたイベントに応じて、バックエンド コードを自動的に実行できます。 要するに何かしらのイベントをトリガーにして任意のコード(J […]

[Typescript] Jest でユニットテスト環境を作る方法

Tyepscript のテスト環境(jest)構築 Jest · 🃏快適なJavaScriptのテスト Javascript のテスト用ツールはいろいろありますが、Facebook製の jest というテスト用フレームワークを使う方法をまとめます。 今回は Typescript で書かれたコードのテスト実装します。 jest とは Jest is a delightful JavaScript T […]

[Python] コマンドを実行して結果を取得する方法

Python から コマンドを実行する方法 Python から コマンドを実行する方法をまとめます。 subprocess で別のプロセスとして任意のコマンドを起動することが可能です。 subprocess — サブプロセス管理 — Python 3.7.4 ドキュメント 以下、Windows環境で試しているので mac, linux の人はコマンドをいい感じに変えて試してください。 […]

CircleCI に入門してみる(GitHub)

CircleCI 継続的インテグレーション・継続的デリバリー – CircleCI 遅ればせながら CircleCI に入門してみます。 CircleCI は、継続的インテグレーション(Continuous Integration)サービスです。共有レポジトリにプッシュ(マージ)されたタイミングで、テスト=>ビルド=>デプロイの手続きなどを自動で実行することが可能になります […]

1 2 32