タグ

Zennに関するhaganeのブックマーク (17)

  • 本に書いてあるスクラムと、お前らのいうスクラム開発は別物だということにいい加減気づいてくれ

    前振り タイトルは煽りの激しい釣りです。ごめんなさい。 Web業界で今流行っている自称スクラムと、RSGTで語られるような来のスクラムとの間のギャップが大きすぎて説明が面倒臭くなったのでこの記事を書きました。 いい加減「私たちは自称スクラム開発を完璧に回しているから、スクラムの恩恵を将来得られるだろう」「私たちは来のスクラムとはかけ離れた別物のスタイルで開発をしている。だからスクラムの恩恵は永遠に得られない」という二重思考を他人にするようお願いするのにも飽きましたしね。 さて題といきましょう 題 世間で、特に渋谷や五反田や六木のWeb企業ではスクラムというものはとても流行っています。 しかしどう考えても、Web企業でよくお目にかかるスクラムと国内トップカンファレンスであるRSGTで語られるスクラムとの間には大きな隔たりがあります。 「うちはスクラムやってます」 カジュアル面談で耳

    本に書いてあるスクラムと、お前らのいうスクラム開発は別物だということにいい加減気づいてくれ
    hagane
    hagane 2024/02/28
    インフラ層の人間なので、アジャイル厳しいと思って手を出せてない
  • フロントエンドの移り変わりは早すぎるのか

    インターネットでは毎日のように言われることですが、私はそこまでではないと考えています。 ネットでよくそう言われる理由として考えられるものと、それを踏まえてどう向き合っていくとよさそうか、個人的な考えをまとめてみます。 なぜ言われるのか 言語が実質的にJavaScript一択 バックエンド、というかサーバサイドでは技術選定に「言語の選択」が入りますが、フロントエンドでは実質的にはJavaScriptにほぼ固定されます(TypeScriptも別言語ではないので、ここではJavaScriptに含めます) サーバサイドと比較して「技術の移り変わりが早すぎる」と評される場合、多くはその人の使用しているとある言語と比較されているように思われます。 実質的に言語が固定なので、比較するならすべてのサーバサイドの変化の総量と比較するのが妥当でしょう。 PHP + Python + Ruby + go + J

    フロントエンドの移り変わりは早すぎるのか
    hagane
    hagane 2024/02/21
    現時点で早いとは思わないけど、ReactとかVueが出てくる前夜くらい(Backbone.jsとか)は、フレームワーク、ビルドシステムなど含めて早かったと思うよ。ともすればESの仕様変更も過激だったと思うし。
  • 基本情報技術者を取得してから「見える世界」が変わった話をしようか

    どうもお疲れ様です。 MESIです。 皆さん基情報技術者は取得済みでしょうか? よくITエンジニアの免許と言われている資格ですよね。 私は一昨年の秋に取得しました。 ちょうどエンジニアとして就職して2年目の時でしたね。 それまでの私の知識は業務で必要とされる部分しか知識がなく、情報系の学科を出ているわけでもないので、ITエンジニアとしての土台が全くない状態でした。 時々、このままではいけないと技術書を買って読むのですが、土台がないので頭に全然入ってこないし、何が書いてあるのかわからない。。 そんな私が基情報を受験してから、見える世界が変わった件について話します。 『何をしている?早く基情報技術者を取るんだ!』 新卒1年目の自分に言いたいセリフNo1がこれです。 なぜ基情報を受験することになったのかといいますと、会社で半年に一度目標設定をするのですが、その一環としてです。 エンジニア

    基本情報技術者を取得してから「見える世界」が変わった話をしようか
    hagane
    hagane 2024/01/28
    基本情報は高校3年で受験して落ちて以降受けれてない…。SGとSCとれたから許して…
  • 【DDD入門】TypeScript × ドメイン駆動設計ハンズオン

    TypeScriptとドメイン駆動設計(DDD)を組み合わせ、APIを構築するハンズオンガイドです。このでは、DDDとは何かという基礎的なところからソフトウェア開発における戦略的設計、戦術的設計まで、包括的な知識を提供します。 戦略的設計では、ビジネスの要求に合わせたドメインモデルの設計をイベントストーミングを用いて行います。その後、戦術的設計では、具体的なコードの実装に関連するDDDの原則と実践を学びます。 TypeScriptを使ってコードを書きながら、DDDの概念を実際のプロジェクトに適用するヒントを紹介します。

    【DDD入門】TypeScript × ドメイン駆動設計ハンズオン
  • 【Obsidian】2023 年でオススメのプラグイン 66 選

    この記事で使用している画像は、公式の github から引用したものです。今回、あまりにも数が多いため引用リンクは省略しています。一部、自身で撮影したものもあります。 ファイル Recent Files ★★★ 最近開いたファイルの一覧を表示してくれるプラグイン。何故これがデフォルトで無いのかがよくわからない。絶対に入れておきたい。 Auto Template Trigger ★★★ 新しいノートを作成する際にテンプレートを選択して挿入できるプラグイン。ノートを書く敷居を下げてくれるので重要。 Quick Explorer ★★★ エクスプローラー機能を強化するプラグイン。ノートが増えてくると非常に便利。 Tag Wrangler ★★★ Tag pane から rename や merge などができるようになるプラグイン。 Quick Switcher++ ★★ ファイル移動のプラグイ

    【Obsidian】2023 年でオススメのプラグイン 66 選
  • なぜ脱OSSが増えているのか?

    はじめに TerraformやVaultを開発するHashiCorpは自社製品をOSSのMPL(Mozilla Public License v2.0) から、ソースコードは公開するも一部の利用に制限があるBSL(Business Source License) への変更をアナウンスしました。 これは2018年のRedisを皮切りにMongoDBCockroachDB、ElasticSearchなど多くのプロダクトで進められている脱OSSの流れです。商用のオープンソース[1]と言われてしまうこともある最近のこの動きの理由は何故なのか? という点を以下の動画で解説しました。 動画中では尺の都合で端折った個所も多いので、こちらの記事の方にもまとめておきたいと思います。 OSSとは? OSSの定義 まず、OSS(オープンソース)とはなんでしょうか? これはRMSのフリーソフトウェアを源流とする

    なぜ脱OSSが増えているのか?
    hagane
    hagane 2023/09/04
    よくまとまっていて良い記事だなと思った。AGPLはAGPLで使いにくくて、本当正解が失われてしまった世の中に見えるんだよな…。この手の話題で"コピーレフト"の文字列が含まれないのに時代を感じる。
  • 複数の環境でDockerfileを共通化するために使えるtips

    前提 コンテナを用いてアプリケーションのワークロードを構築することにはいくつかの利点があります。 なかでも、下記に上げられるポータビリティと環境の再現性は非常に強力です。 ポータビリティ コンテナは、アプリケーションとその依存関係をコンテナ内にパッケージ化します。 これにより、開発環境で構築したコンテナを番環境にデプロイする際にも、一貫した動作が期待できます。 異なる環境間でアプリケーションを移行する際に、互換性の問題や依存関係の不一致が生じるリスクが低減され、ポータビリティが高まります。 環境の再現性 コンテナは環境に依存しないため、開発者が特定の環境でアプリケーションを構築した場合でも、他の開発者や運用チームが同じ環境を再現することが容易です。 コンテナイメージにはアプリケーションのコードとその実行環境が含まれており、イメージを共有することで他の人が同じ環境でアプリケーションを実行で

    複数の環境でDockerfileを共通化するために使えるtips
    hagane
    hagane 2023/06/13
    こういうやり方で逃れようと思ったけど、最終的にはテンプレート埋め込みになりそう
  • Gopher道場の動画コンテンツを完全に公開しました

    はじめに Gopher道場は、tenntennがメルペイ在職時に始まったGoを学ぶ人のための学習の場です。tenntennがメルペイを退職後、著作権周りの整理などが行われ、Go Conferenceなどを運営する一般社団法人Gophers Japanに運営が移管されました。メルペイのみなさまありがとうございました。 動画コンテンツを完全に公開しました 移管にあたり、Gopher道場のSlackに入った方にだけ公開していた動画コンテンツを一般公開することにしました。以下の再生リストからご覧いただけます。 なお、資料はこちらの古いスライドではなく、プログラミング言語Go完全入門をご覧ください。 古い資料はアップデートされませんが、プログラミング言語Go完全入門は今後もアップデートをしていきます。 動画は10時間以上あり、以下の内容を扱っています。 Goに触れる 基構文 型と関数 パッケージ

    Gopher道場の動画コンテンツを完全に公開しました
  • VSCode のリモートコンテナ機能を用いて、あるリポジトリ専用の環境を開発者間で統一する

    概要 VSCode のリモートコンテナ機能を用いると、開発環境を dockerfile の形でコード管理することができます。これにより、開発者が開発に用いる環境をリポジトリごとに統一できます。 VSCodeのリモートコンテナ機能とは コンテナの中に開発環境を押し込んで、その中にディレクトリをマウントして開発するVSCodeの機能です。 リモートコンテナ機能を用いて開発するメリット リモートコンテナ機能を用いて開発することには以下のようなメリットがあります。 local環境を汚さない 複数のプロジェクトで開発するにつれて、local マシンにはそのための様々なアプリ・設定が導入されていきます。この状態には以下のような欠点があります。 導入されたアプリや設定が膨大になって管理しきれなくなり、何のために導入されたか、変更してよい設定なのかが分からなくなる 異なるプロジェクトで必要な設定・アプリ同

    VSCode のリモートコンテナ機能を用いて、あるリポジトリ専用の環境を開発者間で統一する
  • Dockerfileのベストプラクティス8選

    はじめに Dockerfileを書く上で、Docker社の推奨するベストプラクティスを8つにまとめました。 ベストプラクティスに従うことによって、簡単・安全・効率的な、Dockerfileの作成を目指します。 Dockerのガイドライン コンテナは、必要最小限(エフェメラル)であるべき。 Dockerfile で定義されたイメージを使って作成されるコンテナは、可能ならばエフェメラル(短命;ephemeral)にすべきです。私たちの「エフェメラル」とは、停止・破棄可能であり、明らかに最小のセットアップで構築して使えることを意味します。 Dockerfileベストプラクティス 1. Baseイメージは、公式の信頼できるものを使おう 特定の言語などを扱う場合は、公式が言語が入ったイメージを配布してくれている場合が多いので、そちらを使おう。

    Dockerfileのベストプラクティス8選
    hagane
    hagane 2021/12/30
    正直Alpineにあんまりいいイメージがない…
  • GraphQL採用サービスで任意カラムを取得できる脆弱性を見つけた話

    Zennです。 はじめてZennを使ってみました。いつもはTwitterにいるmipsparcです。鉄道と関連技術が好きで、職ではPHPを書いています。別途ブログもあります https://mipsparc.wordpress.com/ 今年6月、TABICA(7/26に改称し、新名称「aini」、運営会社 株式会社ガイアックス)というイベント募集仲介サービスに、個人情報を自由に取得できる脆弱性を見つけて報告したところ、速やかに修正されて報奨金をいただいた話をします。 GraphQLは知ってますか? はじめに、GraphQLはご存知でしょうか。普通のHTTP API(RESTともいいますが)では、リクエストするエンドポイントが用途ごとに決まっているのが普通でしょう。たとえば /userdata にアクセスすると、JSONなどの形式でユーザーデータの決まった内容が帰ってくるものです。

    GraphQL採用サービスで任意カラムを取得できる脆弱性を見つけた話
    hagane
    hagane 2021/09/24
    "最新の電車の制御情報伝送にはUDPが使われてるって知ってました?" 知らなかった
  • ECSとローカル間でファイルをコピーしたり、対話形式でrun-taskやexecできるデバッグ特化のCLIツールを作りました

    はじめに 2021年3月、実行中のコンテナに入ることができる「ECS Exec」がリリースされました。 これがリリースされるまで、ECSでコンテナに入る方法としては、 ECS on EC2 EC2にsshした後にdocker execする ECS on Fargate そもそもできない(Session Managerを使った非公式な方法は除く) といった状況だったため、このリリースでECS(特にFargate)でのデバッグやトラブルシューティングが一気に楽になりました。 ただ、人間欲深い生き物でして、実際にaws ecs execute-commandを使い始めると、今度は、 タスクIDをマネコン等で調べるのが手間なので対話形式で選択したい ECSとローカル間でファイルをコピーしたい(scpしたい) などの欲が新たに発生してしまいます。 「探せばそういうことができるツールがあるんじゃないの

    ECSとローカル間でファイルをコピーしたり、対話形式でrun-taskやexecできるデバッグ特化のCLIツールを作りました
  • QiitaやZennよりも便利? IPAの資料を読もう!

    はじめに 飲み物じゃないIPAをご存じでしょうか? 漢字でいうと、独立行政法人 情報処理推進機構ですね。情報処理技術者試験を実施いる謎の組織という認識の方も多いと思います。 実はIPAはいろんなドキュメントを公開していてQiitaやZenn以上にお役立ちなサイトなのです。 まあ、AWSをどうこうとか、FireabaseやNext.jsのようなキラキラした奴は基載ってないので特に代替えするものではないですが、ブログとかはまた種類の違った情報があるので個人的には結構使うことあります。しかも 「日語」! こういう感じの事をTwitterでつぶやいたところ意外にイイねをされたので、せっかくだしどんなドキュメントがあるかちょっと紹介したいと思います。 セキュリティ関連NIST文書 まずはNISTドキュメントの翻訳版! これは良いですよね。NISTはアメリカの米国国立標準技術研究所で、セキュリティ

    QiitaやZennよりも便利? IPAの資料を読もう!
  • Vimの:wと:rの便利Tips

    始めに Vimには:wと:rコマンドがあります。コマンド自体は知っている方が多いかと思います。 ぼく的にちょっと便利な使い方ができるので、それお紹介していこうと思います。 :r :r banana.txtでファイルの中身を読み取って、現在のカーソルの次の行に挿入してくれます。 挿入できる行も指定できます。その場合は:{lnum}r banana.txtというふうに先頭に行番号を入力します。 ここからがイチオシですが、実は:r !{cmd}でコマンドの出力も挿入できます。 たとえば、APIのレスポンスをVimでちょっと編集したい場合や、コマンド実行結果を記事に挿入したい場合などに便利です。 :w :wについてVimmerのみなさんなら誰もが知っているコマンドなので説明は省きますが、 実は:w !{cmd}でバッファの内容を外部コマンドの標準入力として渡してくれます。 つまり、標準入力からコー

    Vimの:wと:rの便利Tips
    hagane
    hagane 2020/10/07
    :w !sudo tee % はよく使う…
  • コンピューターサイエンスの学習は、職業エンジニアになることを阻害する

    「俺らはやめる。後どうするかは勝手に考えろ」 様々な考えがあるのは承知していますが、そもそも考えというものは全て様々ですので、その中の一つを表明する必要があります。 コンピューターサイエンスの学習が、駆け出しエンジニアの職業エンジニアになる過程で邪魔となるという話をいたします。邪魔をするということを具体的にいえば、職業エンジニアになるまでにかかる時間が長くなる、ということです。 なぜでしょうか。それはコンピューターサイエンスが楽しいものであるからです。楽しいというのとてもいいことですが、職業エンジニアが何故成立するのか、その原理と照らし合わせてみると、矛盾が生じてきます。矛盾には常に立ち向かう必要があります。 まずはプロフェッショナル、つまり職業としての活動というのは、どういう理由で成り立っているのか改めて考えてみる必要があります。 職業として成立するのは、お金を払ってでも他人に頼みたい面

    コンピューターサイエンスの学習は、職業エンジニアになることを阻害する
    hagane
    hagane 2020/10/03
    この人のいう職業エンジニア、もしかしてエンジニアではないのでは?マネージャー崩れとかそういう
  • 僕らは何故Kubernetesを使うのか

    最初に お仕事で「Kubernetesはいいので、次のプロジェクトで使いたい」と言うと 「何がいいんですか?」とか「何ができるの?」とか聞かれてうまく答えれない事がまぁまぁあったので自分なりにKubernetesがなぜ生まれたのか、なんで使いたいのかと何ができるかをまとめてみた リソース調達の歴史から見るKubernetesが現在の地位につくまで リソース(アプリケーションを動かすためのサーバなど)調達の視点から、Kuberenetes誕生までを見ていきます。 物理サーバを調達する時代 原初のアプリケーション開発では、アプリケーションを開発してキャパシティを予測して、リソース見積もりを行い、サーバ購入を行っていました。 この方法では以下のような課題がありました。 リソースを用意するのに、数週間から数ヶ月かかる サーバを注文してから、到着するまでの時間もかかりました。 またその前のリソース見

    僕らは何故Kubernetesを使うのか
    hagane
    hagane 2020/09/21
    LTSでねーかなーって毎回思うよね
  • 2020年版: なぜ仮想 DOM / 宣言的 UI という概念が、あのときの俺達の魂を震えさせたのか

    記事は、 「なぜ仮想 DOM という概念が俺達の魂を震えさせるのか」 https://qiita.com/mizchi/items/4d25bc26def1719d52e6 の 2020 年版のリライトです。 2014 年当時、日においては React は未だ知る人ぞ知るライブラリ、という位置づけでした。それが、この記事によって一気にメジャーになったように思います。 オリジナルは2014 年末の情報によって書かれたもので、さすがに 6 年経った今では情報が古くなっており、当時の暗黙のコンテキスト、古いリソースの参照、初学者の混乱を招く表現が残ったままになってしまっています。 定期的に更新しようとも思いましたが、そうすると 2014 年末の歴史的な背景を失ってしまうため、あえてそのまま残し、新しい記事を投稿することにしました。増補改訂版というより、ほぼ書き直しです。 この記事は来なら

    2020年版: なぜ仮想 DOM / 宣言的 UI という概念が、あのときの俺達の魂を震えさせたのか
    hagane
    hagane 2020/09/20
    500円の1記事、500円の同人誌。中身が違うから比較は出来ないけど、コロナ禍の中、紙の同人誌からこっちの流れになっていくんだろうなあって、技術書典の最中に思った。
  • 1