タグ

ブックマーク / qiita.com (104)

  • E2E テスト自動化ツールをざっと調べたまとめ - Qiita

    E2E テストの自動化に挑戦するためにツールを調べた結果をまとめました。 「Selenium、Puppeteer くらいは聞いたことがあるけど、他にも良さそうなものがないか調べておこう」という軽い気持ちで調べ始めたところ、想像していた以上に色々ありました。。。 ※ Web フロントエンドの E2E テストが主な対象です。それ以外は、調べて出てきたことだけまとめています。モバイルは調査対象外です ※ E2E テストに詳しくなく、いろいろ間違いがあるかもしれません。お気付きの方はご指摘お願いします。 ざっくりググると ... Selenium, Geb, Concordion, WebdriverIO, Nightwatch.js, Testium, Protractor, Puppeteer, jsdom, Nightmare ,Cypress.io, TestCafe, Intern, P

    E2E テスト自動化ツールをざっと調べたまとめ - Qiita
    Malan
    Malan 2020/12/13
  • もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita

    管理画面のフロントエンドコードを書く時代は終わりました。 Vironがあれば、OpenApi(Swagger)でAPI定義を行い、実装するだけで管理画面が完成します。 そしてこれはOSSです。誰でも自由にお使いいただけます。 概要 Vironは、複数の管理画面を管理できるよう設計された、管理ツールマネージメントコンソールです。 APIサーバーとOAS2.0 jsonファイルを作成するだけで、管理画面が一つ完成します。 経緯 私の会社では、大小さまざまな自社サービスが開発・運用されています。 管理画面をサービス・サイト毎に作っていましたが、それには限界がありました。 エンジニアからしたら、管理画面用のデザインやAPIを作らなきゃいけない。工数がかかる。 運用・プロデューサーは、UIUXが管理画面で違うため、操作を覚えるという学習コストが高い。 さらに外から見たいときにスマホから見れないし、

    もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita
    Malan
    Malan 2020/12/11
  • Apple M1のサポートする命令など - Qiita

    1. Intel 64 CPU互換レイヤー「Rosetta 2」でサポートする命令等 Intelが出している MacCPUID と言うユーティリティはIntel Macに採用されているCPUの機能などを調べるユーティリティであるが、Rosetta環境で使用すると、ソフト側から見た仮想Intel64ハードウェアの機能を調べることができる。 https://software.intel.com/content/www/us/en/develop/download/download-maccpuid.html これが実行したところであるが、ベンダーストリングこそ "VirtualApple" となっているものの、CPUはWestmere世代のプロセッサ互換として認識されている。 また、CPUの機能はWestmere世代の第1世代(32nm版)Core i*シリーズと同等である。 AESやPCLM

    Apple M1のサポートする命令など - Qiita
    Malan
    Malan 2020/12/04
  • TypeScript 4.1 の Template Literal Types がやばい - Qiita

    TS 4.1 の Template Literal Types を使うと、文字列を解釈して型定義ができる。文字列は変数化でき、テンプレートリテラルで埋め込める。 type Hello = 'Hello' type World = 'World' // Template Literal を埋め込める type HelloWorld = `${Hello}, ${World}` // => type 'Hello, World' // 引数に取ることもできる type Concat<T extends string, S extends string> = `${T}, ${S}` type HelloWorld = Concat<'Hello', 'World'> // => type 'Hello, World'

    TypeScript 4.1 の Template Literal Types がやばい - Qiita
    Malan
    Malan 2020/11/20
  • Cloud Firestoreを実践投入するにあたって考えたこと - Qiita

    はじめに Firebase Realtime DBを実践投入するにあたって考えたことを読んで頂いてありがとうございます。 多くの方から「いいね」を頂いて、今回のこの記事を書くモチベーションになりました 当にありがとうございました! さて、CloudFirestoreは、Firebase Realtime Databaseとは全く違うデータベースです。特にSubCollectionやQueryが導入されたことにより、リレーションシップの設計に関して大きく異なります。 この記事では、主にCloudFirestoreにおけるリレーションシップの設計方法から、アプリ・CloudFunctionsに至るまでを幅広く解説して行こうと思います。 次の記事ではデータベースの歴史を解説しています。 RDBの限界とNoSQLの登場 Cloud Firestoreでの開発について 私の経験上確実に断言できるこ

    Cloud Firestoreを実践投入するにあたって考えたこと - Qiita
    Malan
    Malan 2020/11/06
  • Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita

    Next.js by Vercel - The React Framework 画像は Next.js サイコー!っていう顔です。 Webフロントエンドエンジニアであれば、「Reactのフレームワーク」と聞いて真っ先に思いつくであろうNext.js。僕は小規模の趣味開発から中規模の業務まで、4年程度Next.jsを使い続けてきました。触りはじめの当時はバージョン4で、”SSR(Server-side Rendering)を提供するReact製フレームワーク”だったものが、執筆時時点の最新バージョン(10.0.1)ではガラッと異なるフレームワークへと進化しています。 この4年間は実務で利用するだけでなく、新しいものや廃止された機能、RFC止まりになった機能など、Next.jsに関する情報を追いかけており、ある程度の知見をためつつも、Next.js並びに開発元のVercelが目指す方向性を何と

    Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita
    Malan
    Malan 2020/11/05
  • Pythonのオブジェクト指向プログラミングを完全理解 - Qiita

    1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++Javaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++Javaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Class Recta

    Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
    Malan
    Malan 2020/11/03
    あ、明日読む…
  • Next.js 10 リリースノート全訳! 画像の自動最適化、i18n対応、アナリティクス、Eコマースほか - Qiita

    Next.js 10 リリースノート全訳! 画像の自動最適化、i18n対応、アナリティクス、EコマースほかNext.js この記事は Next.js 10 リリースノートの日語訳です。 10/27、Next.js 10 がリリースされました! 私はふだん Next.js個人開発を行ったりしている者です。 Twitter もやっているのでよかったらフォローおねがいします! @_thesugar_ よかったら Next.js チュートリアル(公式)の翻訳記事もどうぞ。 また、非公式ですが Next.js のドキュメントの翻訳プロジェクト も盛り上がっています! Next.js 10 の機能をご紹介します: ビルトインの画像コンポーネントと画像の自動最適化: 新しい next/image コンポーネントを使用することで、自動的に画像を最適化します 国際化に対応したルーティング: ビルトイン

    Next.js 10 リリースノート全訳! 画像の自動最適化、i18n対応、アナリティクス、Eコマースほか - Qiita
    Malan
    Malan 2020/10/29
  • jsライブラリ選定はopenbaseが超絶便利 - Qiita

    openbaseとは https://openbase.io Find and compare open-source packages with user reviews, categorization, and unparalleled insights about packages' popularity, reliability, activity, and more. 手を抜いてdeeplでw ユーザーレビュー、カテゴリ分け、パッケージの人気、信頼性、アクティビティなどについての他の追随を許さない洞察力で、オープンソースパッケージを見つけて比較してください。 現在、多くのプログラミング言語はパッケージマネージャがあって、何らかの方法でパッケージについての情報を取得することができると思います。 パッケージの選び方 自分の場合はjs系が殆どなので、ライブラリを選ぶ方法は以下のような感

    jsライブラリ選定はopenbaseが超絶便利 - Qiita
    Malan
    Malan 2020/10/12
  • 1分でも早く仕事を終わらせるためにVSCodeにできること - Qiita

    はじめに 投稿は『VSCodeが最強のエディタだ!!』などといったことを伝える記事ではありません。 数あるエディタの中の『VSCode』に焦点を当てて、作業効率化できるための使い方をまとめたものです。 いくつかのテーマに分けて、ご紹介させていただきますので、興味のあるところを拾い読みしていただければと思います。 (スクリーンショットについては、随時更新させていただきますが、古い場合があります。ご容赦ください。) 1.ショートカット ショートカットはかなりの数があるので、今回は『1日の作業の中で登場頻度が多そうな操作』に焦点をあてて、効率化を目指していきます。 ショートカットを覚えることで、ある程度の操作はマウスに触らずにできるようになります。 1つ1つの効果としては微々たるものですが、操作頻度の多いものであればあるほど、効果が期待できるので、覚えることをオススメします! VSCodeを閉

    1分でも早く仕事を終わらせるためにVSCodeにできること - Qiita
    Malan
    Malan 2020/09/30
  • TypeScript学習ロードマップ - Qiita

    TypeScript全然わかんない... という状態から、プロジェクトに導入できるまでになんとかなったので、 学習の参考になったものなどをまとめて学習ロードマップを作成いたしました。 私自身もまだまだのレベルですが、これからTypeScriptを勉強したい!という方の道しるべになれば幸いです Level 0: TypeScriptってなんぞや? まず学習する前に、その対象がなんなのか、を見極める作業です。 TypeScriptは altJS の1つです。 JSは元々大規模なコードを組むには不向きな設計になっているので、 altJSというメタ言語でラッピングすることで扱いやすくするものです。 altJSで他に有名なのはcoffeeScriptなどでしょうか。 TypeScriptはtypeと名乗っている通り、静的型付けを特徴としています。 また、jsと互換性があり、jsの上位互換(スーパセッ

    TypeScript学習ロードマップ - Qiita
    Malan
    Malan 2020/09/25
  • GitHub CLI 1.0 主要コマンドのサブコマンド、オプションまとめ - Qiita

    GitHub CLI 1.0の主要コマンドのサブコマンド、オプションまとめ ついにGitHub CLI 1.0が登場しましたね。🎉 ソースコード、ドキュメントはこちらから 👉https://github.com/cli/cli 👉https://cli.github.com/ GitHub CLIは、go言語製のGitHub公式のCLIツールです。(既存のGitHubのCLIツールとして有名なのはhubらしいですね) 従来はcommitなどの作業はターミナルで行うが、PRの作成などはブラウザを開いて行う必要がありました。 ターミナル→ブラウザ→ターミナル...みたいに頻繁にアプリを切り替える必要があり、個人的にはこのタイミングでコンテキストスイッチによって集中力が途切れがちでした。GitHubを開くためにブラウザ開いたのに、YouTubeのタブが開いていてそのまま...なんてことはよ

    GitHub CLI 1.0 主要コマンドのサブコマンド、オプションまとめ - Qiita
    Malan
    Malan 2020/09/22
  • [翻訳]なぜEmacsはviにエディタ戦争で勝利を収めたのか - Qiita

    原文: How Emacs beat vi in the Editor Wars from TREVOR JIM この暗い時代1、人々は切に明るいニュースを欲している。ありがたいことに、私には報告できることがある。Emacsがviにエディタ戦争で勝利を収めたのだ!! viはEmacsよりよく使われているだろう?、と笑いながら言う人もいるだろう。これらの虚言は完全に間違っており、そしてそのことは簡単に証明できる。 ではやってみよう。iPhoneを取り出しBluetoothキーボードを繋いでほしい。そしてブラウザを立ち上げアドレスバーに文字を入力してみよう。そこでEmacsのキーバインドをいくつかためそう。Ctrl-a: 行頭に行く、Ctrl-e: 行末に行く、Ctrl-b: 一文字下がる、Ctrl-k: 行削除、Ctrl-d: 一文字消す、Ctrl-y: ヤンク。 そう、Emacsはあなたの

    [翻訳]なぜEmacsはviにエディタ戦争で勝利を収めたのか - Qiita
    Malan
    Malan 2020/09/07
    おい、また戦争させる気か…! / それはともかく vim の外では emacs keybind よく使ってる
  • 糞コードは直すな。 - Qiita

    とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

    糞コードは直すな。 - Qiita
    Malan
    Malan 2020/08/03
    クソコードの程度と経営的戦略のバランスによって直す直さないを切り分けた方が良いよ
  • エンジニアの劣等感との付き合い方 - Qiita

    はじめに 私は、不完全な人間です。 人より劣っているところ、弱みもたくさんあります。 しかしながら、なんとか、今日までエンジニアとして生きていくことができました。 私がこれまで、劣等感とどう折り合いをつけてエンジニアとして生きてきたか、説明したいと思います。 この記事で最も言いたいことは「不完全な自分を認めながら、でも、自分の成長の可能性を失わない」ということを伝えたいです。 劣等感にまみれたエンジニア人生 ふりかえると、劣等感にまみれたエンジニア人生でした。 「自分はダメなエンジニアなんだ…」 という想いが、思考の隅につきまといながら、なんとか生きています。 思い返せば、この想いの最初のきっかけは、新人時代に先輩社員にコードレビューの指摘で、叱咤された事でした。 「こんなことも知らないの」 「コードを書く才能がないんじゃない」 「…あぁ、もう、いいから、こっちで修正しとく。いいよ。さわら

    エンジニアの劣等感との付き合い方 - Qiita
    Malan
    Malan 2020/07/27
  • YOLO v3を使ってシャニマスのキャラクター画像認識&判別をしてみる - Qiita

    でインストールが可能. 実行 画像収集のためにコードを書く. シャニマスアイドルを集めるために以下のようにする. 立ち絵が少ない印象だったので「キャラ名 コミュ」等も追加するといいかもしれない. from icrawler.builtin import GoogleImageCrawler google_crawler = GoogleImageCrawler( feeder_threads = 1, parser_threads = 2, downloader_threads = 4, storage = {'root_dir': 'shiny'} ) filters = dict( size = 'large' ) words = ["アイドルマスターシャイニーカラーズ","シャニマス","櫻木真乃","風野灯織","八宮めぐる", "月岡恋鐘","田中摩美々","三峰結華","白瀬

    YOLO v3を使ってシャニマスのキャラクター画像認識&判別をしてみる - Qiita
    Malan
    Malan 2020/06/14
  • WSL2 Docker が PC のディスクを圧迫する - Qiita

    概要 WSL2 バックエンドの Docker では、コンテナやボリューム、イメージを削除しても、ホスト (Windows) のディスク容量が解放されない。 原因 WSL2 は一度確保したディスクをホストに返さないらしい。Issue が上がっている: WSL 2 should automatically release disk space back to the host OS · Issue #4699 · microsoft/WSL 確認 雑に確認してみる。 Docker のディスクファイル (%LocalAppData%\Docker\wsl\data\ext4.vhdx) のサイズを確認する。 WSL2 バックエンドを作成したばかりのまっさらな状態: > docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE > dir Direc

    WSL2 Docker が PC のディスクを圧迫する - Qiita
    Malan
    Malan 2020/06/09
  • Nimを知ってほしい - Qiita

    なんでこんなのを書いているのか Nim趣味で使っているのですが、「Nim?なにそれ?」みたいな話を何度もするのが疲れたのでURL投げつければ済むようにしたいからです。 F#を知ってほしいに敬意を。 ※Nim使いの人もマサカリ(というかアドバイス)とかあればください。 ※Nimの概説が面倒なときに参照先として使ってください。 ※medyさんの記事Nimを知ってほしい2022もオススメです。 Nimとは, なぜNimなのか ざっくりと説明すると、 静的型付けで型安全な上にPythonっぽい構文でコード量も少なく済む「効率的、表現力豊か、エレガント」なプログラミング言語です。 コンパイラが優秀すぎて、勝手に最適化して実行バイナリのサイズを小さくしてくれるし速い。 誤解を恐れずに表現するなら「Pythonの皮を被ったC/C++」。 詳細はWikipedia読んだほうがいいです。引用(https:

    Nimを知ってほしい - Qiita
    Malan
    Malan 2020/06/06
  • Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita

    イントロダクション 目下、開発中のプロダクトなので詳しいことは書けないのですが、いろいろと気付きの多い出来事だったので、 少し自分自信の振り返りも兼ねて、投稿してみたいと思います。 これは、決してGoよりPythonのほうが優れているとかそういった話ではないです。 今回、自分は開発者というよりプロジェクトマネージャー(以降、PM)という立場になります。 Goの採用 当社のコア技術Pythonなのですが、今回、開発にあたってGoを採用していました。 主な採用理由としては、「プロトコルとしてgRPCを採用するにあたって、gRPCとの組み合わせ事例が多い」からでした。 gRPCの採用理由は、「同時に企画されていた別プロダクト(Python)との連携が想定されており、異なるプログラミング言語間でも型を維持したままデータ交換が可能」なことからでした。 当初は、プロダクトのリリース時期も未定でプロト

    Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita
    Malan
    Malan 2020/06/01
  • NURO光はセキュリティ的にやばいって話 (安全に使うための方法) - Qiita

    要約 NUROひかりのHGWはデフォルトでIPv6ファイアウオール機能が 無効 または 未搭載 の可能性がある ので、そのまま使うと家庭内LANがインターネットから見えちゃうからちゃんと設定か対策して使おうぜって話。 このドキュメントの対象とする人たち 何も考えずに速度が速いだけでNURO光を使っている、「いんたぁねっとが何かよく分かっていない」人向けです。 ネットワークやセキュリティを理解していて、自分のルータでセキュリティを維持しつつ使える!って人には全く関係ない話なので気にしなくていいです。読まなくていいです。 IPv6 と IPv4 のセキュリティ ここでは IPv6 と IPv4 のアドレスが割り当てられたPCやスマホとかがインターネットからどう見えるのか?について説明します IPv4 の場合 一般的にIPv4アドレスは1契約につき1アドレスが付与され、それをルータ呼ばれる機器を

    NURO光はセキュリティ的にやばいって話 (安全に使うための方法) - Qiita
    Malan
    Malan 2020/05/31