タグ

ブックマーク / zenn.dev/nameless_sn (14)

  • WebSocket 入門

    注意:今回の記事はあくまで初心者向けにWebSocketの概要を理解してもらうために執筆されている。そのため、一部正確性を欠く可能性がある。詳細にWebSocketについて学びたいならMicrosoftの解説記事やWebSocket Protocolを確認してほしい。 はじめに 今回の記事ではWebSocketを解説する。 対象とする読者 WebSocketについてわからないひと WebSocketとは? WebSocketは双方向のHTTPプロトコルで、クライアントとサーバの通信で成立する。HTTPとは異なり、ws://あるいはwss://から始まる。WebSocketはHTTPとは違って、クライアントとサーバ間の接続はどちらか一方が切断されると終了する。WebSocketが動く仕組みはHTTPのそれとは異なり、ステータスコード101がプロトコルの切り替えを示す。 WebSocketが動

    WebSocket 入門
  • 設計・ソフトウェアアーキテクチャを学べるGitHubリポジトリ 16選

    はじめに 今回の記事では、設計やソフトウェアアーキテクチャを学べるGitHubリポジトリを16個紹介する。 対象とする読者 設計やソフトウェアアーキテクチャに興味関心があるエンジニア GitHubエンジニアリングの情報収集に活用したいエンジニア タイトルで気になった人 Architectural Patterns システムの基的な構成を理解するためのパターンやテンプレートを提供している。これらのパターンを学ぶことで、システムの構造やコンポーネントの関連性、相互作用を理解できる。これが開発者にシステムをより効率的かつ効果的に設計・実装する能力をもたらす。 Design Patterns for Humans 設計パターンを人間が理解しやすい形で説明している。デザインパターンは特定の問題に対して再利用可能なソリューションを提供する。これによって、開発者はより効率的にコードを記述でき、メンテ

    設計・ソフトウェアアーキテクチャを学べるGitHubリポジトリ 16選
  • ソフトウェアアーキテクチャ入門

    はじめに 今回の記事では、ソフトウェアアーキテクチャの入門的な内容を解説する。 対象とする読者 ソフトウェアアーキテクチャを勉強するエンジニア アーキテクチャに関して全くわからない初心者 タイトルで気になったひと ソフトウェアアーキテクチャとは? ソフトウェアのアーキテクチャは、システムの主要なコンポーネント、それらの関係(構造)、およびそれらがどのように相互作用するかを記述する。ソフトウェアのアーキテクチャとデザインには、品質属性、人間のダイナミクス、デザイン、IT環境など、多種多様な寄与要因が含まれる。アーキテクチャは、品質、保守性、パフォーマンス等のような全体的な成功に影響を与える重要な決定を含む。 ソフトウェアアーキテクチャの主な目的は、アプリケーションの構造に影響を与える要件を特定することだ。良好なアーキテクチャは、技術的な解決策を構築する際のビジネスリスクを削減し、ビジネス要件

    ソフトウェアアーキテクチャ入門
  • 2023年下半期に他人に勧めたいWeb技術まとめ

    はじめに Web技術は日進月歩で新しい技術が増えているが、実務でそれらすべてを触る機会はない。そこで、今回の記事では2023年下半期に赤の他人に勧めたいWeb技術を個人の独断と偏見で解説する。 対象者 これから何をすればいいのかわからないプログラマー 新しい技術に興味があるひと スキルセットを拡大したいひと タイトルでなんとなく気になったひと フレームワーク FastAPI FastAPIPythonAPIを開発するために開発された軽量のWebフレームワークだ。FastAPIでは、主に以下の特徴がある。 Node.jsやGo言語に匹敵する高速なアプリケーションを開発できる 構造が簡単(Flaskの影響を受けている) Pythonに型定義を含められる 環境構築がコマンド一つで終了する 非同期処理を簡単に実装できる Pythonで開発されているので、機械学習との相性が抜群 RESTとGra

    2023年下半期に他人に勧めたいWeb技術まとめ
  • エンジニアリングの必須図書 40冊 2023年版

    はじめに 今回の記事では、私の独断と偏見でエンジニアリングにおける必須の書籍を、以下の分野に分けて40冊共有する。 Web開発 行動経済学 ソフトスキル その他 対象とする読者 プログラミング初心者 どの書籍から読み進めればいいかわからないプログラマー なにか新しい書籍を読みたいひと なんとなくタイトルが気になったひと Web開発 『リーダブルコード』 良質なコードの原則と具体的なテクニックを丁寧に解説している。プログラミング初心者はまずこれを読むべき。良質なコード―要は、メンテナンスしやすいコードを書く上で重要なヒントを教えてくれる。コーディングで一生役立つ知識が満載だ。何度読んでも決して色褪せることのない不朽の古典である。 『14歳からのプログラミング』 図解付きでプログラミングの基礎(例:変数、関数、条件分岐)を理解できる。小難しい専門用語が一切なく、初心者でも問題なく理解できるよう

    エンジニアリングの必須図書 40冊 2023年版
  • 【徹底解説】REST VS GraphQL

    注意:今回の記事で載せているコードは読者に具体的なコードのイメージを持たせる目的で書いている。それ故に、実際にブラウザ上で実行しても動作しない点には注意してほしい。より専門的ににGraphQLとRESTの違いを学びたいならLogRocketの記事とApolloの記事を参考に。 はじめに 今回の記事では、Web APIの開発に重宝されるRESTとGraphQLの違いを解説する。 対象とする読者 これからREST、またはGraphQLを実務で積極的に活用したいひと 両者の違いがわからないひと 個人開発等でWeb APIをつくるひと タイトルを見てなんとなく気になったひと APIとは RESTとGraphQLの議論に入る前に、まずはAPIについて説明する必要がある。 Wikipediaによると、API(Application Programming Interface)は以下のように定義されてい

    【徹底解説】REST VS GraphQL
  • 【決定版】2022年~2023年で必ず確認するべきGitHubリポジトリ 40選

    はじめに 今回の記事では、個人の独断と偏見で2022年~2023年で必ず確認するべきGitHubのリポジトリを紹介する。私のTwitterでこれまで紹介したものもあれば、そうではないものもある。 GitHubプログラマーにとって、普段の学習・開発を進めるうえでもっとも重要な情報源の1つである。記事では、分野ごとに確認するべきGitHubリポジトリを紹介する。 なお、今回の記事で紹介するGitHubリポジトリの分野は以下の通り。内容はWeb開発に特化している。 確認必須 Web Python JavaScript TypeScript ちなみに、「確認必須」は分野を問わずすべてのプログラマーに役立つGitHubリポジトリを紹介している。 今回の記事を通して、年末年始の学習・開発に大いに役立ててもらえたら幸いだ。 確認必須 freeCodeCamp 世界最大規模のプログラミングメディア「f

    【決定版】2022年~2023年で必ず確認するべきGitHubリポジトリ 40選
  • 【認証】JWTについての説明書

    はじめに この記事を読んでいるあなたはJWTについて知っているだろうか?JWTは、認証されたユーザを識別するために最も一般的に使用される。JWTは認証サーバから発行されて、クライアント・サーバで消費される。 今回の記事では、Webアプリケーションの認証方法として最も利用されているJWT認証を簡潔に解説する。 記事の読者の対象 JWT認証について知らない人 JWTのメリット・デメリット、仕組みについて詳しく知りたい人 アプリケーションの認証方法について詳しく知りたい人 JWTとは JSON Web Token(JWT)とは、クライアント・サーバの間で情報を共有するために使われる規格の1つである。JWTには、共有が必要な情報を持つJSONオブジェクトが含まれている。さらに、各JWTはJSONのcontentsがクライアントあるいは悪意のあるパーティによって改ざんされないように、暗号(ハッシュ

    【認証】JWTについての説明書
  • 【知って損はない】個人開発で役立つAPIまとめ

    記事に紹介されているAPIはあくまで一例にすぎないので十分にご注意下さい。他にもAPIがある場合はコメント欄に書き記すようにお願いします。 今回の記事では、個人開発で役立つAPIを紹介する。 Google Play Developer API アプリ購入と公開の2つのタスクがある。 様々な公開タスクとアプリ管理タスクを実行できる Google YouTube Data API YouTubeを検索して動画・再生リスト・チャンネルなどの一覧を取得したり、更新したりすることができる。 検索条件で地域や言語を指定できるが、他の言語も混ざってしまうので「日語の動画のみ取得する」というようなことはできない。 Google Maps JavaScript API Web上でGoogle Mapを表示してピンを立てたり経路を表示させたりするのに使える 独自のコンテンツと画像で地図をカスタマイズでき、

    【知って損はない】個人開発で役立つAPIまとめ
  • 【決定版】プログラマーが情報収集で必ず確認するべきWEBサイト 8選(2022年10月時点)

    はじめに 今回の記事では、プログラマーが情報収集で必ず確認するべきWEBサイトを8つ一覧形式で紹介する。記事の読者の対象は主に以下の通り。 プログラミング初心者 情報収集で困っているプログラマー 他のプログラマーの情報収集を参考にしたいプログラマー 効率よくプログラミング学習を進めたい人 プログラミング学習を楽しくさせるサイトを知りたい人 freeCodeCamp.org 世界最大規模のプログラミングメディア「freeCodeCamp」の公式サイト。8,000以上のチュートリアルがあり、しかも無料でPythonJavaScriptなどのプログラミング言語の基礎的な文法、機械学習、WEB開発やモバイル開発などをこの1つのサイトで体系的に学べる。プログラマーは全員このサイトを確認するべきである。 GitHub 世界中のプログラマーがソースコードを共有したり、共同でプロダクトを開発したりする

    【決定版】プログラマーが情報収集で必ず確認するべきWEBサイト 8選(2022年10月時点)
  • 私がDjangoでWeb開発を行う理由

    はじめに 今回の記事では、私がPythonのWebフレームワーク「Django」で開発を進める理由を独自の視点から徹底解説する。今回の記事の読者の対象は主に以下の通り。 個人開発でDjangoを使おうとしているプログラマー Djangoについて深く理解したいプログラマー Django個人開発(Web開発)に採用するメリット・デメリットを把握したいプログラマー すでにRailsLaravelなど他のWebフレームワークを使った開発を経験しており、他のWebフレームワークの特徴を把握しておきたいプログラマー Web開発の技術選定で困っているプログラマー Djangoとは DjangoPythonで開発されたWebフレームワークである。フレームワークを簡潔に説明すると、開発に必要な機能をデフォルトで揃えているものを意味する。WebフレームワークはWebアプリケーションの開発を効率化させるた

    私がDjangoでWeb開発を行う理由
  • 【必見】プログラマーが学習・開発で絶対に登録するべきYouTubeチャンネル まとめ

    はじめに 今回の記事では、プログラマー向けに私が学習や開発で必ず登録するべきYouTubeチャンネルを紹介する。今回の記事では主に以下の属性の人を読者の対象とする。 プログラミング初心者 YouTubeをプログラミング学習や開発に活用したいプログラマー 実務でPythonTypeScript(JavaScript)やDart(Flutter)を活用しているプログラマー 開発に役立つ情報を探しているプログラマー 数多くのプログラミング言語・フレームワークを扱っている、初心者向け freeCodeCamp.org 世界最大規模のプログラミングメディアであるfreeCodeCampの公式YouTubeチャンネル。数多くの言語やフレームワーク、ライブラリの基礎知識だけではなく、ライブコーディング形式で簡単なアプリケーションの開発手順も徹底解説されている。記事で紹介するYouTubeチャンネルの

    【必見】プログラマーが学習・開発で絶対に登録するべきYouTubeチャンネル まとめ
  • 【解説】フレームワークとライブラリの違い

    はじめに 今回の記事では、プログラマー間で見解が分かれるライブラリとフレームワークの違いを徹底解説する。我々プログラマーはアプリケーション等を開発する際にフレームワークやライブラリを駆使する。その中でも、「フレームワークとライブラリの違いがわからない」と考える人も少なくないだろう。中には混同して使う人がいるかもしれない。両者は厳密に言えば異なる意味を示す。 フレームワークとは フレームワーク(framework)はアプリケーションを開発するのに必要な機能がデフォルトで揃っているものを示す。アプリケーションとして動く骨組みが用意されているので、別途プログラムを書かなくても最低限のアプリケーションとして動作する。フレームワークがあれば、我々プログラマーはゼロからアプリケーションを開発する必要はない。フレームワークには、タスクを実行するために書かれた再利用可能なコードやプログラムが含まれていて、

    【解説】フレームワークとライブラリの違い
  • フロントエンド開発をマスターする上で必要な知識 8選 2022年版

    はじめに フロントエンドは、簡単に言えばWebアプリケーションやWebサイトにおけるユーザが目に見える部分のことを指す。ひとくちにフロントエンドと言っても、学ばなければならないことや知識が数多くあるので初心者にとっては何から勉強すればいいのかわからない人も少なくないだろう。 今回の記事では、個人の一見解としてフロントエンド開発をマスターするのに必要な基礎知識を徹底解説する。今回の記事を通して、フロントエンドの学習方法やその魅力を十分に理解していただければ非常に幸いである。 バックエンドに関しては以下の記事を参照してほしい。 フロントエンド開発に必要な知識 1.基的な知識 フロントエンド開発をマスターする上では、以下の言語の基文法や知識をマスターしておこう。これはWeb制作Webデザインにも共通していることである。 HTML:Webページを作成するための言語。主にページ内の情報を構造化

    フロントエンド開発をマスターする上で必要な知識 8選 2022年版
  • 1