タグ

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

  • CircleCI 2.0はローカル環境で実行できるよ - Qiita

    先日CircleCI 2.0のopen betaが出ましたね CircleCIDockerネイティブサポートになったりDocker 1.10.0に縛られなくなりました ただ1.0に存在していたSSHデバッグ機能は使えなくなりました しかし恐れることありませんCircleCI 2.0はローカル環境で実行できるのです 記事執筆時はSSHが使えませんでしたが、2018年8月の時点では2.0でもSSHがサポートされました。 CircleCIをローカル環境にインストールする 以下のようにインストールします

    CircleCI 2.0はローカル環境で実行できるよ - Qiita
  • yarn run が便利 - Qiita

    みなさん、 Yarn 使ってますか。 yarn <subcommand> はほぼ npm <subcommand> と互換性があり、そうでない(使い方が違う)コマンドについてはチートシート記事があったりするのですが、 NPM vs Yarn Cheat Sheet あえて yarn run は npm run とは違うぞと申し上げたい。というのも [script] can also be any locally installed executable that is inside node_modules/.bin/. yarn run | Yarn だからです。つまり、

    yarn run が便利 - Qiita
    pirosikick
    pirosikick 2017/03/24
    へぇー
  • JavaScriptでメモリ効率を考える その1(シングルフレームバッファ篇) - Qiita

    JavaScriptでメモリ効率を考える その1(シングルフレームバッファ篇)←この記事 JavaScriptでメモリ効率を考える その2(メモリアロケータ篇) 通常のオブジェクト生成 これは一つのあるあるですが、ゲームを製作していると、 「よーし、パパこのタイミングでオブジェクト1万個作っちゃうぞー!」 というふざけたことがままあります。(ないです) それはつまりコードにするとこんな感じ。 function loop(){ // ふふふ、万単位の弾幕でプレイヤーをぶっころそう! let i = 10000; while(i--){ // 弾の位置をいっぱい作るぞー! const vec = new Vector3(i, i, i); } requestAnimationFrame(loop); } class Vector3{ constructor(x, y, z){ this.x =

    JavaScriptでメモリ効率を考える その1(シングルフレームバッファ篇) - Qiita
  • ソースマップの自作は割とコワくない。 - Qiita

    「めんどくさそう」先入観で敬遠していたのですが、仕様を見たらそんなでもなかったので書き残しておきます。手っ取り早くコードを見たい方はこちらをどうぞ。 ユーザとして、ソースマップに接する機会は多いですが、AltJSを作るとかでもない限り、あまり提供側に回ることはないかもしれません。私自身、次のような疑問というか誤解を抱えたまま、深入りしなかったクチです...。 誤解1: ソースマップを作るにはASTを作る必要がある → 実際はもっとシンプル 誤解2: なんかすごいエンコード(AAAA;AACA;AACA;AACA...)がされてる → ただのBase64 よく見かけるソースマップの説明記事(というほど、記事自体ないけれど)では、「ソースを構文解析してASTを構築して...」という手順が出てくるのですが、 ソースマップにASTは必要ありません。 もちろん、実際にAltJSを作るならASTの作成

    ソースマップの自作は割とコワくない。 - Qiita
  • Rustで書いたWebAssemblyでフィボナッチを計算したらJSより3倍速かった - Qiita

    Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are curr

    Rustで書いたWebAssemblyでフィボナッチを計算したらJSより3倍速かった - Qiita
  • facebook の Reason という言語を調べていた - Qiita

    また facebook 製の名前空間を考慮しないシリーズが増えていた。半年ぐらい前から存在は知られていたリポジトリだけど、最近ドキュメントが新しく、わかりやすくなっていた。https://facebook.github.io/reason/ Approachable syntax. Powerful, automatic source code formatting. Adopt incrementally with JavaScript/C interop. Ahead-of-time compilation to assembly - without a language level VM. Rapidly develop and share projects. Why OCaml?OCaml is a great tool for writing highly expressive,

    facebook の Reason という言語を調べていた - Qiita
  • IE11のバグまとめ - Qiita

    バージョンごとに進化するIEのバグ 備忘録も兼ねて記事にまとめました。 バグについての解決策と補足も併せて記載してますが、 記事に記載されていない遭遇率高めのバグやより良い解決策などがあれば、是非フィードバックをお願いします。 まとめてみた所感としては、IE6の頃から根的な部分は変わってない気がします。 (ただし、パフォーマンスが大幅にアップしたのは認める。) IE11はWindows10の場合、2025年までサポートが続きます。 https://support.microsoft.com/ja-jp/lifecycle/search/18165 ナンテ/(^o^)\\(^o^)//(^o^)\\(^o^)//(^o^)\コッタイ もうね...アボカドまるごとバナナかと。 ちなみに今年の4月でVistaがサポート終了するので、1ヶ月後にはIE9を窓から放り投げてOKです。 https:/

    IE11のバグまとめ - 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
  • 最速のPromiseライブラリ作る方法 - Qiita

    はじめに AigleというPromiseライブラリを開発しています。このライブラリはベンチマーク上だけでなく実際の番環境を考慮した高速化を実現しています。 今回はその過程でBluebirdに大変お世話になったので、なぜBluebirdが速いのか、そしてなぜAigleが速いのかついて説明したいと思います。 基的なPromiseの知識 まず題に入る前にPromiseの基的なことを説明しておきます。 Promiseにはpending, fulfilled, rejectedの3つの状態があります。一度pendingから別の状態に変わった場合は、そのPromiseの状態が変わることはありません。 (引用: MDN) またPromiseは非同期であることが保証されています。この事は少し重要なので触れておきます。 new Promise(resolve => resolve(1)) // 同期

    最速のPromiseライブラリ作る方法 - Qiita
  • i18nの書き方 from JavaScript - Qiita

    続編と、コード自体ではなく、何をすればいいかを書きましたAmazonに見るi18n -「国際化対応」とは何を変える事か Webサイトを多言語化する 最近多言語化に関する仕事をしている関係でi18n(l10n)用のライブラリを色々と見たので、 i18nライブラリによくある使い方を紹介します。 とは言ってもほとんどのライブラリは同じような書き方をするのでJavaScriptを例にします。 ライブラリ一覧 書き方の紹介として使用するものはawasome-javascriptにあるものと、他に気になったものを選びました。 ただし、この記事の目的は「書き方」を紹介するもので「ライブラリ」を紹介するものではありません。 動くことは確認しましたがどのくらいまともに動くかはチェックしていないのでご注意ください。 Polyglot Airbnbが公開するシンプルなライブラリ i18next 色々な環境やフレ

    i18nの書き方 from JavaScript - Qiita
  • ssh鍵の鍵指紋を表示 - Qiita

    ssh-keygen -l -f 鍵ファイル で可能.鍵は公開鍵秘密鍵どちらでもOK(もちろん同じ鍵ペアだと同じ結果が帰って来る). $ ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub 1024 29:3f:e1:d7:12:9e:9b:47:07:77:6e:3d:98:87:ba:63 /etc/ssh/ssh_host_dsa_key.pub (DSA) $ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub 2048 31:3a:2d:90:c5:21:ef:bd:a9:d9:a3:f9:00:48:e0:fc /etc/ssh/ssh_host_rsa_key.pub (RSA) $ ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub 256 1a

    ssh鍵の鍵指紋を表示 - Qiita
    pirosikick
    pirosikick 2017/02/16
    “OpenSSH 6.8/6.8p1 から規定値の鍵指紋アルゴリズムと表示形式が変わった”
  • JavaScript の Number() は副作用がある可能性がある - Qiita

    たまたまTwitterを見てたら以下のようなツイートを見かけました。 つまり、 isNumber っていう関数を作るなら一旦Numberでキャストした値と同一かどうかを比較すれば良いと。おそらく NaN を省いた number 型を true にしたいのかなという感じがする (NaN === NaN は必ず false)。 ただこれには問題があるらしく、 V8 のOptimizerリーダーである bmeurer から下記のようなレスが付いてました。 「 Number() では意図しない副作用があるかもしれない」という意味のレス。最初意味がわからなくて、「おや?」と思ったんですけど、その後で補足が。 「ToPrimitive関数が呼ばれてしまい、意図しないJSの動きをするかも。」とのこと。 つまり、 var a = { x: 1, [Symbol.toPrimitive]: function

    JavaScript の Number() は副作用がある可能性がある - Qiita
    pirosikick
    pirosikick 2017/02/10
    なるほど
  • ReduxでのMiddleware不要論 - Qiita

    問題提起 (※タイトルはキャッチーなのにしましたが、Middleware全般の不要論ではありません。非同期処理において不要論です。) Redux使うときに非同期処理はどう書きますか? 「よくわからないけどMiddleware使うらしい」と思考停止していませんか? この記事では、Redux来どのように扱うことを想定されているのかと、なぜ非同期処理の文脈でもMiddlewareが出てきたのか、そして「実はMiddleware無くても読みやすく書けるよね」という話をしていこうと思います。 Reduxでの設計を悩む人への個人的な解です。 (気になる・詳しく知りたい箇所などありましたらお気軽にコメントください) この記事のゴール ActionDispatcherという筆者が命名したクラスを使うことで、 複数の非同期処理を含むロジックでも読みやすく書ける ネットワーク通信などを含んでもテストがしや

    ReduxでのMiddleware不要論 - Qiita
  • AWS 公式提供のaws-serverless-express を使ってLINE Bot 開発環境を作ってみた - Qiita

    はじめに 昨年末に初めてAWS Lambda 環境でLINE Bot を開発しました。 簡単なBot を作るだけであれば、Lambda を素で使っても問題ありませんが、LINE Login など他のWEB サービスからの呼び出しを受け付けて動くような少し複雑なBot を作ろうと思うと、ちょっと辛くなってきます。 Lambda 環境でNode.js のexpress のようなフレームワークが使えないかと思って検索していると、こちらの記事を見つけました。 AWS 謹製 aws-serverless-express を使って APIGateway + Lambda + Node + Express で RESTful サービスの雛形を最速で作る 記事によると、Lambda でexpress が使えるコードがAWS 公式で(!)提供されているとドンピシャの内容でしたので、そうならば使ってみるしかあ

    AWS 公式提供のaws-serverless-express を使ってLINE Bot 開発環境を作ってみた - Qiita
  • 2016年のOSS圧縮ツール選択カタログ - Qiita

    まだgzipで消耗し(略) 2016年、人類が待ち望んでいた、gzipを圧倒するOSS圧縮ツールzstd(Zstandard)がリリースされたにも関わらず、なんかあんまり話題になっていなくて寂しいので、ちょろいかんじの賑やかし比較記事を書きました。圧縮ツールのカタログ的に眺めていただけるかと思います。 はじめに (この記事で言う)圧縮ツールとは何か 圧縮ツールという呼び名は正確ではない(はず)です。平たく言えば、gzipやbzip2、xz、lz4などですが、人によっては、tarの裏側としてしか使ってなくて、聞いたこともないかもしれませんね。そういうときはまずgzipのmanpageとか読んでください。 しかし、そういうツールを何と呼べばいいのかわからないので、ここでは圧縮ツールと呼んでいます。 ややこしいですが、アーカイバではありません。アーカイブとは実態が一つのファイルになっているフォル

    2016年のOSS圧縮ツール選択カタログ - Qiita
  • Yarn(pkg) はなぜ速いのか気になったのでソースコードを読んでみた - Qiita

    $ node -v v6.9.1 $ npm -v v4.0.3 $ yarn -V v0.17.9 $ rm -rf ~/.npm ~/.yarn ~/Library/Caches/Yarn # キャッシュなどを削除 $ time npm install ... npm install 34.90s user 10.77s system 103% cpu 44.206 total $ rm -rf node_modules $ time yarn install ... yarn install 12.26s user 7.28s system 71% cpu 27.494 total 今回、yarnはなぜ速いかを探ってみたいと思います。 公式の説明 速度に関する部分だけ抜き出してみます。 オフラインモード 一度ダウンロードした package はキャッシュされ二度目はダウンロードされな

    Yarn(pkg) はなぜ速いのか気になったのでソースコードを読んでみた - Qiita
  • 「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita

    FlowtypeやTypeScriptは静的解析によって事前に型違反を検知することができる。JavaScriptは動的型付けの言語であり、来はランタイムにしか型が出現しない。 FlowtypeとTypeScript、ともに「それ自身がランタイムではない」というのが特徴であり、一種のLintツールだと言うことができる。ランタイムではないがゆえに、嘘の事前条件を与えることでそれらを騙すことができるし、自らに有利な制約を追加できるという柔軟性を持つ。 JavaScriptの現実においての型 例を出そう。 type MyUtil = { foo(v: string): number; }; const util: MyUtil = new HogeUtil(); util.foo(1) //=> type error HogeUtil は何かしらのユーティリティ関数の詰め合わせだが、fooにしか

    「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita
  • Selenium禁止 - Qiita

    こんにちは! 今日もAPIがアレなWebサービスをアレしてますか! W3C WebDriverでは、WebDriverによるアクセスを禁止できる 実は、W3Cが規定するWebDriver規格では、WebDriverによる自動アクセスであることを判別できるAPIが定義されています。 https://www.w3.org/TR/webdriver/#interface 具体的には、Webブラウザー上のJavaScriptですと navigator.webdriver の値で判別できます。この値は、現在の実装状況を見る限りでは、次のように動作することがデファクトになっているようです。 WebDriverによる自動アクセスの場合は true 自動アクセスでない、ユーザー操作の場合は undefined この値を応用すれば、WebDriverによるアクセスを禁止できるということになります。 例えば次

    Selenium禁止 - Qiita
    pirosikick
    pirosikick 2017/01/23
    へぇー覚えとこ
  • JSConfに登壇しよう! - Qiita

    2017年12月19日更新 今年でJavaScript系のカンファレンスに応募・登壇しだしてから4年目になります。未だに海外カンファレンスで日人登壇者と会うことが無いので、応募の参考になれば! 海外JavaScriptカンファレンス事情 ウェブ系やJavaScriptにフオーカスしたカンファレンスは大まかにコミュニティカンファレンスと商業カンファレンスの2種類にわかれている。 商業カンファレンスはその名の通りイベントを行って利益を出すことをビジネスモデルとしているイベント。オライリーのカンファレンス、Smashing Conference, beyond tellerrand, Future of Web Design(運営が消えてしまった…倒産?), White October Events等々。呼ぶのに費用がかかる(登壇を仕事としてやっている)スピーカーに会えたり、トレーニングコース

    JSConfに登壇しよう! - Qiita
  • サーバーサイドレンダリング不要論 - Qiita

    サーバーサイドレンダリング、Isomorphic、Universal JavaScriptなどの言葉をよく見かけます。なるほどね、良さそうだね、外部公開するサービスを書くことがあったら挑戦してみたいね、Mithrilにもisomorphic-mithrilってのをがんばっている人がいるし、みたいなことを漠然と思っていたのですが、最近ASCII.jpのシステムコールプログラミングの連載を書いていて、あらためてHTTPの仕様を見返してみて、逆にサーバーサイドレンダリングをしない方がいいのではないか、と思い始めました。 追記(23:30): サーバーサイドレンダリングと書いていますがUniversal JavaScriptみたいな凝ったビューの更新の意味です。 サーバーサイドレンダリングの欠点 サーバーサイドレンダリングのメリットとしてあげられるのは次の2点です。 検索エンジンのクローラー向け

    サーバーサイドレンダリング不要論 - Qiita