タグ

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

  • Redux はもう辛くない。redux-aggregate - Qiita

    書き味の悪さは致命的なレベルだと思っています。この課題を解決するべく、ヒントを求めて様々な状態管理ライブラリを試しました。unistore や parket、Vuex、いずれもイベント駆動ですが、そこには書き味醸成のための共通点があることに気づきます。 それは、状態を変更する手続きが少ないということです。それらにインスパイアされた Reduxヘルパーが redux-aggregate です。考案にあたり気をつけたのは以下の点です。 既存のエコシステムを侵害しない 関数型で完結させる TypeScript による推論 0 dependencies で薄いこと なお、これは Redux を扱う上でのヘルパー(非middleware)のため、Redux の基的な理解は予め必要です。 📝 コードの紹介 【Before】今までは「+1」のために、これだけのコードが必要でした。 const ini

    Redux はもう辛くない。redux-aggregate - Qiita
  • 治安の悪い Slack Emoji を作るツールを作った - Qiita

    (治安の悪くない Emoji も作れます) 作ったもの ここで遊べます おもしろいところ GIF アニメのエンコードまですべて js で完結しているので、ありがちな「謎のサーバーに画像アップロードするといい感じに変換してくれる」的なサービスと違って、素性の知れたコードがクライアント側でサクサク動きます。 なにができるの? 画像を 128px x 128px に変形 画像を、 Slack にアップロードできる(現状)最大サイズの 128px x 128px に変形します。 ローカルのファイルから選ぶか、画像の URL を入力できます。アップロードするわけではないので、デカい画像でもサクサクなのがお気に入りです。 変形は 正方形に引き伸ばし(アス比無視) 正方形いっぱいに拡大して、余ったところはトリミング(アス比維持) 正方形に収まるように縮める(アス比維持) から選べます。 テキストから画像

    治安の悪い Slack Emoji を作るツールを作った - Qiita
  • お前らのSSH Keysの作り方は間違っている - Qiita

    GitHubのHelpに記述されているSSH Keysの作成方法が僕の知っている作成方法と 微妙に異なっていたので、書いてみました。 以下の参考にしています。 Generating SSH keys - User Documentation SSH Keysの確認 既存のSSH Keysの確認をする必要があるので、以下を実行 デフォルトでのSSH Keysの名前は以下のうちのどれか id_dsa.pub id_ecdsa.pub id_ed25519.pub id_rsa.pub 現在使用している鍵の暗号強度の確認 以下のコマンドにて鍵長が2048以上かつ暗号化方式がRSA、或いはECDSAやEd25519であればOK $ ssh-keygen -l -f ~/.ssh/id_rsa.pub 4096 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    お前らのSSH Keysの作り方は間違っている - Qiita
  • 世のフロントエンドエンジニアにApollo Clientを布教したい - Qiita

    こんにちは。いかがコーディングお過ごしでしょうか。 私は今更ながら最近GraphQLで遊び出し、そしてApollo Clientに出会いました。 ワクワクしました。「これは想像以上に既存のフロントエンドの設計・実装を変えるものだぞ!」と感じました。 「Apollo ClientってGraphQLクライアントでしょ?GraphQLエンドポイントない俺には関係ないな。」と思ったそこのあなた、それだけじゃないんですApollo Clientは!!!!! 記事では「Apollo Clientとはなんぞや」という話と「なぜ私がApollo Clientを布教したいのか」という点について語ります。実は最初は実装含めたチュートリアルを書いていたのですが長くなり過ぎたため記事を二つに分けました。この記事はどちらかと言うと概念系の話が多めで、片方にApollo Client + Reactのチュートリアル

    世のフロントエンドエンジニアにApollo Clientを布教したい - Qiita
  • フロントエンドのコンポーネント設計に立ち向かう - Qiita

    ReactVueなどコンポーネントベースで作っていくViewのライブラリが普及したことで、コンポーネント指向での開発が一般化してきた昨今のフロントエンドですが、このコンポーネントの設計に悩まれる方も多いのではないでしょうか。 コンポーネントをどの粒度、どんな状態で分割するのが良いのか、などなど、特にチームで開発する時に認識が揃っていないとカオスになりがちな部分であると思うので、自分なりの設計をする際の指針を言語化しようというのが記事の目的です。同じように悩まれている方にも何らか示唆を提供することができたら嬉しいです。 想定読者 「コンポーネント設計?なにそれ?おいしいの?」という方 初めてコンポーネント設計でアプリ作ってみたけど、当にこれでいいのか自信の無い方 はじめに: "コンポーネント"とは まず最初に"コンポーネント"という言葉についてですが、ここでは「GUIのパーツをモジュー

    フロントエンドのコンポーネント設計に立ち向かう - Qiita
  • 2017末時点での React Component 設計のベストプラクティス - Qiita

    どう考えているか、というのを聞かれたので、記事に起こしておきます。個人の意見です。 Prettier を使う 気づけばコードの整形を人間がやる時代は終わりました。 細かいコーディングスタイルでレビューの時間を取るぐらいだったら、一貫した自動整形ルールを適用すべきです。 人によっては細かいこだわりがあって prettier の規則が気にわないかもしれず、僕も最初はそうでしたが、Atomで保存する度に自動整形を走らせる prettier の強烈な開発体験によって、最終的にそれらのこだわりを全て捨てることが出来ました。 生産性を求めるなら、現時点では最優先で導入すべきものです。 React.createClass を使わない v16 で削除されたのでいわずもがな。 同様に、 createClass でしか使えなかった mixin 周辺機能も丸ごと deprecated です。 「可能な限りは」

    2017末時点での React Component 設計のベストプラクティス - Qiita
  • もし、HTMLのテキスト周りでデザイナーからこんなお願いをされたら... - Qiita

    HTMLのテキストはPhotoshopのように融通が効かないから、デザイナーからの細かいお願いはだいたい断っている...なんてことありませんか? モダンブラウザは色んなプロパティが対応してきているので、できることも増えています。 今回は、知っているといざというとき便利なテキスト周りのCSSを集めてみました。 「日語、文字詰めできないかな?ほら、このカタカナとかキモい。。」 「Webで文字詰めだと?無理なんだよあきらめな!」なんていう時代はもうとうに過ぎ去っています。OpenTypeのフォントであれば、日語でもちゃんと文字詰めできるんです。 .class { -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; } ↓こんなかんじで

    もし、HTMLのテキスト周りでデザイナーからこんなお願いをされたら... - Qiita
  • フロントエンドチェックリスト(日本語訳) - Qiita

    GitHubで公開されているフロントエンドチェックリストというドキュメントが、網羅されている内容が幅広く便利そうだったので、日語に翻訳しました。 日語版は、以下のGitHubリポジトリにあります。GitHub側と自動的に連携するようにしておりますので、誤訳や誤りなどがあれば GitHub のプルリクエストまたは Issue で報告していただけると幸いです。 https://github.com/miya0001/Front-End-Checklist 日語版への貢献方法 最終更新日時: 2017-11-19 03:50:47+09:00 (未翻訳) Front-End Checklist The Front-End Checklist is an exhaustive list of all elements you need to have / to test before lau

    フロントエンドチェックリスト(日本語訳) - Qiita
  • RasPiとディープラーニングで我が家のトイレ問題を解決する - Qiita

    おしっこセンサーできました ウチの小学生の息子が家のトイレでたびたびおしっこをこぼしてしまう。俺がくどくど注意してもあんまり効果ない。そこで、代わりにAIに怒ってもらうことにした。こんな感じである。 おしっこセンサーのデモ(動画)。水を数滴床にたらすとブザーが鳴り、床を拭くと止まる。 ディープラーニングの画像認識を使い、床の上に落ちた水滴をカメラで検出してブザーが鳴る仕組みだ。夏休みの自由工作に過ぎないので精度は期待していなかったけど、意外にきちんと動いてくれて、カメラに映る範囲に水滴を数滴たらすとピッピと鳴り、床を拭くとブザーも止まる。「お父さんだってAIくらい作れるぞ」と息子に自慢したいがための工作なのだ。 でも、これ作るのはそんなに難しくなくて、休み中の3日くらいで完成した。かかったお金は、RasPiやカメラ、周辺デバイスが2万円弱、画像認識のモデル作成に使ったクラウドの料金が数10

    RasPiとディープラーニングで我が家のトイレ問題を解決する - Qiita
  • Service Workerの基本とそれを使ってできること - Qiita

    Service Workerとは ブラウザが Web ページとは別にバックグラウンドで実行するスクリプト オフラインのアプリを実現・サポートするために作られたものです ちなみに、ブラウザの対応状況はこんな感じ http://caniuse.com/#search=service%20workers 特徴 DOM にアクセスできない DOM を操作したい場合は、Service Worker がコントロールしているページ(js)と postMessage でメッセージのやり取りをして行う リクエストをプロキシすることが可能 Service Worker はブラウザが必要に応じて起動・終了するので、変数の値を保持しておけない Cache、IndexedDB 等で値を保存して、必要になった時に取り出すようにする Promise を多用する https か localhost 上でしか動作しない ラ

    Service Workerの基本とそれを使ってできること - Qiita
  • GitHub English Challenge Cheat Sheet - Qiita

    GitHub上の実際のコミットメッセージやIssueのやりとりをみて、チートシート作りました。 共通的なこと コミットメッセージやIssueのタイトルは、主語省略し、1文で書き行末ピリオドは付けない 動詞は現在形・過去形のどちらも同じくらいの頻度で見られるが、どちらかに揃える。 コミットメッセージを書く Japanese English

    GitHub English Challenge Cheat Sheet - Qiita
  • GitHub APIから学ぶ次世代のAPI実装方式GraphQL - Qiita

    最近公開されたGitHubAPIは、GraphQLという形式に対応しました。今後はこちらが主流になっていくようで、既存のREST APIからGraphQLへのマイグレーションガイドも提供されています。 今回は、このGraphQLについて、実際にGitHubAPIを叩きながらその仕組みを解説していきたいと思います。 GraphQLとは 歴史 GraphQLは、Facebookの中で2012年ごろから使われ始めたそうです。その後2015年のReact.js Confで紹介されたところ話題となり、同年"technical preview"のステータスでオープンソースとして公開されました。その後仕様が詰められ、2016年9月に晴れて"preview"を脱し公式実装として公開されました。これと同じタイミングで、GitHubからGraphQLバージョンのAPIが公開されています。 このあたりの経緯

    GitHub APIから学ぶ次世代のAPI実装方式GraphQL - Qiita
  • サンプルコードで学ぶPWA - Qiita

    はじめに Google I/O 2017の動画を確認し、そろそろPWAについて真面目に把握していかなければと思い至り、GitHubからいくつかサンプルプログラムを探してきて触ってみたので基的な技術情報と合わせてまとめました。なのでPWA初心者向けです。 特定のJSフレームワークを扱う専門のエンジニアでない限り(私自身がそうなので)、それぞれのJSフレームワークの対応状況なども気になるところだと思いますので、 React.js , Angular , Vue.js の3つにおけるPWAのサンプルについても調べました。 確認した手順などを含めて要点だけまとめていますが、詳細はそれぞれのGitHubページを参照しつつcloneして触ってみて頂ければと思います。 シンプル構成 まずはJSフレームワークなどが入っていないシンプルな構成で、PWAの仕組みについてざっくりまとめました。 PWA ret

    サンプルコードで学ぶPWA - Qiita
  • 【2018年版】React NativeでiOSアプリを作ってストアでリリースしてみた - Qiita

    はじめに React Nativeでの開発が全体的にどんな感じか掴みたかったので、小さなアプリを開発し、App Storeでリリースしてみました。 プロジェクト作成からストアでのリリースまでの間、開発中に出てきたテーマを振り返ってみます。(React Nativeの概要や特徴の解説については、他の方の記事をご覧ください。) 今回の一連の開発を通して、現段階ではネイティブ側(Xcode)を触らないといけない場面がちらほらあるということが分かりました。 ※記事執筆時点のReact Nativeのバージョンは0.43です ※2020年に別のアプリを作った記事を投稿しました【2020年版】 React NativeでiOSアプリを作ってストアでリリースしてみた - Qiita ※筆者はiOSアプリの開発経験者です(Swift, Objective-C) ご注意 記事の執筆時点に対して、最新のRe

    【2018年版】React NativeでiOSアプリを作ってストアでリリースしてみた - Qiita
  • ChromeのヘッドレスモードをMacOSXで試してみた - Qiita

    マストドンで盛り上がる最中、 こっそり一部で盛り上がってたChromeのヘッドレスモード MacOSXで少し試してみたいと思います。 開発中の機能ということで、仕様の変更もあると思いますが、2017/4/16段階ではちゃんと以下のやり方で動作してます:) 準備 Google Chrome Canaryをインストール 開発段階にある機能がのってるchromeです。ささっと入れちゃいます。 nodejsインストール(v6.3以上) ちなみに今回試したのはv7.9.0 シェルにCanaryバイナリへのエイリアスを作成します(僕は.zshrcに追加しました/bashの人は.bash_profileかな) alias chrome-c='/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary'

    ChromeのヘッドレスモードをMacOSXで試してみた - Qiita
  • React 15.5へのアップデート手順(prop-typesとReact.createClass) - Qiita

    React 15.5がリリースされ、今までは同梱されていたReact.PropTypesとReact.createClassが非推奨となりそれぞれ別パッケージに分かれました。 React v15.5.0 - React Blog prop-types create-react-class React.PropTypes を prop-typesへマイグレーションする方法としてcodemodのスクリプトが提供されています。 reactjs/react-codemod: React codemod scripts React 15.5の警告内容 単純にReact 15.5へアップデートするとReact.PropTypesとReact.createClassのコンソールエラーが表示されます。 まだ非推奨の警告だけなので16.0のメジャーアップデートまでは普通に動作します。 Warning: Re

    React 15.5へのアップデート手順(prop-typesとReact.createClass) - Qiita
  • RSCSS というCSS設計について - Qiita

    以下、ブログに書いたのとほぼおなじ内容だけどこっちにも転載してみます。 github: https://github.com/rstacruz/rscss githubのREADMEをドキュメント化したもの: http://ricostacruz.com/rscss/index.html (このドキュメント自体がRSCSSの実践例になってる) しばらく CSS とか追ってなかったので、触るにあたって「むやみにCSS書いてたら後で確実に死ぬし、そういえばなんかOOCSSとかあったな」と思っていろいろ調べてたら OOCSS の他にも SMACSS とか BEM とか SuitCSS とか FLOCSS とかなんかいろいろ出てきて大変でした。たしか SMACSS くらいまでは記憶があるんだけど…。 で、どうもどれもしっくり来ないのでさらに調べてみると RSCSS というものを発見。「フレームワー

    RSCSS というCSS設計について - Qiita
  • Bash on Ubuntu on Windowsが起動しなくなったら - Qiita

    エラーが出て起動しない。アカン。 諦めて再install PCを再起動する コマンドプロンプトを開く lxrun /uninstall /full を実行。# Linux subsystemのuninstall。 もしここで0x8008005となる場合は、一度[Windowの機能の有効化または無効化]から[Windows Subsystem for Linux (Beta)]を無効にし、再起動して再度有効にしてから試してください。 rmdir /S %LOCALAPPDATA%\lxss を実行。# Linux subsystemのデータを消す lxrun /install /y を実行。# Linux subsystemのinstall お好みでユーザー作成 上記までだとBash起動時にroot権限となっているので、お好みでユーザーを作成します。 ユーザー名は適宜読み代えてください。 ユ

    Bash on Ubuntu on Windowsが起動しなくなったら - Qiita
  • ディープラーニングでアスキーアートを作る - Qiita

    はじめまして。 業はアスキーアート (以下AA) 職人のOsciiArtといいます (業ではない)。 AlphaGo対イ・セドルの対局を見て、「僕もディープラーニングで神AA職人を倒したい!」と思い、pythonをインストールしてちょうど一年の成果を書いていきます。 コードはこちらにアップしてあります。 https://github.com/OsciiArt/DeepAA ここで扱うアスキーアートとは ここで扱うAAとは、 こういうの……↓ ではなく、こういうの……↓ でもなく、こういうの……↓ ともちょっと違って、こういうの……↓ ではもちろんなく、こういうのです。↓ このような、線画を文字を作って再現した「トレースAA」と呼ばれるタイプのAAをここでは扱います。 詳細はwikipediaの「アスキーアート」のページの「プロポーショナルフォント」の項を参照してください。 wikipe

    ディープラーニングでアスキーアートを作る - Qiita
  • ゼロから始めるWebAssembly - Qiita

    学習記録 WebAssemblyとは ブラウザ上でクライアントサイドのスクリプトとして効率的に動くバイナリフォーマットです。 現在JavaScriptより軽量で高速な処理を提供するためにベンダー各社で開発されています。 現時点ではDOM, WebAPIへのアクセスとかできません。GCもない。なので現状使いどころは重い処理をWebAssembly部分に投げ出すイメージです。 スレッドとかもFuture Workらしい。 https://github.com/WebAssembly/design/blob/master/FutureFeatures.md#threads もちろんWebを意識しているが、最終的にはWeb以外でも使えるような思想です。一つのバイナリを作ってしまえばどんなところでも動くようなReact Nativeのようなところを目指しています。 https://github.co

    ゼロから始めるWebAssembly - Qiita