覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

その他

vimでの改行コードの可視化

今回のエントリは、MacOS環境で試してますので、Linux環境だと挙動が違うところある可能性があります vimでファイル触っているということは大概の場合において、行末尾の改行コードが LF なわけですけど。 WIndowsで作成したテキストファイルを作成すると 改…

矩形同士の交差

左下の座標(X, Y) と 右上の座標(X, Y) が 与えられた矩形(長方形)があったとして、 2つの矩形が与えられて、その矩形同士が以下のように交差(領域が被っているかを)しているか判定したいです 交差の判定は Max(矩形1.左下X, 矩形2.左下X) < Min(矩形…

jqで基礎的な操作をしてみる

前回、jqコマンドをインストールしました。 基礎的な操作だけ試しておきます。 仮に person.json というファイルの内容が以下のようになっているとします { "name": { "first" : "taro", "last": "yamada" }, "age": 20 } これを整形して表示する場合は以下…

HomeBrew で jqをインストールしてみる

jsonデータを整形・絞り込みできるjqコマンドをmacOSにインストールしたかったので、HomeBrewでインストールしてみました。 インストール 以下を実行します。 $ brew install jq 実行時のログは以下の様な感じでした $ brew install jq ==> Installing depen…

codility - Arrays OddOccurrencesInArray

codility の OddOccurrencesInArrayを解いてみます。 問題の概要 インプット(引数) 整数の配列 配列の要素の整数は奇数 配列の要素数は奇数個 要素の値同士のペアができるが、1要素だけペアができない値が含まれている 例:[9, 3, 9, 3, 9, 7, 9] アウト…

ISBN-13を求める

ISBN や ISBN-13 の説明はWikipediaにお任せするとして 「接頭記号」 + 「グループ記号」 + 「出版者記号」 + 「書名記号」 (ハイフン除くと12桁)の値から 末尾に付与するチェックディジットまで含めたISBN-13の値を求めたい場合、 以下のようなメソッドを…

2の累乗の加算で表現できる値の分解

N個の要素の整数を持つ配列Aを与えられる(N >= 1) binarian(A) = pow2(A[0]) + pow2(A[1]) + ... + pow2(A[M-1]) 上記の式で求めた結果と同じ値となるための 2の累乗n の加算 の最小の組み合わせ数を求める 例: A[0]=1 A[1]=5 A[2]=4 A[3]=4 binarian(A) …

sort と uniq で出現回数順にランキング

Linux なんかで、何かしらのコマンドの結果から重複したデータを出力して、 その結果を出現回数順に並べたいというのがまーまーよくあります。 ほぼ、イディオムみたいなもんです。(が、自分は毎日使うわけではなく忘れることがあるのでここにメモしておく…

Office365製品の画面がチラつく時の対策

Microsoft の Office製品(Office 2016のみ?)を使っていると、 急にウィンドウ内が白くなってそのウィンドウをクリックしないと実際にそこに書かれている内容が参照できない。 というような チラつき、画面の点滅 のような現象が発生することがあります。 …

連続した整数の XOR(排他的論理和)

ある連続した整数群の XOR の結果を取得したい。 引数は、MとN の2つの整数 M > 0 N > M M から N までの連続した整数の XOR を結果として返す 例えば X = 5, N = 8 の場合以下の通り(括弧で括った部分は2進数表現) answer = 5 ^ 6 ^ 7 ^ 8 = (101 ^ 110 ^…

LeetCode - Maximum Depth of N-ary Tree

LeetCode の Maximum Depth of N-ary Tree を解いてみます。 問題の概要 インプット(引数) N個のNodeを持つツリー アウトプット(引数) ツリーの中の中の最大の深さ 最大の深さ = root Nodeから最も遠いリーフNodeまでの最長パス上のNodeの数 ツリーの各N…

LeetCode - Reverse String

LeetCode の Reverse String を解いてみます。 問題の概要 インプット(引数) charの配列 例:[’h’, 'e', 'l', 'l', 'o'] アウトプット(引数) 引数で与えられた配列を逆順にします。アウトプットは戻り値で返すのではなく、引数の配列の内容を逆順にしま…

LeetCode - Add Two Numbers

LeetCode の Add Two Numbers を解いてみます。 問題の概要 インプット(引数) 数値の1桁ごとの値を格納した連結リスト(ただし数字は逆順になっている)を2つ 例:(2 -> 4 -> 3) と (5 -> 6 -> 4) (342と564の数値を逆順の連結リストで表したもの) ア…

LeetCode - Two Sum

LeetCode の Two Sum を解いてみます。 問題の概要 インプット(引数) 数値の配列とターゲットの数値 アウトプット(戻り値) 与えられた配列の数値を足し合わせてターゲットの数値と一致する2つの数値の組み合わせ。その2つの数値のインデックスを配列で…

tail -f した内容をgrepしてリアルタイムで出力する

Linuxでログファイルの状態をリアルタイムで確認する場合 tailコマンドに -f オプションをつけて tail -f {ログファイル名} という使い方をすることが多々あります。 例えば、今まさにログが追記されている application.log というログファイルの内容を リア…

AWS 認定ソリューションアーキテクト – アソシエイト

AWS 認定ソリューションアーキテクト – アソシエイト(AWS Certified Solutions Architect - Associate)の資格を取ってみました。(合格しました) 規約的にも細かな試験内容等書いたりはしませんが、受けてみた感想とか書いてみます。 もちろん、今回私が…

bashのProcess Substitutionを利用したdiff

bashに Process Substitution(プロセス置換) という機能があるのを全然知りませんでした。 詳しい説明は別の方の記事を参照ください。。。 たとえば、この機能をdiffコマンドと組み合わせて使ったりすると効果的なようです。 diffは、入力対象としてファイル…

curlコマンドでHTTPステータスコードだけ取得

curl コマンドを実行して、レスポンスボディ等は不要で、HTTPステータスコードだけ取得したい。 というケースがあります。 pingやhealthチェックみたいな感じで、とにかく200が返ってくるのかそうじゃないのか?とか。 そんな場合は、以下の内容を実行します…

OSSの頒布

「OSSライセンスの教科書」という本を読んでいます。 OSSライセンスの教科書作者: 上田理,岩井久美子出版社/メーカー: 技術評論社発売日: 2018/08/23メディア: 単行本(ソフトカバー)この商品を含むブログを見る 普段の業務上でもお世話にならないことが無…

nmapコマンドで対象ホストがPOODLEの脆弱性を抱えているかチェックする

nmapコマンドを利用してSSL3.0が抱えているPOODLEの脆弱性を対象ホストがかかえているのかどうかをチェックします。 nmap の準備 nmapを利用しますので使えない場合はインストールしましょう(Macなら以下のような感じとか) brew install nmap 実行するコマ…

運用から見たシステムに関してのあれやこれや

ITシステム(サービス, アプリケーション)の開発を行っていると、設計してコード書いてテストしてリリースするという流れになり、 このリリースというのがゴールという感覚に陥る場合があります。 実際は、システム(サービス)は運用が開始されてからがスター…

Healthcare × Deep Learning

医療 と Deep LearningやAI分野 を組み合わせたサービス等を提供する企業で個人的に気になったものをメモしておくためのリンク集です。(日々増減します) imagia https://imagia.com/ AIによる医用画像解析 Mindshare Medical https://mindsharemed.com/ 臨…

Linuxでよくお世話になるスペシャルファイルに関するメモ

開発やテストの際などによくお世話になるLinuxのスペシャルファイル(の中の疑似デバイス)に関するメモです /dev/null 書かれたデータは捨てられる。 null スペシャルファイルを読むと常に end of file が返される。 /dev/zero 書かれたデータは捨てられる…

Gitでタグ付けたり消したり

コマンドラインでGitのタグを付けたり削除したりする方法 タグを付ける ローカルでタグを付けて、その変更をリモートにpushするという流れになります git tag {TAGNAME} git push origin {TAGNAME} リモートのタグを削除する ローカルでタグを削除して、その…

Linux - bashワンライナーループ

bashのワンライナーループは何だかんだでよく使うので、ここからコピペする目的のためメモです。 基本的に以下で実行できる for i in {1..<end>} ; do <something command> ; done 10回コマンドを実行するなら以下 for i in {1..10} ; do <something command> ; done 例えば10個のディレクトリ(dir1~di</something></something></end>…

1.01の法則

今年1年、それなりに努力したつもりですが、まだまだ努力しないといけないなと感じており 2017年はさらに努力を積み重ねていきます。 とか考えていた時に、ふと頭に浮かんだのが 1.01と0.99の法則 です。 1.01と0.99の法則とは 1.01と0.99の法則とは、継続…

HealthTech サービス リンク集

医療関連のITサービスやシステム,プロダクトを提供しているヘルステック分野の会社で個人的に気になったものをメモしておくためのリンク集です。(日々増減します) エムスリー株式会社 企業HP: https://corporate.m3.com/ m3.com 医療従事者専用サイト リー…

Oracle Certified Java Programmer, Gold SE8

今年(2016年)、1Z0-813(Upgrade to Java SE 8 OCP (Java SE 6 and all prior versions))の試験を受けてJava6の資格をJava 8 のGoldにアップグレードしてみました。 同様の試験を受けようと考えている人も少なくないかなと思いますので、実際の試験がどんな…

API提供時に気を付けること

アプリケーションが第三者向けにインターフェース(API)を提供する場合に、考慮すべきだが抜け落ちてしまう可能性があるものを記載しました 提供すべきAPI自体がどうあるべきか? と API利用者にドキュメントや補足説明で何を伝えるべきか? を記載していま…