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

【技術記事】Apache Beam with Google Cloud Dataflow(over 2.0.x系)入門~Combine~

Apache Beam with Google Cloud Dataflow(over 2.0.x系)入門~Combine~ Apache Beamの5つのCore Transformの内の1つ、Combineの基本的な使い方について記す。 他のCore TransformやそもそものApache Beam 2.0.xの基本的な話は以下に記述している。 IntelliJと…

【技術記事】Apache Beam with Google Cloud Dataflow(over 2.0.x系)入門~基本的なGroupByKey編~

Apache Beam with Google Cloud Dataflow(over 2.0.x系)入門~基本的なGroupByKey編~ Apache Beamの5つのCore Transformの内の1つ、GroupByKeyの基本的な使い方について記す。 CoGroupByKeyなどについては別の機会に書けたらなと思う。 Apache Beam や Cloud …

【技術記事】Circle CI 2.0の基礎的な設定まとめてみた(GAE/Goのサンプル付き)

Circle CI 2.0の基礎的な設定まとめてみた(GAE/Goのサンプル付き) 今回の記事について Circle CI2.0用の設定の基礎的な部分のメモ。 今回の記事は、単純な設定をCircle CI 2.0 で行うことを目的としているため、基礎的な設定のみを行い、Workflow等の設定は…

【技術記事】CSSの設計方法をまとめてみた~SUIT CCS編~(Angularによるサンプル付き)

CSSの設計方法をまとめてみた~SUIT CCS編~ SUIT CSSについて、簡単にまとめる。 また、Angularを使用した簡単なサンプルも書いてみる。 なお、本記事は、公式ドキュメントをかなり参考にさせていただいている。 詳細な部分に関しては以下の記事がわかりやす…

【技術記事】CSSの設計方法をまとめてみた~BEM編~

CSSの設計方法をまとめてみた~BEM編~ BEMについて、簡単にまとめる。 詳細な部分に関しては以下の記事がわかりやすかったので、参考にされると良いと思う。 bem-methodology-ja/index.md at master · juno/bem-methodology-ja BEMという命名規則とSass 3.3の…

【技術記事】RxJSの基本をまとめてみた~基本的な概念編(Observable、Observer、Subscriptionなど)~

RxJSの基本をまとめてみた~基本的な概念編~ Angularで使用していたRxJSだが、もっと深くちゃんと理解しようと思い学習したので、これから何回かに分けてまとめる。 仕組みを理解するために、ちょっと冗長な書き方をするところがある。 「これどうなの?」とか…

【技術記事】Angular4(over2~)のロケールとPipe

Angular4(over2~)のロケール ローケルとは ロケールとは、ソフトウェアに内蔵される、言語や国・地域ごとに異なる単位、記号、日付、通貨などの表記規則の集合。または単に、利用する言語や国・地域の指定。多くのソフトウェアやプログラミング言語は、使用…

【技術記事】Javaのシリアライズ(直列化)メモ

Javaのシリアライズ(直列化)メモ 今更だが、Javaのインスタンスをファイルなどに保存するのに便利なシリアライズ(直列化)についてのメモ。 シリアライズとデシリアライズ シリアライズ(直列化) Javaのインスタンスをバイト列として出力すること。 デシリア…

【技術記事】Python3とJavaでクラスを書いてみた

Python3とJavaでクラスを書いてみた 静的言語ばかりやってきたが、機械学習とかやりたいので、Pythonの勉強を始めることにした。 これまでやってきたGo、Java、TypeScriptとはなかなか違うところが多くてカルチャーショックを受けている... とは言え、新しい…

【技術記事】PythonでFizz Buzz書いてみた

PythonでFizz Buzz書いてみた 静的言語ばかりやってきたが、機械学習とかやりたいので、Pythonの勉強を始めることにした。 これまでやってきたGo、Java、TypeScriptとはなかなか違うところが多くてカルチャーショックを受けている... とは言え、新しい言語を…

