Organizations

amazonconnect amazonpolly appflow aws books camp childcare client vpn cloudfront cloudwatch codebuild daily datadog docker ec2 ecs eventbridge fargate gas homeserver iot jamf lambda life hack linux mac movie music php program python rds ruby running s3 tech terraform vpc windows wordpress 10km 2016 2018 2ブロック alfred amazonconnect amazones amazonpolly ansible apache api atcoder aws aws認定資格 backlog balmuda band bind boss box brew cakephp centos centos6 chef-solo ci circleci circlecijp cloud cloud sql cloud storage command crkbd cron css database diet digdag disney dlna dns docker docker-compose dockerfile dockertokyo ecr ecs edy eks elasticcloud elasticsearch em embulk ena evernote ezmlm fabric fargate fluentd font found fuzz galeracluster garageband gce gcp geek gem git github goo google google map googlemap gr-citrus gsuite happynewyear hatenatech helix homebrew html ikea infrataster iphone itamae iterm jamf k8s kinesis kintone knife-solo knowledge kpt kubernetes l2tp lancers lenovo let'ssplit linux live lolipop mac macos macアドレス mail mariadb mediatomb memory mfa midi mint60 ml mta mysql namazu nas nginx notion onedrive openssl peco pepabo perl php pixar pmf post python qiita qmail raspberrypi raycast redmine roland route53 rsync ruby ruby on rails salesforce sendgrid_jp sfdc sha2 shakeshack slack so-01j sony split sql sre srelounge srenext ssd ssh ssml stationery team terastation terminal terraform typescript ubuntu22.04 unix vagrant virtualbox visualstudiocode vm vpc vpn vpngate vscode vuls windows windows10 windows8 windowsserver2012 wordpress xperia xtechjaws xtechjaws07 zsh おサイフケータイ たからばこセッティング としまえん はてな アイアムアヒーロー アイアンマン アウトドアアンバサダー アプリ アレクサ インスタンスタイプ インターン インフラ ウィンドウズ ウェディング エフェクター エヴァ オープンソース カンバン キス キーキャップ キーボード ギター コキア コマンドプロンプト コンタクトセンター コース サーバーオペレーション サーバー移行 シェイクシャック シェルスクリプト スクラム スタジオ ステラタウン ストレージ スマホ セキュリティ タスク管理 ターミナル ダイエット チャリティー テックカンファレンス デスクトップ トライダガー ノートpc ハイレゾ ハゼ ハワイ ハンバーガー バイク バックアップ バンド バージョン管理 パスワード管理 パソコン パパ ピアノ ピクサー ピック ファン プロトレックスマート プロビジョニング ペイジェント ペパボ ポストモーテム ミニ四駆 メンタリング メンター メーリングリスト メール ヤフオク ヤマダ電機 ヤマダ電機モバイルドリーム館 ライブ ランニング リモートワーク レアジョブ レジン レツプリ レビュー ログ ロジカルシンキング 上尾 二段階認証 伊那市 会社 保育園 優しい世界 入門 全文検索 分割キーボード 初心者 勉強会 名前解決 外苑前 天キー 太陽 子供 学習リモコン 実写映画 家具 家族 家計簿 家電 小松菜奈 引っ越し 息子 成人式 技術書典 振り返り 新年 新幹線 新海誠 新米 旅行 日帰り旅行 映画 書評 東京湾 東京都知事 東野圭吾 桜台 検証 気分転換 水タバコ 池上彰 海釣り 温泉 漫画 炭酸泉 生産性 登山 監視 目標 確定申告 福島 立会川駅 組立て 経済学 結婚 練習音源 練馬 考える 育児 脆弱性 自作 自作エフェクター 自作キーボード 自宅サーバー 自宅鯖 花見 蕎麦 言葉 誕生日 読書 豊島園 貸し切り 赤外線 趣味プログラマー 転職 退職 選挙 釣り 釣り堀 銭湯 録音 長野県 障害報告 電動アシスト自転車 電動自転車 電子工作 電気工事士 電気工事士2種 電気風呂 露天風呂 養命酒 1歳
  • 経緯 巷ではどこもかしこもk8s, GKE, EKS, Fargateとコンテナで盛り上がっている。 昨年末、Fargateはある程度触ったのでそろそろk8sも触っておこうと思ったのが今回の背景。 その上で、k8sを構築する先を新規で購入しようか考えていたのだが、自宅サーバーである「MX130 S2」をスペックアップすることで代替できるかもしれないとわかったのでまずは調査と下準備ということで、その記録。 調査(CPU編) MX130 S2のデフォルトCPUは 「AMD Sempronプロセッサー145(2.80GHz,1コア)」 という代物で、とてもVMホストに耐えられるものではない。 今まではCentOS上のコンテナをいくつか並べてWordPressを運用するだけだったが、今後はVMホストにしたいのでマルチコアでないと運用に耐えられない。 ということで調べていたところ下記記事を見つけた。 富士通 PRIMERGY MX130 S2 に FX-6100 を載せる どうやらマルチコアのCPUでの動作報告のようで、CPU載せ替えが現実的であることがわかった。 ヤフオクで4000円程度だったのポチった。 調査(ストレージ) 今まではSATAの HDD300GB だったが、この間池袋のツクモに行ったところ、 hpのSSD250GB が3000円だったので即購入。 本当は2本のRAID1にしたかったが、何かあったら作り直す覚悟で一旦はシングルで行くことにした。 調査(ハイパーバイザーの選定) 次にハイパーバイザの選定だが、過去構築経験があるものとしてはKVMとESXiで、触れたことのあるものであればOpenStackであった。 OpenStackだったらハイパーバイザの構築勉強にもなるかと思ったのだけど、ESXiであればMacからもウェブで管理できるようになってるらしいと知った。 MacでESXiを操作したいって?Host Clientを使えばできるよ。ESXi6.0 Update 2ならね! 私が初めてESXiに触ったのはおおよそ8年前で、当時はWindowsだったのでvSphere Client経由で操作していた記憶がある。 今のはHTML5で作られているらしいので、やはり需要があってのことだと思う。※これならMacユーザーも使えるし 調査(VM管理) 調べてみたらTerraformでESXiのVMが管理できるという。(さすがTerraform…) terraform by HashiCorp * VMware vsphere ESXi5.5 で VM を自動生成 Terraformで構成できるなら、最初だけ作り込めばあとは作ったり削除したりが容易になるので、上述のこともありハイパーバイザはESXiにすることにした。 ということでそれなりの道のりになりそうだけど、とりあえず、自宅サーバーをk8s化すべく動きだした。 準備その1 – さくらのVPSのAnsible化 実は叔父の会社のサイトをWordPressで運用しており、それにさくらのVPSを使っている。 構築をむかーし担当して、運用はゆるゆると任されてやっている。 契約は叔父の会社なのだが、しばらくk8s環境を作って運用できるまで間借りさせてもらい、自宅サーバーにあるサイト2つを退避させるべくまずはここから手を付けた。 このサーバーは CentOS6+Apache+mod_php5.3+MySQL5.1 だった。 定期的に yum update all からの再起動はしているもののインフラエンジニアになりたての頃に一生懸命手で作ったので、もちろん構成管理はしていなかった。
    Created 23 Sep 2019
  • 概要 digdagとembulkで連携している際に、複数のIDのデータをBigQueryにインポートしたいことがある。 今回の場合、GoogleAnalyticsのデータをBigQueryへ連携していて、GAの異なるIDの処理を複数ファイルにするのではなく一つのファイルで行いたかった。 それを実行した際のメモです。 ※GAの設定については省略します。 ※下記の設定を参考に Google Analytics input plugin for Embulk 変数の渡し方 書き方は下記の方を参考にさせていただいた。 DigdagとEmbulkの連携で便利なdigdagの変数参照 shオペレータを使っている場合は下記で渡すことが出来る。 ※shオペレータではない場合は、指定の仕方が異なるので注意。 digdagファイル _export: test_id: 12345 embulkのliquidファイル in: id: {{ env.test_id }} out: mode: append digdagのfor_eachの回し方 上記のように、変数化した複数のIDを同じ処理を実行したい場合、for_eachオペレータを使う。 下記公式ページに使い方が記載されている。 https://docs.digdag.io/operators/for_each.html _export: 別の変数(ここに共通の値を書いてあげる): hoge +repeat: for_each>: test_id: [123, 456] _do: sh>: embulkの実行 +repeat:でfor_each>を使ってあげて、_do:で実行してあげるとそれぞれを呼び出してくれる。 注意点として、上記にもoutで指定しているように、mode: append にしてあげないと、それぞれの変数の結果が追加されない。 replaceにしていると、もちろん2つ目の変数のIDの結果が上書きされてしまうので注意! ちょいハマったけど、わかってとてもスッキリしました。 digdag便利! データ分析基盤構築入門[Fluentd,Elasticsearch,Kibanaによるログ収集と可視化] <p style='padding: 5px;'>
    digdag embulk Created 6 Aug 2019
  • Vuls祭り#5 @DMM.com Vuls祭り#5がDMMさんで開催された。 我らがあだちんもLTをするということで参加してきた。 下記はその際のメモです。 招待講演 IPAテクニカルウォッチ「脆弱性対策の効果的な進め方(ツール活用編)」 IPAテクニカルウォッチの作者の方 攻撃者が攻撃ツールをインターネットに公開されることで多数の攻撃者から攻撃されることがある 近年0day攻撃が増えている 脆弱性対策は組織によって最適化されたやり方がある 脆弱性対策の基本的なフロー 収集対象ソフトの把握 脆弱性関連情報の収集 適用の判断(影響判断) 計画 検証 適用 CVSS(脆弱性に対する評価指標) 基本評価基準 脆弱性の技術的な特性を評価 現状評価基準 ある時点における脆弱性をとりまく環境を評価 環境評価基準 利用環境ににおける最終的な脆弱性の深刻度を評価 脆弱性対策の自動化 脆弱性情報収集 ツール導入前にツールが自組織のシステムに適用できるかの確認が必要 ツールができることの限界を知っておく必要 Vulsの紹介 脆弱性情報の収集を自動化できる 脆弱性対策情報データベース JVN iPedia 国内外30000兼以上の製品の脆弱性情報を日本語で提供 JPCERT/CC, IPAが運営 対策だけではなく、回避策が掲載されることもある NVD(National Vulnerability Database) MyJVN(mjcheck3) MyJVN APIが用意されている 基調講演「Vuls v0.8.0の新機能」 vuls.io OVALが肝 SSHして接続して脆弱性DBとマッチングした結果を通知をする v0.8.0のリリース! Go v1.
    vuls Created 17 Jun 2019
  • 第1回 CircleCI ユーザーコミュニティミートアップ CircleCIの記念すべき第1回目のユーザーコミュニティミートアップがDeNAさんのオフィスのヒカリエで開催されるとのことで、仕事終わりに参加してきた。 概要 会場:ヒカリエ DeNA 日付:2019.1.30 ハッシュタグ: #circlecijp 第1回目のメイントピックはCircleCIの最新機能であるOrbsについてです。Orbsがどのようにして作られたのか、Orbsを使うと何が嬉しいのか、などについてすでにOrbsを現場で使っているユーザーの方にお話いただきます。また、GitLabの開発者からみたCircleCIについてお話ししていただくセッションも用意しています。 今回は、昨年末にリリースされたCircleCIのOrbsという機能を中心としたトピックになっていた。 私はプライベートでも会社でもCircleCIを利用しているが、まだOrbsは使っていないのと、CIとしての情報のキャッチアップができればと思い参加した。 CircleCIのアップデートについて orbsでorbsが使えるようになった CLIでorbsの --sort オプション使えるようになった 画面の性能改善 2.16に12/17にリリース, オンプレ版は32GBRAMが必須になった 意外にもといったら私が知らなかっただけだが、オンプレ版のCircleCIがあるというのを初めて知った。 確かに外部のリソースでCIを回すのに抵抗のある環境とかであればとても有用だと思う。 Orbsリリースまでの歴史 by kimh 3,4年前Inference(コマンドを自動的に予測してくれる機能)が目玉機能の一つだった 2015年頃, Functions, Bash Script 2016年頃, 自動的にやってくれるからユーザーが全部定義することになった 2017年頃, Orbsの前進のBundlesがつくられた(当初はOrbsという名前については浸透してなかった) 2018年頃, Orbsが復活して爆誕 CircleCI、およびOrbsの歴史を話してもらい、知らないワードがちらほら。 特にInferenceはかなり便利そうだなとは思いつつ、確かに全て自動だと、本番サービスには厳しいところがありそうだなと思った。 Orbsベスト・プラクティス(仮) by sue445 ピクシブ 3rd party製では3位(上位2人はCircleCIの社員) Orbsのテストは難しい dependabot.com がSaaSで存在する ライブラリをフルインストールは時間がかかるので、CIではキャッシュする(save_cache,restore_cache) Orbsをつかって16行が1行に Orbs化モチベーションはコピペを減らすため インライン展開されるイメージ リポジトリをまたいだリファクタ処理ができる フルスタッキュアエンジニアとして活躍されているsue445さんの発表。 発表内容もさることなが、のっけからプリキュアのデスクトップを晒すというとてもインパクトの強い方だった。 CircleCIの調べ物をしていると必ずといっていいほど、sue445さんのブログを拝見するので、いつもありがとうございますという気持ちで聞いていた。 OrbsをつかったiOSアプリのCI/CD導入 by ngs CircleCI Orbs を使った iOS アプリの CI/CD 導入 #circlecijp – Atsushi Nagase
    CircleCI circlecijp Created 30 Jan 2019
  • 完成してから少し空いてしまったが、Ergodashを組み立てたのでブログにアップしとく。 <div style=" display: flex; flex-direction: row; align-items: center;"> <div style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"> </div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"> </div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"> </div> </div> </div> <div style="padding: 19% 0;"> </div> <div style="display:block; height:50px; margin:0 auto 12px; width:50px;"> <svg width="50px" height="50px" viewBox="0 0 60 60" version="1.
    自作キーボード Created 26 Jan 2019
  • 先日、GitHub Actionsが使えるようになったので検証を少ししてみた。※こちらの記事を参照 前回は少し触っただけだったので、以前にCircleCIでやったAnsible-Lintの簡単なチェックをGitHubActionsで実装した。 設定するコード リポジトリ直下に .github というディレクトリを作成して下記2つのファイルを配置する。 main.workflow workflow "CI Lint workflow" { on = "push" resolves = "AnsibleLint" } action "AnsibleLint" { uses = "docker://particlekit/ansible-lint:latest" runs = "ansible-lint playbook/roles/*/*/*.yml playbook/main.yml -c .github/.ansible-lint" } .ansible-lint parseable: true quiet: false use_default_rules: true skip_list: - ANSIBLE0004 - ANSIBLE0005 - ANSIBLE0006 - ANSIBLE0007 - ANSIBLE0008 - ANSIBLE0009 - ANSIBLE0010 - ANSIBLE0011 - ANSIBLE0012 - ANSIBLE0013 - ANSIBLE0014 - ANSIBLE0015 - ANSIBLE0016 - ANSIBLE0017 verbosity: 1 これだけ。多分3分くらいあればできる。
    CI GitHub Created 20 Jan 2019
  • 以前、GitHub Actionsが発表された際にBetaユーザーの登録をしていたら、下記案内メールがGitHubより送られてきた。 パブリックリポジトリでも、リポジトリオーナーからのpushで実行されるeventがサポートされたらしい。 CIとしてはCircleCIを使ったことがあり、今後GitHubActionsを使うことで何か良いことがあるのであれば乗り換えも検討したいので少し検証してみることに。 ※ちなみにBeta登録は下記リンクから登録可能。 https://github.com/features/actions/ まずはじめに どこから実行するのかな〜と思ってたら、さりげなく「Actions」タブが表示されるようになっていた。 ポイントとしては、workflowとactionというのを覚える必要がありそう。 workflowが大きな枠組みで、workflowの中に実際に実行するactionをいれて組み合わせていく。 ここにアクセスすると、過去に試しに置いておいたファイルがworkflowとして認識されていた。 また create a new workflow というボタンからGUIベースでもworkflowを作成することができるようだった。 ファイルは .github/main.workflow というのが最初に呼ばれる様子。 とりあえず何かしら動かそうと思い探してみると、どうやらGitHub公式のDockerレジストリが下記にある様子。 https://github.com/actions 上記にあるリポジトリを探しつつ、awsを使ってみることに。 下記のように記述する。 workflow "Test workflow" { on = "push" resolves = "HelloWorld" } action "HelloWorld" { uses = "actions/aws/cli@8d31870" runs = [ "printf", "HelloWorld" ] } workflowを定義して、そこにactionを追加していく。 GitHubへpushすると下記のように実行結果が表示された。 Logをクリックすることで、実行結果も確認できる。 ### STARTED HelloWorld 11:35:59Z Already have image (with digest): gcr.io/cloud-builders/docker Already have image (with digest): gcr.
    CI GitHub Created 20 Dec 2018
  • 日本IBMでk8sの入門イベントがあるとのことで参加してきた。 開催場所 日本IBM箱崎事業所 Docker/kubernetes入門 (戸倉彩 (とくあや) @絶賛執筆中(@ayatokura)さん | Twitter) IBMデベロッパーアドボケイト 元MSのテクニカルエバンジェリスト クラウドネイティブ 市場をリードする、スピード(開発、運用、デプロイ、Time to Marcket) Key Technology マイクロサービス コンテナ Docker Kubernetes マイクロサービス -> マーティン・ファウラーの2014年3月のブログエントリー Microservices マイクロサービス(用途や目的別) スケールアウトしやすい チームの連携はAPIで定義 課題 時間とともに複雑化していく 有名な事例 Pokemon Go : Google Cloud Platform Japan 公式ブログ: Pokémon GO の爆発的ヒットを支える Google Cloud GitHub Case Studies – Kubernetes 物理理的なコンテナでは港湾荷役の人手ボトルネックだった コンテナを採用することでパイプラインが自動化されてボトルネックが解消する Docker リソース効率が良い ポータビリティ 起動が速い コンテナのツラミ 監視 管理 そこでk8s スケールアウト 負荷分散 ロールアップデート ポリシーベースでの可用性 Home – DevOps.
    docker Kubernetes Created 18 Dec 2018
  • 11月3日(土)、DMMさんで開催された天下一キーボードわいわい会に行ってきた。 イベント概要 【増枠】天下一キーボードわいわい会 Vol.1 最近にわかに盛り上がりを見せる「自作キーボード」という世界をあなたはご存知ですか? 天下一キーボードわいわい会(略称:天キー)はキーボード好きによるゆるふわ交流会です。 自慢のキーボードを持ってきて見せたり、キーボード好き同士で交流したり、国内のキーボード開発者から話を聞いたり、その場で自作キーボードを購入することもできます。 もちろんキーボードを作ったことがない人も歓迎です。 「最近自作キーボードってよく聞くけど、実際はどんなものなんだろう…?」という方も天キーに参加して実際触れてみましょう。 参加すればいろんなキーボードを触って比べられる。そしてその場で買って帰ることもできるというイベントです。 記念すべき第一回開催をお見逃しなく!! 私も作成したMint60というキーボードの作者である@eucalyn_さん主催の自作キーボードに関するイベント。 自作キーボード好きな人達が集まって、交流しましょうという趣旨。 最初にゆかりさんのイベント開始トークで始まった。 ゆかりさんイケメンです。 多種多様なキーボード 会場では、販売ブースとメイン会場にわかれており、メイン会場では各自がもちよった自作キーボードを自由に展示していいようになっていた。 分割型が9割だったけど一体型もあった。 めっちゃ目立っている! こだわりを感じる自作ThinkPadキーボード。 Twitterで見たことあるやつ! 配列、ケース、キーキャップが全てオリジナルですごい。 これはもう自作キーボードとかそういう次元じゃない笑 これはもはやキーボードですら無い!笑 発表 展示や交流、販売ブースの他に、いくつか発表もあった。 特におもしろかったのが、各キーボード作者があつまったパネルディスカッション。 このパネルディスカッションでは、赤裸々に各お題に沿って話してくれたのだが、ProMicroの位置だったり、キーキャップの値段いくらまで安い?とか、PCBの発注先とか、かなり面白かった。 個人的に印象深かったのが、キーボード作者の皆さんがHelixへの尊敬が強かったように思った。 確かに私も一番最初にGroupBuyで購入したのはHelixだった。 お土産 来場者には全員へ、Tai-haoというキーキャップ販売会社さんから、キーキャッププレゼントという嬉しい発表もあった。 キーキャップに人々が群がっている光景は中々見られないのでとても貴重でした笑 収穫 私は、Ergodashを購入したので、ゆるゆると作っていこうと思う。 キーキャップはTai−Haoで自分のほしいのを吟味してもう頼んだ! ちょっとどうしようか迷っているのは、Ergodashの親指の部分がアクリルプレートが無いので、PCBから切り離すかどうか迷っている。 余裕があれば、アクリルプレートを遊舎工房しようと思っている。 まとめ 自作キーボードのイベントなんてどんだけ人来るんだろう?と思ったら、compassでも増枠して250人でキャンセル待ちが発生するほどだったので如何に自作キーボード熱が強いかがわかる。 パネルディスカッションでもあったけど、来年は自作キーボードは一体どのような進化を遂げているか、大変気になるところである。 今の自作路線から、大きく飛躍して、半田しなくても手軽に作れるキーボードだったり、Bluetooth化だったり、トラックボールの自作など、まだまだ広がりはあると思うのでこれからも楽しみだ。 イベントは大盛況で、よくある勉強会の発表を聞いて終わりスタイルじゃなくて、見て楽しい買って楽しい聞いて楽しいという最高に素晴らしいイベントだった。 また、開催された際は参加しようと思う。お財布を厚くして。 HiLetgo® Leonardo Pro Micro ATmega32U4 5V/16MHz ブートローダ マイクロ USB Pro mini Arduinoに対応 並行輸入品 <p style='padding: 5px;'>
  • 概要 現在、会社の開発環境でdocker for mac/windowsを採用している。 開発環境なので、都度コンテナにログインはせずに、docker-composeを使用して、ローカルのGithubリポジトリをマウントすることで、開発環境としている。 問題 フロントエンドのコンテナでyarn buildすると明らかにローカルで実施したときよりも遅い。 マウントしているから仕方がないとはいえ、体感でも倍以上のビルド時間がかかっているように思われた。 対策 色々調べていたら、先日弊社の開発ランチにも来られたコネヒトさんのブログがあった。 開発環境改善としてDockerを導入した話 Volumeにcachedオプションを採用しているとのことだった。 volumeオプション(consistent/cached/delegated) https://docs.docker.com/docker-for-mac/osxfs-caching/#performance-implications-of-host-container-file-system-consistency デフォルトはホストとコンテナの変更点の差分を小さくするためにconsisutentになっているようだ。 cachedはホストの更新がコンテナへ反映される時間の遅延を許容し、delegatedはコンテナの更新をホストに反映されるまでの時間の遅延を許容するらしい。 cachedとdelegatedのどちらを使用すべきか判断が難しいが、cachedを設定している記事が多いのでまずはcahedで様子見してみることにした。 コード コードとしては、docker runのvolumeにcachedを付与するか、docker-composeに付与する。 docker run docker run -dti -v $(pwd):/var/www/:cached centos bash docker-compose volume: - ../../dir1:/var/www/repos:cached 計測結果 BEFORE root@78d7d3c19461:/var/www/repos# time yarn build yarn run v1.9.4 (node:100) ExperimentalWarning: The fs.promises API is experimental $ node scripts/build.js (node:111) ExperimentalWarning: The fs.promises API is experimental Creating an optimized production build... Starting type checking and linting service.
    docker Created 29 Oct 2018