並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 83件

新着順 人気順

_Complexityの検索結果1 - 40 件 / 83件

  • GPT-4

    We’ve created GPT-4, the latest milestone in OpenAI’s effort in scaling up deep learning. GPT-4 is a large multimodal model (accepting image and text inputs, emitting text outputs) that, while less capable than humans in many real-world scenarios, exhibits human-level performance on various professional and academic benchmarks. We’ve created GPT-4, the latest milestone in OpenAI’s effort in scalin

      GPT-4
    • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

      計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にある本を読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

        できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
      • スタートアップが鍵:人口5000万人に減っても2倍豊かな「日本4.0」を作る | Coral Capital

        月間10万人が読んでいるCoral Insightsのニュースレターにご登録いただくと、Coral Capitalメンバーによる国内外のスタートアップ業界の最新動向に関するブログや、特別イベントの情報等について、定期的にお送りさせていただきます。ぜひ、ご登録ください! 日本の人口は、ざっくり1億2000万人ですが、約100年後の2120年には4973万人にまで減るとの予想があります(国立社会保障・人口問題研究所の2023年4月の将来推計人口)。以下のグラフにあるように江戸期に3000万人を超えた日本の人口は、明治維新以降のわずか100年で3倍の1億人超となり、再び100年で半分以下に減ろうとしています。われわれは今、ジェットコースターで言えば最初の坂を登りきってスーッと滑り出して急降下する坂に向かって走り始めたところです。 50年後や100年後については出生率や外国人比率など予想が難しい要

          スタートアップが鍵:人口5000万人に減っても2倍豊かな「日本4.0」を作る | Coral Capital
        • Sign-in form best practices  |  Articles  |  web.dev

          Sign-in form best practices Stay organized with collections Save and categorize content based on your preferences. Use cross-platform browser features to build sign-in forms that are secure, accessible and easy to use. If users ever need to log in to your site, then good sign-in form design is critical. This is especially true for people on poor connections, on mobile, in a hurry, or under stress.

          • Command Line Interface Guidelines

            Contents Command Line Interface Guidelines An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day. Authors Aanand Prasad Engineer at Squarespace, co-creator of Docker Compose. @aanandprasad Ben Firshman Co-creator Replicate, co-creator of Docker Compose. @bfirsh Carl Tashian Offroad Engineer at Smallstep, first e

              Command Line Interface Guidelines
            • システムの複雑さはどこから来るのか – 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
              • 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
                • データ視覚化のプロが選ぶデータ分析のオススメ本32選

                  データ分析&データ視覚化のコンサルティングをしております、永田ゆかりと申します。 これまで2000人以上の方にデータ分析や活用の研修・トレーニング講師、企業への分析コンサルティングをさせていただいており、仕事をさせていただく中で必要な本を読み続けているうちに、気がついたらデータ分析領域の本を200冊以上読んでいました。 中でもデータビジュアライゼーション・視覚化の領域に関しては私自身の得意領域ということもあり、数多く読み込んでいます。 本記事では数多くのクライアントの方々との問題解決に役立った知識・ノウハウが書かれている良書をご紹介させていただきますので、是非最後までご覧ください。 データ可視化そのものについて知りたいたは、こちらの記事からどうぞ。 データ可視化とは?その重要性や手法、よくある課題と解決策を解説 データ分析における視覚化(ビジュアライゼーション)系のおすすめの本17選1 S

                    データ視覚化のプロが選ぶデータ分析のオススメ本32選
                  • 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
                      • Design Docs at Google

                        One of the key elements of Google's software engineering culture is the use of design docs for defining software designs. These are relatively informal documents that the primary author or authors of a software system or application create before they embark on the coding project. The design doc documents the high level implementation strategy and key design decisions with emphasis on the trade-of

                          Design Docs at Google
                        • GraphQLを導入する時に考えておいたほうが良いこと | メルカリエンジニアリング

                          はじめに こんにちは、ソウゾウSoftware Engineerの@sue71です。連載:メルカリShops 開発の裏側 Vol.2の13日目を担当させていただきます。 以前メルカリメルカリShopsの技術スタックと、その選定理由でBFFの実装にGraphQLを採用していることをお伝えしました。メルカリShopsをリリースしてから約半年たった今、これまでを振り返ってGraphQLサーバーを実装する上での課題やあらかじめ考えておくと良い項目をまとめてみました。また、本記事ではメルカリShopsでGraphQLの実装としてApolloを採用しているため、Apolloの利用が前提の話もいくつか混在しています。予めご容赦ください。 GraphQLの説明や、メルカリShopsの実装方法に関しては以前こちらの記事で紹介しています。こちらも是非ご覧ください。 パフォーマンス課題 GraphQLは、アプリ

                            GraphQLを導入する時に考えておいたほうが良いこと | メルカリエンジニアリング
                          • 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
                            • ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog

                              この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ

                                ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog
                              • 最新メタ自己啓発本を読んで意識を高次元へ引き上げろ - 本しゃぶり

                                現代は変化の激しい時代である。 生き残るには今より高次の視点が必要だ。 これが最新の自己啓発トレンドだ。 メタ自己啓発本の年 自己啓発本は好きだろうか。俺は大好きである。読むだけで成功した気分を味わえ、簡単に気持ちよくなれる。あまりにも自己啓発本が好きすぎて、今年5月にこんな記事を書いたくらいだ。 これは「ビジネス書100冊の教えをまとめた本」と「自己啓発書100冊の教えをまとめた本」の教えを一つにまとめた記事である。ちょうど同時期に似たような宣伝文句の本が出ていたので、統一させたくなったのだ。 だが2022年に出版されたメタ自己啓発本は、この2冊だけではない。 先行すること3月、"反自己啓発の書" こと『地に足をつけて生きろ!』が発売される。4月に上記の2冊が発売。8月には近代日本における自己啓発150年史を書いた『「修養」の日本近代』が参戦。そして10月に『なぜ、自己啓発本を読んでも成

                                  最新メタ自己啓発本を読んで意識を高次元へ引き上げろ - 本しゃぶり
                                • Googleがコードレビューのガイドラインなど、ソフトウェアエンジニアリング実践のためのドキュメント「Google Engineering Practices Documentation」を公開

                                  Googleがコードレビューのガイドラインなど、ソフトウェアエンジニアリング実践のためのドキュメント「Google Engineering Practices Documentation」を公開 ライセンスはクリエイティブコモンズの「表示 3.0 非移植 (CC BY 3.0)」で、複製や再配布、営利目的を含めた改変や翻案が可能になっています。 Googleで一般化されたエンジニアリングプラクティス Googleはこのドキュメントを次のように紹介しています。 Google has many generalized engineering practices that cover all languages and all projects. These documents represent our collective experience of various best practic

                                    Googleがコードレビューのガイドラインなど、ソフトウェアエンジニアリング実践のためのドキュメント「Google Engineering Practices Documentation」を公開
                                  • 今は、もう、動かない、その User-Agent 文字列

                                    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、広告エンジニアの中山です。 唐突ですが、みなさまの Web アプリケーションに User-Agent 文字列を参照する処理はありますか? User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.1234.56 Safari/537.36例えば User-Agent 文字列を解析して内容に応じて制御を分岐させたり、機械学習の特徴量として用いたり、さらには一般に悪しきユースケースとされていますが IP アドレスと組み合わせて fingerprinting に活用する … と

                                      今は、もう、動かない、その User-Agent 文字列
                                    • ソフトウェア設計の Why & What & How | Wantedly Engineer Blog

                                      こんにちは、開発チームのアーキテクトをやっている竹野(@Altech)です。先日、新人研修でソフトウェアの設計について話す機会がありました。 ソフトウェアの設計というのは関連する領域が広いため、どうしても断片的な理解になりがちです。そこで、早い段階で全体像を感じてもらうために、ソフトウェア設計の Why と How と What を1時間でまとめて話すというちょっと意欲的なコンセプトで研修を行いました。今回は、その内容を記事にしました。 この研修のねらいはじめにソフトウェアの設計について書かれた情報は世の中に多いですが、その情報の多くは How であり、それだけを読んで適切に使うことが難しいと感じています。その直接的な理由は、How に対しての What、How / What に対しての Why が語られることが少ないからです。 ただ、How だけを知っていると、それは本当に問題を解決して

                                        ソフトウェア設計の Why & What & How | Wantedly Engineer Blog
                                      • 5年後には標準になっている可観測性のこと - Learning Opentelemetry の読書感想文 - じゃあ、おうちで学べる

                                        はじめに 本稿は、オープンソースの可観測性(Observability)プロジェクトである OpenTelemetry を取り上げた書籍「Learning Opentelemetry」の読書感想文です。従来の可観測性の課題であったデータの分断を解消し、トレース、メトリクス、ログなどの様々なテレメトリデータを統合的に扱うことができる OpenTelemetry は、可観測性の分野における革命的な存在と言えます。 過去10年間で、可観測性はニッチな分野から、クラウドネイティブの世界のあらゆる部分に影響を与える数十億ドル規模の産業へと発展しました。しかし、効果的な可観測性の鍵は、高品質のテレメトリデータにあります。OpenTelemetryは、このデータを提供し、次世代の可観測性ツールと実践を開始することを目的としたプロジェクトです。 learning.oreilly.com 本書の想定読者は、

                                          5年後には標準になっている可観測性のこと - Learning Opentelemetry の読書感想文 - じゃあ、おうちで学べる
                                        • GraphQL Client Architecture Recommendation 社外版 | メルカリエンジニアリング

                                          この記事は、Merpay Advent Calendar 2022 の15日目の記事です。 こんにちは。メルペイのvvakameです。 最近、社内向けにGraphQL Client Architecture Recommendationというドキュメントを書きました。社内のiOS/Android、そしてバックエンドのエンジニア向けにGraphQLをやるならこの辺りの条件を満たしておかないと恩恵を感じられなくなっちゃうかもよ、と伝えるためのものです。嬉しいことに、今までに100名弱の人たちがこのドキュメントを閲覧してくれたようです。 これをAdvent Calendarで公開するために、ちょっと調整したものがこの社外版です。 すでにGraphQLをやっているけどあまり便利じゃないな…なんでだろ?とか、これから導入したいんだけど何を気をつけるべきかな…と考える時の材料にしてください。 併せて、

                                            GraphQL Client Architecture Recommendation 社外版 | メルカリエンジニアリング
                                          • Production Ready GraphQLはGraphQLを採用するなら必ず読んでおきたい良書

                                            タイトルのとおりです。この本を読まずにGraphQLについての記事を書いたりしツイートしてたのが恥ずかしいくらいに良質なプラクティスが記載されています。GraphQLを採用して悩むことのほとんどはこの本に書いてあるくらいな印象で、この本を読むと効率よくGraphQLを使った開発の品質を向上できると思います。 どんな人が書いた本なのか 著者はMarc-André Girouxという方で、GitHubとShopifyに勤務しGraphQL APIを開発する仕事をしていたと書籍に書いてあります。GraphQLをやってる人ならこの時点でもう刺さったかもしれませんが、どちらの企業もGraphQLを採用していることで有名です。GraphQLスキーマを設計する上でGitHubやShopifyのスキーマや記事を参考にする方も多いのではないでしょうか。その両方で働いてたという時点で納得の説得力です。Grap

                                              Production Ready GraphQLはGraphQLを採用するなら必ず読んでおきたい良書
                                            • Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog

                                              Software Design連載開始 ※ (2021/09/02 08:55) 「Pythonを用いて開発を始めたのが2003年」を「Pythonを用いて開発を始めたのが2002年」に修正 こんにちは。金谷です。 このたび、モノタロウにおけるPython大規模開発に関する取り組みを、技術評論社様で発刊されている Software Design に連載させていただくことになりました。 モノタロウがPythonを用いて開発を始めたのが2002年。2021年の現在もPythonを用いた開発が続けられています。 事業の成長に伴い、関連するシステムやエンジニアの数も増え続けていくなかで、いかに安定的に価値を提供し続けられるのか。 モノタロウにおける取り組みを、開発や運用周りを通してご紹介していきます。 本記事の初出は、 Software Design2021年8月号「Pythonモダン化計画(第1

                                                Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog
                                              • htmxとは何なのか? その背景にある思想について - Qiita

                                                先日、Qiitaに投稿された一つの記事が注目を集めました。 元記事では、htmxというJavaScriptライブラリが英語圏で認知を獲得しているとして、インストールの仕方から使い方について公式のドキュメントの全体にわたって簡単に説明が行われています。 さまざまなプラットフォームでこの記事に対する反応を観察してみると、どちらかというと懐疑的な見方のほうが優勢のように見受けられます。ただ、多くのコメントは誤解に基づいているように見受けられました。「JSが要らない」といった元記事のミスリードによるところも大きそうですが1、なぜhtmxが大きく支持を得つつあるのかを理解するには、背景情報を含めて理解することが必要です。 htmxは、最近の複雑化するフロントエンド技術に対する単なる逆張りではありません。これまで30年ほどのあいだウェブ上のシステムを支え続けた「ハイパーメディア」の持つ強力さに今一度目

                                                  htmxとは何なのか? その背景にある思想について - Qiita
                                                • 【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog

                                                  はじめに 本記事は前回の記事である「ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog」の続編です。 前回の記事の内容がベースとなっていますので、「APoSD って何だっけ?」という場合はぜひ前回の記事をご覧になってから、以下にお進みください。 ということで、後編の対話パートにさっそく入っていきましょう! Pull Complexity Downwards iwashi: APoSD では、複雑性を下に追いやる(Pull Complexity Downwards)という話が出てきます。何らかの処理が複雑になる場合、それを隠蔽してインターフェースを極力シンプルに保つ、というのがAPoSDの主張です。 こちらに関しても、社内勉強会中で

                                                    【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
                                                  • スキルについて最近思うこと - NRIネットコムBlog

                                                    こんにちは越川です。スキルと言われると、皆さんはどんなイメージをしますか?。最近では、VUCAという言葉をよく耳にするようになりました、このVUCA(ブーカ)とは、Volatility(変動性)、Uncertainty(不確実性)、Complexity(複雑性)、Ambiguity(曖昧性)という4つの単語の頭文字をとった言葉で、変化が激しく今後の予測をすることが難しくなっている状況を指します。今回は変化の激しいVUCAと言われる時代の中で、最近、思うことを書いてみようと思います。 スキルの種類 双方をバランスよく身に着けることの重要性 個人的に重要だと思うソフトスキル5選 1.構造化思考 2.シミュレーション思考 3.天秤思考 4.個別最適化思考 5.優先順位付け おわりに スキルの種類 スキルには様々な定義がありますが、その一つにソフトスキルとハードスキルという考え方があります。簡単に

                                                      スキルについて最近思うこと - NRIネットコムBlog
                                                    • 打ち込んだメロディーを学習しAIが自動作曲するソニーCSL制作の無料楽曲制作アプリ「Flow Machines Mobile」レビュー

                                                      ソニーコンピュータサイエンス研究所(ソニーCSL)が開発した楽曲製作アプリ「Flow Machines」のモバイル版「Flow Machines Mobile」の配信が、2021年9月9日から開始されました。ユーザーが打ち込んだメロディーを基に、AIがユーザーの望むスタイルに合わせたメロディーを自動生成してくれるとのことで、どんなものなのか実際に触れてみました。 Flow Machines – AI assisted music production https://www.flow-machines.com/ Flow Machines mobileはiOS向けに提供されているとのことですが、記事作成時点でiPadにのみインストールが可能とのことでした。そのため、iPadでApp Storeにアクセスし、アプリをインストールします。 Flow Machines mobileを開くと、SN

                                                        打ち込んだメロディーを学習しAIが自動作曲するソニーCSL制作の無料楽曲制作アプリ「Flow Machines Mobile」レビュー
                                                      • ルーク・スカイウォーカーの初登場までに17分もかかった理由『脚本の科学』

                                                        面白い物語の法則として「主役はできるだけ早く登場させて印象づけろ」というものがある。 にも関わらず、最初の『スター・ウォーズ』はこのルールを破っている。小さな宇宙船を追跡する超大型戦艦から始まり、悪の親玉に捕まるお姫様を描き、辛くも脱出するロボットのコンビを描く。 メイン・キャラクターであるルーク・スカイウォーカーが出てくるのは、映画が開始して17分が経過してからになる。 一方、『スター・ウォーズ』のオリジナルの脚本では、4ページ目からルークが紹介されるシーンがある。ほぼ冒頭から登場するのだが、このシーンは映画に入っていない。脚本家のジョージ・ルーカスは慣習に従ってルークを冒頭で出しているが、監督のジョージ・ルーカスはそうしなかった。 なぜか? 様々な説が考えられるが、『脚本の科学』によると、「その必然性が無かったから」になる。 いきなり始まる怒涛のバトル&追跡劇で息つく暇もない観客は「逃

                                                          ルーク・スカイウォーカーの初登場までに17分もかかった理由『脚本の科学』
                                                        • 認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介

                                                          認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介 この記事の目的 ここ数年で、ソフトウェア開発やプログラミングの文脈で、「認知負荷」 および 「認知負荷理論」 という用語をよく見聞きするようになりました。私が今思い出せるだけでも、以下のような書籍や Podcast で重要なキーワードとして取り上げられています。 A Philosophy of Software Design, 2nd Edition チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ fukabori.fm 102. A Philosophy of Software Design (3/3) w/ twada この「認知負荷」ですが、少なくとも近年見聞

                                                            認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介
                                                          • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

                                                            こんにちは! エンジニアリンググループ マルチデバイスチーム 新卒1年目の小林です。 エムスリーでは、2週間に1度、Tech Talkという社内LT会(現在はリモートで)が開催されています。これは、とある回の発表テーマリストです。 Tech Talkのとある回の発表テーマリスト このように、最近エムスリーでは文字列が流行っている(?)ようなので、その勢いに乗って私も文字列照合アルゴリズムについて書きたいと思います!(業務とは全然関係ない話です) Knuth-Morris-PrattやBoyer-Mooreアルゴリズムは解説記事がたくさん出ていると思うので、この記事ではシンプルかつ高速なQuick-SearchとQuite-Naiveアルゴリズムについて説明し、速度比較を行った結果についてご紹介します。 文字列照合アルゴリズムとは テキストとパターンという文字列が与えられたときに、中に出現す

                                                              シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
                                                            • P++: 銀河に平和をもたらすための奇策と決着 - Qiita

                                                              PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる というキャッチーな紹介をするP++: 静的型付けをめざすPHPという記事がそれなりに話題になり、このニュースは目覚しく革新的な内容で、多くのひとの目を引き付けました。 これは早まった理解であり、ほとんど誤報と言ってもいい内容でした。2019年8月15日には提案者本人も、少くとも「P++」の計画を短期的に実現するととは非現実的であり時期尚早であることを認めています。 この記事では、PHP開発の現状、なぜ野心的なP++計画が提案され、事実上撤回されたかの経緯について紹介します。 [中立性のための表示] この記事の著者@tadsanはPHPの静的解析を強く推進する立場です。 PHPゆるふわCI入門 PHP型検査・夢と理想と現実) 三行で要約 PHPはバージョンを経るごとに「歴史的経緯」による負債が削ぎ落されてきた

                                                                P++: 銀河に平和をもたらすための奇策と決着 - Qiita
                                                              • ジュニアエンジニアを脱却するための「コンテナ流儀」 - Uzabase for Engineers

                                                                こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 この記事は、 NewsPicks Advent Calendar 2023 の23日目の記事になります。 qiita.com 昨日ははぐっさんによる「SwiftUIのKeyframeAnimatorでちょっとしたカードアニメーション 〜猫の手を添えて〜」でした! はじめに コンテナ流儀: 必要最低限のものだけで運用する Point1)レイヤーは少ないほどいい TIP:ベースイメージを作る Point2)不要なパッケージをインストールしない Point3)いつ再起動してもいいコンテナを作る Point4)独立したアプリケーションにする TIP:複数のプロセスを実行したい場合もある TIP:環境変数を積極的に使う Point5)フォアグラウンドで実行する 終わりに まとめ 感想 告知 はじ

                                                                  ジュニアエンジニアを脱却するための「コンテナ流儀」 - Uzabase for Engineers
                                                                • Do You Really Need Redis? How to Get Away with Just PostgreSQL

                                                                  Do You Really Need Redis? How to Get Away with Just PostgreSQL There’s a tried-and-true architecture that I’ve seen many times for supporting your web services and applications: PostgreSQL for data storage Redis for coordinating background job queues (and some limited atomic operations) Redis is fantastic, but what if I told you that its most common use cases for this stack could actually be achie

                                                                    Do You Really Need Redis? How to Get Away with Just PostgreSQL
                                                                  • GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.

                                                                    Architecture styles define how different components of an application programming interface (API) interact with one another. As a result, they ensure efficiency, reliability, and ease of integration with other systems by providing a standard approach to designing and building APIs. Here are the most used styles: SOAP: Mature, comprehensive, XML-based Best for enterprise applications RESTful: Popul

                                                                      GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
                                                                    • マイクロソフトの調査にみるコードのオーナーシップと品質の関係 - mtx2s’s blog

                                                                      ひとつのソフトウェアコンポーネントが多くの開発者によって変更されると、品質に悪い影響を与えると経験的に感じている。設計に一貫性が失われることや、知識の浅い状態で変更することによるバグ混入の可能性が高まるからだ。 2011年9月に公開されたマイクロソフト社の調査結果、"Don’t Touch My Code! Examining the Effects of Ownership on Software Quality" は、この「コードのオーナーシップはソフトウェアの品質を左右する」という経験則を裏付けるものだった。全体のコミット数のうち5%未満の貢献にとどまる開発者が多いコンポーネントは、リリース前後における故障が増加するというものだ。 本稿では、このマイクロソフトによる調査結果を紹介し、それを踏まえた上で、ソフトウェアプロダクトの品質悪化を抑えるための組織やプロセス、アーキテクチャについ

                                                                        マイクロソフトの調査にみるコードのオーナーシップと品質の関係 - mtx2s’s blog
                                                                      • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

                                                                        技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

                                                                          プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
                                                                        • DDDを実践するための手引き(概論・導入編)

                                                                          ナニコレ DDDは「Domain-Driven Design(ドメイン駆動設計)」の略語で、エリック・エヴァンスさんという人が考えるソフトウェア設計におけるプラクティスまとめみたいなものです。 『エリック・エヴァンスのドメイン駆動設計』というバイブル的な書籍がありますが、「途中で挫折した」「読んでもよくわからない」「よくわからないけど自分なりに解釈して実践している」というような感想をよく聞きます[1]。DDDの概念は幅広く、哲学的で、抽象的であるため、DDDをどのように解釈しどのように実践すればいいのかわかりにくいものです。 この記事ではそのような問題に悩んでいる人たちのために、数年に渡りDDD(的なもの)を実践してきた筆者が噛み砕いた(個人の独断的な)解釈と実践方法を解説します。 DDDってなぁに? DDDがカバーする領域 DDDが言及する範囲はとても幅広いです。エリック・エヴァンスさん

                                                                            DDDを実践するための手引き(概論・導入編)
                                                                          • 会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog

                                                                            はじめに こんにちは。 バックエンドエンジニアの松本です。今回は、会計システムの開発を通じて、 CADDi におけるプロダクト開発の様子を紹介します。 2024年3月現在、CADDiでは2つのサービスを提供しています。1つは図面データ活用クラウド「CADDi Drawer」で、もう1つは加工品製造サービス「CADDi Manufacturing」です。 今回、後者の加工品製造サービス「CADDi Manufacturing」向けに、 会計システムを構築しました。これは、生産管理システムや拠点管理システムから取得した各種情報を基にして、会計仕訳データを生成し、経理部門に公開する役割を持ちます。 はじめに 会計システムのアーキテクチャとその狙い 計算処理を少しずつ進める 会計数値の妥当性をダッシュボードに表示する 会計システムのモデリングと最初の開発 仕訳の流れを整理して、ドメインモデル、デー

                                                                              会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog
                                                                            • Modern web apps without JavaScript bundling or transpiling

                                                                              August 12, 2021 Modern web apps without JavaScript bundling or transpiling I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that

                                                                                Modern web apps without JavaScript bundling or transpiling
                                                                              • 「イカの脳をMRIで輪切りにする」実験で犬に匹敵するイカの知能の秘密が解明される

                                                                                by Jin Kemoole イカの脳を最新のテクノロジーでスキャンした研究により、これまで発見されていなかった145個もの神経経路が発見されました。これにより、高度な擬態能力や発達した視覚を持ち、犬に匹敵するニューロン数を有するとされているイカの知能の秘密が解き明かされつつあります。 Toward an MRI-Based Mesoscale Connectome of the Squid Brain - ScienceDirect https://www.sciencedirect.com/science/article/pii/S2589004219305620 Brain map reveals camouflage tactic of squid - Queensland Brain Institute - University of Queensland https://qbi

                                                                                  「イカの脳をMRIで輪切りにする」実験で犬に匹敵するイカの知能の秘密が解明される
                                                                                • Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに

                                                                                  Ruby言語によるWebアプリケーションフレームワークの最新版となる「Rails 7」が正式リリースされました。 Rails 7.0 FINAL: The fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. https://t.co/WxJ0nKYfE7 — Ruby on Rails (@rails) December 15, 2021 Rails 7の最大の変更点は、フロントエンド開発環境が刷新されてNode.jsを用いない構成がデフォルトとなったことでしょう。 Rails 6では、優れたフロントエンド開発環境を実現するためにトランスパ

                                                                                    Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに