タグ

ブックマーク / qiita.com (1,746)

  • idやclassを使ってテストを書くのは、もはやアンチパターンである - Qiita

    いきなり結論を書くと、idやclassはスタイルのためのものなので、テストでそれを使うのはやめましょう。そして、カスタムデータ属性を使いましょう。(idやclassはスタイルのためだけではないという意見はごもっともです!しかし、主にとしてスタイルに使われるということでご了承頂いて以下の駄文に付き合って頂けると幸いです🙇) 先に断っておくと主にreactについての話で、JSXを前提とします。(手法はReactに限りませんが理由は後述) 2020/03/23 追記 この記事は1年以上前に書かれた記事なのでテストフレームワークとしてenzymeを使っていますが、現時点ではTesting Libraryの使用をオススメします。data-testid に対応するクエリを備えています。 React Testing Library · Testing Library はじめに ご存知の通り、ロジックと

    idやclassを使ってテストを書くのは、もはやアンチパターンである - Qiita
  • 我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita

    『我が名は神龍……どんなテストもひとつだけ自動化してやろう』 じゃ、じゃあ!このブラウザテストを自動化してください! Chromeで https://kids.yahoo.co.jp/ にアクセスして 検索ワードに ねこ と入力して さがすをクリックして 検索結果にネコ - Wikipedia が含まれていることを確認して 検索結果に 買い方 を追加して さがすをクリックして 探しているのは「の飼い方」?と表示されることを確認して クリックするとの飼い方で再検索されて 検索ボックスを不倫で上書きして さがすをクリックして このページは表示できませんと出ていることを確認 『よかろう……たやすい願いだ』 まずはライブラリのインストールと初期設定をしてやろう…… # [ライブラリのインストール] # CodeceptJSとPuppeteerをインストールします。nodeとnpmが必要ですので

    我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita
  • オレ プログラム ウゴカス オマエ ゲンシジン ナル - Qiita

    ガイヨウ オレ オマエ ゲンシジンスル プログラム カイタ ゲンシジン ジョシ ツカワナイ ゲンゴショリ スル ジョシ ケス ゲンシジン カンジ ヒラガナ シラナイ ゼンブ カタカナ スル サンプル import requests import json import sys BASE_URL = "https://api.ce-cotoha.com/api/dev/" CLIENT_ID = "オマエ アイディ イレル" CLIENT_SECRET = "オマエ シークレット イレル" def auth(client_id, client_secret): token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens" headers = { "Content-Type": "application/json", "charse

    オレ プログラム ウゴカス オマエ ゲンシジン ナル - Qiita
  • Slackのチャンネルをprefixでまとめてくれる拡張を作りました!

    チャンネルが増えすぎて目が辛いので、いい感じにまとめてくれる拡張を作りました! これが こうなります インストールはこちら Chrome: Slack Channels Grouping - Chrome ウェブストア Firefox: Slack Channels Grouping – 🦊 Firefox (ja) 向け拡張機能を入手 Opera: Slack Channels Grouping extension - Opera add-ons Edge: Slack Channels Grouping – Microsoft Edge Addons 特徴 ハイフンやアンダースコアで区切られたものをまとめます。 chat-犬 chat_ DOMの更新を監視しているので、チャンネル作成や名前変更などにも対応しています。 タブが非アクティブな場合はDOMの監視は止めています。 経緯 チ

    Slackのチャンネルをprefixでまとめてくれる拡張を作りました!
  • react-hooksのuseStateでfunctionを管理させたい場合のTips - Qiita

    Help us understand the problem. What is going on with this article?

    react-hooksのuseStateでfunctionを管理させたい場合のTips - Qiita
  • React Hooksでredux / react-reduxでやってたことを色々やってみる - Qiita

    1. useReducerでcombineReducersだけ使ってみる reduxにおいてはcombineReducersを利用してネストすることが出来た。 hooksの機能としてはこの部分だけは提供されてないので、reduxから流用して組み合わせることをやってみる 例えばこんなreducer import { combineReducers } from "redux" const counter = (state = 0, action) => { switch (action.type) { case "INCREMENT": return state + 1 case "DECREMENT": return state - 1 } return state } const inputValue = (state = "foo", action) => { switch (acti

    React Hooksでredux / react-reduxでやってたことを色々やってみる - Qiita
  • 🎉React 16.8: 正式版となったReact Hooksを今さら総ざらいする - Qiita

    来たる 2 月 4 日、ついに React 16.8 の正式版がリリースされます。この React 16.8 には、アルファ版が公開されて以来常に React ユーザーたちの関心をほしいままにしてきたReact Hooksが正式版となって追加されます。 ※追記:アメリカ時間で 2 月 5 日になっても React 16.8 がリリースされませんでした。事前情報で 2 月 4 日と言ってたのに……。いつになったらリリースされるのかはよく分かりません。2 月 6 日に React 16.8 がリリースされました! 熱心な React ユーザーの方は、当然 React Hooks の情報を常に追っており正式版がリリースされたらすぐにでも自分のコードで使いはじめる準備ができていることと思います。しかし、この記事をご覧の方々の中には React を使っているにも関わらず「React Hooks のこ

    🎉React 16.8: 正式版となったReact Hooksを今さら総ざらいする - Qiita
  • ぼくのかんがえたさいきょうの配色Webサービスを公開した話 - Qiita

    TL;DR まあぜんぜん最強ではないですが、自分好みの配色 Web サービスをつくってみました yum-yum COLOR 個人で公開まで作りきったのは初めてでしたので、色々とつまずきました そんなつまずきポイントや、 Web サービスを公開するために利用した技術などを紹介していきます ❗ なぜ配色サービス ❓ 色彩検定という資格をご存知でしょうか? 僕はプログラマーなのに 色が好き で、この試験を受検しました。 その学習をしてる時にこんな風に思ったのです。 この色相環、これを使って配色選べたら便利じゃない? あっ、このトーン、これを使って配色選べたら便利じゃない?? と。 受検勉強の追い込みをしないといけないのに、そっちのけで作り始めてしまった...というわけです (一時はどうなるかと思いましたが、無事に検定は合格しましたよ 🎉 ) どんなサービスなの ❓ 使い方 色相環 と Hue

    ぼくのかんがえたさいきょうの配色Webサービスを公開した話 - Qiita
  • 雰囲気で使わない @types/react - Qiita

    @types/react の型定義を雰囲気で使っている皆さん、こんにちは。React コンポーネントを書くときはどの型を使い、どう書くべきか?という疑問を Twitter でお見かけし、雰囲気で使っていた私も気になったので @types/react の中身を覗いてみました。 master に入り、いよいよリリース間近な Hooks。稿は FC(旧SFC) の話が前提です。VScode で型付けをしようとすると、似たような型が山ほど出てきて、どれを使うのが適切なのか・違いが何なのか…パッと見分かりませんね。 ReactNode ReactChild ReactElement StatelessComponent FunctionComponent JSX.Element SFC FC という訳で、こんな Props を持っているコンポーネントの各種書き方を比較、白黒ハッキリさせていきたいと

    雰囲気で使わない @types/react - Qiita
  • TypeScript on ESLint の未来 - Qiita

    The future of TypeScript on ESLint:https://t.co/PTCWKWN22s — ESLint (@geteslint) January 18, 2019 ESLintTypeScript サポートの今後について、公式にアナウンスがありました。 要点をまとめると、 TypeScript チームが TSLint から ESLint に切り替えていくと発表したよ。 ESLint チームと TypeScript チームが協力して開発を進める場として、typescript-eslint プロジェクトを開始したよ。 既存の部品は新しいプロジェクトの org に移動するよ (typescript-eslint-parser は @typescript-eslint/parser になる、等)。 という感じです。 以下は公式アナウンスの翻訳です。 数週間前、

    TypeScript on ESLint の未来 - Qiita
    heavenshell
    heavenshell 2019/01/20
    楽しみ
  • Function::Parameters の紹介 - Qiita

    use Function::Parameters; use Types::Standard qw/Str/; fun hello(Str $world) { print "Hello $world" } # perl: 5.026001 # validation modules: # Data::Validator/1.07 # Function::Parameters/2.001003 # Kavorka/0.037 # type system: Types::Standard/1.002001 # with type constraints # Rate D::Validator Kavorka F::Parameters # D::Validator 172031/s -- -20% -62% # Kavorka 214369/s 25% -- -53% # F::Parameter

    Function::Parameters の紹介 - Qiita
  • LaravelそっくりなPython製WebフレームワークMasoniteの紹介 - Qiita

    2019年あけましておめでとうございます!!! 私は今年はPHPの大人気フレームワークLaravelそっくりのPython製フレームワークであるMasoniteを広めていきたいなーと考えています。Laravelの素晴らしいディレクトリ構造、フルスタックFWのパワフルさ、そしてPythonの可読性の高さ、書きやすさのミックスされたフレームワークは使いやすいこと間違いなし! ということで第一弾、Masoniteフレームワークの紹介!まずは環境構築から! Pythonのインストール Pythonのインストールについては、個人的にはanyenvとpyenvを使ってするのが便利だと思います。やり方はこちらをご覧ください。 anyenvインストール pyenvインストール ↓ anyenv install pyenv exec $SHELL -l # bashを更新 pyenv install 3.6

    LaravelそっくりなPython製WebフレームワークMasoniteの紹介 - Qiita
    heavenshell
    heavenshell 2019/01/06
    Orator 使ってるのか。素直に SA つかっとけばいいのにと思ってしまった。
  • Graal VM の native image を使って Java で爆速 Lamdba の夢を見る - Qiita

    はじめに 前日は mike_neck さんの AWS Lambda のカスタムランタイムにて Java のカスタムランタイムで関数を動かす でした。 偶然にも(?)今日も引き続き、 Lambda Custom Runtime で Java を動かす話です。 AWS Lambda 提供する言語の一つに Java があります。 Java はホットスタートの処理速度は速いもの、コールドスタートでは 5 から 10 秒ほど要することがあります。 また、メモリ消費量も多く LambdaJava の組み合わせは速度重視の場面では使われていないように思います。 2018年の re:invent で、 AWS Lambda の Custom Runtime が発表されました。 お作法に従いさえすればどのような言語でも Lambda として実行可能になりました。 さらに近年 Java 界隈では新しい

    Graal VM の native image を使って Java で爆速 Lamdba の夢を見る - Qiita
  • Vim script で機械学習 - Qiita

    この記事は Vim Advent Calendar 2018 の最終日 25 日目の記事です。昨日は rhysd さんの「Vim の構文ハイライトでクリスマスツリー🎄を飾ってメリクリする」でした。今年も Vim Advent Calendar は完走しました。皆さんお疲れさまでした。 はじめに 昨今 Vim script は目覚ましい進化を遂げ、Vim script からタイマーも実行でき、プロセスを起動して非同期に通信できる様にもなりました。以前の様にコマンドを実行して Vim でのテキスト入力を妨げる事も少なくなってきました。 Vim script が扱える数値も既に64bit化されています。現在 pull-request されている blob 型 も入れば、ほぼ他の言語と同等の機能を得たと言えるでしょう。1 しかしながら世の中のプログラミング言語は機械学習へと足を延ばし、大量のデー

    Vim script で機械学習 - Qiita
    heavenshell
    heavenshell 2018/12/25
    すごすぎる
  • 続 EmacsでJavaを書くという話 @ 2018 - Qiita

    この記事はEmacs Advent Calandar 2018の24日目の記事です。 どうも僕です。今回は以前に書いたEmacsでJavaを書く話のその後を書いていきたいと思います。 以前のEmacsでJavaを書く話は以下を参考。 http://qiita.com/mopemope/items/d1658a4ac72d85db9ccf また以前書ききれなかった部分なども少し書いてみたいと思います。 EmacsでJava を書くにはカロンと共にアケローン川を渡り、幾つかの地獄の階層を旅しなければなりません。 とその前に lsp-mode について少し書いてみたいと思います。 lsp-mode と lsp-java 最近、EmacsでもLSPを使用する流れが来ています。 LSP、Language Server Protocolはエディタに依存せず バックエンドサーバーとフロントエンドのエディ

    続 EmacsでJavaを書くという話 @ 2018 - Qiita
    heavenshell
    heavenshell 2018/12/25
    本当すごい。
  • vimが苦手でもOnivimカッコいいのでおすすめしたい - Qiita

    この記事はVim その2 Advent Calendar 2018 22日めの記事です。 vimconf2018でonivimというGUIエディタを知り、なかなか好感度高いのでオススメしたい記事を書きます。 こんな人にオススメしたい vim使いたいけどなんかターミナルとかハードル高く感じる サーバーにログインしてvi使うからvim使いこなしたいけどwindowsだし環境を用意するのが面倒 新しいエディタを触ってみたい 人と違うエディタを使いたい かっこいいエディタを使いたい Onivimとは? Oni is a new kind of editor, focused on maximizing productivity - combining modal editing with features you expect in modern editors. Oni is built wit

    vimが苦手でもOnivimカッコいいのでおすすめしたい - Qiita
  • Django アプリケーションをプロダクションで運用する際の覚書 - Qiita

    これは Django Advent Calendar 2018 の 12/20 の記事です。 今回はこれまで Django アプリケーションをプロダクションで運用する際にやっておいてよかったこと、もしくはやっていなかったために苦労したことを覚書としてご紹介したいと思います。 The Twelve Factor アプリケーションへの準拠 ウォームアップ の2点です。 The Twelve Factor アプリケーションへの準拠 The Twelve Factor アプリケーションは Heroku の中の人が提唱したアプリケーションの構築方法です。 ひとことでまとめると 実行環境を問わないポータブルなアプリケーション にしましょうというものです。 例えば Django は開発サーバーがインクルードされていますが、プロダクションと同じ環境がローカルでも簡単に (manage.py runserv

    Django アプリケーションをプロダクションで運用する際の覚書 - Qiita
  • ChromeDevToolを使ってNodeJSのデバッグ - Qiita

    この時、--inspect-brkを使うと指定ファイルの1行目にブレークポイントを設定した状態にできます。 (たいていの場合、一緒に使ったら良いと思う)

    ChromeDevToolを使ってNodeJSのデバッグ - Qiita
  • Elmはどんな人にオススメできないか - Qiita

    はじめに 高品質なWebフロントエンド開発を可能にするためのプログラミング言語Elm。その長所を上げればキリがありません。 強い型制約によって実行時エラーをほぼゼロにできること リリースごとに言語機能が減るというどこまでも考えつくされたシンプルな設計 それでいて実用的なアプリケーション開発にとことん貪欲な機能たち まともなパッケージマネージャー テストしやすさ ...... 一方で、そういった強力な武器たちの切れ味を保つために他の言語とは異なる事情を抱えています。 記事では、その特有な性質がゆえに誤解されてしまうことも多い Elm というプログラミング言語について、誤解を解きながら、唯一無二の魅力をお伝えしていきます。 この記事を書いた当時は Elm 0.18 の時代でしたが、Elm 0.19 が出た今でも変わらない内容です。 Elm の根幹部分について言及した記事なので、今後 Elm

    Elmはどんな人にオススメできないか - Qiita
  • React Hooks で作る GUI - Qiita

    当カレンダーの対象読者は Hooks API を少しでも触ったことがあり、公式ドキュメントを確認された方です。Hooks API で、従来の Stateful Component 相当のものが書きやすくなりました。まずは Hooks を利用するモチベーションを、Dan の記事で再確認してみましょう。 Huge components that are hard to refactor and test. Duplicated logic between different components and lifecycle methods. Complex patterns like render props and higher-order components. HOC や render props は complex pattern として、ネガティブに捉えられている様です。HOCを利用

    React Hooks で作る GUI - Qiita
    heavenshell
    heavenshell 2018/12/03
    あとで全部読む。