タグ

2020年4月19日のブックマーク (8件)

  • mongodb/mongodb - Packagist

    README This library provides a high-level abstraction around the lower-level PHP driver (mongodb extension). While the extension provides a limited API for executing commands, queries, and write operations, this library implements a full-featured API similar to that of other MongoDB drivers. It contains abstractions for client, database, and collection objects, and provides methods for CRUD operat

  • bash の select は令和の時代も役に立つ, その一例 - ようへいの日々精進XP

    tl;dr man bash 例 若干の Kubernetes クラスタを選択したい Kubernetes Pod を選択したい 以上 tl;dr ホントにちょっとした運用ツールを bash で作っていて, 複数の選択肢をリストアップしてメニューとして選択出来るようにしたいなーと思っていたら, bash には select 文という超絶便利な構文が用意されていたので使ってみました. man bash https://linuxjm.osdn.jp/html/GNU_bash/man1/bash.1.html より引用させて頂きつつ, 重要だなと思ったところをかいつまんで. select name [ in word ] ; do list ; done in に続く単語のリストが展開され、要素のリストが生成されます。 展開された単語の集合が番号付きで標準エラー出力に出力されます。 「in

    bash の select は令和の時代も役に立つ, その一例 - ようへいの日々精進XP
  • ES2017 async/await で sleep 処理を書く - Qiita

    async/await は ES2016 でなく ES2017 でした。以下修正しています。 Node.js v7 より ES2017 async/await が利用できるとの話を耳にしたので「サーバサイドでくらい ES2017 使ってみるかな」とちょいちょい使い始めています。どこかのサーバへクエリを叩いてその結果をさらに別のサーバへのクエリに使うという処理って、手元でちょっとしたツールを作るときにも大いに登場する処理なのですが、async/await が使えることでとても簡単に書けるようになったので、その使用感などを僭越ながら簡単に紹介していきたいと思います。 単純なスリープ処理 始めに感動したのは async/await を使うとスリープ処理がいとも簡単に書けるというところでした。async/await と Promise を色々とこねくり回したところ msec => new Prom

    ES2017 async/await で sleep 処理を書く - Qiita
    bleu-bleut
    bleu-bleut 2020/04/19
    最小1000msから最大3000msのスリープを利用したインターバル処理
  • Promiseチェーンの中で条件を満たすまで同じ処理を繰り返す(リトライ処理) - コンパイラかく語りき

    Promiseチェーンの中で、特定の条件を満たすまで同じ処理を繰り返したい場合があります。 例: データロード処理 そんな場合のコードサンプルです。 コード こちら。 const retryPromise = (func, delay) => { const retry = (resolve, reject) => func() .then((result) => ({ result, isCompleted: (result !== null) })) .then(({ result, isCompleted }) => (isCompleted) ? resolve(result) : setTimeout(() => retry(resolve, reject), delay)) .catch(reject); return new Promise(retry); }; 解説 解説を

    Promiseチェーンの中で条件を満たすまで同じ処理を繰り返す(リトライ処理) - コンパイラかく語りき
    bleu-bleut
    bleu-bleut 2020/04/19
    条件を満たすまでリトライするサンプル
  • PuppeteerでChromeを自動操作!|開発室ブログ|株式会社アクセスジャパン

    テストの自動化なんかを検証していたとき、E2Eテストってどうするんだ? Seleniumとかそういうの? などといろいろ調べていたことがあります。 JenkinsからE2Eテスト用スクリプト起動、テスト実行サーバーで走らせて、スクリーンショット取…って、サーバーに画面ねぇし…あ、Xvfbとか使えばできるんだ…めんどいな…うーん…と、もにょもにょしておりました。 Google Chromeのヘッドレスモード いろいろ調べていたところ、Chromeにヘッドレスモードというものがあるのを知りました。 この機能を使うと、GUIのない環境でもChromeが使えてしまいます。Webアプリの操作やHTMLの取得はもちろん、スクリーンショット保存やPDF保存なども可能です。 そしてこれは “ブラウザ” なので、今っぽいなんかすごいフロントエンドでもキッチリ動くところも強みですね。 Node.jsライブラリ

    PuppeteerでChromeを自動操作!|開発室ブログ|株式会社アクセスジャパン
    bleu-bleut
    bleu-bleut 2020/04/19
    クローリングリストからURLをランダムに取得
  • # CommonJS と ES6の import/export で迷うなら - Qiita

    はじめに いつもはes6のモジュール管理方式であるimport/export(ES modules)を使って、npmで手に入れたライブラリや自分で作成したモジュールをロードしているが、たまに思った挙動にならないことがある。また、export defaultしたモジュールをテストしようとしてkarmaでrequire()するとエラーになったりした。そういう場合は、とりあえずmodule.exportsを使ってみるとうまくいったりすることが多いのだが、なぜなのかはあまり考えていなかった。 ということで、実際にはどうなっているのか、またモジュールシステムとは何なのかという点で基的なことから理解を深めて、es6のimport/exportとの違いを知り、より正しく実装できるようになれば良いと思っている。 結論としては 方針としては基的にはES6形式で記述するが、CommonJS形式の読み書きが

    # CommonJS と ES6の import/export で迷うなら - Qiita
  • JavaScript | モジュール化(importとrequireの違い) - わくわくBank

    外部ファイル(モジュール)を読み込むことを目的に「import」と「require」が利用されているのを目にする機会があります。ここでは、それぞれの「違い」と「使い方」について整理します。 require構文 CommonJSの仕様でnode.jsがサポートしている書き方です。 Node.jsで実行するなら、そのまま利用できます。 ブラウザで実行するならWebpackなどを通じて依存関係を解決する必要があります。 module構文( import ) es2015 から利用できる書き方です。 対応ブラウザがまだ少ないです。 Babelを通じてrequire構文に変換後Webpackなどを通じて依存関係を解決する必要があります。 モジュールの種類 Node.jsを利用している際、以下のモジュールの違いを意識すると良いです。 コアモジュール Node.jsが提供しいているモジュールです。 e.

    JavaScript | モジュール化(importとrequireの違い) - わくわくBank
  • Node.jsのモジュール解決プロセス(和訳) - Qiita

    Node.jsのrequireがどのようにモジュールを探すか、そのプロセスを説明した下記公式ドキュメントの和訳です。 Modules | Node.js v13.13.0 Documentation 内容に誤りがあればお教えください。 require(X) をパス Y にあるモジュールで実行したとき、 もし、 X がコアモジュールなら、 a. コアモジュールを返す b. 終了 もし、 X が "/" で始まるなら、 a. Y のパスをファイルシステムルートにセットしなおす もし、 X が "./"、"/"、"../"のどれかで始まるなら、 a. LOAD_AS_FILE(Y + X) b. LOAD_AS_DIRECTORY(Y + X) c. 例外"not found"を投げる LOAD_SELF_REFERENCE(X, dirname(Y)) LOAD_NODE_MODULES(X,

    Node.jsのモジュール解決プロセス(和訳) - Qiita