53ningen.com

@gomi_ningen's Website

Chrome のアドレスバーを利用して手軽に AWS マネジメントコンソールにアクセスする

AWS のいろいろなリソースを触っているときに、マネジメントコンソールのトップページから各ページに潜っていくのはかなり面倒です。個人的には Chrome のアドレスバーに ec2 と入力したら、EC2 の画面へ飛んだり、sg と入力したらセキュリティグループのページに飛んでくれると便利だなと思ってたりする今日この頃ですが、みなさんいかがでしょうか(もしかして自分が無知なだけでみんな良いソリューションを知っていたり...? 知ってたらコメ欄とかブコメで教えてください、一度アクセスすれば、アドレスバーの履歴には残るんですが、利用状況によって表示順が違ったりしてだるいので、この手順で入力したらそのページに飛べる!みたいなヤツが欲しいという需要です)。

この記事は、Amazon S3 の静的サイトホスティングのリダイレクトルールという機能と Chrome の検索エンジン設定を使って、良い感じにこれを実現してみた記録です。やり方など、どうでも良いのでその機能使わせろという方は以下に 1 分で終わる手順を用意してありますので、ご利用ください。

設定がおわると、たとえば EC2 のマネジメントコ...

Read More

mac の操作スペースが勝手に並び変わるのを抑止する

mac 素人なので知らなかったけど、デフォルトで操作スペースが利用状況に応じて勝手に並び変わるという迷惑な機能がオンになってます。これ、めちゃくちゃ迷惑でなんとかならないかなーと設定いじってたら Mission Control の設定項目にあったので、即オフにした。 ansible だと以下のような感じでかける。

- name: 操作スペースの自動並び替えを抑止
  osx_defaults:
    domain: com.apple.dock
    key: mru-spaces
    type: bool
    value: false
    state: present

これで安心安全 ...

Read More

寝てる間に MacBook の環境構築を終わらせる

開発にメインで使っている MacBook Pro がいつ壊れても良いように環境構築の 9 割程度を Anisble 化している。どんな感じにやっているのかをご紹介 + 自分用のメモとして書き下します。

Windows 環境も構築を自動化したいけど面倒でやっていない。Windows 自体は普段使い(だらだらネットを巡回)とかでは好きだけど、最近あまりその上で開発をゴリゴリやることはないので、ひとまず macOS について。

MacBook 初回起動時の儀式

このあたりは完全に自動化できてないけどまあ 3 分で終わるので...

  • Command Line Tool のインストール
    • 最初に git ほにゃらら っていれるとインストールしろよ〜って言われるので指示に従う
  • homebrew, Ansible のインストール
    • 2 行で終わる & 構築自動化のファンダメンタルな部分なので、サクッと手打ちしている
  • MacBook  環境構築用 Ansible リポジトリの clone
# homebrew のインストール
/usr/bin/ruby...
Read More

ELB の負荷分散の基本的なしくみ

AWS 公式のドキュメントに ELB の簡単な仕組みが載っていたので、自分向けにまとめました。正確な情報はドキュメントを参照してください。基本的には ALB についてのことをまとめていきます。

情報ソース: Elastic Load Balancing の詳細

  • ELB でロードバランサーを作成すると、ターゲットとして指定した AZ へのロードバランサーノードを作成が行われる
  • ユーザーからのリクエストはまず DNS ラウンドロビンにより、各ロードバランサーノードに分散される(TTL は 60s)
  • 実際に dig ってみれば、これがわかる
    • 以下は tokyo-1a, 1c のサブネットに ALB をアタッチしたときの Answer
    • DNS キャッシュなども当然影響してくるので頭の片隅にいれておいたほうがいい
$ dig...
Read More

inode を枯渇させる

ファイルシステムと inode

  • ファイルシステムにより、ブロックデバイスのファイル管理を構造的に取り扱える
  • ファイルはブロックの集まりに名前をつけたものにすぎない
  • 一般的には木構造でファイル/ディレクトリを取り扱う
  • ファイルシステムにより、ブロックデバイスの仕様を知らなくてもファイルにアクセスできたり、権限管理ができたりする
  • inode はファイルシステムオブジェクトのメタデータを保持するデータ構造

ext4 の inode を使い果たす

  • ext4 は最初に inode 1つあたりのデータのバイト数を指定して作る(bytes-per-inode)
  • 空のファイルを大量に作ると inode が枯渇して楽しい(?)
    • Let's get started!
$ # inode の空きを確認
$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
devtmpfs       124891    456 124435    1% /dev
tmpfs         ...
Read More

ファイルシステムのマウント

情報ソース:

  • パーティションやリムーバブルデバイス上にあるファイルシステムをディレクトリツリーないの特定のポイントであるマウントポイントに接続すること
  • ファイルシステムをマウントするには mount コマンドを使う
    • device はブロックデバイスへの完全パス(ex: /dev/sda3)やボリュームラベルを指定する
  • mount -a/etc/fatab に書かれているファイルシステムについてすべてマウントするという動き
SYNOPSIS
  mount [-lhV]
  mount -a [-fFnrsvw] [-t vfstype] ...
Read More

RxSwift の Observable とは何か

Qiita にあげていた記事ですが、ここにもバックアップをとっておきます

