タグ

関連タグで絞り込む (1360)

タグの絞り込みを解除

Qiitaに関するkyo_agoのブックマーク (723)

  • lodash やめ方 - Qiita

    みなさん、 lodash で消耗してますか? 私は消耗しています。 なぜ lodash で消耗するかというと、とにかく思考停止でインストールされ、 node_modules 下で大量に重複します。サイズが大きいlodashが複数バンドルされてビルドされると、重篤なパフォーマンス上の問題を引き起こします。 lodash には実装上の問題もあり、異様に丁寧に、そして富豪的に作られており、その結果ビルドサイズが無駄に大きいです。丁寧に作られて入るのですが、現代のフロントエンド水準や一般的なポリフィルと噛み合っていません。というわけで、常々やめたいと思っています。 ちゃんとES201xを追ってる人からすると、ほとんどの lodash のメソッドは不要に見えるはずです。エントリは、思考停止で lodash で実装しようとする人に、ちょっと考え直しては? と投げつける用の記事になります。 現代におい

    lodash やめ方 - Qiita
  • テストの可読性と保守性を改善したいよねって話 - Qiita

    この記事は NIJIBOX Advent Calendar2019 の20日目の投稿です。 背景 この記事は「仕様の変更に強いコードを書きたいよねって話」のテストについて掘り下げたお話になります。 題材は「ページネーションにおける関数」です。 ※ 以下currentは現在いるページ、totalは総ページ数、sizeはページネーションの表示するページサイズを指します。 書くこと ページネーションのロジック部分のgetPageNums関数のテストコードがわかりにくかったのでクラス設計を導入し、修正した。 テストコードを書くときに気をつけたいぞい!ってこと 参考にしたもの テスト駆動開発(TDD)の第一人者のtwadaさんにアドバイスをいただきました、ありがとうございました! 書籍「リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック」 手順 テストには、Facebook社

    テストの可読性と保守性を改善したいよねって話 - Qiita
  • Microsoft Academic のすゝめ - Qiita

    先日『Ananta: Azure を支えるステートフル L4 ロードバランサー - Qiita』という記事を書いたのですが、そのときに偶々見つけた Microsoft Academic と呼ばれる文献検索サービスが相当優秀だったので紹介します。 ■ Home | Microsoft Academic https://academic.microsoft.com/home TL;DR Microsoft Academic は、高度な文献検索機能を有する Google Scholar のような Web サービス Microsoft Research が研究開発した、自然言語処理によるコンテンツのトピック抽出技術、意味論的検索エンジン、文献重要度の算出手法などを活用 検索の他にも、文献やトピックをフォローして関連情報を収集できる機能も Microsoft Academic とは? Microso

    Microsoft Academic のすゝめ - Qiita
  • Ivyが単体テストにもたらした恩恵 - Qiita

    今年のAngularアドカレはテストの話題が豊富ですね。 Angular8 ユニットテストが動かねぇ! や はじめてのユニットテストを書く前にモック実装で手が止まってしまわないために など、テストコードを書く上での知見が色々と紹介されています。 僕自身も3年前のアドカレで、Zone.jsがいかにAngularのテストに貢献しているかとかを書いたりしたことがあり、Angularの色々な機能の中でもテスト周りは特に好きな部分の1つだったります。 さて、Angularで直近ホットだった話題といえば、やはりIvyは外せません。 Ivy自体は基的に内部構造の変更であるため、アプリケーションコードの書き方そのものに影響する話ではないですが、AoT(Ahead of Time)コンパイルをデフォルトにするための布石であり、バンドルサイズの削減やビルドプロセスがシンプルになる、といった効果については聞い

    Ivyが単体テストにもたらした恩恵 - Qiita
  • 『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表 - Qiita Zine

    『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表 こんにちは。Qiita Zine 編集部です。 2019年も残りわずかとなりました。 年末年始休暇には、読書をされる方も多いのではないでしょうか。 この記事では、先日Qiitaメルマガで行った『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケートの結果を、選出理由を交えて紹介します。 ぜひ、ご自身へのクリスマスプレゼントや、年末年始の読書のお供の参考にしてください💁‍♀️

    『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表 - Qiita Zine
  • TypeORMはNode.js開発のスタンダードになるか? - Qiita

    こんにちはGAOGAOの代表をしております @tejitak です。GAOGAOアドベントカレンダー 17日目の記事です。GAOGAOのスタートアップスタジオにて、最近お手伝いしている海外のお客様案件にてTypeORMを導入しています。 今回の記事では、TypeORMとはなんぞや?という方を対象として、まだ比較的日語記事が少ないTypeORMについてのご紹介します。 Node.jsのORM Node.jsでサーバーサイドを実装する際にはExpressを使うことが多いと思います。ExpressはサーバーサイドのWebフレームワークで、データベースを扱うORMは自由に導入することができます。以下代表的なORMを紹介します。 mongoose 公式ドキュメント: https://mongoosejs.com/ MongoDBJavaScriptとの相性の良さから昔からNode.jsの多くのプ

    TypeORMはNode.js開発のスタンダードになるか? - Qiita
  • Go言語で扱えるデータフレーム厳選4つ - Qiita

    はじめに データサイエンティストでなかったとしても、数値データを使って様々な解析をする際には CSV ファイル等ファイルを読み込み、数値の配列としてメモリに保持して、それらをループ等で利用して解析を行っておられると思います。 その際、配列は1次元目に行、2次元目に列、を格納するのが一般的です。多くのケースではこの方法で事足りるのですが、解析を行ううちに「列としてデータの固まりを扱いたい」「ラベル付けされた列を扱いたい」と感じる事が出てくると思います。 これを簡単にしてくれるのが「データフレーム」です。 データフレーム4種 記事では Go 言語から扱えるデータフレームを4つご紹介します。 QFrame https://github.com/tobgu/qframe QFrame は、フィルタリング、集計、およびデータ操作をサポートするイミュータブルなデータフレームです。 QFrame での

    Go言語で扱えるデータフレーム厳選4つ - Qiita
  • リーダブルアーキテクチャ - usecaseにおける時間軸と抽象度の統一 - Qiita

    はじめに Clean Architectureやレイヤードアーキテクチャでは、どのようにレイヤーを定義するかついては言及されています。 そのような中usecase(レイヤードアーキテクチャではApplication層)をどのように実装するべきかについての議論は少ないです。 しかし私はリーダブルなアーキテクチャを実現するために、一番大切なことはusecaseを適切に実装することであると考えています。 そこでusecaseを実装する上で起こりがちな抽象度の問題を例に、リーダブルなアーキテクチャを考えいていきたいと思います。 サンプル 1:1のチャットアプリでUserとWorkerが存在して会話ができるアプリを例にあげます。 以下の図では青い背景はinfraの関数実行、緑色の背景はdomainの関数実行、赤い背景はusecaseの関数実行を示しています。 usecaseのCreateChat関数

    リーダブルアーキテクチャ - usecaseにおける時間軸と抽象度の統一 - Qiita
  • E2Eテストコードのメンテナンス性に立ち向かう - Qiita

    はじめに E2Eテストコードを書くにあたって、一番の心配事は テストが壊れる ことでしょう。 アプリ側の変更に伴いテストをすべて書き直すことを恐れるQAエンジニアは多いと思います。 例えば 機能はまったく変わってないのに、デザインリニューアルでテスト全部書き直しだ〜〜〜! みたいなやつですね。 ここでは、自分が実際に「メンテしやすい」テストコードを試行錯誤する過程で得られた気づきをまとめていきたいと思います。 なお、自分の活動範囲は主にWebアプリのテストですので、基Webアプリの話題になりますが、「いやネイティブアプリはこうやねん」みたいなツッコミもお待ちしております。 また、文中に登場するサンプルコードは CodeceptJSで記述しています。 使ったことがない方は気合で読んでください。 メンテしやすい vs メンテナンスフリー はじめに強くお伝えしておきたいことは、メンテナンスしや

    E2Eテストコードのメンテナンス性に立ち向かう - Qiita
  • 2019年のWebGLデバッグツール状況 - Qiita

    これはThree.js Advent Calendar 2019の14日目の記事です。 3年前に以下の記事を読んでWebGL Inspectorを使い、デバッグ処理でWebGL Inspectorに凄くお世話になりました。 WebGLの開発やデバッグに便利なブラウザ拡張機能をつかってみよう 「Three.jsにBaylon.jsみたいなDebug modeある?」という議論を見つけて気になったので、現状のWebGLデバッグツール状況を調べてみました。 Three.jsフォーラム - Does three.js has some “scene debug mode” or plugin? (like babylon.js DebugLayer) 消失したデバッグツール WebGL Inspector 最終更新日(github):2017/02/22 去年はまだChromeウェブストアにあった

    2019年のWebGLデバッグツール状況 - Qiita
  • 日立社員「社内からQiitaに投稿?できるのそれ」 - Qiita

    (2019-12-18 表現を一部訂正しました。) メタ記事。投稿するのにかかる手間に関する投稿です。 1 どうしてこんな記事を書こうと思ったか 日立製作所もガンガンOSS活動をしていることを知ってほしい。日立に興味があるが、OSSコントリビューションは社外発信にどれくらい熱心なのか気になる人向けに、とある一部署の情報をシェアしたい。 タイトルのような感想を持つ弊社内の人に情報発信してもらいたい。 (残念なことに、) 社内の情報共有サイトに書くよりQiitaに書いたほうが読まれそう。 後輩がAdvent Calendarの記事集めに苦労していたので気の毒になったため 注: 全社的な審査プロセスではなく、(株)日立製作所 ITプロダクツ統括部のやりかたです。 では全社的なプロセスは?他の部署は? → 詳しい方、(申請の上)コメントください。 ITプロダクツ統括部って何? Google i

    日立社員「社内からQiitaに投稿?できるのそれ」 - Qiita
  • Amplify vs Firebase 比較してみた - Qiita

    サーバレスアーキテクチャの選択肢として、AWSのAmplify、GoogleのFirebaseが有力な候補となっているのではないでしょうか。 実際にAmplify・Firebaseの両者に触れ、比較・検討して得られた知見をまとめました。 ※直近プロダクトの開発にAmplifyを採用して進めてきたので、Amplifyを軸に記事を書いています。 API連携 AmplifyとFirebaseとで異なる特徴のひとつにAWS AppSync(GraphQLをすぐに利用できるフルマネージドサービス)を利用できる点があります。 自前でGraphQLを構築するのは手間がかかりますが、AmplifyのAPIモジュールは「AWS AppSync」をサポートしているので簡単に構築できます。DynamoDBLambdaとのアクセスもシームレスに行えるので非常に便利です。 以下はその他のAppSyncのメリット

    Amplify vs Firebase 比較してみた - Qiita
  • TypeScriptはgradual typingシステムか - Qiita

    概要 TypeScriptは,動的型付けシステムであるJavaScriptに静的型システムによる検査を部分的に導入できるプログラミング言語であり,gradual typing (漸進的型付け)システムであるとされることがあります.Siekらは,動的型付けと静的型付けの融合を図るシステム全般が無闇にgradual typingを名乗ることを疑問視して,gradual typingシステムが満たすべき基準を提案しました.稿では,この基準に照らしてTypeScriptがgradual typingの条件を満たしていないことを指摘します.特に,ランタイムの型チェックを行わないというTypeScriptのデザインが,gradual typingの意味での健全性を明らかに阻害しています. 1 背景 ソフトウェア開発が大規模化する状況において,コード品質の担保や開発速度の維持は重要な課題です.静的型付

    TypeScriptはgradual typingシステムか - Qiita
  • 2019年末版:Chromebookを開発に使う - Qiita

    PySpaアドベントカレンダーのエントリーです。昨日はYesterdayでした。今日はTodayです。 ずっと開発や普段使いで使えるChromebookが欲しいと思っていました。勉強会の発表で使ったりするので、きちんと技適が通ったやつで、性能がまとも(以前ATOMベースのマシンにLinux入れたけど遅くて使う気になれなかったので)なやつを待ち望んでいました。 7月ぐらいからHPがChromebookを販売開始してくれました。気づいてから申し込んだものの、予想外に受注があったのか、納期が伸びに伸びて1ヶ月半近くかかりましたが、とても良いものだったので、今ではすっかりメインで使っています。 バージョンによって状況はまた変わってくるかもしれないので、タイトルに日時を入れました。これを書いた時点でのバージョンは78.0.3904.106(Official Build)(64 ビット)でした。 日

    2019年末版:Chromebookを開発に使う - Qiita
  • SORACOM Beamによる通信量の削減効果を金額と電力量の数値で示す - Qiita

    2019/12/17 Wio LTEの消費電力比較を追記しました!こちらからご覧いただけます。 はじめに IoTプラットフォームを提供するSORACOMに最初からあったサービスは2つ。 1つはコンソールやWebAPIで携帯回線を自由にコントロールできるSORACOM Air、 もう1つはデバイスからソラコムはSIMで認証された安全なネットワークで通信し、ソラコムで安全なプロトコルに変換して外部にアクセスするSORACOM Beamです。 両方素晴らしいのですが、僕は特にSORACOM Beamに感銘を受けました。 https://soracom.jp/services/beam/ SORACOM Beamでは以下を実現することができます。 軽量な平文通信を暗号通信に変換 通信先をクラウド側で設定可能 SIMで認証された認証情報をクラウドで付与 これは、安全なキャリア網とインターネットを接続

    SORACOM Beamによる通信量の削減効果を金額と電力量の数値で示す - Qiita
  • Google Maps APIで50万以上使っていた話 - Qiita

    この記事は Wano Group Advent Calendar 2019 の7目の記事となります。 アドベントカレンダーに「なにか」書くといって7日を予約していたんですが、特にネタを考えてなかったら、前日にネタが降ってきたという話です。 ※後日談を追加しました(2019/12/15) 始まりは経理担当者のSさんの指摘 ちょうど昨日(12/06)のことです。経理担当者のSさんに「Google Cloud Service から38,653円がクレジットカードの明細にあるのですが、証憑がないんですが…」と相談を受けました。月初は会社に対する請求の確認作業があり、請求書がない引き落としとかは問題になりますので、たまに確認されることがあります。 新しくサービスを開始する際に、AWSGCPとか有料サービスのアカウントを新しく作る必要があったりすると、そんなことが起きたりします。要は経理担当にメール

    Google Maps APIで50万以上使っていた話 - Qiita
  • 正しさとGo - Qiita

    はじめに Goの良いところは、最低限の文法を知っていればコードを上から順番に読むことで詳細を容易に理解できることです。 文法の中にシンタックスシュガーや特別な省略が許されていないため多様な表現になることはありません。 そのためGoを書ければGo体と標準ライブラリを読むことができます。 しかし以下の原因により、これらの利点を守ることが難しくなることがあります。 DSL フレームワーク 抽象化 これらは設計として新たな制約を課すことで品質向上や実装を容易にするためのものです。 またこれらを採用する論理立てた 正しい 理由が存在します。 DSL DSLを提供するツールとして、DIのための wire があります。 GoでDIを実現するためには多くの実装を必要とするため、実装量を減らすためにもDIツールが求められてきました。 これは 正しい です。 しかし一方でDSLはコードを読む人間に言語以上

    正しさとGo - Qiita
  • きたるべきvue-nextのコアを理解する - Qiita

    この記事は、Vue #2 Advent Calendar 2019の4日目。 @nagimaruxxxさんのフロントエンド開発をjQueryからVue.jsへ乗り換えたので比較してみるの次の記事です。 この記事でわかること jQueryからVue.jsにはじめて移行したとき、「thisのなんちゃらを書き換えると動くんだー!」とか「computedって、依存する値が更新されたら自動で更新されてすごい!」というのが感想でした。 今回は、vue-nextという、いわば、「次世代のvue」でそういった「自動で更新されてすごい」がどのように実装されているか、を解説します。 普段Vue.jsを使っている人は、その裏の仕組みに感銘を受けるでしょう。日々の実装を少しだけ、いつもと違う視点で見れるようになると思います。 普段React.jsを使っている人はきっと、Vue.jsを使いたくなることでしょう。 皆

    きたるべきvue-nextのコアを理解する - Qiita
  • Redux の記述量多すぎなので、 Redux の公式ツールでとことん楽をする。 ( Redux Toolkit) - Qiita

    2019/11/20 追記 当記事でメインに取り扱っていたライブラリ名が変更されました。Redux Starter Kit -> Redux Toolkit それに合わせて、記事もアップデートしています。 追記終わり はじめに Redux Hooks がリリースされたおかげで、Redux の store とコンポーネントのつなぎ込みが簡単になりました。 今回は Redux チームが公式にリリースしている Redux Toolkit を利用すると、Action、Reducer 部分もかなり簡潔に記述できるというお話です。 Redux Hooks については以下の記事を参照してください。 Redux Hooks によるラクラク dispatch & states Redux Toolkit とは? Redux チームが公式にリリースしているReduxを簡潔に記述するためのライブラリです。 ほ

    Redux の記述量多すぎなので、 Redux の公式ツールでとことん楽をする。 ( Redux Toolkit) - Qiita
  • C#大統一理論 - Qiita

    C#大統一理論とは CySharpのneueccさんが提唱している理論で、ザックリ言えば サーバーサイドもクライアントサイドもC#で完結できるとよくね? という理論です。 そして現状サーバーサイドとクライアントサイドの両方で使える言語はC#を除くとJavaScriptくらいだと思います(なんかあったら教えてください) C#でクライアントサイドを作るにはXamarinゲームエンジンのUnityが筆頭になります。 C#のよさ いろいろありますが、個人的に上げるなら 比較的言語が若く(C++と比較して)、LINQなどモダンな文法仕様が遂次追加されている(というかLINQは単独で良い)。 単純に.NET Coreがクラスプラットフォームで安定して動作する。マイクロソフトが気を出してるからサーバーサイド、クライアントサイドから機械学習まで使える範囲がめちゃくちゃ広い。 decimalみたいな型ま

    C#大統一理論 - Qiita