並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 157件

新着順 人気順

オブジェクトの検索結果81 - 120 件 / 157件

  • 【初アプリ】未経験がFlutterで肉牛繁殖農家のためのアプリを作ってみた - Qiita

    はじめに 皆さんはじめまして、Takuと申します。 自分はエンジニアとしての業務も業界も未経験ですが、先日初めてFlutterで肉牛繁殖農家のための生育記録アプリ「Memow」をリリースすることができました。 今回初めての個人開発を通して、ゼロからのモノづくりの楽しさを実感しました。 しかしその反面、知識や経験のない中で、要件定義、設計、UI/UXデザイン、コーディングなど、これら全てをひとりで行うのはなかなか大変でした。 そこで、自分がどのように「Memow」を作っていったのかまとめたいと思います。 今回は、アプリリリースまでの工程の中でも、どのようにアプリの構想を作り上げていったのかという「設計」に焦点を当てています。 自分と同じようにアプリを作る中で悩んでいる人にとって、何かのヒントになれば嬉しいです! 肉牛生育記録アプリ「Memow」の紹介 自分が作ったのは、肉牛の生育日数や日々の

      【初アプリ】未経験がFlutterで肉牛繁殖農家のためのアプリを作ってみた - Qiita
    • Flux の失敗は Store に Store という名前をつけたこと - fsubal

      強い言い方だけど、Flux Architecture の失敗として Store に Store という名前をつけたことがあると思っている。 あるいは、黎明期の Flux は Store という名前で良かったんだけど、 #Redux はその名前を引き継がないほうが良かったんじゃないかと思っている。

        Flux の失敗は Store に Store という名前をつけたこと - fsubal
      • JavaScriptデザインパターン入門 - Qiita

        1. はじめに JavaScriptデザインパターンは、JavaScriptを使ってプログラムを書くときによく出くわす問題を解決するためのガイドです。これらのパターンの背後にある考え方を理解することで、自分の問題に適用することができます。また、これらのパターンが自分のコードに役立つ場合を見つけることもできます。 2. モジュールパターン モジュールパターンは、JavaScriptのモジュールシステムの一部で、データを保護する方法を提供します。これは、モジュール内のプライベートなデータと動作を保護し、一方で公開APIを提供する方法です。これにより、プライベートとパブリックのアクセスレベルを持つ自己完結型のモジュールオブジェクトを作成することができます。 これは、JavaやC++のような言語でクラスにアクセス修飾子を使用するのに似ています。 JavaScriptでは、クロージャを使用してモジュ

          JavaScriptデザインパターン入門 - Qiita
        • リファクタリング専門チームによるお金周りリファクタリング - クラウドワークス エンジニアブログ

          こんにちは、エンジニアの @MinoDriven です。 今年2019年4月にリファクタリング専門チームを発足しました。 crowdworks.jp の最重要機能であるお金周りの機能に関して、どのような技術アプローチでリファクタしているかを紹介致します。特に、Railsには適用困難と言われているドメイン駆動設計の考え方を取り入れた手法を解説致します。 目次 背景 リファクタリング専門チーム発足 技術的負債 リファクタリング対象選定 方針①:パレートの法則(80:20の法則) 方針②:リファクタリング選定基準3軸 「仕事周り」か「お金周り」か お金周りモデルのリファクタリングを妨げるConcern 課題①:ActiveRecord側の構造に依存したコード 課題②:型や構造のチェック(リスコフの置換原則違反) 課題③:重要業務概念の埋没 どのようにリファクタしたか 手法①:Concern側メソ

            リファクタリング専門チームによるお金周りリファクタリング - クラウドワークス エンジニアブログ
          • 関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。

            先日Connpassにて、関数型プログラミングなんもわからん。を考えようと言うイベントを開かせていただきました。 関数型プログラミングがわからない! と言う方達の疑問に対して、普段関数型プログラミング言語を使っているわかる人たちが回答をして行くと言うスタイルのイベントでした。関数型プログラミング言語と一口に行っても、Elm, Scala, Haskell, Clojure, Elixir, F#と様々な言語があり(これは今回参加した人たちの使っている言語で、関数型プログラミング言語の一部にしか過ぎません)何が正解かなどはわからない中での意見の集約といった形のため参考程度にご覧ください。結果イベントとしては様々な視点からの意見が聞けて満足という声が多かったです。私自身知らないことがたくさん知れて勉強になり楽しかったです。 イベントの内容は、Figma上で開けるFigJamファイルとして、公開

              関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。
            • 本当にあったモーダルの怖い話 / Terrifying Nonfiction of Modal

              ABEMA weber 勉強会 2021/06/30, 07/07 --- @uenitty 本当にあったモーダルの怖い話 ABEMA weber 勉強会 2021/06/30, 07/07 背景と目的 2 • モーダルに驚くほど苦しめられたので、状況を説明して改善方法を提案する • OOUIの特徴のうち「操作性 / 使いやすさ」についての説明はよく見かける ので、今回は「開発効率 / 作りやすさ」の方に重点を置いて説明する • 「モーダルの方が実装が楽なのかと思っていた」というデザイナーの声が あったので、職種関係なく理解してもらえるような説明を試みる 内容 3 • 前提の認識合わせ • 本当にあった話 • 改善に向けて 既存のUI設計 4 前提の認識合わせ 「手続き」を完了させたい 5 • ビジネス要求 • 重要な「手続き」は開始したら迷いなく完了してほしい • 手続きの例 • アカウ

                本当にあったモーダルの怖い話 / Terrifying Nonfiction of Modal
              • Immutable.jsとImmer、ちゃんと使い分けていますか?

                昨今のフロントエンド開発では、データをイミュータブルなオブジェクトとして扱うのが主流です。すなはち、データが変わるときはオブジェクトを書き換えるのではなく、新しいデータを持った新しいオブジェクトを作ります。最近ではオブジェクトがデータとしてプログラムのあちこちで取り回されることが増えて、一度余所に渡されたデータの中身が後から変更されるのは混乱をきたし設計が困難になるというのが主な理由です。 データを変更するたびに新しいオブジェクトを作るのは、特にデータが複雑になったりネストしたりしていると面倒だしプログラムの見通しが悪くなります。そこで使われるのが、データをイミュータブルに扱うためのライブラリであるImmutable.jsとImmerです。 データをイミュータブルなものとして扱うという目的はどちらのライブラリでも達成することができますが、現在では Immer のほうが開発が活発であり、独自

                  Immutable.jsとImmer、ちゃんと使い分けていますか?
                • Unityを利用した大規模なゲーム開発にクリーンアーキテクチャを採用した話 - WonderPlanet Developers’ Blog

                  こんにちは、タノシムスタジオテックリードの吉谷です。タノシムスタジオでは2011年ごろからクライアントアプリケーションの開発にUnityを利用し始め、いろいろ試行錯誤をつづけた結果、現在ではクリーンアーキテクチャの考え方を取り入れています。 今回は、Unityを利用したゲーム開発にクリーンアーキテクチャを適用した例として、導入理由、具体的な構成、実際に感じたメリット、デメリットなどを紹介したいと思います。 クリーンアーキテクチャとは クリーンアーキテクチャはRobert C. Martin氏が自身のブログにて発表した、すべてのソフトウェアアーキテクチャが守るべき考え方やアプローチがまとめられた概念です。以下のような同心円状の図で説明されることが多いかと思います。 出典: The Clean Architecture クリーンアーキテクチャの説明自体は、検索していただければ優れた記事や書籍な

                    Unityを利用した大規模なゲーム開発にクリーンアーキテクチャを採用した話 - WonderPlanet Developers’ Blog
                  • フロントエンドとオブジェクト指向

                    フロントエンドの実装にオブジェクト指向をどのように取り入れるかを考えます。 動機 近年のフロントエンドは、Reactなどのフレームワークを使ったコンポーネントベースの設計が主流だと思います。コンポーネントは、HTMLによるマークアップ、CSSによるスタイリング、JavaScriptによる振る舞いがひとまとめにされた、再利用可能な部品です。 コンポーネントの設計を考えていると、次のような疑問が生じます。 何を基準にコンポーネントで分割すればよいか。 コンポーネントの粒度はどれくらいが適切なのか。 どのタイミングで抽象化すれば開発コストが無駄にならないか。 分業した際にコンポーネントの分割や粒度の基準をどのように統一するべきか。 そこで、いろいろ調べたり試したりしたところ、フロントエンドの設計にオブジェクト指向を取り入れることが、これらの答えの一つになるのではないかと考えました。 この記事では

                      フロントエンドとオブジェクト指向
                    • 【JavaScript】数千行のコードを数行にしてしまう Proxy の魔力 - Qiita

                      こんにちは。ぬこすけです。 最近(2022/10/20)に、ゆめみさんがクイズを出しました。 ゆめみさんの記事を読むと、 Proxy というオブジェクトが出てきました。 記事のタイトル通り「代入したのに、代入されない」、摩訶不思議なオブジェクトです。 Proxy って一体何者なんでしょうか? ゆめみさんのクイズの例では やめ太郎さんがたかしに改名するのを断固拒否する 例ですが、 実は Proxy には 数千行のコードを数行にしてしまう魔力 も持っているのです。 今回は JavaScript の Proxy について魔力についてご紹介したいと思います。 本来、 Proxy は難しい内容ですが、 setTimeout の時と同じく、 できるだけ初心者の方にもわかりやすく説明していきたいと思います。 Proxy って何? 簡単にいえば、 オブジェクトを魔改造できる ものです。 ゆめみさんの記事の

                        【JavaScript】数千行のコードを数行にしてしまう Proxy の魔力 - Qiita
                      • Flutter入門のためのDart入門 - Qiita

                        最近自分の中でWeb開発はReactJS、モバイルアプリ開発はFlutterが良いという結論がでました。 Flutterでの実装はDart言語で行います。 基本的なモダン文法をサポートしているため、他言語から入ってくる人には入りやすい言語だとは思います。 とはいえ、日本語情報でステップバイステップでDart文法がまとまっているところは少ないので まとめてみようと思ったのがこの記事です。 Flutterがよい理由 【翻訳記事】なぜFlutterにおいてDartを使用するのか? ・hot reloadが高速(AOT、JITの2段階のコンパイル) ・アイソレートとガベージコレクション最適化による軽快な動作 (Google内でFlutterのチームの近くにDartのチームがいたから・・・という理由もあるらしい) React Nativeもいじったのですが、 ・Webkitのビルドが重い(expoは

                          Flutter入門のためのDart入門 - Qiita
                        • Ruby 2.7正式版が登場、オブジェクトのパターンマッチ、REPLの改善など。次はRuby 3が年内登場予定!

                          毎年12月25日のクリスマスにアップデートされるオブジェクト指向スクリプト言語の「Ruby」。今回も新バージョンとなるRuby 2.7正式版が予定通り、2019年12月25日にリリースされました。 Ruby 2.7の主な新機能は、case文でのオブジェクトのパターンマッチ、コマンドラインからRubyが利用できるirbにおける複数行編集の対応、コンパクションガベージコレクタ、JITコンパイラ性能の改善などです。 Ruby 2.7の主な新機能 実験的実装による新機能として追加されたオブジェクトのパターンマッチ機能は、case文で使うことができます。 一般にパターンマッチとは文字列などの値に関するパターンの一致や不一致を思い浮かべますが、Ruby 2.7で追加されたのオブジェクトの構造がパターンと一致するかどうかが調べられ、一致した場合に処理が実行される、というものです。 これまでif分などを組

                            Ruby 2.7正式版が登場、オブジェクトのパターンマッチ、REPLの改善など。次はRuby 3が年内登場予定!
                          • 見よ、これがHonoのRPCだ

                            僕が開発しているWebフレームワークHonoは、同じJavaScriptのフレームワーク、Expressと比べられることが多いです。どちらもやれることはほぼ同じですが、HonoのアドバンテージはファーストクラスでTypeScriptをサポートしていることです。特に「RPC」機能は他のフレームワークにはなかった「TypeScriptの型でサーバーとクライアントの仕様を共有する」ことを可能にしています。今回はそのHonoのRPCについて紹介します。 どんなものか まず、どんなものかを箇条書きで共有します。 Web APIの仕様、特にインプット・アウトプットをサーバーとクライアント間で共有するためのもの OpenAPIやgRPCを使ってやりたかったことを叶えるかもしれない サーバーとクライアントをどちらもTypeScriptで書くことが大前提である 同種のものにtRPCがあるが、Honoの場合、

                              見よ、これがHonoのRPCだ
                            • 無料でルーブル美術館が全所蔵作品をオンライン公開へ

                              世界で最も訪問者が多いとされるルーブル美術館では、新型コロナウイルス感染症(COVID-19)の都市封鎖に伴い、ウェブサイトへのアクセスが急増したとのこと。これを受けてルーブル美術館は、美術館で公開されている作品、およびフランス北部の保存施設に収蔵されている作品など、全48万2000作品を無料でオンライン公開すると発表しました。公開された「Louvre site des collections」のデータベースでは、作品を見られるだけでなくダウンロードも可能となっています。 Louvre site des collections https://collections.louvre.fr/en/ コレクションは「PAINTINGS(絵画)」「DRAWINGS&ENGRAVINGS(ドローイングとエングレービング)」「SCULPTURES(彫刻)」「FURNITURE(家具)」「TEXTILE

                                無料でルーブル美術館が全所蔵作品をオンライン公開へ
                              • iOSアプリのメモリリークを発見、改善する技術 - クックパッド開発者ブログ

                                こんにちは。事業開発部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日、アプリケーションが特定の条件で意図せぬ状態に陥り、アプリケーションが重くなって端末が発熱する、というバグが発見されました。 調査の結果、このバグはメモリリークが原因で発生していました。 この反省を踏まえメモリリークを検知するテストを導入したため、本記事ではその事例を紹介したいと思います。 (本記事ではクックパッドアプリとはiOS版の「クックパッド」アプリのことを指すものとします) クックパッドアプリにおけるメモリリークの影響 クックパッドアプリはレシピの検索をコア機能としています。 検索は重い処理ですがAPIを通してサーバ上で行われるため、アプリは結果を表示するだけです。そのためメモリを多く必要としません。 これまでにも何度かメモリリークが発生している状況はありまし

                                  iOSアプリのメモリリークを発見、改善する技術 - クックパッド開発者ブログ
                                • Amazon S3のイベント通知は「稀に失われる」から「少なくとも1回配信」になっていました | DevelopersIO

                                  こんにちは。サービス部の武田です。Amazon S3 イベント通知は、以前は「稀に失われる」と書かれていましたが現在は「少なくとも1回配信」となっています。ドキュメントの更新履歴を追ってみました。 こんにちは。サービス部の武田です。 AWSではサービスのアップデートなどによって、それまでの常識やベストプラクティスは日々変化します。Amazon S3には イベント通知 という機能があり、オブジェクト作成や削除などをトリガーとして、Lambda関数などを実行できます。 さてこのイベント通知ですが、「たまに抜けることがある」という仕様上の注意がかつて存在しており、頭を抱えた開発者も多いのではないでしょうか。とはいえそれが常識でした。「かつて」と書いたように、実は現在の仕様ではその部分は削除され、代わりに At least once(少なくとも1回配信) となっています。 最近まで知らなかったので

                                    Amazon S3のイベント通知は「稀に失われる」から「少なくとも1回配信」になっていました | DevelopersIO
                                  • Pythonの用途別ライブラリ14選!おすすめの本も紹介

                                    Pythonには、random・datetime・os・re・math・sysなど頻繁に使うライブラリがある

                                      Pythonの用途別ライブラリ14選!おすすめの本も紹介
                                    • iOSDC 2019「SOLID原則を生活に適用する」全文以上書き起こし

                                      SOLID原則は、オブジェクト指向プログラミングにおける基本的な5つの原則です。 S — 単一責任の原則 (Single Responsibility Principle) O — 開放/閉鎖原則 (Open/Closed Principle) L — リスコフの置換原則 (Liskov Substitution Principle) I — インタフェース分離の原則 (Interface Segregation Principle) D — 依存関係逆転の原則 (Dependency Inversion Principle) コーディングにおいて、言語化できない不吉なにおい(Code Smell)を感じたときには、これらの原則に照らし合わせることで設計の間違いを言語化し、修正の手がかりを掴むことができます。 SOLID原則はもちろん、ソフトウェア設計のための原則です。 しかしオブジェクト

                                        iOSDC 2019「SOLID原則を生活に適用する」全文以上書き起こし
                                      • TypeScriptのジェネリクス型を使って型に柔軟性を持たせる - iimon TECH BLOG

                                        ■はじめに ■ジェネリクス型とは? ■ジェネリクス関数を作る ■extendsで制約を付与したジェネリクス型 ■keyofで制約を付与したジェネリクス型 ■ジェネリクスクラスを作る ■ユーティリティのジェネリクス型 ◆Required < Type > ◆Readonly< Type > ◆Pick< Type, Keys > ■最後に ■参考記事 ■はじめに こんにちは、株式会社iimonでエンジニアをしている「白水」です。 業務では、主にフロントエンドを担当させていただいています。 本記事はiimonアドベントカレンダー13日目の記事となります。 今回はTypeScriptの「ジェネリクス型」について書いていきたいと思います。 ■ジェネリクス型とは? ここにnamesという変数があり、文字列を要素として持っている配列があります。 この配列の型は、画像の通りstring[]です。 これは

                                          TypeScriptのジェネリクス型を使って型に柔軟性を持たせる - iimon TECH BLOG
                                        • TypeScriptのDIとTsyringeについて

                                          DIとは DI(Dependency Injection)とは、日本語訳で依存性の注入です。依存性の注入と聞くと、依存性という抽象的な概念を何かに注入するような印象を与えますが、依存性という言葉自体は依存対象を表します。 DIにおける依存対象は、オブジェクトのインスタンスです。つまり、Dependencyはオブジェクトのインスタンスを指します。そして、Injectionは外部から挿入するという意味を持つため、DIはオブジェクトのインスタンスを外部から挿入するという事になります。 DIのコード DIの対応前後のサンプルコードで比較を確認します。次のコードは、ブラウザのコンソールに「Saved yamada!」と出力します。実用性はないコードです。 DI対応前 import User from './user' export default class Database { saveUser(

                                            TypeScriptのDIとTsyringeについて
                                          • TypeScriptの型情報を使って、サポート対象のブラウザが実装してないメソッドの利用をエラーにするESLintルール

                                            TypeScriptの型情報を使って、サポート対象のブラウザが実装してないメソッドの利用をエラーにするESLintルール eslint-plugin-typescript-compatはTypeScriptプロジェクト向けのESLintルールです。 このESLintではサポートしているブラウザが、実装していないメソッドを検知してLintエラーにしてくれます。 JavaScriptではメソッドの静的解析は難しい(メソッド名が同じでも独自実装の可能性があるため)ですが、TypeScriptの型情報を使って静的解析をしています。 サポートしている機能 [ ] JavaScriptのビルトインオブジェクト [x] プロトタイプメソッド Array.prototype.find [x] 静的メソッド Array.from [ ] オブジェクト Promise [ ] DOM API 基本的にメソッド

                                              TypeScriptの型情報を使って、サポート対象のブラウザが実装してないメソッドの利用をエラーにするESLintルール
                                            • JavascriptのObjectリテラルとJSON.parseについて - abcdefGets

                                              V8のJSON.parseについて 最近(ちょっと前か)話題のオブジェクトリテラルよりもJSON.parseのほうが早い件について。 その理由を内部実装の観点から書く。 また注意点を最後に書いた。 話題のブログは以下から https://v8.dev/blog/cost-of-javascript-2019 パースについて V8はjavascriptコードをパースするにあたって、Lazy Parseを行っている。 Lazy Parse javascriptはブラウザという特殊な環境で実行される言語であるため、パースにも少々工夫が必要になる。 基本的にV8はすべてのソースコードをパースしない。 一旦グローバルスコープにあるものだけをちゃんとパースして、それ以外はPreParserというパーサで関数だけをかき集める。 function foo() { } function bar() { fu

                                                JavascriptのObjectリテラルとJSON.parseについて - abcdefGets
                                              • JavaScriptのプロトタイプ汚染攻撃対策は難しい - Qiita

                                                先日、私のプロジェクトで脆弱性関連のissueが投稿されたので対策を行いました。 指摘内容は主に「プロトタイプ汚染攻撃」でした。自分では対策を行っていたつもりだったのですが、様々な穴がありました。 プロトタイプ汚染攻撃可能な脆弱性は成功すると他の機能や脆弱性との組み合わせによって、任意のコード実行を可能にする危険度の高いものですが、XSSやCSRFに比べて、初学者が触れられる纏まった対策方法の情報が少ないと感じたので、ここに記そうと思います。 プロトタイプ汚染攻撃とは 日本語の情報としては Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記 が詳しいですが、まず、前提として、JavaScriptは「プロトタイプベースのオブジェクト指向」を採用しており、原則、すべてのプリミティブ型およびオブジェクトのインスタンスは「プロトタイプ」オブジェクトを参照しています1。 また、プロ

                                                  JavaScriptのプロトタイプ汚染攻撃対策は難しい - Qiita
                                                • S3イベント通知 vs EventBridge 処理漏れ率を比べてみた | DevelopersIO

                                                  S3バケットにファイルがアップロードされたのを起点に何かしらの処理を実行する、というのはAWSにおけるよくある(?)アーキテクチャです。例としてよく挙げられるのは以下のような、画像ファイルをアップロードしたらそのサムネイル画像を作成する処理です。 チュートリアル: Amazon S3 で AWS Lambda を使用する S3イベント通知 この際に使うのがS3イベント通知機能です。S3に関する様々なイベントが発生した場合に他のAWSサービスを起動させることができます。例えば上記サムネイル画像を作成する場合だと、ObjectCreate (All) のイベントでLambda関数を実行しています。 ですがこのS3イベント通知、時たま処理漏れすることがある、と言われています。そのため漏れが許容できない場合は、以下例の様に処理漏れしているファイルを検知して処理再実行する機構を用意するなどの措置が必

                                                    S3イベント通知 vs EventBridge 処理漏れ率を比べてみた | DevelopersIO
                                                  • C++erですがCOMに翻弄されています: 再入との戦い - Qiita

                                                    C++ Advent Calender この記事はC++のカレンダー | Advent Calendar 2023 - Qiita の21日目の記事です。 20日目: Try to make a try ! by @wx257osn2 22日目: C++ コンパイル時「出力」で画像ファイル生成 #C++ - Qiita by @Raclamusi はじめに 2021年に新卒で今の会社に入社して以来、ずっととある一つの製品の開発部門に所属していて、その中のWindowsチームというところにいます。 WindowsチームなのにiOSの要件が来たり、サーバーEoLの要件が来たりとなんだか特殊部隊感があるのですが、きっと気の所為です。 さて、ここまで入社以来ずっと本格的な理解から逃げ続けてきた存在があります。それがCOMです。 ところがついにこの秋から冬にかけての要件ではVisual Studio

                                                      C++erですがCOMに翻弄されています: 再入との戦い - Qiita
                                                    • aws s3 ls があるなら aws s3 cat も実行したい、けど無理そうなので aws s3cat で我慢した | DevelopersIO

                                                      S3 オブジェクトの中身をローカルにダウンロードせずに参照したい コンバンハ、千葉(幸)です。 aws s3 cat を実行したい、そんな風に思ったことはありませんか?つまりは S3 オブジェクトの中身を参照するためにいちいちローカルにダウンロードしたくない、ということです。 例えばこんなふうに aws s3 ls で S3 バケットの中身を参照して…… $ aws s3 ls chibayuki-hoge-hoge/chibayuki/ 2022-02-13 13:17:45 0 2022-02-13 13:19:15 17 test.txt 2022-02-13 13:19:16 17 test2.txt 2022-02-13 13:19:16 17 test3.txt そのまま aws s3 cat でオブジェクトの中身を表示させたい、ということです。 $ aws s3 cat ch

                                                        aws s3 ls があるなら aws s3 cat も実行したい、けど無理そうなので aws s3cat で我慢した | DevelopersIO
                                                      • [DOM] Rangeを作りすぎて激重になった話|TechRacho by BPS株式会社

                                                        DOMの規格にはRangeというクラスがあります。ドキュメント上の選択範囲などを表すのに便利なクラスです。 ついさっき、このクラスにまつわるパフォーマンス問題を解決したので記事に残そうと思います。 removeChild()が重い? とあるDOM操作を行う処理のパフォーマンスが悪い、というチケットが立てられたのが発端でした。 最初にその部分を実装したのが私で、そこまでチューニングをしっかりしていた訳ではなかったのでまあそんなこともあるかな、と思いながらとりあえずパフォーマンス計測を行ってみたところ、appendChild()が実行時間の9割以上を占めているという結果でした。 appendChild()がなんでそんなに遅いんだろう? appendChild()は親ノードの子のリスト末尾に1個ノードを追加するだけの処理です。普通に考えてこれだけではそこまで遅くなるとは思えない。 appendC

                                                          [DOM] Rangeを作りすぎて激重になった話|TechRacho by BPS株式会社
                                                        • 【JavaScript】Object とは似て非なる Array の異常さを明らかにする ~exotic object とは~ - Qiita

                                                          Help us understand the problem. What are the problem?

                                                            【JavaScript】Object とは似て非なる Array の異常さを明らかにする ~exotic object とは~ - Qiita
                                                          • Adobe Illustrator の「角を丸くする」と「ライブコーナー」の違い|宮澤聖二 | onthehead

                                                            グラフィックソフトで当たり前のように搭載される角を丸くする機能。 角丸だったり、コーナーラウンド、Radius、border-radius、と呼ばれたりもします。 Illustrator 場合、効果メニューの「角を丸くする...」から半径を指定する方法と、コーナーウィジェットを表示し角付近にある丸いマークをドラッグ&ドロップしたり、変形パネルの角丸の半径やコントロールパネルのコーナーの半径を指定する「ライブコーナー」という2つの方法が存在します。 角を丸くするとライブコーナーの比較 角を丸くする効果はオブジェクト全体の角をまとめて丸くし、ライブコーナーは角それぞれを個別に丸くできる。という意味合いで使い分けてる方も多いと思います。 ですが、この2つの方法は全く違う方法で角を丸くしています。 さらに、ライブコーナーには相対値と絶対値という2つの方法が用意されています。 実際にどのくらい違いが

                                                              Adobe Illustrator の「角を丸くする」と「ライブコーナー」の違い|宮澤聖二 | onthehead
                                                            • TypeScriptでオブジェクトにある値だけを許容する型を作成する

                                                              以下のオブジェクトを例にして具体的に説明しています 3つのプロパティをまとめたオブジェクトを定義しています それぞれのプロパティにはファイル名、値として数字を定義しています // オブジェクトから値(1,2,3)だけを許容する型を作って、他の場所で活用したい const FILE_DATA_LIST = { fileDataNo1: 1, fileDataNo2: 2, fileDataNo3: 3 }

                                                                TypeScriptでオブジェクトにある値だけを許容する型を作成する
                                                              • ドメイン駆動設計に15年取り組んでわかったこと 「ビジネスルール・値オブジェクト・型」が3つのキーワード

                                                                株式会社ビープラウドが主催するIT勉強会「BPStudy」。#151となる今回は、設計の代表格であるオブジェクト指向、モデリング、そして設計にフォーカスをあて、LT大会を開催しました。「ドメイン駆動設計に取り組んだ15年でわかったこと 」に登壇したのは、ドメイン駆動設計に15年取り組み続けている増田亨氏。ビジネスルールと値オブジェクトと型という3つのキーワードを軸に、ドメイン駆動設計をソフトウェア開発に落とし込む方法論について語りました。講演資料はこちら ビジネス活動に起因する複雑さに立ち向かうドメイン駆動設計 増田亨氏(以下、増田):よろしくお願いします。私は2006年ぐらいからドメイン駆動設計に実際に取り組んで、15年ぐらいやっているんですけど、今日はそれを私なりにわかったことというか、けっこう最近振り切ってこうやってますよという内容を、みなさんの参考になればと思って少しお話しします。

                                                                  ドメイン駆動設計に15年取り組んでわかったこと 「ビジネスルール・値オブジェクト・型」が3つのキーワード
                                                                • JSONとは?データフォーマット(データ形式)について学ぼう!

                                                                  JSONとは「JavaScriptのオブジェクト記法を用いたデータ交換フォーマット」です。 Python、PHP、JavaScript、C++、Javaなど様々な言語でサポートされており、JSONを間に挟むことで各プログラミング言語間のデータの受け渡しがとても簡単にできます。 本記事ではJSONの概要や実際の書き方を解説します。 JSONの特徴 JSONとは「JavaScript Object Notation」の略で、「JavaScriptのオブジェクトの書き方を元にしたデータ定義方法」のことです。 JavaScriptでオブジェクトを作成する際は {} や [] などの括弧を使って記述しますが、JSONはその記法を元にしています。元々はJavaScriptで使われる想定で作成されたデータ構造なので、JavaScriptと非常に相性が良いです。現在はJavaScript以外にもPytho

                                                                    JSONとは?データフォーマット(データ形式)について学ぼう!
                                                                  • GitHub GraphQL のノードIDフォーマットが変わるらしい

                                                                    弊社では Terraform GitHub Provider を使って GitHub のレポジトリ管理・権限管理などを行っているのですが、 プロバイダーが repository_id を認識してくれない問題に遭遇しました。 原因を探ってみると GitHub GraphQL API に かなり大きな変更が入ること を知ったので、メモとして残しておきます。 グローバルノードID GraphQL API から扱えるすべてのオブジェクト (レポジトリ、ユーザー、etc) にはIDが振ってあります。 Using global node IDs 例えば僕 (@shogo82148) のノードIDは MDQ6VXNlcjExNTczNDQ= です。 $ curl https://api.github.com/users/shogo82148 | jq .node_id "MDQ6VXNlcjExNTcz

                                                                    • Adobe XD 待望の新機能!自由自在な動的レイアウトを実現するスタックとスクロールグループの使い方 - ICS MEDIA

                                                                      Adobe XD 待望の新機能!自由自在な動的レイアウトを実現するスタックとスクロールグループの使い方 Adobe XDの2020年6月の大型アップデートでは、目玉機能として「スクロールグループ」と「スタック」が搭載されました。 「スクロールグループ」はアートボードとは別のスクロール領域を定義できる機能、「スタック」はオブジェクトの並び順と間隔を管理できる機能です。 とくに「スタック」は使いこなせるかどうかで、デザイン制作のスピードがかなり変わってくるのでしっかりと覚えておきましょう! スクロールグループの使い方 スクロール領域を定義できる「スクロールグループ」が登場しました。「水平方向にスクロール」「垂直方向にスクロール」「水平方向と垂直方向にスクロール」という3種類の方向を設定できます。 「水平方向にスクロール」はカルーセルのような、画面幅以上の要素を横スクロールさせるのに便利です。

                                                                        Adobe XD 待望の新機能!自由自在な動的レイアウトを実現するスタックとスクロールグループの使い方 - ICS MEDIA
                                                                      • PDFから「使える」テキストを取り出す(第2回) - golden-luckyの日記

                                                                        昨日は、PDFの本来の用途は「人間がPDFをビューワーで開いて読む」ことなので、そこから文字を抜き出すのは一筋縄ではいかない、という話をしました。 ではどうすればPDFファイルの中からテキストを取り出せるの、というのが今日の話の出発点です。 まず昨日の記事で、「PDFには国際的な規格があり、これはAdobeから『PDFリファレンスマニュアル』という形で無償で入手できる」という話をしたことを思い出してください。 昨日は話のついでみたいな感じで書きましたが、実を言うと、このリファレンスの中に、「PDFファイルの中に書き込まれているグリフを表示するための情報からUnicodeなテキストを取り出す手法」がちゃんと書いてあるのです。 具体的には、『PDFリファレンスマニュアル第6版』の §5.9 "Extraction of Text Content"に、その情報が一応整理されています。 ただし、言

                                                                          PDFから「使える」テキストを取り出す(第2回) - golden-luckyの日記
                                                                        • 複数のS3のオブジェクトをまとめて一括処理!Amazon S3 Batch Operationsを試してみた | DevelopersIO

                                                                          Amazon S3 Batch Operationsとは Amazon S3 Batch Operations は、Amazon S3のバケットに保存されているオブジェクトに対して一括でAPIを実行できる機能です。re:Invent 2018期間中に発表された、比較的新しいAmazon S3の機能です。 S3が数十億におよぶ大量オブジェクトへのバッチ処理機能を発表!(プレビュー) #reinvent こちらは2019年4月にGenerally Available(一般利用可能)となりました。 最新情報 – Amazon S3 バッチオペレーション | Amazon Web Services ブログ Amazon S3 Introduces S3 Batch Operations for Object Management GAから少し時間が空いてしまいましたが、以前より気になっていたのでま

                                                                            複数のS3のオブジェクトをまとめて一括処理!Amazon S3 Batch Operationsを試してみた | DevelopersIO
                                                                          • Railsのデザインパターン: Interactorオブジェクト

                                                                            InteractorオブジェクトとはInteractorオブジェクトとは「デザインパターンのひとつで、ビジネスロジックをカプセル化するためのモデル層に属するクラス群」です。ひとつのInteractorオブジェクトはひとつの責務をもちます。 「ひとつの責務」とは、たとえば「記事を投稿する」「決済を行う」という、それ以上分割できない責務です。またInteractorオブジェクトを使うための共通のインタフェースが定義されます。 Interactorオブジェクトと同じ役割として、Serviceオブジェクトがあります。ただ、Railsの文脈で語られるServiceオブジェクトは定義があいまいで、特定のルールをもちません。ルールがないとインタフェースが統一されず、また複数の責務をもってしまうといった問題が生じます。 Interactorオブジェクトはビジネスロジックをカプセル化する役割をもち、インタフ

                                                                              Railsのデザインパターン: Interactorオブジェクト
                                                                            • C# 11の新機能を理解しよう──オブジェクトの初期化とジェネリック型数値演算を解説

                                                                              CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                                                                                C# 11の新機能を理解しよう──オブジェクトの初期化とジェネリック型数値演算を解説
                                                                              • S3イベント通知 vs EventBridge 処理漏れ率を比べてみた2 | DevelopersIO

                                                                                先日、以下エントリを書きました。 S3バケットにファイルがアップロードされたのを検知し、それをトリガーに別の処理を走らせる方法として、S3イベント通知機能とEventBridge(CloudWatch Events)と2つの方法があり、それぞれの処理漏れ率を比べてみたエントリです。 処理漏れ率は、1万個のファイルをアップロードして比べたところ、どちらも0%でした。そこで今回はさらにファイル数を増やして 100万個のファイル で検証してみました。 検証方法 前回と同じです。同一S3バケットに対して2つの処理系統を用意します。 S3バケット → S3イベント通知 → SNSトピック S3バケット → CloudTrailオブジェクトレベル認証 → EventBridge → (上記処理で使っているのとは別の)SNSトピック このS3バケットに対して、オブジェクトを100万個作成します。 SNS

                                                                                  S3イベント通知 vs EventBridge 処理漏れ率を比べてみた2 | DevelopersIO
                                                                                • 【Unity】Model-View-(Reactive)Presenterパターンとは何なのか - Qiita

                                                                                  はじめに 今回はUnityにおける「Model-View-(Reactive)Presenterパターン」とは何なのかについて解説します。 対象読者 Unity開発者 UniRxを使うことができる UnityにおけるGUI周りの実装に困っている GUI周りの設計パターン Model-View-(Reactive)Presenterパターン(略してMV(R)Pパターン)とは、UnityにおけるGUI周りの設計パターンの一種です。 「GUI」とはいわゆる「ユーザインターフェース」のことで、ゲーム中における「画面上に表示される情報」や「メニュー」や「ボタン」といったものを指します。 (ざっくりいえば、uGUIのことだと思って下さい) GUI周りの実装手法というものはUnityに限らず、複雑になりがちな難しい部分です。 そのためいろいろな設計パターンが考案されてきました。 代表的なもので言えばMV

                                                                                    【Unity】Model-View-(Reactive)Presenterパターンとは何なのか - Qiita