並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 736件

新着順 人気順

architectureの検索結果41 - 80 件 / 736件

  • ソフトウェアドキュメント作法 - maru source

    こんにちは丸山@h13i32maruです。つい先日、devchat.fmというポッドキャストに出演して、「ドキュメント」というお題について話しました。なぜこんなニッチなお題について話したかというと、Ubie Discoveryに入社して5ヶ月の間にいくつか*1まとまったソフトウェアドキュメントを書いたので、自分の中でホットな話題だったからです。 #devchatfm 33回目は、Ubie DiscoveryのSWE @h13i32maru にドキュメントを書くことで得られるメリットや、ポイント・工夫などを聞きました! #33 チームの生産性を上げるドキュメントのすすめ with@h13i32maruhttps://t.co/TrmZd13D91— 久保 恒太 / Ubie CEO (@quvo_ubie) 2021年8月12日 これらのドキュメントは個人的にわりと良く書けたと思ってますし、

      ソフトウェアドキュメント作法 - maru source
    • サーバーレスアーキテクチャ再考 - ゆううきブログ

      2014年にAWS Lambdaが登場し、Functionを単位としてアプリケーションを実行する基盤をFunction as a Service(以下、FaaS)と呼ぶようになった。 そして、同時にサーバーレスアーキテクチャ、またはサーバーレスコンピューティングと呼ばれる新しいコンセプトが普及するに至った。 当初、そのコンセプトが一体何を示すかが定まっていなかったために議論が巻き起こり、今現在では一定の理解に着地し、議論が落ち着いているようにみえる。 しかし、サーバーレスという名付けが悪いということで議論が着地したようにみえていることにわずかに疑問を覚えたために、2019年の今、これらの流れを振り返ってみて、サーバーレスアーキテクチャとは何かを改めて考えてみる。 サーバーレスとの個人的関わり サーバーレスアーキテクチャという名を僕がはじめて耳にしたのはAWS Lambdaが登場した2015

        サーバーレスアーキテクチャ再考 - ゆううきブログ
      • ソフトウェア設計についての原則や法則についてまとめてみた

        ソフトウェア設計について、YAGNIやSOLIDなど多くの原則・法則があることが知られていますが、その解釈にはぶれが存在することが多いです。そこで、特に有名なものあるいは有用と感じることが多いものをいくつかピックアップして、その解釈やトレードオフについてまとめてみました。 注意としては、SOLIDが入ってることからわかる通り、主にOOPに関する文脈になります。また、各原則の定義については概ね知っている前提で書いているのであまり初学者向けの記事ではないかもしれませんのでご承知おきください。 YAGNI(You ain't gonna need it.) YAGNIは、予測による実装が実際に役立つことは少ないという経験則から生まれた原則です。 一般にオーバーエンジニアリングが利益をもたらすケースは限定的で、どちらかというとプロジェクトに害を与えることが多いとされています。YAGNIは日々状況の

          ソフトウェア設計についての原則や法則についてまとめてみた
        • 『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - snoozer05's blog

          翻訳を担当した書籍『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』(オライリー・ジャパン)が3月8日に発売されます。本書は、2020年1月に出版されたMark Richards, Neal Ford著『Fundamentals of Software Architecture』(O'Reilly Media)を全訳したものです。 www.oreilly.co.jp ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。本書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや

            『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - snoozer05's blog
          • エンジニアの技術土台となる知識を得るための本の紹介 - Qiita

            はじめに の参加記事になります。 個別の技術ではなく、エンジニアの成長のステップで読むと良い本の紹介 エンジニアとして成長していくときに、個々の技術を深く理解し使いこなしていくことは必要ですが、個々の技術を選ぶときにもどんな成長ステップがあるかを理解することも重要です。 実装をするという範囲をエンジニアの中心なのはありますが、実装以外の部分を理解するとその技術が最大限に活きるのかを理解するには周辺についても理解していく必要があります。そこで、実装を始める前の構造のパターン、実装を進めるエンジニアの環境などを知ることで、もっと効率的な開発が出来るようになるのかを理解していきたいけると良いと考えています。 この記事では私が経験した中でより良いWebシステムを作るという観点に立ったときに、広く理解しておくと良いと感じた本を紹介します。 これからエンジニアリングでどのような勉強をすればよいかを考え

              エンジニアの技術土台となる知識を得るための本の紹介 - Qiita
            • Value Objectについて整理しよう - Software Transactional Memo

              Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

                Value Objectについて整理しよう - Software Transactional Memo
              • Microservices分割大全 - kawasima

                Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ

                  Microservices分割大全 - kawasima
                • ChatGPTなどの大規模言語モデルはどんな理論で成立したのか?重要論文24個まとめ

                  2022年11月にChatGPTが公開され、たった1週間で100万ユーザーを超えたのをきっかけに、GoogleのBardやMicrosoftのBing AI Chatなど、大規模言語モデルを利用したチャットAIが続々とリリースされています。チャットAIを研究しているセバスティアン・ラシュカさんが、チャットAIが実用化されるまでの研究の軌跡を重要な論文24個に絞って要約しています。 Understanding Large Language Models - by Sebastian Raschka https://magazine.sebastianraschka.com/p/understanding-large-language-models ◆目次 ・主要なアーキテクチャとタスク ・スケーリングと効率性の向上 ・言語モデルを意図した方向へ誘導する ・人間のフィードバックによる強化学習(

                    ChatGPTなどの大規模言語モデルはどんな理論で成立したのか?重要論文24個まとめ
                  • 30分で完全理解するTransformerの世界

                    はじめに 初めまして。ZENKIGENデータサイエンスチームのはまなすです。正式な所属はDeNAデータ本部AI技術開発部なのですが[1]、業務委託という形で今年度から深層学習系の開発等に携わっています。 深層学習界隈では、2017年に衝撃的なタイトル(Attention Is All You Need)の論文が発表されてから早5年半、元出自の機械翻訳タスクを大きく越えて、Transformer関連の技術が様々な領域で用いられる汎用アーキテクチャとして目覚ましく発展し続けています。 今回はそんなTransformerが現時点までにどのように活用されてきたか、また、どのように工夫されてきたかをざっくりと俯瞰し、流れをおさらいする目的の記事になります。本記事の大枠は、2021年時点でのサーベイ論文である A Survey of Transformers に倣いつつ、適宜、2023年2月上旬現在ま

                      30分で完全理解するTransformerの世界
                    • 状態、結合、複雑性、コード量の順に最適化する - valid,invalid

                      There’s No Such Thing as Clean CodeのHacker Newsコメント経由でコードやシステム設計・最適化についての良いコメントを見つけた。どうやらHacker Newsで何度も引用されているらしいが日本語で言及された記事が見つからなかったので取り上げてみる。 コメントは2016年のSandi MetzのThe Wrong Abstractionに関するもので、発言者のcurun1rいわく「私は設計の優先順位をこの順序で学習することで、優れた開発者になれた」。*1 4つの基準と優先順位のガイドライン 状態 > 結合 > 複雑性 > コード量 私は状態 (state)、結合 (coupling)、複雑性 (complexity)、コード量 (code) の順に削減することでコードを最適化する。 コードがよりステートレスになるなら、結合を増やすこともいとわない 結

                        状態、結合、複雑性、コード量の順に最適化する - valid,invalid
                      • USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る

                        USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る:“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(1/6 ページ) IBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流からたどっていく大原雄介さんによる解説連載の第8回。前回はPCのアーキテクチャを巡るIntelとMicrosoftの動きを描いたが、今回はそこでIntelの取り組みの成果の一つとして挙げたUSBのお話である。 USBはいろいろ失敗もある(というか、現在進行形で失敗し続けている気もしなくはない)が、それでも大成功したインタフェースである。そして単にPCだけではなくマイコン(※1)などでも普通にサポートされるようになってきており、加えてP

                          USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る
                        • 設計を学びたいときに読みたい本一覧 - Qiita

                          これは何 の参加記事です。 エンジニアとして開発をしていく以上、設計についての知識を身につけていくことはとても重要です。 とはいえ設計という言葉からは何を勉強するべきかがいまいちピンときません。 この記事では、僕が読んできた設計に関するおすすめの本を網羅的に紹介しています。 これから設計を勉強する方の役に立てれば幸いです。 おすすめの本一覧 おすすめの本を紹介していきます。 他にもおすすめがあればぜひ編集リクエストをください! オブジェクト指向設計実践ガイド 設計を始めに学ぶならこれ、という一冊です。 エンジニアとして開発を行なっている中で、オブジェクト指向設計は一番汎用的に使う設計知識なのではないでしょうか? オブジェクト指向設計を学ぶことで、いわゆる「におう実装」と「良い実装」を見極めることができるようになると思います。 知らなかったら読んだほうが良いキーワード SOLID原則 Cle

                            設計を学びたいときに読みたい本一覧 - Qiita
                          • 単一責任の原則(Single responsibility principle)について、もう一度考える | オブジェクトの広場

                            単一責任の原則(Single responsibility principle)について、もう一度考える はじめに オブジェクトの広場をご覧の皆様ならば、「SOLID原則」という言葉を聞いたことがあるかもしれません。 SOLIDとは、以下の5つのソフトウェア設計原則を並べたバクロニムです。 Single Responsibility Principle:単一責任の原則 Open/closed principle:オープン/クロースドの原則 Liskov substitution principle:リスコフの置換原則 Interface segregation principle:インターフェース分離の原則 Dependency inversion principle:依存性逆転の原則 ソフトウェアエンジニアが知っておくべき設計原則のセットとして、Clean Architecture や

                              単一責任の原則(Single responsibility principle)について、もう一度考える | オブジェクトの広場
                            • Build your own React

                              We are going to rewrite React from scratch. Step by step. Following the architecture from the real React code but without all the optimizations and non-essential features. If you’ve read any of my previous “build your own React” posts, the difference is that this post is based on React 16.8, so we can now use hooks and drop all the code related to classes. You can find the history with the old blo

                                Build your own React
                              • 【決定版】2022年~2023年で必ず確認するべきGitHubリポジトリ 40選

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

                                  【決定版】2022年~2023年で必ず確認するべきGitHubリポジトリ 40選
                                • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

                                  アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

                                    「ビジネスロジック」とは何か、どう実装するのか - Qiita
                                  • 冴えないAWS環境の育てかた α | DevelopersIO

                                    中山です ソリューションアーキテクトとして、AWS環境の利活用をお手伝いするお仕事をしています。 まれによく見るAWS環境 とりあえずこれを見てほしい。 これが絶対にだめと言いたいわけではないです。 一時的な検証環境だったり、とにかくスピード重視でサービスをデリバリーさせる必要があったり、サービスの提供者側が何ら責任を負わない・障害時のビジネスインパクトが無い(そんな状況あるのか?)という前提があったり、状況次第ではこれで十分な時もあると思います。 しかし、一般的な業務システムやサービスの場合にはいろんな意味で不十分でしょう。 では、このような環境をどのように育てていくとよいでしょうか。 この記事では、そんな育てかたの一例を紹介していきたいと思います。 なお、本記事はくっそ長いです。 ちなみに、最終的にはこうなります。 文字が小さすぎて読めない! ちょっとそこのハ○キルーペ貸してくれーw

                                      冴えないAWS環境の育てかた α | DevelopersIO
                                    • エンジニアとして今の自分を形成した本を5冊紹介する - パンダのプログラミングブログ

                                      エンジニアとして今の自分を形成した本5冊 エンジニアとして働くにあたって自分が大きく影響を受けた本を考えてみた。もちろん他にもあるが、今回は以下の5冊に絞って紹介する。 Clean Coder(クリーンコーダー) Team Geek Clean Architecture(クリーンアーキテクチャ) テスト駆動開発 LeanとDevOpsの科学 この記事の対象者としては、独学でプログラムを書き始めた人やエンジニアスクールを卒業したばかりの方というよりは、実務経験を1~3年くらい積んでいるけど次に何を学べば良いかわからず、自分でイマイチ伸び悩んでいると感じている人を主に想定している(かつての自分がそうだった)。 特にチーム開発、オブジェクト指向言語でのコーディング、テストコードを書いた経験がある人が読んで、本に書いてあることを実践すると自分の成長を実感するだろう。 「Clean Coder」、「

                                        エンジニアとして今の自分を形成した本を5冊紹介する - パンダのプログラミングブログ
                                      • Webシステムアーキテクチャの地図を描く構想 - ゆううきブログ

                                        この記事は第5回Webシステムアーキテクチャ研究会の予稿です。 はじめに Webサービスにおいては、スマートフォンの普及によるアクセス増加に対してスケーラビリティを持ち、個人向けだけでなく企業向けサービスの可用性の要求に耐えられるようなシステム設計が必要とされている。 さらに、Webサービスが人々の生活に浸透したために、Webサービス事業者はサービスを長期間運用することが当たり前となっている。 その間、新機能開発、ソフトウェアの実行効率化、セキュリティ向上などを目的に、システム管理者は自身が管理するソフトウェア群を更新しつづける必要がある。 このような多様な要求を満たすために、Webサービスを開発・運用するエンジニアには、OSやデータベース、ネットワーク、分散システム、プログラミング言語処理系などのコンピュータ工学における広範囲の基礎知識と、ミドルウェア、オペレーション自動化のためのソフト

                                          Webシステムアーキテクチャの地図を描く構想 - ゆううきブログ
                                        • 初めての技術選定を頼まれた時に大事だったのは俯瞰的・相対的な考え方だった - MonotaRO Tech Blog

                                          背景 お題 技術の差別化 差別化から分かること 情報資産からToBeを考える 俯瞰的・相対的な技術選定 これまでの話から学んだこと 最後に はじめまして、MonotaROでデータエンジニアをやっています、芝本です。 エンジニアのみなさん、技術を使って何か作ってみるのって楽しいですよね。 私は、公私ともに日々物作りに励んでいます。プライベートだと、最近はマイクロフロントエンドについて学んでいます。 技術を使うためには、技術を学ばなければいけません。 プライベートにおいては、好奇心に従って自由に学びますよね。 とりあえずgit cloneして動かしてみたり、書籍を購入して読んでみたりします。 というようにプライベートでは主に次のような選択肢があると思います。 書籍を読んで好きなものを選ぶ 実際に手を動かしてみて好きなものを選ぶ 人に教えてもらって好きなものを選ぶ 基本的にプライベートの場合は何

                                            初めての技術選定を頼まれた時に大事だったのは俯瞰的・相対的な考え方だった - MonotaRO Tech Blog
                                          • Railsを主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ

                                            Rails の問題は Rails のベストプラクティスがフロントエンドのベストプラクティスの邪魔になるどころか全く逆方向で相反してる点です。DHHの思想がフロントエンドと根本的に逆行してる。そういう人が作るフレームワークなのでwebpackerの抽象化を根本的に間違ったりする。 — prev.js (@mizchi) December 1, 2020 昨日もリプライで少し書いたけど、DHH自体が直近のHeyの開発でも明確にJavaScriptというものを触れないようにすることを是としているような主張をしているので、DHH wayが色濃く反映される以上この状態はもう避けられない気がしている — potato4d / Takuma HANATANI (@potato4d) December 1, 2020 Railsがフロントエンドの最先端をゆく人々1から良く思われないのは事実として。 Vie

                                              Railsを主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ
                                            • 個人的なアプリケーション設計のバイブル3選 - Runner in the High

                                              自分が本格的に設計を意識するようになったのは、2015年の夏に現職であるFringe81株式会社で開催されていたサマーインターンに参加してからだ。 インターンではDDDとクリーン・アーキテクチャ*1を一から勉強してAPIサーバーに実装する、というカリキュラムであったが、いま思うと2週間という比較的長いインターンで僕が学べたことと言えば本当に微々たるものだった。つまるところ、それくらいには設計というものは奥が深い。常になんらか特定のデザイン・パターンなりアーキテクチャ・パターンを適用することでアプリケーション開発がうまくいくということはなく、それらの様々な知識から少しづつ応用されたものが最終的なアプリケーションの設計に対して真の洞察を与えてくれるものというのが、僕自身のいまの認識である。 設計はまさに Connecting the dots そのものだ。多くを知れば知るほど、アプリケーション

                                                個人的なアプリケーション設計のバイブル3選 - Runner in the High
                                              • IPアドレスに縛られない新しい通信識別技術と既存のインターネットが共存するための国際規格が発行されました (METI/経済産業省)

                                                欲しいデータ/コンテンツを取得する際に「場所(IPアドレス)」を指定して取りに行くのではなく、データ/コンテンツの「名前」を指定して取りに行く新しいネットワーク技術と、既存のインターネットが共存するための国際規格が発行されました。 この国際規格により、Society5.0 を支える重要な基盤要素であるIoTにおけるデータ通信が効率化され、様々な産業分野でデジタル化が促進されることが期待されます。 1.背景 現在の通信方式は、通信相手となるサーバの場所(IPアドレス)を指定し、常にそこまでデータ/コンテンツを取りに行くプロセスによって成立しています(図1参照)。この仕組みは、サーバ・端末の位置が変わらず、「一対一」の通信であることを前提として構築されたため、現在のようにサーバ・端末が移動し、「一対多」「多対多」の通信となる場面には十分に対応することができないことがあります。このようなケースで

                                                • メルカリWebのマイクロサービス化、その4年 | メルカリエンジニアリング

                                                  Author: @urahiroshi, Engineering manager of Web Platform team 2022年8月4日、メルカリで “web-2” と呼ばれるサーバがシャットダウンされました。これはメルカリWeb版の開発に携わっているチームにとって、一つの区切りとなる出来事でした。 web-2はPHPで記述されたwebサーバで、2015年から https://www.mercari.com/jp/ 配下のコンテンツを配信していましたが、現在では複数のWebマイクロサービスがその機能を担っており、 https://www.mercari.com/jp/ 配下のページは後継となるWebマイクロサービスが配信するページへリダイレクトされています。 メルカリWebのマイクロサービス化に向けた開発が始まり、最終的にweb-2がシャットダウンされるまで、実に4年以上の期間がかか

                                                    メルカリWebのマイクロサービス化、その4年 | メルカリエンジニアリング
                                                  • ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白

                                                    根本の問題意識 ソフトウェアの設計スキルはどのように獲得する(させる)ことが効果的であるのか ソフトウェアアーキテクチャの目的 そもそもソフトウェアアーキテクチャはどのような欲望を満たすための方法か ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するための必要な人材を最小限に抑えること である。 (CLEAN ARCHITECTURE) 「求められるシステムを構築・保守するための必要な人材を最小限に抑えたい」 => 構築容易性 と 保守容易性 を確保したい 構築容易性 「構築しやすさ」とは? ソフトウェアを構築するとはどういうことか ソフトウェアの2つの価値: 「振る舞い」と「構造」 振る舞い: 要件を満たすこと => いわゆる機能 構造: 振る舞いを簡単に変更できること => いわゆるアーキテクチャ 構築しやすさ=価値の生み出しやすさ 要件を満たしながら振る舞いを変更

                                                      ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白
                                                    • Vue.js設計地図 〜設計概念の依存関係からフロントエンド設計を見つめ直す〜

                                                      Vue.js の設計地図を作成しました。設計概念の依存関係の図式化して理解し、 フロントエンド設計をモデリング起点で考えたブログです。

                                                        Vue.js設計地図 〜設計概念の依存関係からフロントエンド設計を見つめ直す〜
                                                      • Smart UI パターンが再評価される世界 - id:onk のはてなブログ

                                                        設計ナイト2020 を受けて、今どんなアーキテクチャを選ぶべきかという話をしたくなったのだ。 kichijojipm.connpass.com 設計ナイトで高ぶった結果1時間コースの発表資料が完成したので供養場所を探しています。聞いてくれ!!!— Takafumi ONAKA (@onk) 2020年11月1日 お前誰よ 2000年代前半に SI 2000年代後半にブログ、SNS 2010年代にソーシャルゲーム 2020年代に UGC サービス をやってきた人間。数百万〜数億行のデータ、月間数千万〜数十億 imp 程度を主戦場にしています。 今日の話 DDD と PofEAA から学ぶパターン/アンチパターン Rails によって発見された、密結合で速く走れるソフトウェア 今求められているアーキテクチャ 昂ぶって 15,000 字ぐらい書いてしまった。 DDD と PofEAA から学ぶパ

                                                          Smart UI パターンが再評価される世界 - id:onk のはてなブログ
                                                        • This is The Entire Computer Science Curriculum in 1000 YouTube Videos

                                                          This is The Entire Computer Science Curriculum in 1000 YouTube Videos In this article, we are going to create an entire Computer Science curriculum using only YouTube videos. The Computer Science curriculum is going to cover every skill essential for a Computer Science Engineer that has expertise in Artificial Intelligence and its subfields, like: Machine Learning, Deep Learning, Computer Vision,

                                                            This is The Entire Computer Science Curriculum in 1000 YouTube Videos
                                                          • 主要RDBMS製品の比較 – アーキテクチャ, スキーマ, データベース, メモリ | コーソルDatabaseエンジニアのBlog

                                                            Microsoft SQL ServerMySQLOracle DatabasePostgreSQLSolarWinds DPAデータベース運用主要RDBMS製品の比較 2022.09.01 渡部 亮太 主要RDBMS製品の比較 – アーキテクチャ, スキーマ, データベース, メモリ Oracle ACE Proの渡部です。 主要なRDBMS製品についてアーキテクチャを比較します。 大枠を整理することが最大の目的です。細かい例外事項や拡張機能は適宜記載を割愛しています。 2022年9月時点の最新バージョンをベースに記載していますが、記載内容にバージョン依存は少ないはずです。 時間ができた時に随時追記予定です。 もし誤りを見つけた場合は、優しく教えていただけると嬉しいです。→ https://twitter.com/wrcsus4 or ryota.watabe at cosol dot

                                                            • NIC二枚挿しによるネットワーク分割はなぜ危ないのか:NIST SP800-82より考察

                                                              NECサイバーセキュリティ戦略本部セキュリティ技術センターの日下部です。 エンジニアの方にとって、システムのネットワーク構成を設計する機会は多々あるかと思います。 ネットワーク構成を検討する際、機器の役割や設置場所によって異なるネットワークアドレスを付与するネットワーク分割を実施することになります。ネットワーク分割の方法はファイアウォールやルータといった装置での分割の他に、サーバやPCに二枚のNIC(Network Interface Card)を使用してネットワークを分割するいわゆる”NIC二枚挿し”という方法もあります。しかし、この方法はセキュリティ上推奨しないという考え方があります。 本記事では、セキュアな産業制御システム(ICS : Industrial Control System)を構築するためのガイドであるNIST SP800-82を参考にNIC二枚挿しによるネットワーク分割

                                                                NIC二枚挿しによるネットワーク分割はなぜ危ないのか:NIST SP800-82より考察
                                                              • Google純正の構成図作成ツールが登場したので早速使ってみた

                                                                クラウドサービスでは大量の機能が多種多様に提供されており、簡単なアプリでも複数のサービスを組み合わせて利用することも珍しくありません。そうしたバックグラウンドのサービスを設計する際に役立つのがサービス間の構造を図に落とし込んだ「アーキテクチャ図」です。これまでもサードパーティーからさまざまなアーキテクチャ図作成ツールが提供されてきましたが、2022年2月17日にGoogleが自社クラウド向けの公式アーキテクチャ図作成ツールをリリースしたので、早速使い勝手を試してみました。 Google Cloud Developer Cheat Sheet https://googlecloudcheatsheet.withgoogle.com/architecture Introducing a Google Cloud architecture diagramming tool | Google Cl

                                                                  Google純正の構成図作成ツールが登場したので早速使ってみた
                                                                • マイクロサービス設計原則: SOLIDではなくIDEALS

                                                                  キーポイント For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single responsibility. Interface segregation tells us that different types of clients (e.g., mobile apps, web apps, CLI programs) should be able to inte

                                                                    マイクロサービス設計原則: SOLIDではなくIDEALS
                                                                  • Summary of the Amazon EC2 Issues in the Asia Pacific (Tokyo) Region (AP-NORTHEAST-1)

                                                                    2019年8月28日(日本時間)更新: 最初の事象概要で言及した通り、今回のイベントは、東京リージョンの1つのアベイラビリティゾーン(AZ)の一部に影響を与えました。この影響は当該 AZ の Amazon EC2 および Amazon EBS のリソースに対するものですが、基盤としている EC2 インスタンスが影響を受けた場合には、当該 AZ の他のサービス(RDS、 Redshift、 ElastiCache および Workspaces 等)にも影響がありました。お客様と今回のイベントの調査をさらに進めたところ、 個別のケースのいくつかで、複数のアベイラビリティゾーンで稼働していたお客様のアプリケーションにも、予期せぬ影響(例えば、 Application Load Balancer を AWS Web Application Firewall やスティッキーセッションと組み合わせてご

                                                                      Summary of the Amazon EC2 Issues in the Asia Pacific (Tokyo) Region (AP-NORTHEAST-1)
                                                                    • AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠

                                                                      これまでもコンテナ関連の記事はそれなりに書いてきましたが、改めて最新事情に合わせて練り直したり見渡してみると、大きなところから小さなところまで選択肢が多すぎると感じました。 コンテナ系アーキテクチャを丸っと他所の構成で真似することって、おそらくほとんどなくて、参考にしつつ自分流に築き上げていくでしょうから、今回は築くにあたってどういう選択肢があるのかにフォーカスした変化系で攻めてみようと思った次第です:-) 目次 今年一発目の長いやつです。半分は学習教材用、半分は道楽なテイストです。 はじめに 基盤 インスタンス or コンテナ ECS or EKS on EC2 or FARGATE X86 or ARM64 ロードバランサー メンテナンス:ALB or ECS Service 共有 or 1環境毎 アクセスログ:ALB or WEBサーバー ECS / EKS デプロイ:Blue/Gr

                                                                        AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠
                                                                      • ソフトウェアアーキテクチャの基礎: Software Architecture in a Nutshell

                                                                        『ソフトウェアアーキテクチャの基礎』 - Techmee vol.2 での発表資料です https://timeedev.connpass.com/event/254336/ 動画: https://youtu.be/ydQ2xoc49Lc #Techmee

                                                                          ソフトウェアアーキテクチャの基礎: Software Architecture in a Nutshell
                                                                        • プログラミング上達したい人に繰り返し読んで欲しい4冊改訂版|erukiti

                                                                          プログラミング上達したいんだったら、四の五の言わずに、 ・クリーンアーキテクチャ ・レガシーコード改善ガイド ・アジャイル・サムライ ・リファクタリング 系のどれか を、全部最低5回読み返して欲しい。それでプログラマとしては圧倒的に成長できるんだから、マジで読んで — Next.js + Hasura 最速プロトタイピング本 @技術書典9 出す予定 (@erukiti) July 27, 2020 先日、こういうツイートをしたらバズってしまいまして。これらの本を理解できるまで読みこめばプログラマとして成長できますよーというもので、 ・ クリーンアーキテクチャ ・ レガシーコード改善ガイド ・ アジャイルサムライ ・ リファクタリング 系のどれか(例えばリファクタリング第二版) の4冊を挙げました。いろいろな人の感想を読んで、補足が必要そうだなと思ったので記事として書きなおしています。 この

                                                                            プログラミング上達したい人に繰り返し読んで欲しい4冊改訂版|erukiti
                                                                          • Microsoft の「クラウドアプリケーションのベストプラクティス」が良かったので紹介したい | DevelopersIO

                                                                            こんにちは。CX事業本部MAD事業部のYui(@MayForBlue)です。 最近調べものをしている中で見つけたドキュメントが良かったのでご紹介したいと思います。 先にまとめ Microsoft の RESTful Web API の設計 のドキュメントが API 設計を考える上で勉強になった 関連する クラウド アプリケーションのベスト プラクティス のドキュメントもアプリケーションを設計する際の指標として良さそう RESTful Web API の設計 最近 API 設計やパス設計について考える機会があったのですが、これという正解がなかったり、人によって思想やこだわりが違ったりして結構難しいなと感じていました。 そんな中で下記のドキュメントを見つけてひとつの指標として良いなと思ったのでご紹介します。 内容(項目) REST とは何か リソースを中心とした API 設計の整理 HTTP

                                                                              Microsoft の「クラウドアプリケーションのベストプラクティス」が良かったので紹介したい | DevelopersIO
                                                                            • 今回の転職活動の雑感 - seri::diary

                                                                              はじめに 転職活動の結果 希望したポジション 転職のために使用した採用媒体 転職ドラフト YOURTRUST 今回の転職活動での気付き Coding testは対策が必須である System design interviewも準備しておいた方がいいが業務経験があればそこまでビビる必要はない 6社同時に受けると毎日のように面接がある 希望年収は自分に嘘をつかずに伝えた方が良い マネージャーやリーダーの経験がないと判断されるとマイナス評価につながる会社が存在する 自分の評価は企業によって差が大きい おわりに はじめに 2021年10月から2022年2月にかけて転職活動をしていた. 今回の転職ではいつもと違い10社近くのカジュアル面談を受け6社に応募した. また,珍しく採用に関するwebサービスを使用したり,初めてCoding test対策を行ったりもした.その雑感をまとめておく. 転職活動の結

                                                                                今回の転職活動の雑感 - seri::diary
                                                                              • 人はなぜ宗教を信じるように進化したのか|河田 雅圭

                                                                                本稿は、人が超自然的存在を信じたり、宗教を信仰したりするようになぜ進化したのかを、認知心理学、脳神経科学、遺伝学、進化学などの研究成果をレビューして、独自に考察したものです。 なぜこんなにも多くの人が宗教や超自然的存在を信じているのだろうか 正月、近所の神社に行くと、厄年を迎える人の生まれた年が大きく看板に書かれている。私は、宗教や神の存在は全く信じていないが、看板に書かれた年が自分の生年と一致していると、何の根拠もなく今年は病気に気をつけようとか、お守りぐらい買っておこうか、などと一瞬考えてしまう。これは、人を宗教にひきつける、人間の心理をついた「うまいやり方」である。将来への得体の知れない不安に対して、超自然的なものに頼ろうとする人間のもつ心理的特徴が宗教心を創り出しているのだろうと漠然と考えることができる。 現在、全世界の80%以上の人が宗教あるいは霊的な存在を信じているという(1)

                                                                                  人はなぜ宗教を信じるように進化したのか|河田 雅圭
                                                                                • 最強データベース(RDB)設計とは?アンチパターンの見極め方法も - FLEXY(フレキシー)

                                                                                  ※2020年6月に公開された記事です。 日本PostgreSQLユーザ会の理事を務める合同会社Have Fun Techを起業した曽根壮大(@soudai1025)と申します。元株式会社オミカレ副社長兼CTOです。直近では、『失敗から学ぶ RDBの正しい歩き方』を執筆しました。 今回はデータベースをテーマとして、魅力やMySQLとPostgreSQLの違い、アンチパターンの見極めなどの基礎知識に加え、勉強法などもご紹介します。 RDB関連の求人検索はこちら データベースを学ぶ魅力をエンジニア目線で考察 1.知識の費用対効果が高い エンジニアがデータベースを学ぶ利点という観点から言うと、データベースの特徴は寿命が長いことと私は考えています。 Webアプリケーションの界隈では1年単位でバージョンアップしたり流行っている言語が変わってしまうことがザラにありますが、データベースは10年、20年とい

                                                                                    最強データベース(RDB)設計とは?アンチパターンの見極め方法も - FLEXY(フレキシー)