【技術記事】Apache Beam with Google Cloud Dataflow(over 2.0.x系)入門~基本的なGroupByKey編~

Apache Beam with Google Cloud Dataflow(over 2.0.x系)入門~基本的なGroupByKey編~ Apache Beamの5つのCore Transformの内の1つ、GroupByKeyの基本的な使い方について記す。 CoGroupByKeyなどについては別の機会に書けたらなと思う。 Apache Beam や Cloud …

【技術記事】Apache Beam with Cloud Dataflow(over 2.0.0系)入門~基本部分~ParDoまで~

Apache Beam with Cloud Dataflow(over 2.0.0系)入門~基本部分~ParDoまで~ 何回に分けてApache Beam with dataflowについて書こうと思う。 今回は、基本的なこと~TransformのParDoまでを書く。 最後にローカルで動作するコードも書く。 Apache BeamとCloud D…

【技術記事】IntelliJとGradleで始めるApache Beam with Google Cloud Dataflow

IntelliJとGradleで始めるApache Beam 2.0.x with Google Cloud Dataflow 基本的にドキュメントでは、Mavenでのクイックスタートしか書いていなかったので、Apache BeamをGradleとIntelliJで始める方法をメモする。 今回は、Pipelineに対するOptionを指定す…

【技術記事】Javaでユーグリッドの互除法を実装してみた

