ブックマーク / qiita.com (35)

  • 【15分で確認】AWSでクラウド設計する時に覚えておきたい設計原則・アーキテクチャ3選 - Qiita

    何となくAWSでクラウド設計をしていませんか AWSを利用する際、多くの方が「設計」というプロセスを簡単に飛ばしてしまう傾向にあります。しかし、クラウド環境の効果的な活用には、適切なアーキテクチャ設計が不可欠です。世の中には、システム設計をする上で指針となる設計原則がいくつかあります。記事では、以下の3つをピックアップをしてご紹介します。 記事で取り扱う内容 ■ マイクロサービスアーキテクチャ ■ AWS Well-Architected Framework ■ The Twelve-Factor App 1. マイクロサービスアーキテクチャ マイクロサービスは、独立した小さなサービス群でソフトウェアを構築するアーキテクチャです。これにより、迅速なイノベーションと新機能の迅速な展開が可能となります。一方、モノリシックアーキテクチャは、全てが一つのサービスとして結合され、変更や障害が全体

    【15分で確認】AWSでクラウド設計する時に覚えておきたい設計原則・アーキテクチャ3選 - Qiita
    jnst
    jnst 2023/09/18
    ChatGPTに聞いてコピペした感。自身の経験に基づいてないから文脈とユースケースが書けず情報を羅列するだけになってしまう
  • 『Rust Design Patterns』を翻訳してみました(Idiom 編) - Qiita

    はじめに rust-unofficialというところの出しているRust Design Patternsの日語訳が見つからなかったため、理解のために翻訳してみました(分からないところは DeepL に頼りました)。 今回は Introduction と Idioms の部分です(デザインパターン・アンチパターン編の翻訳はこちらにあります)。 FFI の部分はよく分からなかったためスキップしています。 不慣れなため翻訳間違いなどある可能性が高いです(教えていただきたいです)。 以下から文です。 Introduction デザインパターン プログラムを開発するとき、私たちは多くの問題を解決しなければなりません。プログラムは問題の解決方法と見ることができます。また、プログラムは多くの異なった問題の解決方法の集まりと見ることもできます。これらの解決方法の全てが一緒に大きな問題の解決へと働きかけ

    『Rust Design Patterns』を翻訳してみました(Idiom 編) - Qiita
    jnst
    jnst 2021/06/07
  • Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita

    Next.js by Vercel - The React Framework 画像は Next.js サイコー!っていう顔です。 Webフロントエンドエンジニアであれば、「Reactのフレームワーク」と聞いて真っ先に思いつくであろうNext.js。僕は小規模の趣味開発から中規模の業務まで、4年程度Next.jsを使い続けてきました。触りはじめの当時はバージョン4で、”SSR(Server-side Rendering)を提供するReact製フレームワーク”だったものが、執筆時時点の最新バージョン(10.0.1)ではガラッと異なるフレームワークへと進化しています。 この4年間は実務で利用するだけでなく、新しいものや廃止された機能、RFC止まりになった機能など、Next.jsに関する情報を追いかけており、ある程度の知見をためつつも、Next.js並びに開発元のVercelが目指す方向性を何と

    Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita
    jnst
    jnst 2020/11/06
    Next.jsはVercelが前提で、でもVercelのEnterpriseプランは数百万円となると、Next.js使えんわという結論に至ってしまう
  • フルスタックエンジニアになるためのモダンな8つのプロジェクト - Qiita

    こんにちは、たかとーです。 今日は8 Projects with modern designs to become a Full-stack Master 2020の日語訳記事です! *当記事は、Thuさんの許可を得て翻訳しています。 ブログでも読めます! 8 Projects with modern designs to become a Full-stack Master 自分のスキルを磨くためのプロジェクトを探していますか?新しいアイデアを思いつくのに行き詰っていませんか? 開発者として、私たちはコードを書くのが大好きですが、デザインやアイデアを見つけるのが難しいことがあります。 こんにちは、Thuです。ここ数ヶ月、私はデザインや要件を含む8つの実在するプロジェクトの作成に取り組んできました。 私は、あなたがスーパースターなフルスタックデベロッパーになるために必要な全てのスキルを鍛

    フルスタックエンジニアになるためのモダンな8つのプロジェクト - Qiita
  • Goプロジェクトのはじめかたとおすすめライブラリ8.5選。ひな形にも使えるサンプルもあるよ。 - Qiita

    はじめに 最近イケイケなGo! でもベターなGoプロジェクトのはじめかたっていまいち調べてもわからないですよね。 自分は最初色々迷いました。。 まずパッケージ管理ツール。 godepだったりGo Modulesだったり、少し情報がとっちらかっている印象です。 後はどのディレクトリにプロジェクトを配置した方がいいのかもわかりづらい。 importの仕方も相対と絶対のどちらがいいのか迷う。 というわけで以下の4点に絞って解説していきたいと思います! パッケージ管理ツール プロジェクトの配置場所 自作パッケージのimportの仕方 おすすめライブラリ この記事を読めば正しくGoプロジェクトが作成できます!(たぶん) 【追記】 インストール方法とVSCodeの設定に関しても簡潔にまとめたので、良かったら参考にしてください。 【超簡単】GoのインストールとVSCode設定方法 いきなりまとめ プロジ

    Goプロジェクトのはじめかたとおすすめライブラリ8.5選。ひな形にも使えるサンプルもあるよ。 - Qiita
    jnst
    jnst 2020/09/08
  • go generate のベストプラクティス - Qiita

    概要 Go 言語におけるコード生成 (go generate) について、自分の中でベストプラクティスと思えるものが増えてきたので、ここでまとめて紹介してみたいと思います。 2020/05/30 初版 2020/06/03 次の節を追加 マップを元データとするときは要素の出力順をソートする 使用するコードジェネレータのバージョンをモジュールに記録する 2020/06/03 次の資料を公開 go generate 完全入門 (プログラミング言語Go完全入門 質問会 発表資料) wtz.go と time について go generate のベストプラクティスを説明するにあたり、この記事では wtz.go と time の 2 つのライブラリを実例としてとりあげます。 wtz.go は筆者が Go 標準ライブラリの time の Windows ランタイム部分を参考にして作成したもので、 Wi

    go generate のベストプラクティス - Qiita
    jnst
    jnst 2020/06/01
  • Vue.js+Amplifyを駆使すればモダンなWebアプリを20分で公開できる - Qiita

    SPA -> GraphQL -> Serverlessバックエンド Vue.jsとAmplifyを駆使して、1からモダンなフロントエンド開発&サーバレスバックエンド構築をしてきます。今回は、Vue.jsで作成したSPAからAppSyncへGraphQLベースのリクエストを送り、裏のDynamoDBへデータの書き込みと読み込みまでを確認します。 (完成図) バックエンドのAWSリソースは、Amplify Frameworkを使用することで、コマンドラインから作成していきます。 また、Amplify Consoleを使用することで、CI/CDパイプラインも同時に作成し、GitHub上の最新断面がHTTPSでWebアプリとして公開するまでが記事のゴールです。 登場人物 小さなアプリから大規模まで対応できる優れたフロントエンドフレームワークで、個人的にも多用しています。記事はVue.jsのA

    Vue.js+Amplifyを駆使すればモダンなWebアプリを20分で公開できる - Qiita
  • Clean Architecture の勘所は『鎖国』だ。 - Qiita

    ■ クリーンアーキテクチャって難しい。 クリーンアーキテクチャって難しいですよね。 この有名な同心円状の図、何度見てもよくわかりません。右下にある矢印もよくわかりません。 様々な記事を見ても、やっぱり分かるような分からないような... プロダクトに COM 通信が必要になったので勇んでクリーンアーキテクチャを採用したはいいものの、 どうにも理解しきれず泣きながら必死に試行錯誤をしていたところ、 ふと クリーンアーキテクチャは『鎖国』に例えると分かりやすい という事に気が付きました。 記事では初心者なりにその言語化にチャレンジしてみたいと思います。 ※ なお考え方そのものに着目するため、コードは全く取り扱いません。その点ご了承ください。 またクリーンアーキテクチャは、表面的なメリット(ユニットテストしやすい等) だけを見て批判されてしまうことも有るようです。 その辺りについても少し触れてみ

    Clean Architecture の勘所は『鎖国』だ。 - Qiita
    jnst
    jnst 2020/05/01
    アーキテクチャは概念なので複数形のsは全排除した方がすっきりすると思う
  • おれのおれによるおれのためのMacおすすめ設定 - Qiita

    はじめに 新年度が始まり、PCを新調された方も多いかと思います。 Macを買ったらやっておきたいおれのための初期設定をおれのために記事にまとめました(備忘録)。 皆さんのお役に少しでも立てたらと思います! 記事が長いので初期設定の際に必要な部分だけチラ見して頂ければと思います おすすめの設定がございましたら、コメント欄などで教えていただけますと喜びます 更新履歴 2020/04/28 finderの設定の章で、.DS_Store ファイルの作成を抑制について追記しました。 2020/04/19 スクリーンショットのファイル名変更について記載しました 2020/04/15 Homebrewの章で、Homebrew Cask, mascli, Homebrew Bundleについて追記しました。OpenInTerminal-Liteについて記載しました 2020/04/09 キーのリピート、入

    おれのおれによるおれのためのMacおすすめ設定 - Qiita
    jnst
    jnst 2020/04/15
  • これならできる!ドメイン駆動設計に役立つイベントストーミング - Qiita

    はじめに コンテナ技術の進展に伴って、ビジネス環境の変化に迅速に対応できるマイクロサービスに関心が集まっています。最近では、マイクロサービスを分割する方法の一つとしてドメイン駆動設計が注目されています。ドメイン駆動設計では、業務に精通した方々や技術者が、モデリングなどいろいろな技法や専門用語を使い、それらを理解した上で設計を進めていきます。様々なステークホルダーとチームを組んで一緒に取り組むにしても、直観的にはとてもわかりづらいと感じています。そこで、いろいろと記事を調べてみたり、身近な技術者と意見交換をしたところ、イベントストーミングという手法がありました。イベントストーミングに関する記事は他の記事に比べあまり多くはないので、この場で共有しておきたいと思い掲載することにしました。これからドメイン駆動設計をはじめるという方や、既に取り組んでいるけれど進め方に悩んでいる方など、参考になれば幸

    これならできる!ドメイン駆動設計に役立つイベントストーミング - Qiita
  • [入門]二分木を理解するために解説しながら自力実装してみた - Qiita

    二分木とは 木構造を有する非線形データ構造の一種である。 木ADTでは要素の順序は考慮しない。 二分木はどのノードも子を0から2個有す。よって、ルートとルートより左に展開する左部分木と、右に展開する右部分木で一般に可視化できる。 Wiki pedia による二分木の解説 目的 二分木を学ぶことで、データ構造とアルゴリズムに対する理解を深めたい。 pythonで二分木データ構造を実装する。 単に二分木を実装するだけではなく、二分木データ構造の取り扱いかたのハウツーを理解する。 二分探索木の理解を深めるため基礎となる二分木を深堀する ⇒ 親記事 内容 データ構造とノードの定義 ノードは値をもつ(node.data) 子ノードへの接続を持つ(node.left = Node(data)) 子の数は0, 1, 2個のいずれかである 最上位のノードはルートノード(self.root, ins.roo

    [入門]二分木を理解するために解説しながら自力実装してみた - Qiita
  • AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita

    記事を終えた次は? AtCoder Beginners Selection を終えたら、AtCoder 上の過去問が AtCoder Problems に集大成されていますので、片っ端から埋めるような気持ちで精進していきましょう。記事の続編として AtCoder 版!蟻 (初級編) AtCoder 版!蟻 (中級編) AtCoder 版!蟻 (上級編) AtCoder 版!蟻 (発展的トピック編) も執筆しましたので参考にしていただけたらと思います。また、アルゴリズムとデータ構造に関するトピックを集大成した書籍として、 問題解決力を鍛える!アルゴリズムとデータ構造 (通称、けんちょん) を上梓しました。ぜひ読んでみてください。 1. AtCoder とは AtCoder は以下のコンテストサイトを運営しています。今後常に訪れることになるサイトです: AtCoder コンテスト

    AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita
  • AtCoderで緑になるまでにやったこと、必要な知識 - Qiita

    はじめに タイトル通りですが緑になりました。これから目指す人の参考になればと思い、この記事を書きます。 https://atcoder.jp/users/mokrai 1. 『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』(https://book.mynavi.jp/ec/products/detail/id=35408) 書籍です。緑になるために必要でない情報も含まれているので、最速で緑になるために必要かと言われたら微妙ですが、これまで学校等でアルゴリズムを学んだことが無い自分にとっては大変勉強になりました。体系的に学べたのが良かったです。 2. ひたすら過去問を解く 私の実績はこんな感じです。(緑になってから1週間後くらい) まず、ABCのC問題を埋めていきました。AtCoder Problemsで各問題のdifficultyを見て、簡単な問題から解いていきました。水

    AtCoderで緑になるまでにやったこと、必要な知識 - Qiita
  • lodash やめ方 - Qiita

    みなさん、 lodash で消耗してますか? 私は消耗しています。 なぜ lodash で消耗するかというと、とにかく思考停止でインストールされ、 node_modules 下で大量に重複します。サイズが大きいlodashが複数バンドルされてビルドされると、重篤なパフォーマンス上の問題を引き起こします。 lodash には実装上の問題もあり、異様に丁寧に、そして富豪的に作られており、その結果ビルドサイズが無駄に大きいです。丁寧に作られて入るのですが、現代のフロントエンド水準や一般的なポリフィルと噛み合っていません。というわけで、常々やめたいと思っています。 ちゃんとES201xを追ってる人からすると、ほとんどの lodash のメソッドは不要に見えるはずです。エントリは、思考停止で lodash で実装しようとする人に、ちょっと考え直しては? と投げつける用の記事になります。 現代におい

    lodash やめ方 - Qiita
    jnst
    jnst 2019/12/23
    置き換えの重複コード書くくらいならlodash使いたいし便利な関数他にもいっぱいある。なんならJSは言語自体が糞仕様だから標準関数使いたくないまである
  • Go言語のためのキャッシュライブラリを作った - Qiita

    1. はじめに Rapidash というGo用のキャッシュライブラリを公開しました。 以前 https://qiita.com/goccy/items/a54af6db3b8623e90c38 で紹介した Octillery 同様、弊社の負荷対策用ライブラリになります。 キャッシュというとコンテキストによって用途は様々ですが、 Rapidash はアプリケーションサーバの応答性能を向上させるために、主にデータベースの負荷分散を目的として開発したライブラリになります。 主な機能は以下のようなものです。 検索しか行わないテーブルのデータをアプリケーションサーバ起動時にデータベースからすべて吸い上げ、インデックスの定義に従ってメモリ上に B+Tree 構造で展開する。検索時は範囲検索もできる 読み書きを行うテーブルのレコードを memcached や Redis といったキャッシュサーバに格納し

    Go言語のためのキャッシュライブラリを作った - Qiita
    jnst
    jnst 2019/08/22
  • AtCoderで始めるPython入門 - Qiita

    はじめに AtCoder では AtCoder Beginner Contest(ABC)が開催されており、ABC-A問題 は Python の実装方法を知っていれば解ける問題が多くあります。ABC-A問題を解けるようになるために、記事では実装方法を整理しました。 記事について 記事について説明します。 目的 記事の目的は下記です。

    AtCoderで始めるPython入門 - Qiita
    jnst
    jnst 2019/08/12
  • 非デザイナーエンジニアが一人でWebサービスを作るときに便利なツール32選 - Qiita

    非デザイナーエンジニア(Rubyist)の私が、一人でこんなWebアプリを作ってみました。 まだβ版ですが、Pocketやfeedlyの未読コンテンツの中から、 重要度が高いものだけをリマインドしてくれるサービス「Reminderr」です。 Reminderr:http://www.reminderr.me/ 要するに、私自身のPocketとかRSSがカオスになっているので、 その中で重要なものだけ教えてほしかったので、 自分で作っちゃえ!って思って作りました。 そのときに使った便利ツールたちをまとめておいたら便利そうだったので、 今回使ったもの+αを全てまとめてみました。 紹介するツールたちを駆使すれば、 非デザイナー&デザインセンス0の私が、 1週間程度でこれくらいのアプリをリリースできるので、 他のエンジニアにも便利なツールがいっぱいあると思います。 Bootstrap系 Boots

    非デザイナーエンジニアが一人でWebサービスを作るときに便利なツール32選 - Qiita
    jnst
    jnst 2019/07/28
  • atcoderでよく使う手法python版 - Qiita

    はじめに 1年前に機械学習をやりたい、それならpythonだ!ってなったものの、別に情報系卒でもないし、プログラミングをやった経験もないので始めようと思いながら何も動かすことができませんでした。 「何か、なにかプログラミングやってみたい、でも何をやればいいの?」ってときに見つけたのが競技プログラミングです。これをやることで、いろんなアルゴリズムの考え方や、プログラミングでできることをいろいろと学べました。そして、普通に競技プログラミングにハマって今日まで続けています。 そんなところで競技プログラミングでよく使う技術のメモと、もっと使ってほしい技術の紹介です。もっとpython勢増えてほしい。特に短い、早い、わかりやすいコードの人が増えてほしい。いつも短い順、早い順で探して参考にしてるので。 ※githubにjupyterのコードをアップしました。 基入力、出力、format関数 他の人が

    atcoderでよく使う手法python版 - Qiita
    jnst
    jnst 2019/05/06
  • エンジニアが無料で使える画像編集ツールとしてのAdobe XD入門 - Qiita

    はじめに グロービスではプロトタイピングツールとして主にFigmaを使用しています。 Sketch はもういらない? デザインツール Figma の紹介 Figmaはコラボレーションツールとして非常に優れており、デザイナーと開発者間の擦り合わせにも便利です。 しかし、開発時に必要なのはプロトタイピングツールだけではありません。 実装時の共有に画面キャプチャにちょっとした注釈をつけてSlack投稿したり、Githubに投稿するエビデンス画像を管理するのに便利な画像編集ソフトが欲しいこともあります。 Adobe XDは来プロトタイピングツールですが、ちょっとした画像を作成したい時に便利な、ノンデザイナーにもオススメのツールです! 注意事項 記事はデザイナー向けの記事ではありません。エンジニアとして私が開発時に便利だと思った機能と、Adobe XDを使うメリットを紹介します。 プロトタイプツ

    エンジニアが無料で使える画像編集ツールとしてのAdobe XD入門 - Qiita
    jnst
    jnst 2019/02/21
  • Swiftのエラーハンドリングはなぜ最先端なのか - Qiita

    Swiftのエラーハンドリングは他のメジャーなプログラミング言語のどれとも異なる新しい仕様を持っています。特に、検査例外を持っているのですが、これはJavaで採用された以降はほとんどの言語で採用されていないため、現代では否定されている過去の間違いだったと広く認識されていると思います。そのため、Swiftユーザーで無い人は、検査例外という言葉をみた瞬間に興味を失ってしまうため、その詳細がなかなか世の中に伝わっていないと感じています。一方、私はこんなSwiftのエラーハンドリングをとても気に入っていて、様々な言語の進化の歴史を踏まえた産まれた最も優れた最先端の仕様だと思っています。この記事ではその考えを説明します。 Javaのエラーハンドリング Javaは検査例外を持っています。これにより、あるメソッドがエラーを送出するかどうかを関数のシグネチャとして静的に表明できます。 // 検査例外の例

    Swiftのエラーハンドリングはなぜ最先端なのか - Qiita