並び順

ブックマーク数

期間指定

  • から
  • まで

521 - 560 件 / 40816件

新着順 人気順

devの検索結果521 - 560 件 / 40816件

  • TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得 - Qiita

    同じTypeScriptという言語を利用する場合においても、トランスパイラによってTypeScript自体の機能制限がかかったり、思わぬトラブルを招く場合があります。それぞれのトランスパイラの特徴を踏まえた上で、それにより生じる問題も見ていきましょう。 1-1. tsc TypeScriptの開発元であるMicrosoft純正のTypeScriptトランスパイラです。TypeScriptを利用する際に typescript パッケージをインストールする必要がありますが、それに同梱されています。 公式ツールなだけあって最も早く最新バージョンのTypeScriptに対応したり、言語すべての機能を利用することができる一方で、バンドラではないためminifyやchunkの設定はできません。また、Path Aliasesの未解決や旧ESへの互換性が不完全であることが欠点として挙げられます。 tsco

      TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得 - Qiita
    • 本当に使ってよかったOpenAPI (Swagger) ツール | フューチャー技術ブログ

      サードパーティ製のツール本家からは上述のツールが提供されていますが、サードバーティ製の様々なツールが世の中には存在します。 エコシステムが成熟しているのもSwaggerを利用するメリットの一つですね。 https://openapi.tools/ 冒頭のとおり、このサードパーティ製のツールの中で実際に利用して良かったツールを3つご紹介したいと思います。 Stoplight Studiohttps://stoplight.io/studio/ 1つ目のツールは「Stoplight Studio」というAPI仕様を記載するためのGUIエディタとなります。 今までSwagger Editorを利用してYAMLを書いていたそこのみなさん、YAML筋力はもう必要ありません。 Design APIs 10x faster の謳い文句どおり、Stoplight Studioを使えばGUIで直感的に、高速

        本当に使ってよかったOpenAPI (Swagger) ツール | フューチャー技術ブログ
      • HTTP 関連 RFC が大量に出た話と 3 行まとめ | blog.jxck.io

        Intro 2022/06/06 ~ 9 あたりに、長きに渡って策定作業が行われていた HTTP 関連の RFC が大量に公開された。 RFC 9110: HTTP Semantics RFC 9111: HTTP Caching RFC 9112: HTTP/1.1 RFC 9113: HTTP/2 RFC 9114: HTTP/3 RFC 9163: Expect-CT Extension for HTTP RFC 9204: QPACK: Field Compression for HTTP/3 RFC 9205: Building Protocols with HTTP RFC 9209: The Proxy-Status HTTP Response Header Field RFC 9211: The Cache-Status HTTP Response Header Field

          HTTP 関連 RFC が大量に出た話と 3 行まとめ | blog.jxck.io
        • サクっと作った英語学習サービスがバズって1週間以内にやったこと - Qiita

          要約 Qiita記事がトレンドインすると、瞬間的にWebサービスへのアクセス数が急増するが、数日でアクセス数は元に戻ってしまう。 そこで以下の施策を速攻で打ってバズっているうちに有益な学びを得るべきと考え、本記事はそれを実践した結果を実データと合わせて説明している。 事前登録フォームを作って興味を持ってくれた人と繋がる Twitterやはてぶのコメントからどうして興味を持ってくれたのか考察する 有料機能を作って単なるバズなのか、本当にニーズがあるのか判断できるようにする バズる1週間前にやっていたこと 3日でツールをサクッと作った 英語面接や仕事で海外の人とやりとりをするときに「ちょっと難しい質問」をされると、途端に5歳児になってしまう自分が恥ずかしくなり、DeepLで英語の勉強をするツールを作った。 自分が使うだけのつもりだったので、アカウント機能などはなく、コアな機能1つを実装しただけ

            サクっと作った英語学習サービスがバズって1週間以内にやったこと - Qiita
          • DockerとRemote Containersでの開発環境が最高過ぎる - Sweet Escape

            この投稿がきっかけでソフトウェアデザインに寄稿しています。この投稿の加筆修正ですが、自分のパート以外にもVS Code全般の特集となってますので興味あるかたはぜひそちらも! ソフトウェアデザイン 2021年6月号 作者:tsutsu,吉岩 正樹,中村 充志,西谷 圭介,erukiti(佐々木 俊介),結城 洋志,上田 隆一,八田 昌三,サリチル酸,結城 浩,山川 正美,大串 肇,松本 直人,清水 洋治,広田 望,松田 佳希,田中 宗,中島 明日香,くつなりょうすけ,高橋 永成,金谷 拓哉,佐藤 雄飛,梶原 直人,髙濱 暢明,星川 真麻,八木澤 健人,けんちょん(大槻 兼資),職業「戸倉彩」,森若 和雄,大隈 峻太郎,小野 輝也,河野 哲治,古川 菜摘,石井 将直,杉山 貴章,Software Design編集部技術評論社Amazon はじめに Remote Containers Docke

              DockerとRemote Containersでの開発環境が最高過ぎる - Sweet Escape
            • 統計・機械学習の理論を学ぶ手順 - Qiita

              社内向けに公開している記事「統計・機械学習の理論を学ぶ手順」の一部を公開します。中学数学がわからない状態からスタートして理論に触れるにはどう進めばいいのかを簡潔に書きました。僕が一緒に仕事をしやすい人を作るためのものなので、異論は多くあると思いますがあくまでも一例ですし、社員に強制するものではありません。あと項目の順番は説明のため便宜上こうなっているだけで、必ずしも上から下へ進めというわけでもありません。 (追記)これもあるといいのではないかというお声のあった書籍をいくつか追加しました。 数学 残念ながら、統計モデルを正しく用いようと思うと数学を避けることはできません。ニューラルネットワークのような表現力が高くて色々と勝手にやってくれるような統計モデルでも、何も知らずに使うのは危険です。必ず数学は学んでおきましょう。理想を言えば微分トポロジーや関数解析のような高度な理論を知っておくのがベス

                統計・機械学習の理論を学ぶ手順 - Qiita
              • 【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita

                【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノートJavaScriptd3.jsデータ分析データサイエンスcolaboratory CS 448B Visualization (2020 Winter)は、Maneesh Agrawala氏による、Stanford大で行われた、データの可視化に関する体系的な講義です。 スタンフォード大の"CS 448B Visualization (2020 Winter)" がすごい。 データ可視化の体系的講義。どう図表に変換するかの理論、探索的データ分析、ネットワーク分析等の実践と盛り沢山。 スライドに加え、Observable(JavaScript), Colab(Python)どちらでも例を試せる。https://t.co/lGyPElrihg pic.twitter.com/mWZn

                  【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita
                • AWS、東京リージョン23日午後の大規模障害について詳細を報告。冷却システムにバグ、フェイルセーフに失敗、手動操作に切り替えるも反応せず

                  AWS、東京リージョン23日午後の大規模障害について詳細を報告。冷却システムにバグ、フェイルセーフに失敗、手動操作に切り替えるも反応せず 報告によると直接の原因は東京リージョンのデータセンターで使用されている冷却制御システムにバグがあったこと。これにより、緊急時の手動操作にも冷却制御システムの一部が反応しないなどでサーバが過熱し、障害に至ったと説明されています。 8月23日午後に約6時間の障害。EC2だけでなくRDSも 報告によると、障害は日本時間2019年8月23日金曜日の昼過ぎに発生。影響範囲は仮想マシンを提供するAmazon EC2とブロックストレージを提供するAmazon EBSのそれぞれ一部。以下、AWSの報告を引用します。 日本時間 2019年8月23日 12:36 より、東京リージョン (AP-NORTHEAST-1) の単一のアベイラビリティゾーンで、オーバーヒートにより一

                    AWS、東京リージョン23日午後の大規模障害について詳細を報告。冷却システムにバグ、フェイルセーフに失敗、手動操作に切り替えるも反応せず
                  • MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)

                    先日、メインの開発環境を MacOS から Windows 10 Professional へと移しました。理由としては主に2点で、現在仕事を自宅の固定席で行っており PC を持ち運びする必要がなくなったため Mac より高速で安価な Windows デスクトップ機を使いたいこと(Ryzen 9使いたい!)、WSL2 が正式版となり使ってみた感じ問題なく WSL2 で仕事の開発ができそうだったことが挙げられます。 WSL2 はふつうに Linux なので問題なく開発環境の構築が行なえ、Windows からも VSCode Remote のおかげでで違和感なくWSL2上のコードを編集、実行ができ快適な開発が行えています。(なお、WSL2 についての記事は山程溢れているので、ここでは殆ど触れません。) しかしながら、WSL2 ではないふつうの Windows 上で開発する機会が出てきたので、M

                      MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)
                    • とほほのChrome拡張機能開発入門 - とほほのWWW入門

                      Chrome の拡張機能を開発する手順について説明します。まずは、拡張機能が実行されたらポップアップを表示するだけのものを作成してみます。下記のフォルダとファイルを作成します。 my-extension manifest.json popup.html { "name": "My Extension", "description": "My Extension", "version": "1.0", "manifest_version": 3, "action": { "default_popup": "popup.html" } } <!DOCTYPE html> <html> <body> <h1>Hello world!</h1> </body> </html> Chrome で chrome://extensions を開き、[パッケージ化されていない拡張機能を読み込む] から上記

                      • Yu Fukuyama on Twitter: "教育オタクなのでプログラミング学習サービスは大体知ってるんだけど、最近で一番いいなと思った。https://t.co/ioFOAjoUIM - Redis, Git, Dockerの再実装など少し複雑なソフトウェアを自作する課題 - 名だたる企業のエンジニアが作ったカリキュラムでベストプラクティスも学べる - C/Rust/Goも使える https://t.co/cIXem7KJkp"

                          Yu Fukuyama on Twitter: "教育オタクなのでプログラミング学習サービスは大体知ってるんだけど、最近で一番いいなと思った。https://t.co/ioFOAjoUIM - Redis, Git, Dockerの再実装など少し複雑なソフトウェアを自作する課題 - 名だたる企業のエンジニアが作ったカリキュラムでベストプラクティスも学べる - C/Rust/Goも使える https://t.co/cIXem7KJkp"
                        • SIerで幸せな技術キャリアを築くために - Qiita

                          この記事はNTTコムウェア Advent Calendar 2021 20日目の記事です。 NTTコムウェアの古西です。AI・データサイエンス推進室で技術マネージャをしています。 システムインテグレーター、略してSIerは、顧客のためにITシステムやサービス・ソリューション・プロダクトを開発・運用する会社です。一部自社サービスがあるものの、特定の顧客企業に対してシステムを提供することが多いです。 ネット上では「SIerはオワコン」1と言われることもありますが、私自身は入社のときに「人と技術を仲介する仕事がしたい」と言って仕事をしはじめてから約25年間、SIerで顧客や自社の人と技術を仲介する仕事をしてきました。私がこれまでの経験から「SIerで幸せな技術キャリア」を築くために意識したほうがいいと思うことを、若年層とベテラン層にわけて3つずつ、書いておこうと思います。 若年層(20代~30代

                            SIerで幸せな技術キャリアを築くために - Qiita
                          • 設計を歪める認知バイアス - Qiita

                            こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 本記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏

                              設計を歪める認知バイアス - Qiita
                            • プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita

                              はじめに 某プログラミングスクールで二年間講師をしてました。 受講生の方からの評価点は平均より高く、最終的には全インストラクターの中から代表に選ばれる立場にまでなりました。 始めた経緯 もともと、プログラミングスクールをいつか開きたいと思っていたこともあり、業務委託契約で経験が積めそうなところに応募。 即採用していただき、正社員で働く傍、副業としてプログラミング講師に。 エンジニア歴は当時は5年 得意な言語はPHPのみでした。 コロナ禍で全てが変わった 特定を避ける為に細かな時期は記述しませんが、この復業を始めてから今も尚世界を苦しめているウイルスの流行で事が大きく変貌していきました。 というのも、私が請け負っていたプログラミングスクールでは生徒様が作成したいと言う物をベースにプログラミングを教えるスクールでした。 その中で、コロナ禍前までの生徒様達は明確に、 「ECサイトが作りたい」 「

                                プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita
                              • システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers

                                Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自体は25分くらいでしたので、おそらくこの記事の方がプレゼンよりも詳しいと思います。 ソフトウェア危機 ソフトウェアは本質的に複雑 ソフトウェアの複雑さはどこから来るのか? 複雑さは、別の複雑さを産む 複雑さを分類する 本当に必要な複雑さと、そうでないものがある どうやって複雑さを扱うのか

                                  システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers
                                • ゲーム開発者へっぽこさん、711ページに及ぶ技術書『Unity uGUI アドバンスド・リファレンス』を無償公開 - ゲームキャスト

                                  ゲーム開発者であり、『Unity 2017最適化ガイド Unityのあらゆるパフォーマンス問題を解決するための手引き』の日本語翻訳を担当したへっぽこさんは、2021年8月28日に技術書『Unity uGUI アドバンスド・リファレンス』を GitHub にて無償公開した。 これは Unity の uGUI (グラフィカルインターフェース制作を助けるツール)を使用するにあたって必要な知識、パフォーマンス改善の手段などをまとめた700ページ以上の書籍。 中級者以上を対象としており、現時点でゲームキャスト向けにゲーム開発者複数人から「この書籍は素晴らしい」という推薦を得たので記事として紹介しておく。 本書が公開されてすでに2日。 ネット上でも、「お金を支払いたい」などの声が上がっており、評判は上々の模様。 本書をゲームキャストに推薦した開発者の中には、「モバイルゲームのパフォーマンスを最適化しよ

                                    ゲーム開発者へっぽこさん、711ページに及ぶ技術書『Unity uGUI アドバンスド・リファレンス』を無償公開 - ゲームキャスト
                                  • 8月23日のAWSの大規模障害でMultiAZでもALB(ELB)が特定条件で500エラーを返すことがあったという話 - Make組ブログ

                                    このブログ記事で 「MultiAZ」にしていたら何事も全て大丈夫という認識を変えられると嬉しいです (当該の時点で障害起こした人はちゃんとMultiAZにしてなかったんでしょ?という人の認識も変えられると嬉しいです)。 MultiAZにしておくことは基本 です。 その上でも、 安心しきらずに監視は必要 という話をしています。 MultiAZ構成にしておきましょう そのうえで監視、検知、トレーサビリティを大切にしましょう MultiAZ要らないという見当外れの解釈はしないでください (一部、間違えた解釈をしてるコメントも見受けられましたが、大いに違います)。 前提 2019-08-23、AWSで大規模な障害が起こりました。 障害の一般的な内容は以下のとおりです。 まとめのブログ https://piyolog.hatenadiary.jp/entry/2019/08/23/174801 AW

                                      8月23日のAWSの大規模障害でMultiAZでもALB(ELB)が特定条件で500エラーを返すことがあったという話 - Make組ブログ
                                    • ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい - ABAの日誌

                                      English version: How to realize various actions in a one-button game はじめに 自作ゲームライブラリcrisp-game-libを使ったミニゲームを最近たくさん作っているが、特に多く作っているのがワンボタンゲームだ。ここで言うワンボタンゲームは、レバーによる移動の他のボタンが1つ、といったものではなくて、純粋に1つのボタンしか操作に使わないゲームを指す。 ワンボタンゲームの利点は、操作が分かりやすく、タッチデバイスでも操作しやすい点にある。とにかく何かボタンを押せばそれがプレイヤーが取れる動作の全てであり、操作説明がほぼ不要である。またタッチデバイスでも画面中のどこかをタップあるいはホールドすれば操作ができるので、バーチャルパッドでよく起こる、ボタンを押した感触が無いので操作がしづらいという問題が発生しない。 欠点は、当然

                                        ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい - ABAの日誌
                                      • システム開発で曖昧な要望を形にしていく方法 - arclamp

                                        このブログはグロースエクスパートナーズ Advent Calendar 2021の10日目です。 社内メンバーから要望があったので、僕自身がどのようにシステム開発の初期段階において、どのように要望を整理し、形にしていっているのかについて書きたいと思います。 なお内容は弊グループの案件を前提にしているので、システム開発は以下のような状況が一般的です。 クライアントは直接契約(プライム) 要望を出すのはクライアント企業内で事業運営側の人で、システム開発にかかわった経験がないことがある 対象システムはSoE/mode2で、一般消費者や取引先などの外部ユーザーと、社内で業務を回す内部ユーザーがいる 相手の話を整理するフレーム まず、相手から得られる情報を4つの階層にわけて整理する必要があります。 目的:達成すべきこと 戦略:目的を確実・効率的に達成するためのシナリオ 戦術:戦略を実行するための具体

                                          システム開発で曖昧な要望を形にしていく方法 - arclamp
                                        • インターネットは最終的に、0と1の信号をサーバークライアント間で発受信しているということでしょうか?非常に非効率な気がします。

                                          回答 (14件中の1件目) 「最終的に、0と1の信号を…発受信している」おかげで現実的な価格で世界中と通信することができるようになりました。 このデジタル処理の理論とそれを実現する電子回路(コンピュータも含めて)の登場発展によって低品質な回線でも高品質な通信ができるようになったのです。 エラーを検出して再送する事により、((後で出る)エラー訂正ではリカバーできなかった) ”ノイズ”をユーザーに気づかせること無く正しいデータを送ることができます。これはインターネットのように、パケット通信でなければ実現困難です。インターネットで通常使われるTCPが高品質なのはこの再送のおかげです。(UD...

                                            インターネットは最終的に、0と1の信号をサーバークライアント間で発受信しているということでしょうか?非常に非効率な気がします。
                                          • 機械学習のパラメータチューニングを「これでもか!」というくらい丁寧に解説 - Qiita

                                            はじめに 私はこれまで機械学習のパラメータチューニングに関し、様々な書籍やサイトで学習を進めてきました。 しかしどれもテクニックの解説が主体のものが多く、 「なぜチューニングが必要なのか?」 という目的に関する記載が非常に少なかったため、体系的な理解に苦労しました。 この経験を後世に役立てられるよう、「初心者でも体系的に理解できる丁寧さ!」をモットーに記事にまとめたいと思います。 具体的には、 1. パラメータチューニングの目的 2. チューニングの手順とアルゴリズム一覧 3. Pythonでの実装手順 (SVMでの分類を例に) の手順で解説を進めます。 独自解釈も含まれるため、間違っている点等ございましたら指摘頂けると有難いです。 なお、文中のコードはこちらのGitHubにもアップロードしております。 2021/9/6追記:LightGBMのチューニング実行例追加 以下の記事に、Ligh

                                              機械学習のパラメータチューニングを「これでもか!」というくらい丁寧に解説 - Qiita
                                            • Linux ファイルシステムを理解したい - Qiita

                                              ]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ファイルシステムとは何か? データを管理/操作するための仕組み。 ファイルとディレクトリで構成されていて、/ を基点とした木構造になっている。 # ls -l / 合計 56 lrwxrwxrwx. 1 root root 7 8月 25 01:17 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 9月 29 15:51 boot drwxr-xr-x. 19

                                                Linux ファイルシステムを理解したい - Qiita
                                              • この TypeScript が Hello, world! のくせに慎重すぎる - Qiita

                                                この記事は npm へ公開可能なパッケージを TypeScript で作成しながら、JS/TS 開発で良く使われるツールを紹介する記事です。 typescript-npm-starter という名前の Hello, world! パッケージを公開するという体で話を進めます。

                                                  この TypeScript が Hello, world! のくせに慎重すぎる - Qiita
                                                • サーバーレスアーキテクチャ再考 - ゆううきブログ

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

                                                    サーバーレスアーキテクチャ再考 - ゆううきブログ
                                                  • 1,000行で作るオペレーティングシステム

                                                    「Writing an OS in 1,000 Lines」 というオンラインブックを書きました。ゼロから1,000行でOSを作るという内容です。 『自作OSで学ぶマイクロカーネルの設計と実装』 とは違い、最初の一歩の部分を重点的に解説しています。シンプルなモノリシックカーネル設計で、実装の解説だけでなくカーネルプログラミング特有の難しい部分、特に「カーネルをどうデバッグすれば良いか」をおさえた、初学者向きの内容になっています。 3日ほどあれば済むボリュームです。夏休みの自由研究がてら、ぜひチャレンジしてみてください。

                                                      1,000行で作るオペレーティングシステム
                                                    • フロントエンドエンジニアが知るべきキャッシュを理解する

                                                      キャッシュは、CPUのバスやネットワークなど様々な情報伝達経路において、ある領域から他の領域へ情報を転送する際、その転送遅延を極力隠蔽し転送効率を向上するために考案された記憶階層の実現手段である。(引用: フリー百科事典『ウィキペディア(Wikipedia)』) こんにちは、@kaa_a_zu です。私たちエンジニアは、「キャッシュ」というワードをよく口にしています。それはインフラの設計をしている時かもしれないし、表示されるコンテンツが変わらない時かもしれないし、パフォーマンスの改善をしている時かもしれません。普段何気なく使っている「キャッシュ」とは一体何なのでしょうか。この記事は、そんな「(Webフロントエンドを触るエンジニアが知るべき)キャッシュ」について、どんなものがあるのかがちょっと分かったという状態になることを目的に書いています。

                                                        フロントエンドエンジニアが知るべきキャッシュを理解する
                                                      • ソフトウェア設計についての原則や法則についてまとめてみた

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

                                                          ソフトウェア設計についての原則や法則についてまとめてみた
                                                        • 趣味のプログラミングで博士号を取った社会人の覚え書き

                                                          ※追記:本記事では論文誌、学会名や社外講座名などを伏せております。もし必要でしたらSNS等にてお尋ねください(少しググれば見つかりますが)。 私は2022年3月に博士号(工学)を取得しました。いわゆる社会人博士というものです。 自分が博士課程に在籍していたときに、他の方のブログを読んで参考になったので、このようなものは数が多いほうがよいだろうと考え、自分の記録も残しておこうと思います。この記事が誰かの参考になれば幸いです。 tl;dr 研究者としては並以下の、プログラミング好きな研究者(40代管理職)が、4年かけて、「新しいソフトウェア作ったよ」という仕事とは無関係のテーマで博士号を取りました。 どのような人間か 私は企業の研究所に務めている研究者です。物理実験系の修士課程を修了し、情報系の研究所に入社するという、やや異色の経歴です。博士課程進学時(2018年4月)の肩書は主任研究員で、部

                                                            趣味のプログラミングで博士号を取った社会人の覚え書き
                                                          • 場面緘黙という自身の問題を生成AIで解決するアプリを開発した小学5年生「相手の話した内容をもとに返答の選択肢を生成」

                                                            寺本.hackforplay(); @teramotodaiki プロフィールと背景情報をあらかじめ用意しておけば、あとは相手の話した内容をもとに選択肢を表示してくれて、ボタンを押すだけ これ全人類にとって理想のUIでは??? #未踏ジュニア pic.twitter.com/4PAUCrC7nV 2023-11-03 11:53:30

                                                              場面緘黙という自身の問題を生成AIで解決するアプリを開発した小学5年生「相手の話した内容をもとに返答の選択肢を生成」
                                                            • 『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - 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
                                                              • ECサイト構築・運用セキュリティガイドライン | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構

                                                                近年、ECサイトからの個人情報及びクレジットカード情報の流出事件が多数発生しており、被害の大半を中小企業の自社構築サイトが占めています。中小企業の自社構築サイトにおいては、セキュリティ対策の必要性が十分に理解されていないため、適切なセキュリティ対策が行われず被害を招いている状況です。 ECサイトのセキュリティ対策を強化するため、IPAではECサイト構築・運用時のセキュリティ対策をまとめた「ECサイト構築・運用セキュリティガイドライン」を作成し、本日(2023年3月16日)、公開しました。 ガイドラインの内容 ECサイトでひとたび事故及び被害を発生させてしまうと、ECサイトの長期間の閉鎖に伴う売上高の大幅な減少や、原因調査や被害の補償等の事故対応費用を含む甚大な経済的損失が発生します。 本ガイドラインは、ECサイトを構築、運営されている中小企業の皆様に、ECサイトのセキュリティ対策を実施する

                                                                  ECサイト構築・運用セキュリティガイドライン | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
                                                                • GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG

                                                                  はじめに こんにちは、CTO/DevRelブロックの堀江(@Horie1024)です。ZOZOではGitHub Copilotを全社へ導入しました。本投稿では、GitHub Copilotの導入に際して検討した課題とその課題の解決策としてどのようなアプローチを取ったのかを紹介します。 目次 はじめに 目次 GitHub Copilotとは何か? GitHub Copilot導入の背景と目的 導入する上での課題 セキュリティ上の懸念 ライセンス侵害のリスク GitHub Copilot for Businessの利用 導入による費用対効果 試験導入による費用対効果の見積もり 試験導入の実施 対象者の選出 アンケートの設計 試験導入の実施 アンケート結果の集計 アンケート結果の考察 費用対効果の見積もり 全社導入の判断 導入決定後のGitHub Copilot利用環境の整備 社内LT会 おまけ

                                                                    GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG
                                                                  • MySQLが得意なこと、不得意なこと(仮)

                                                                    2021/12/17 Engineers in CARTA vol.2 #MySQL https://voyagegroup.connpass.com/event/231708/ 得意なことというより特異なことを紹介するコーナーになってしまった

                                                                      MySQLが得意なこと、不得意なこと(仮)
                                                                    • マルチスレッド・プログラミングの道具箱

                                                                      まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

                                                                        マルチスレッド・プログラミングの道具箱
                                                                      • 英語学習法について2021年3月 | suusan2go blog

                                                                        外資系の会社に入社して2ヶ月くらい経った。幸い今のところ能力不足でクビになる気配はなくボチボチ英語環境にもなれてきたところなので、後々自分で効果を振り返るために今やっている英語学習についてまとめた。前提として自分の英会話能力は、1:1 でのやりとりなら大丈夫、ミーティングで意見を言う・質問に答えるのものもまあいける、議論を仕切ったりドライブしたりするのはまだ結構厳しいかもと言ったレベル感です。誰かの参考になれば幸いです。 最近やっていること スピーキング ベタだけど 1 年前から Gaba に通っている。開始して一ヶ月くらいでパンデミックになってしまったので、その後は半年ほど休止。今の会社にオファーをもらったタイミングで Gaba がオンラインレッスンを提供しはじめていたので、オンラインレッスンのみ受講に切り替えて今に至っている。他の英会話レッスンをやったことがないので費用対効果は何とも言

                                                                        • [速報]マイクロソフト、開発環境をまるごとクラウドPCとして用意できる「Dev Box」を発表。Microsoft Build 2022

                                                                          [速報]マイクロソフト、開発環境をまるごとクラウドPCとして用意できる「Dev Box」を発表。Microsoft Build 2022 マイクロソフトは現在開催中の開発者向けイベント「Microsoft Build 2022」で、アプリケーションの開発環境をまるごと、クラウドPCのようなデスクトップ仮想化の仮想マシンとして用意できる「Microsoft Dev Box」を発表しました。 マイクロソフトは、アプリケーションのビルドやデプロイなど一連のツールを用いた開発環境の構築はどんどん複雑になっており、開発チームのメンバーは開発環境の構築に大きな手間や時間を割いていると指摘。 Dev Boxは、あらかじめ必要な開発環境やソースコード、ライブラリなどをまとめて仮想マシンとして用意できるため、開発チームに参加するメンバーはすぐに仮想マシンに対してリモートデスクトップもしくはWebブラウザで接

                                                                            [速報]マイクロソフト、開発環境をまるごとクラウドPCとして用意できる「Dev Box」を発表。Microsoft Build 2022
                                                                          • デザイナーとフロントエンドエンジニアに知ってほしいWebのフォント周りのお話

                                                                            こんにちは。TAK(@tak_dcxi)です。 今回記事にするのはタイトル通り「デザイナーとフロントエンドエンジニアに知ってほしいWebのフォント周り」についてです。以前ツイートしましたが、特に説明もなかったので自分の備忘録も兼ねて。 Androidに明朝体は無い Apple製品しか利用しないデザイナーの方に話したら非常に驚かれるのですが、Androidにはデフォルトで明朝体は入っていないです。 よく明朝体マシマシのデザインを見かけたりするのですが、デバイスフォントだけではAndroidでそのデザインを実現することは不可能だと思っておいたほうが良いでしょう。 ただ、明朝体のWebフォントを利用すればAndroidでも明朝体は表示できるので、デザイン的に明朝体が必須って場合はWebフォントを利用しない手は無いと思います。 個人的見解ですが、デザイン重視なら明朝体はGoogle FontsでN

                                                                              デザイナーとフロントエンドエンジニアに知ってほしいWebのフォント周りのお話
                                                                            • 最小限のコードで動く最も汚いコードから始める

                                                                              最小限のコードで動く最も汚いコードから始める 2023.09.02 コードを書く際の重要な要点は、読みやすく他人に理解される「良いコード」を書くことです。しかし、完璧を目指して最初から書こうとすると行き詰まります。代わりに、荒削りながらも動くコードを作成し、徐々にリファクタリングして完成度を高めます。型エラーやリントエラーを無視しても構わないので、まずは動くものを作成しましょう。それからリファクタリングして「良いコード」を作成できます。 コードを書くときに最も大切なことってなんだろう?聡明な読者諸君ならご存知だろうが、コードは書く時間よりも読む時間のほうが長い。だから他人に読まれることを意識して、読みやすい「良いコード」を書かなくっちゃならない。コンポーネントは適切な粒度で分割されていて、適切な名前がつけられている。型システムに安全性だって守られてるし、最新のなんとかアーキテクチャにも準拠

                                                                                最小限のコードで動く最も汚いコードから始める
                                                                              • スイカゲームの作り方

                                                                                はじめに Go言語用のEbitengineというゲームエンジンに興味があったので、試しにスイカゲームもどきを作りってみました。Ebitengineを使うと意外と簡単にスイカゲームもどきを作る事ができたので、なるべく分かりやすく作り方を紹介してみようと思います。 まずは先に完成品をお見せします。ちなみにフルーツの回転は面倒くさいので実装しないことにしました。 ちなみにEbitengineはwasmでも普通に動きます。ビルドしたものをこちらに置いたのでブラウザから実際に動かす事ができます。 それではスイカゲームもどきを作って行きましょう。 描画する まず一番初めにフルーツの画像を作るところから始めます。これはリンゴ、オレンジ、ブドウ、パイナップル、メロン、スイカのつもりです。 続いてフルーツを定義します

                                                                                  スイカゲームの作り方
                                                                                • キーボード操作を意識したHTML/CSSコーディング

                                                                                  この記事は 「Webアクセシビリティ Advent Calendar 2020」 5日目の記事です。 アクセシビリティ Advent Calenderの記事を寄稿するにあたり、少しの工夫であらゆるユーザーに対して優しいWebサイトを作れるようなHTML/CSSコーディングの方法についてまとめました。より多くの人にとって優しい・使いやすいWebサイトを作ることは訪れてくださるユーザーの方々だけでなく、クライアントにとってもユーザーの機会損失を防ぐことができるので多大なるメリットがあります。(よくコードが適当でもデザインが見えていれば良いって意見を聞くけれどそんなことはない) ただ、アクセシビリティを意識したHTML/CSSコーディングについてのまとめだと内容量が非常に多くなりZennなら記事より本で出したほうがベターになってしまうので、今回は数あるアクセシビリティの視点から「キーボード操作で

                                                                                    キーボード操作を意識したHTML/CSSコーディング