この記事は、2017/09/15〜17 に早稲田大学 理工学部 西早稲田キャンパスで開催される iOSDC Japan 2017 で行われる セッション「RxSwift の Observable とは何か」 の発表原稿、およびその補足資料です。

  • スライドはこちらです ➡︎ https://www.slideshare.net/gomi_ningen/rxswiftobservable-iosdc-japan-2017
  • あわせて読みたい ➡︎ http://qiita.com/gomi_ningen/items/dc08a8a5514be9aa0eb2

なお、本文に先立ち注意事項を掲載しておきます。

注意事項

  • 以下の内容を理解しなくても RxSwift は十分使えるライブラリです...
Read More

Xamarin.iOSアレコレメモ

<h2>NSDate と DateTime の相互変換</h2> <ul> <li>実際にはもうちょっとタイムゾーンとか色々気を使う必要あるけどざっくりまとめ</li> <li>https://forums.xamarin.com/discussion/27184/convert-nsdate-to-datetime</li> </ul> <h3>NSDate => DateTime</h3> <p>ReferenceDate ってなんなの...(https://developer.apple.com/documentation/foundation/nsdate)</p>
    public static class FoundationExtensions
    {
        public static DateTime ToDateTime(this NSDate date)
        {
            // ref: https://developer.apple.com/documentation/foundation/nsdate
...
Read More

Auto Scaling に関する各種概念の整理

Auto Scaling とは

情報ソース: Amazon EC2 Auto Scaling

  • 負荷に応じて最適な EC2 インスタンスを配置するための仕組み
  • Auto Scaling には以下の構成要素がある
    • Auto Scaling グループ: minimum number of instances, maximum number of instances, desired capacity をパラメタとして設定できる
    • 起動設定: AMI ID, インスタンスタイプ、キーペア、セキュリティグループ、ストレージなど Auto Scaling の際に起動する EC2 インスタンスのテンプレート
    • スケーリング: いつどのようにスケールイン・アウトするかを定めるルール設定

起動設定とは

情報ソース: [起動設定](https://docs.aws...

Read More

株式会社ドワンゴを退職しました

退職エントリ、一回書いてみたかったので書いた。

3 月末でドワ社を退職しました。さみしい...。好きです、ドワンゴ。 死ぬ前にもう一度ドワンゴで働きたい。

入社してみてどうだったか

想像以上に自由だった(ただしやることをしっかりやってる必要はあります)。自席を良い感じの空間にしても怒られないし、ごちうさ見ながら仕事してたりしても何も言われなかったし、20 連休とか平然と取得可能だった(普段ちゃんと仕事はしてます...)。ドワンゴが自由といわれる世の中じゃなくて、当たり前にドワンゴのような働き方ができる世の中になってほしい。

596798556297568256

本物の裁量労働を経験したい方は、ドワンゴへ入社してみてください。厚生労働省は本物の裁量労働制がどんなものか、視察しにくるべき。

ドワンゴでやったこと

主にこんなかんじ。

  • ニコニコ静画(電子書籍) 入稿・配信サーバー
  • ニコニコ静画(イラスト・マンガ) 各種アプリケーションサーバー・インフラ
  • ニコニコ漫画 iOS アプリ(新規開発/Swift)
  • 読書メータ...
Read More

とある WUG タイアップ施策の成功実例

#わぐなー歴 というハッシュタグがタイムラインに流れてきたので、便乗して自分語りをするついでに、運営の人がエゴサしていたら、アニメタイアップ施策の効果測定のサンプルとして使ってもらうという悪い意図で少し長文を書いてみた。もし見てたらタイアップ、今後も続けてください。

アニメ放映当時、本編を見ていたが劇場版を見てなかったので、コンテキストを知らない状態で 2 話を見るのは結構辛くて、3, 4 話で挫折している。ハナヤマタは、見たし曲も良いと思っていたけど、キャストにあまり目がいかなかった。

その後何度かイベントで WUG を見ていて、7 Girls War とタチアガレは素直に楽しい曲だなと思ったのだけれど、それ以外に曲を聴こうという気持ちにはなっていなかった。自分は基本的にはアイドルユニット系に興味が向かない傾向にあるので仕方なかった。大...

Read More

AWSの基礎知識

  • 自分向けに AWS 各サービスの基礎的な情報などをまとめたメモです
  • 機能追加とか変更は頻繁に行われているので、最終的にはドキュメントをみてあってるか都度確認する

AWS のストレージ関連サービス

情報ソース: AWS が提供するクラウドストレージ

AWS が提供するストレージ関連のサービスには以下のようなものがある

  • Amazon EBS(Elastic Block Storage)
    • 実行中のインスタンスに EBS ボリュームをアタッチできる
    • 複数の EBS ボリュームをインスタンスにアタッチできる
    • 頻繁に書き換えるデータの格納場所に向いている
      • たとえばインスタンス上で MySQL を稼働させる際、データは EBS に格納するなどという用途に向いている
    • インスタンスの運用とは独立した永続性を持つ
    • 未加工、未フォーマットの外部ブロックデバイスとして振る舞い、物理ハードドライブと同じように使用できる
    • 種類に応じ...
Read More

Copyright © 53ningen.com