2:00am, Writing code

Roughly coding. Posted from Berlin.

AtCoder Beginner Contest072に参加してみたので感想とか

最近アルゴリズムとデータ構造の勉強の一環として競技プログラミングに興味が出てきたので少し試してみたりしている。AtCoderでほぼ毎週プログラミングコンテスト(プロコン)が開催されているということだったので、参加してみた感想を参加記録代わりに残して…

BubbleSort in Javascript

特筆すべきところはないがプログラミング手習いとしてのバブルソート。一応お作法としてObject.assignを用いた非破壊的なソートにしている。 const a = [20, 1, 13, 2, 5, 3, 32, 11, 21]; console.log(bubbleSort(a)); // [ 1, 2, 3, 5, 11, 13, 20, 21, 32…

アプリエンジニアのためのAWS入門 ALB編

AWS

前回までのあらすじ 今回の教材 概要 ALBを作成する 基本設定 セキュリティ設定 セキュリティグループ設定 ターゲットグループ&ヘルスチェック設定 ターゲットグループへEC2インスタンスを登録 確認 動作確認 参考 概要 前回まででウェブアプリをホストする…

アプリエンジニアのためのAWS入門 EC2編

AWS

前回までのあらすじ 今回の教材はこちら

アプリエンジニアのためのAWS入門 VPC編

AWS

前回までのあらすじ 今回の教材 作成するもの VPCを作成する サブネットを作成する ゲートウェイを作成する Route tableを設定する 作成するもの 本シリーズでは最終的に以下のネットワーク構成を作成する。図は下記の記事を参考にCloud Craftにて作成した。…

プリズナー・トレーニングで始める自重筋トレ 2017・夏

突然だが、ベルリンのジムは安い[^1]。年間契約という縛りはあるが、多くのジムは1年契約すると月20ユーロ(2017/08時点のレートで約2600円)で、契約した店舗だけではなくグループ店舗ならどこでも利用可能である。しかもヨーロッパ各地に展開しているので、…

アプリエンジニアのためのAWS入門 概要編

AWS

はじめに AWSの主要サービス EC2 RDS Dynamo DB S3 VPC ALB(ELB) Route53 Elastic Beanstalk 参考 はじめに アプリエンジニアとして日々アプリ側の開発をしていると、いざ自分で開発からデプロイまでやらなければならなくなった時にインフラの知識が足りずに…

スタックで逆ポーランド記法の数式を計算する

前回の記事はこちら。 今回は前回から引き続きスタックの活用方法を見ていく。スタックの活用方法の例題としてよく挙げられるのが「逆ポーランド記法の数式を計算する」という課題である1。ということで実際にJavascriptでスタックを使って上記の処理を実装…

Javascriptでスタックを実装する

Javascriptには組み込みのデータ構造としてスタックが実装されていないので実装してみる。とはいえスタックに必要な基本操作はArrayに実装されているので、実質的にはスタック風のラッパーを被せるだけで事足りる。 実際のコードは以下のようになる。 class …

Javascriptで非破壊ソートを実装する

Javascriptで数値配列をソートする - 2:00am, Writing codeでも少し触れたが、JavascriptのArray.sortは破壊的なソートなので、配列そのものの値を変更してしまう。 それでも問題ない場合も多いかもしれないが、うっかり配列を破壊してしまうことにより問題…

Javascriptで数値配列をソートする

Javascriptには標準でArray.sortおよびArray.reverseが実装されているのでお手軽にソートを実行できる。と思いきやこいつらは数値配列をソートする場合は意図しない結果となることがあるので注意が必要である。 Array.sortは文字列比較 JavascriptのArray.so…

Javascriptで数値を2進数/8進数/16進数に変換する

プログラミング問題でありがちな「数値を2進数に変換してごにょごにょする」という処理をJavascriptでやる方法。検索してみても意外と日本語のまとまった情報が見つけられなかったので一通りまとめておく。 基数変換はNumber.toStringを使う 基本的にはNumbe…

FizzBuzz in Javascript

みんな大好きFizzBuzzをJavascriptで書いてみる。とはいえJavascript固有の処理は関数のデフォルト引数ぐらいしかないので他の言語でも99%応用できる。 function fizzBuzz(begin = 1, end = 100) { for (let i = begin; i <= end; i++) { const isFizz = i %…

Javascriptで文字列中に出現する各文字を数える

プログラミング問題などでありがちな、ある文字列内の任意の文字の出現数をカウントするという課題。Javascriptだとこんな感じに書ける。 function countCharInStr(str, chara) { const counts = {}; for (let c of str) { counts[c] = c in counts ? counts…

Javascriptでアルファベット配列をスマートに定義する

プログラミングコンテスト(プロコン)やオンラインのプログラミング学習サイトなどの問題を解く時、アルファベット配列が必要になる場合がある(気がする)。 JavascriptにはRubyやPythonなどのように範囲指定子がないので自力で定義してやる必要があるが、どう…