ユーグリッドの互除法とは 2つの自然数の最大公約数を求めるアルゴリズム。 簡単に表すと a % b = r b % r = s r % s = 0 といった形で、割る数を次の割られる数、余りを次の割る数にして再帰的にそれを繰り返して行く。 余りが0になった時の割る数(上の例だ…

公式ドキュメントで新しい技術を習得する方法

公式ドキュメントで新しい技術を習得する方法 何かの技術を新たに学ぶ時、特に最新の技術を学ぶ場合や日本でのユーザーが少ない技術の場合、その技術に関する書籍や記事がまだ存在しなかったり、少なかったりすることがある。その場合、公式ドキュメントを読…

【技術記事】Angular4(Angular2~)のユニットテスト【Angularのユニットテストの基本とComponentの簡単なテスト編】

Angular4(Angular2~)のユニットテスト【Angularのユニットテストの基本とComponentの簡単なテスト編】 Angularのユニットテストを勉強中なので、何回かに分けて記事にする。 今回の記事は、以下の公式ドキュメントの4つのセクションをかなり参考にさせていた…

【技術記事】Go言語で今月から標準入力で受けたyyyy-mmまでの各月の月初と月末を一覧表示する簡単なコマンドラインアプリを作ってみた

Go言語で今月から標準入力で受けたyyyy-mmまでの各月の月初と月末を一覧表示する簡単なコマンドラインアプリを作ってみた Goで標準入力と time packageを用いて、日付に関する簡単なコマンドラインアプリを作ってみた。 月初や月末を求めるようなことは日々…

【技術記事】SendGridでメールを送信する時に改行が上手くいかない時の対処法

SendGridでメールを送信する時に改行が上手くいかない時の対処法 SendGridを介してメールを送信する時に、Contentをplain/textにしていると意図した改行がなされないとことがある。その時の対処法を記す。 対処法と言っても、非常に簡単な設定を行うだけであ…

難しいと感じる技術本を読む時に自分がやっていること

難しいと感じる技術本の読み方 僕は完全に未経験からプログラマになったので、技術本を読む時に難しいなあと思うことが多々あった。 しかし、それらの難しい本を読み込んでレベルアップしたかったので、なんとか読み進めてきた。(挫折もあったが…) そんな…

Go言語の便利なfmt.Sprintf ~任意の型と文字列をまとめて文字列(string型に)~

Go言語の便利なfmt.Sprintf ~任意の型と文字列をまとめて文字列(string型に)~ Goの静的型付けにおいて、stringと他の型をstring型として扱うことができるようにするfmt.Sprintfという便利な関数が存在する。 Goの書式指定子 Go言語は、静的型付けの言語あり…

GCE上のGoのコードからSendGridを使用してメールを送信

GCE上のGoのコードからSendGridを使用してメールを送信 GCE上のGoのコードからSendGridを使用してメールを送信する。 SendGridによるGCPからのメール送信は既に以下の公式ドキュメントや記事で丁寧に紹介されている。 https://cloud.google.com/compute/docs…

Go言語でSendGrid Web API v3を使って、メールを送信する

Go言語でSendGrid Web API v3を使って、メールを送信する UIやAPIを通じて簡単にメールを送信してくれるSendGrid。 ライブラリが非常に使いやすく便利で、今後使用することが多々ありそうなので、メモ。 SendGridとは 簡単に言うと、UIやAPIを通じて、送信し…

GCE(Google Compute Engine)のVMインスタンスのアカウントスコープを後から変更する

GCE(Google Compute Engine)のVMインスタンスのアカウントスコープを後から変更する GCEのVMインスタンスでアカウントスコープを途中で変更したい場合、少し工夫する必要があったのでメモ。 アクセス スコープとは それぞれのGoogle Cloud Platform上のサー…

GoでBigQueryクライアントを実装してBigQueryからデータを取得する

GoでBigQueryクライアントを実装してBigQueryからデータを取ってくる 会社のある偉大な先輩は、以前こう言った。 「BigQueryは全人類が使えるようになるべきだ」と。 僕は、最近BigQueryの学習を始めた。 BigQueryの学習の一環として、BigQueryクライアント…

忘れがちなGo言語の書式指定子を例付きでまとめた

忘れがちな書式指定子 いちいち調べるのも面倒臭いので、普段使いそうな書式指定子の使い方を例付きでまとめた 各書式指定子の説明文は、基本的に以下のサイトを引用させていただいている go fmtパッケージ 各書式指定子の使い方 %v デフォルトフォーマット …

新人プログラマのうちに身に付けたい習慣、考え方(この半年で反省と学んだこと)

新人プログラマのうちに身に付けたい習慣(この半年で学んだことと反省) はじめに 半年よりちょっと前に未経験からプログラマになりました。 プログラマと言っても、この約半年間はほとんど研修を受けさせていただいていた感じなので、偉そうなことは言えま…

GoのTemplateのPipelines(パイプライン)を理解しながら、テンプレート内で関数にスライスを引数で渡してみる

Goのテンプレートの中で関数を使い、その関数に引数を渡す GoでMVCなアプリを書くときに重宝するであろう、templateパッケージ そのtemplateパッケージを使用してGoでテンプレートを書き、その中で関数を呼び出し、引数に構造体のフィールド上に存在するスラ…

Go言語でCookieを操作する(設定と取得)

HTTPレスポンスにCookieを設定する Goで書いたサーバ側で、HTTPレスポンスヘッダのSet-Cookieフィールドを記述する。 コードは以下。 // 1 cookie := &http.Cookie{ Name: "hoge", // ここにcookieの名前を記述 Value: "bar", // ここにcookieの値を記述 } /…

JavaScript(ECMAScript)のトランスパイル(transpile)とPolyfillの違いについてまとめてみた

トランスパイルとPolyfill 各ブラウザのバージョンによって、対応しているJavaScript(ECMAScript)のバージョンは異なる。 そのバージョン対応の差異に対応するためにトランスパイル(transpile)とPolyfilという方法が存在する。 両者の違いがいまいちよくわか…

Go言語でFizzBuzz!を書いてみた

Go言語でFizzBuzz! Go言語でFizzBuzz!を書いてみた ルール 1~100までの数字で、 3で割り切れれば、「Fizz!」を表示する 5で割り切れれば、「Buzz!」を表示する 3と5で割り切れれば、「Fizz Buzz!」を表示する 上記以外の場合は、そのままの数字を表示する い…