投稿者:

AWS, EC2, Git, Jenkins

近頃は実装の仕事よりもその周りの援護的な仕事が多い江藤です。その中の一環で行った CI 環境の整理について、今回は記事にします。

WIZY のこれまで

WIZY では Jenkins で自動テストを走らせていました。
流れを図にするとこんな感じです。

開発者は開発が終わると Pull Request を 出す
マージ権限のある人がPRをレビューをして、問題があれば修正
問題がなければ権限のある人がマージを行う
マージされると、自 ...

投稿者:

Python

はじめに

開発中にPythonで「リストの要素がすべて空文字列か」という判定をしたい場面があり、なにかないかと調べてみたら、allという組み込み関数で簡単に実装できました。
今回はそのall、対になるanyを紹介します。

all

リストやタプルのような、iterableオブジェクトの要素がすべて真のときにTrueを返す関数。
Pythonでの真は、数値は0以外、文字列は空文字列(“”)以外、
タプルは空のタプル() ...

投稿者:

MySQL

はじめに

1対多の関係を持ったテーブル同士をJOINしてGROUP BYして取得したときに、
多の方のデータをどうにかしてすべて取得したかったときの話です。

どんなテーブルだったか

わかりやすいように簡潔なテーブルにします。

userテーブル
ユーザ情報のテーブル

mysql> SELECT * FROM user;+----+------+| id | name |+----+------+|  1 ...

投稿者:

Git

はじめに

よくGitを利用する際にひんぱんにマージして開発ブランチも最新に・・・とはいっても難しいですよね。
そこでrerereを使うのがよさそうです。

reuse recorded resolution

の、略だそうです。
レレレを有効にするとマージ時のコンフリクトの解決を記憶させることができ、同じ作業を繰り返す必要がなくなります。

有効にするためには

git config --global rerere.enabled tr ...

投稿者:

Jenkins, Packer

はじめに

何種類か EC2 サーバを管理しているとき、プログラミングの実行環境やサーバミドルウェア など共通して必要になるものがあります。
私が居るチームでは、 Packer を使って共通のイメージを作成してリリースに掛かる時間や運用コストを削減しています。

Packer は以下のような JSON ファイルでパラメータ等を指定して、マシンイメージを作成することが出来ます。なお私のチームでは、Jenkins 上で Packer を実行するジョブを実行して ...

投稿者:

APIGateway, AWS, CloudFormation

岡崎です。

今回は、CloudFormationによるAPIGatewayのリソースとメソッドの作成について書きたいと
思います。こんな感じで書くことができます。テンプレートについては下記の通りになります。

ゴールテンプレート部分{  "AWSTemplateFormatVersion" : "2010-09-09",  "Resources" : {    "Me ...

投稿者:

micro:bit, Node.js

先日開催されたMUSIC HACK DAY 2018に参加したのですが、
思いついたアイデアとマッチせずSongle Syncを利用できなかったため、個人的に触ってみました。

Songleの説明とSongle Syncについては以下の公式をご覧ください。

Songleとは
Songle Sync
Songle SyncのAPIキーを作成

まず、Songle Syncを利用するためにAPI利用登録からアカウントを作成しアクセストー ...

投稿者:

Swift

SwiftのOptionalとははじめに

Swift関連の記事を書きたいと思いましたが、
Swiftの記事を書くと必ずと言って良いほどOptionalという単語が出てくるため先にOptionalについて書きたいと思います。

OptionalとはOptionalとはデータ型の一種である
正式名称はOptional型
Optional型で定義された変数はnilを許容する
非Optional型にはnilを代入することはできない
非Op ...

投稿者:

AWS, AWSCLI, S3

AWSCli で音源をS3に格納しました。
その際、ローカルのMD5値とS3のETag値を比較し確認をしましたが、一致しないケースが多数ありました。
どうにか確認できないかと調べてみました。

例)
音源ファイル :xxxxxx.3gp
ETag値 :396321df76a1493be6856ef7180541de-2
MD5値 :7cdfe2bcd8652d4686dbc0e294997186

そもそもETag( ...

投稿者:

ネットワーク, 規格

とあるシステムの監視の通知先として「電話」を使うために Twilio を使っています。
Twilioの仕様を調べていて分かった E.164 フォーマットについてまとめてみます。

E.164 フォーマットってなんぞや

昔の動画コーデックのような名称”E.164”ですが、
正解は、ITU-T(国際電気通信連合 電気通信標準化セクター) E.164勧告で規定されている国際公衆電気通信番号。E.164勧告は国際的に一意な電話番号体系として規定されていま ...