サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
kenfdev.hateblo.jp
Windowsで開発用にさくっとMongoDBを使えるようにする方法について記録を残しておきます。 概要 キャプチャを貼ってますが、ウェブサイトの見た目が変わる可能性は高いです MongoDBをWindowsのサービスとしてインストールすることもできますが、この記事ではサービスとしてはインストールしません シンプルに、使いたいときに exe を起動するようにします MongoDBのバージョンは4系をインストールします GUIの管理ツールであるMongoDB Compassはインストールしません DBのデータを格納する場所を明示的に指定します(~/webdevbc/data/db) ダウンロードとインストール How to Guidesに行きます Install MongoDBをクリックしましょう URL的には以下になります。 docs.mongodb.com 「MongoDB Downlo
temporal.io Podcastを聴いていてたまたまTemporalというWorkflow Engineを見つけて、気になったので情報を集めてみました。 Temporalという会社 Maxim Fateev (CEO) と Samar Abbas (CTO)がFounder Amazon Simple Workflow ServiceやMicrosoft’s Durable Task Frameworkを設計したメンバー Temporalの元となった(?)CadenceというOSSを作った。これはUberを支えている技術。 Temporalというプロダクト Workflow Engine AWS Step FunctionsとかAzure Durable Functionsと同じような機能を持っている Single Stateful Service in your whole clo
はじめに 久しぶりに権限周りに関するエントリです。 Osoと呼ばれるライブラリを最近ふとしたタイミングで見つけたのでいろいろと実験してます。 www.osohq.com Osoについて詳しく書ける時間ができたら書きたいのですが、この記事では軽く紹介するだけにとどめます。 Osoは認可(Authorization)に特化したライブラリ コアな部分はRustで作られてますが、Node.js/Python/Go/Ruby/Rust/Java用のライブラリが提供されてる PolicyにはPolarと呼ばれる言語が使われている(OPAで言うところのRego) 権限や認可についてあまり馴染みが無い方は、以下の記事を読んでみると雰囲気が少しつかめるかもしれません。 kenfdev.hateblo.jp また、英語に抵抗が無い方であれば、Osoが書いてるAuthorization Academyっていう神
使ってみようと思いながらなかなか手をつけていなかったCodeTour。GWなので使ってみることにしました。 CodeTourって? CodeTourはVSCodeのExtensionで、コードのウォークスルーをVSCodeでそのまま作れるツールです。文字で表すとわかりづらいのですが、以下の場合に特に活躍しそうなツールです: 新しくプロジェクトにJoinした新人にコードを理解してもらう 自分のためにコード内にメモを残しておく NotionだったりConfluenceだったり、いろんなツールを使ってコードに関するナレッジを残す工夫を人それぞれやっていると思うのですが、「コードそのものに残せたら良いのに...」と思ったことがあるはずです。そんなときに使える優れものです。 この記事では基本的な使い方だけ紹介しますが、ExtensionやGitHubのリポジトリを見たら細かい機能まで説明が載っている
久しぶりにReactを触っているのですが、hooksを自作したら分割代入したときにTypeScriptの型推論が効かなかったマンです。 hooksの型推論が思うように効かない 下のようにAPIを呼び出して、結果を使うhooksを作りました。 import React, { useState, useEffect } from 'react'; import yelp from '../api/yelp'; import { SearchResult } from '../types'; export default () => { const [results, setResults] = useState<SearchResult[]>([]); const [errorMessage, setErrorMessage] = useState<string>(''); const sea
はてなの自分の記事一覧をサクッと取得できるようにしたかったのですが、意外と Node.jsで書かれている 結果をJSONにする ものが見当たらなかったので結局自分で作ることにしました! ツールの流れ はてなから自分の記事一覧を取得する流れは下のようになります。 はてなのAtomPubを使う(認証はこの記事ではBasic認証を使います) エンドポイントをGETすると最新の記事が10件とれる 結果はXMLなのでJSONに変換する 2のレスポンスに次の10件のURLが記載されているので、全部取得終わるまで2, 3を繰り返す はてなのAtomPub はてなのAtomPubの仕様については以下Hatena Developer Centerに記載されています。 developer.hatena.ne.jp 認証のところに書かれていますが、取得時に使える認証は OAuth認証 WSSE認証 Basic認
自動テストの中にやっとの思いでe2eテストを組み込んだとしても、「視覚的に正しかったかどうか」という点までキャッチするのはなかなか難しいです。このような観点でテストする一つの手段として「Visual Regression Test」があります。僕自身このテストにはVue Fes Japan 2018の以下の発表で知りました。 ここで紹介されていた「reg-suit」が気になって、自分のローカル環境でも検証してみたこともあります。 github.com medium.com 今回共有したい内容はこのVisual Regression TestのSaaSであるPercyです。 percy.io たまたまTwitterの広告で流れてきたのを見たのですが、最近僕が使っているe2eテストフレームワークのCypressとも連携できるとのことで気になって試してみました。 参考にしたのは以下のYoutub
フルリモートで働いて1年半ほどが経つので、自分が工夫していることについて残しておこうと思いました。この記事は会社云々とかチームワーク云々とかの話ではありませんのご了承ください。個人として家の環境だったり、習慣に気をつけている点についてまとめます。 ちなみに家族構成としては妻と子供3人(全員小学生未満)を含めた5人です。 【注意】この記事の内容はあくまで我が家で今の所運用できている内容です。各家庭や環境によって効果は大きく異る可能性があるので、その点はご了承ください。 仕事場 Trelloでタスク管理 バレットジャーナルで「その日の記録」 ポモドーロでメリハリ タスク管理をTrelloと連携 ポモドーロ時間をRescueTimeと連携 Do Not DisturbをSlackと連携 ノイズキャンセリングヘッドホンで音を遮断 家族とSlackで会話 子供とスマートスピーカーで会話 Rescue
日々権限設計で頭を抱えてます。この苦悩が終わることは無いと思ってますが、新しい課題にぶつかっていくうちに最初のころの課題を忘れていきそうなので、現時点での自分の中でぐちゃぐちゃになっている情報をまとめようと思い、記事にしました。 所々で「メリット」「デメリット」に関連する情報がありますが、そのときそのときには色々と感じることがあっても、いざ記事にまとめるときに思い出せないものが多々ありました。フィードバックや自分の経験を思い出しながら随時更新する予定です。 TL;DR(長すぎて読みたくない) 想定する読者や前提知識 この記事での権限とは 権限の種類 ACL(Access Control List) RBAC(Role-Based Access Control) ABAC(Attribute-Based Access Control) どの権限モデルを採用するべきか 権限を適用する場面 機能
OPAシリーズです!今回は公式ドキュメントの「Comparison to Other Systems」について見てみます。 世の中に存在しているPolicyのパターンをOPAで実装した場合、どうなるかというのを教えてくれている項目です。 www.openpolicyagent.org この中でも「Amazon Web Services IAM」をOPAで実装した場合について本記事では見ていきます。 IAM PolicyをOPAで書くとどうなるか AWSのIAMではユーザーやロール、グループに加えてリソースに対してPolicyをアタッチできます。Policyは「 誰が 、 何に 、 何を して 良いか 、あるいは ダメか 」を定義することができます。 次のIAMのPolicyを想定してみます。 { "Version": "2012-10-17", "Statement": [ { "Sid"
しばらくOPA(Open Policy Agent)の講演を観ることができていなかったので、KubeCon CloudNativeCon Europe 2019の講演をYoutubeで視聴しました。 www.youtube.com 構成 時間 内容 1:27 Example: Application 5:38 Example: Kubernetes Platform 7:14 OPA: Unified Policy Enforcement Across the Stack 8:40 OPA: General-purpose Policy Engine 11:25 Community Growth 12:53 Community Highlights: Configuration Guardrails 15:30 Community Highlights: Chef Automate IAM
2022/04/21更新 ふりかえってみて、この記事は手段と目的をごっちゃにしちゃった自分がよくわかる記事です。 DDDは「どうやってコードを書くか」が問題ではありません。その点を勘違いしちゃってるエンジニアの話として、続きを読みたい人は読んでください🙏 DDD(Domain Driven Design)って難しいですよね。難しい難しいとばかり考えていた僕もようやく最近になって少しずつわかってきた気がします。そのきっかけとなった書籍と僕のストーリーを本記事で紹介できたらと思います。 TL;DR Clean Architectureはなんとなくわかる DDDは難しい と感じている人は「Domain-Driven Design in PHP」を読むと道が拓けるかもしれない。 leanpub.com 僕とDDD DDDといえばEvansのドメイン駆動設計: エリック・エヴァンスのドメイン駆動設
最近PHPを書くことが多いのですが、変数の前につける$(ドル記号)とメソッド呼び出しやプロパティ呼び出しに使う->(矢印)の指の動きの効率悪さに耐えられなくなりました。。。 PHPStormを使っているといい感じに$を入力しなくても変換してくれたりするのですが、その動きもまた気持ち悪く感じてしまうのでどうしたものかと思っていました。 慣れないと気持ち悪い そこで今更ながら発見したのがエディタの「マクロ」機能です! pleiades.io マクロ作成 PHPStormであれば上のキャプチャのように「Edit > Macros > Start Macro Recording」を実行することでマクロの記録を始めることができます。 記録中は下図のようなインジケーターが表示されます。 マクロ記録中 ここでマクロとして入力したいキーを押します。$用のマクロを作りたいので$を入力すると、記録されているの
「【大阪】CircleCI ユーザーコミュニティミートアップ #1」に参加し、「CircleCIのconfig.ymlを守ろうとした話」という題名でLTをしてきました。 circleci.connpass.com 発表資料 ストーリー 組織の中でCircleCIを多数のリポジトリで使い始めたとき、config.ymlに一定のルールを課したくなりませんか?セキュリティ的な意味と、Lint的な意味の両方で僕は欲しくなってきます。 ということでconfig.ymlにどのようにガバナンスを効かせることができるのか、という試みについて話しました。主にconftestでCIにルールを課す方法について述べています。 興味がある方はぜひ下の記事も読んでみてください! kenfdev.hateblo.jp また、ルールを書くときに用いているRegoについては、Open Policy Agentとともに以下の
最近は仕事から趣味まで作ったもの(主にフロントエンド関連)のデプロイが簡単にNetlifyにできてしまうので多用しています。 www.netlify.com 直近ではVue.jsのコンポーネントをStorybookで公開しようとしたのですが、単純なタスクなはずが思いの外ハマってしまったので対処法をシェアしようと思います。 TL;DR 問題 npm run build のようなビルドタスクが30分以上かかってしまってNetlify側でタイムアウトしてしまう 解決方法 ビルド時のログの出力量に注意!特にwebpackのようにビルド時に大量にログを出力するツールを使う場合は、出力しないオプションを付加しましょう Netlifyがタイムアウトする 発生していた問題とは、Netlifyがタイムアウトするというものです。 上の画面はVue.jsのStorybookをビルドしている最中のものです。静止画
今週は2つのイベントでLTをさせていただきました!ほぼ同じ内容で登壇したので、2日連続で参加された方には申し訳なかったのですが、少し内容を変える努力はしました。。。 rancherjp.connpass.com cnjp.connpass.com 発表資料 ストーリー フロントエンジニアでラズパイ持っててkubernetesに興味があったら、とりあえずラズパイ上にNuxt.js乗せたくなりますよね!? ということで、今回はNuxt.jsをラズパイに入れたk3s上にデプロイすることに挑戦したときの話をしました!ポイントとしては下のとおり! arm32v7/nodeの alpine だと npm install でコケる なのでARMのイメージで alpine はあきらめる docker create manifest でマルチアーキイメージを作れる(ARMとx86_64で同じイメージ名!)
3月から5月の3ヶ月間に渡るカックさん(@kakakakakku)のブログメンタリングを卒業しました! ここに卒業記事を残し、今後についても書き残しておきたいと思います。 メンタリングをなぜ受けたのか 僕はアウトプットすること自体は好きで、ブログを書いたりイベントに登壇したりは不定期にしていました。自分でも認識していた問題はアウトプットの習慣化がまるでできていなかった点です。その点を改善すべく、メンタリングを受ける決意をしました。 アウトプットの習慣化がなぜできないのか 「なぜアウトプットの習慣化ができないのですか?」と聞かれたら多くの人が「忙しくて時間が無い」と答えるかと思います。 今、「うんうん」と頷いた方、ぜひぜひ下の記事を読んでいただきたいです。これだけでもマインドセットが変わると思います! kakakakakku.hatenablog.com kakakakakku.hatena
KubeConでOpen Policy Agent関連の発表を追っていたところ、面白そうなプレゼンを発見しました! Unit Testing Your Kubernetes Configuration with Open Policy Agent 僕はUnit Test大好き人間なのでUnit Testと聞くだけで興奮するのですが、それにさらにOpen Policy Agentが関わっているときたら放っておけません! もしOpen Policy Agentについて初めて聞いたという方は以下の記事でも紹介しているので興味があればぜひ! kenfdev.hateblo.jp Conftest ConftestはYAMLあるいはJSONで定義された設定ファイルに対してテストを書けるというツールです。 面白いのは、テストに使うのがOpen Policy AgentのRegoというポリシー用の言語だ
僕のお気に入りのPodcastの一つにJavaScript Jabberというものがあります。 devchat.tv 「JavaScript」とPodcastのタイトルには書いてありますが、ゴリッとJavaScriptのテクニカルな話をするわけではないです(昔はそうだったかも)。 どちらかと言うとJavaScript界隈に何かしら関わりのある人物をゲストに呼んで、その人と一つのテーマについて1時間ほどトークをするという流れです。 ホストは Charles Max Wood氏 です。Ruby Rogues, Adventures in Angularなど様々なPodcastを配信している方です。 なんとなーくジョギングなりしながら聴いているのですが、先日聴いたエピソードが結構面白かったので紹介したいと思います。英語ですが、トピックに興味がある方はぜひ聴いてください! Pickle.js, T
前回 に引き続きOPAの勉強をしています。今回の記事では公式チュートリアルの「SSH and sudo Authorization」を見ます。 www.openpolicyagent.org ゴール このチュートリアルではLinux-PAM(Pluggable Authentication Modules)とOPAを連動させています。 en.wikipedia.org Linux-PAM(以下PAM)について僕は今回初めて知ったのですが、Linuxに認証の仕組みをプラグインとして追加できるものという理解です。ここでOPAと連動できるPAMを使うことで、認証に加えてPolicyに沿った 認可 も行えるようにします。OPA公式のリポジトリにこのチュートリアル用のOPAのPAMがあります。 github.com これを使って次のことを実現します! Adminであればどのホストにもsshできるし、
www.openpolicyagent.org Open Policy Agent(以下OPA)を最近ちょっとずつ耳にすることが多くなってきた気がします。KubeCon + CloudNativeCon 2017 - Austinで「How Netflix Is Solving Authorization Across Their Cloud」を見たときに「こんな感じに認可を外に出せたらなー」と思った記憶があります。 この記事ではOPAの簡単な紹介と、公式TutorialのGetting Startedを実践した記録を共有します! OPAとは OPAは汎用的なPolicy Engineと言われています。Policy Engineとは、定義されたルールに従って 判断を下すことができる専門家 です。Policyの中でも「やっていいかどうか(見ていいかどうか)」に関するものが「Access Po
Cloud Native Kansai #02 に参加してきました! cnjp.connpass.com そしてこの記事の題名にもあるように「コンテナの疲れをk3sとRemoで癒やした話」という題名でLTもやらせていただきました。 発表資料 ストーリー コンテナに限らずですが技術の進化が早すぎ&自分の守備範囲が比較的広いため、様々な分野にキャッチアップしていくのが年々大変になっていってる気がします。「手を出しすぎなだけでしょ?」と言われてしまえばそうなのかもしれないですが、無知であることが怖いと思うところもあってついつい手を出してしまうのです。 いろいろあってなんだか最近「追われながら学習している」ことが多い気がするので、純粋に技術を楽しもうと思って家にある「ラズパイ」、「Nature Remo」を使ってお家ハックしてみました!「開発の疲れは開発で癒やす」と昔先輩に教えてもらったので、「コ
LightweightなKubernetesとして最近話題に上がっているk3s。僕もミーハーなのでさっそく家のラズパイに入れてみました。 k3s.io k3sがなんなのか、という点についてはQiitaの以下の記事が簡潔によくまとまっています。 qiita.com 我が家には半年ほど前にkubeadmで構築したラズパイが放置されていたので、初期化してk3sを入れてみました。なんだかんだでいつも同じようなページをググりながらセットアップするので以下に手順を残しておきます。 【注意】この記事ではPodを動かしたりしません。あくまでラズパイをセットアップしてk3sでノード情報を取得(kubectl get nodes)するところまでをゴールとしています MicroSDの準備 Raspbian Stretch Liteを使うので公式サイトからダウンロードします。 www.raspberrypi.or
昨日AWSソリューションアーキテクト・アソシエイト(以下SAA)に再認定されました。3月中に取得しないといけないというミッションがあったので慌てて先週申し込みました。試験会場の関係で試験日まで5日しか無かったのですが、合格できたので備忘録を残しておきます。 TL;DR(まとめ) 背景 昨年12月にSAAの有効期限が切れました 半年ほどAWSは触っていません(ほとんどコード書いてました) 3月中に取得しないといけないのに、試験日は一番後ろにしても5日しか猶予がなかったです 確保できた勉強時間は13時間くらいです 『最短突破 AWS認定ソリューションアーキテクト アソシエイト 合格教本』を読みました Whizlabsの模擬試験をやりました(7個中4個しかやれる時間はありませんでした) Whizlabsのセクションテストをやりましたが、以下しかやれる時間はありませんでした VPC API Gat
このページを最初にブックマークしてみませんか?
『kenfdev.hateblo.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く