サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
co.bsnws.net
prompts は ' npm ' 又は ' yarn ' を使ってインストールします。また、node.js の バージョンが ' 7.6 以上 ' の必要があります。 # npm npm install --save prompts # yarn yarn add prompts prompts は、特定キーのオブジェクトをラップして対話式の処理を書いていきます。 let question = { type: "text", // 入力を受け付けるタイプ name: "myValue", // 変数 message: "promptsの入力テスト" // 入力時に表示させるテキスト }; // promptsの起動 await prompts(question) prompts は 非同期処理がベースとなっているので、 ' async ' 関数内で処理を書く必要があります。また、 '
まず最初に、コマンドライン、プロジェクトルート上から ' artisan 'コマンドを使って、元になるMiddlewareの作成をします。 下のスニペットでは ' IpMiddleware ' というファイルを作成しました。 # app/Http/Middlewareに 'IpMiddleware.php' が作成されます php artisan make:middleware IpMiddleware Middlewareを作成したら、特定のIPを以外のアクセスを拒否する処理を書いていきます。 Laravelに用意されている ' Illuminate\Http\Request ' クラスには クライアントのipを取得する ' ip ' メソッドが用意されているので、それを使って、登録(許可された)した ip かどうか collectionの ' contains ' メソッドを使って比較
bat は多くのUnix系ディストリビューションをサポートしています。 # mac brew install bat # ubuntu curl -LJO https://github.com/sharkdp/bat/releases/download/v0.9.0/bat_0.9.0_amd64.deb sudo dpkg -i bat_0.9.0_amd64.deb Centos などの Rethat系のディストリビューションにも導入ができます。 # centos など wget -O bat.zip https://github.com/sharkdp/bat/releases/download/v0.9.0/bat-v0.9.0-x86_64-unknown-linux-musl.tar.gz tar -xvzf bat.zip -C /usr/local mv /usr/loca
2018年 7月1日 18時35分 5年前 gitignore を記述する時に便利なテンプレート集の紹介です。 プロジェクトで ソースコードのバージョン管理をする時に Git を使う事が多いと思います。 Git には、レポジトリに含めたくない ファイルや ディレクトリを定義する為の除外機能が備わっており、その場合は ' .gitignore ' ファイルに記述します。 # 一般的な gitignoreの記述例 node_modules/ # ディレクトリ 'node_modules'を除外 *.log # 拡張子が log のファイルを除外 exclude.text # ファイル 'exclude.text'を除外 gitignore の記述自体は決して難しいものではありませんが、プロジェクトの種類や、開発環境、言語、OSやテキストエディタ 固有の隠しファイル、フレームワークなど 除外でき
2017年 9月1日 14時35分 6年前 Laravel 5.5から利用可能になったEメール用テンプレートのレイアウトテストの紹介です。 Laravel 5.4から HTMLメールを Bladeテンプレート & markdownで記述する「Markdown Mailables」が加わり、HTML形式のメールが簡単にデザイン & 作成できるようになりました。ですが、デザインを確認するには 実際にメールを送信する必要がありました。 しかし、 Laravel 5.5 ( LTS ) から メール用のテンプレートが ローカル上から簡単に確認出来るようになりました。 Eメール用のテンプレート & クラスは ターミナル上からから ' artisan ' コマンドを使って作成します。 ( 下のコマンドで HTMLメール用のクラスが ' app/Mail/TestMail.php '、 テンプレート用フ
google-trends-api は api メソッド内に検索するオプションを入れ、Promiseで処理を記述します。'then' メソッドにはGoogleトレンドのデータ取得が成功した時の処理、'catch'メソッド内には取得が失敗した時の処理を書きます。 // ライブラリの読み込み const googleTrends = require('google-trends-api'); // 検索に用いるパラメーター const param = { keyword : '検索するキーワード', geo : '検索する地域', hl: "言語", }; // google-trends-apiを実行 googleTrends.apiメソッド名(param) .then( result => { /* 成功した時の処理 */ } ) .catch( err => { /* 失敗した時の処理
2018年 10月2日 14時15分 5年前 元となるExcelファイルにデータを書き込むPHP用のライブラリ「php-excel-templator」の紹介です。 業務システムの開発となると、Excelファイルを扱うことは珍しいことではありません。 データをExcelファイルにデータを書き込むことは難しいことではありませんが、アライン(中心に揃える)や フォントなどの スタイルを指定するとなると処理が複雑になってきます。 そんな複雑な処理を "テンプレートとなるExcelファイル" を元にしてデータを書き込むことが出来るユニークなPHP用のライブラリが「php-excel-templator」です。
2017年 10月0日 07時30分 6年前 PHPで短縮URL用の文字列を作成する方法の紹介です。 Twitter や チャットサービス などで リンクを貼る時、URL文字数の長さの問題から、短縮URLサービスを利用することは 珍しいことではありません。Googleのサービスでは ドメインが ' goo.gl ' から始まる、 ' Google URL Shortener 'が広く知られています。 短縮URL を作成するには、' Google API ' を使うか、自前で作成する時は ランダムな文字列を生成することで作成することが可能です。 ですが、 ' Google URL Shortener は ' 1 ユーザー 100万リクエストまで / day ' の制約があったり、自前で作成する時は URLセーフな文字列を選択することから始まり、永続的に使用する場合、ユニークな文字列を生成した
v8n は ' npm ' 又は ' yarn ' などのパッケージマネージャーを通してコマンドライン上からインストールします。 また、HTML上の ' script ' タグから直接ライブラリを読み込めるよう、CDN用のURLも用意されています。 # npm npm install v8n # yarn yarn add v8n # cdn https://unpkg.com/v8n/dist/v8n.min.js # unpkg https://cdn.jsdelivr.net/npm/v8n/dist/v8n.min.js #jsdelivr v8n の基本的な使い方は主に2種類あり、1つめは ' true 又は false の真偽で返す ' 方法 、2つ目は ' 例外処理( throw ) で返す ' 方法です。 メソッドの最後が ' .test( 検証する値 ) ' で終われば
stripgtags は npm 又は yarnを使って入手します。また、ブラウザから使う場合はCDNを通してライブラリを読み込むことも可能です。 # npm npm install striptags --save # yarn yarn add striptags # cdn *IE 11以上 https://unpkg.com/striptags striptags の使い方は簡単で、PHPの ' strip_tags ' 関数と 使い方は変わりません。 第一引数に元となる文字列を指定すると、HTMLタグが消去されます。 // ブラウザの場合、そのまま striptags()関数が呼び出せます const striptags = require("striptags"); let baseHtml = "<div href='someClass'>" + "<strong>strip
2018年 8月6日 18時35分 5年前 Webページでライブラリ本体の読み込み無しに、Webアイコン利用することが出来る CDNサービス「icongram」の紹介です。 ページでWebアイコンを使うことは、今や珍しいことではありません。多くのサイトで ' font-awesome ' や ' material design icons ' などを使ったページを見かけることも多いと思います。 Webアイコンは便利ですが、一長一短があり、" このWebアイコンライブラリ内の アイコン一種類だけを使いたい " という場合もライブラリ全体を読み込む必要があり、cssやjsを Webpackなどでバンドル化してる場合などでは コンパイルし直す必要があります。 そういった、部分的な場面でWebアイコンを手軽に使いたい時に便利な CDN サービスが「icongram」です。
2018年 4月3日 18時15分 5年前 Googleから画像を一括でダウンロードできるコマンドラインツール「google-images-download」の紹介です。
2017年 12月4日 03時10分 5年前 ウィキペディアの情報が取得できる javascript用のライブラリ「WikiJs」の紹介です。 ウィキペディアは PHPで作られた " MediaWiki " という オープンソースのWikiパッケージを使って構築されており、API用の URL + query_string を叩けば情報が取得できますが、パラメーターが細かいのと、取得した後の テキストの加工が必要になります。 そんな ウィキペディアの API を 使いやすくしたラッパーライブラリが 「WikiJs」です。 - wikipedia ( WikiMedia も含む) の 情報を取得できる ( 部分的にも可 ) const wiki = require("wikijs").default; // これだけでページの概要が取得できます wiki({ apiUrl: 'http://j
2017年 9月2日 01時20分 6年前 Webスクレイピングをする時に便利な node.js用ライブラリ「article-parser」の紹介です。 " Webスクレイピング "、簡単に言えば、Webサイトからコンテンツの情報を抜き出すことです。RSSなどのフィードとは違いページ全体を抜き取ります。あまり聞こえはよくありませんが、Webサイトを巡回する クローラー や ソーシャルブックマーク のような機能を実装するなら必要になります。 ページ全体を抜き出すだけなら、難しいことではありません。ですが、ページをまるごと抜き出すと ヘッダーやフッター、サイドバーなどの HTMLタグを除去が必要になるので、コンテンツのみを抜き出すのに少々手間がかかります。
2018年 1月2日 17時05分 5年前 node.jsでローカルモジュールを呼び出す時に便利なライブラリ「node-app-root-path」の紹介です。 node.jsでモジュールを使う時は ' require ' メソッドを使って呼び出します。 デフォルトでは ' node_modules ' フォルダからモジュールが呼び出されますが、ローカルモジュール (特定のディレクトリ) を呼び出す時は、相対パス ( ../../ など ) を使います。なので、階層が深い場所からサブディレクト内のファイルを呼び出す時は「いったい今どのパスを参照しているのか。。」とワケが分からなく事もよくあります。 // 相対パスを使ってローカルモジュールを呼び出す例 const Pagination = require("../../Database/Pagination"); const current
2016年 5月4日 15時10分 7年前 phpでUUID ( Universally Unique Identifier )を生成出来るライブラリの紹介です。 UUIDとはなんでしょうか? 簡単に言えば理論上絶対に重複しない世界に1つだけの文字列(数値)です。UUIDは128bitの長さ(39桁)を持っていますが、実際には16進数で表されたりしています。 # こんな感じのフォーマットです 123e4567-e89b-12d3-a456-426655440000 「UUIDはどこで使われてるの?」っと気になるところですが、身近なところではLinuxのイーサーネットの認識別や少しフォーマットは変わりますがMACアドレスとして使われたりしています (GUID)、後はブログやニュースサイトの更新を通知するATOM feed ( RSSのようなもの ) なんかにも使われています。 っということで
2017年 9月6日 09時50分 6年前 Webブラウザに搭載されている ローカルストレージを 有効期限付きのキャッシュとして使える javascript ライブラリ「lscache」の紹介です。 Webブラウザには " ローカルストレージ " と呼ばれる ブラウザ本体に データを保存できる機能が用意されています。クライアント側にデータを保存する方法として " クッキー ( Cookie ) " が挙げられますが、ローカルストレージは クッキー の制限容量4KB と違い、 *最大5MBの容量が利用可能です。 ( * ブラウザによって保存出来る容量は異なります * 例: chrome 10MB ) ローカルストレージ は Key Value Store (オブジェクト) 形式で データを管理するストレージです。またドメイン名ごとに管理されるので、同一ドメイン内であれば全ページに適応され
Chronousのインストールは ' composer ' コマンドを使っておこないます。また、インストールされている PHPのバージョンが " 5.5.9 以上 " 、又は " 7.* " の必要があります。 # composerを使ってchronosの安定版をインストール composer require cakephp/chronos "@stable" Chronosは Carbonを更にシンプルにしたような設計で、 Carbonを使ったことがある人なら ホボ学習コスト0で使うことが出来ると思われます。 タイムインスタンスの作成 use Cake\Chronos\Chronos; $now = Chronos::now(); // 現在時刻 $today = Chronos::today(); // 当日 $yesterday = Chronos::yesterday(); /
2017年 1月1日 17時55分 6年前 ショートUUIDをジェネレート出来るjavascript製ライブラリ「shortid」の紹介です。 UUID ( Universally unique identifier )といえば、 128bit長の16進数で表記された、理論上 重複しない識別子で様々な所で使われています。 システム開発を行っていると、重複しないユニークIDが欲しい場面は度々ありますが、 UUIDは16進数( 0 - F )で表記されるので、文字列が長くなり 使い所も限られてきます。 # UUIDの例 10b6506b-3b35-41d1-9445-73a5b2216fdd そんな文字列が長いユニークIDを、短い文字列で使えるjavascriptライブラリが「shortid」です。 UUIDは36文字で表記されるのに対し、shortidは7 - 14文字のユニークIDを生成す
2017年 10月1日 16時25分 6年前 Laravelで アウトプットするhtmlの minify (圧縮) をするプラグイン「laravel-page-speed」の紹介です。 CSS、Javascriptなどの assetファイルを圧縮することは 珍しくありませんが、ページのソースを開いた時に 下の画像のようなminifyされたマークアップを目にしたことはないでしょうか? 上の画像は ' google.co.jp ' のトップページのソースです。ページのレンダリングには必要無い 空白や改行、コメントを除去することによって ファイルのサイズが小さくなります。 静的 ( スタティク ) なファイルを圧縮することは さほど難しくありませんが、テンプレートエンジンのような 動的なファイルとなると話しは変わってきます。 テンプレート ( LaravelだとBlade ) の性質上、テンプレ
2017年 9月5日 18時00分 6年前 AIを使って 画像に 自動で色付けをするWebアプリ「style2paints」の紹介です。 近年になってから IT業界のみならず、ニュースなどでも AIを活用した " 自動運転 " や " 顔認識 " など、 今まで実現されなかった 夢のような話題を目にするようになりました。 そんな AI ( * 今回の場合は機械学習 ) を利用した面白い Webアプリが 「style2paints」です。
2015年 11月5日 06時15分 7年前 Laravel使いの人はredisを使っていますか? Redisはメモリーにデータを乗せる事が出来るKey-Valueストアです。 Socket.ioと連携したり、セッション管理、QueueクラスでJob登録に使うのはよく見かけますが、 ブログやニュースサイト等の静的に近いサイトにも使い所があります。 ブログ等の記事を取得する方法としては、 -> データベースから記事を取得 -> 表示 レポジトリーパターンを使うと以下のようなコードが多いと思います。 ( * コントローラー上でレポジトリクラスを呼び出す想定 ) // app/Repositories/ArticleRepository.php use app/Model/Article; class ArticleRepository { public function getPost($id
2016年 1月3日 07時05分 7年前 Gmailをお使いの人ならご存知だと思いますが、 タブに目を向けるとファビコンに受信メール数が表示されていますよね。 新着メールが1件届いていれば”1”、メールが届いてなければ "0"と。 あの機能と同等のことが簡単に実現出来るJavascriptプラグインが " favico.js " です。 使い方も簡単で、わずか数行のコードで済みます! <!-- jsファイルの読み込み --> <script src="yourPublicDir/favico.js"></script> <script type="text/javascript"> var favicon = new Favico({ animation:'slide' // アニメーションのオプション }); favicon.badge(1); // ファビコンにバッジが追加され1と表
2017年 7月0日 21時25分 6年前 node.jsでディレクトリを作成する時に便利なライブラリ「make-dir」の紹介です。 node.jsで ディレクトリを作成するのは ' fs.mkdirSync ' メソッドを使えば簡単に出来ます。 ですが、既に存在するフォルダの中に新規に作成したり、サブディレクトリを含むディレクトリの作成となると フォルダの存在チェック、コールバック関数のネストなどで コードが長くなる傾向があります。 // ディレクトリを作成 const fs = require("fs"); // 'tmp'が存在するかチェック if (!fs.existsSync('tmp')) { // 'tmp'ディレクトリを作成 fs.mkdirSync('tmp', (err, folder) => { if (err) throw err; console.log(fo
2017年 1月4日 23時30分 6年前 Laravel 5.4から可能になったRouteの書き方の紹介です。 2017年1月24日(現地時間)にLaravelフレームのバージョン5.4がリリースされ、 ブラウザテストツール Laravel Duskを始めとする機能追加や 既存機能の改良されました。 Webフレームワークで、切っても切れないの処理の1つがRoutingですが、 Laravel 5.4からRouteが今までより 少しスッキリと書くことが可能になりました。 下のスニペットはLaravel5.3で可能なRouteファイルの書き方です。 groupを使ってルーティングを'article'にまとめ、 namespace使って'App\Http\Controllers\Article'からコントローラーを参照するようにしています。 // before Route::group(['p
2017年 2月2日 11時00分 6年前 もの凄く便利なCDNサービス「unpkg」の紹介です。 Webデベロッパーの人はCDN ( Content delivery network ) サービスを利用して CSSやJavaScript、Webフォント等の静的ファイルを HTML上でURLを指定して取得する機会が多いと思います。 有名所のCDNサービスは Googleが提供している"Google Hosted Libraries"ですが、 使えるライブラリが 'jQuery', 'AngularJS'など、限られた物しか利用することが出来ません。 その他にも幾つかCDNサービスは展開されていますが、 使いたいライブラリが新しすぎたりすると ホスティングされてなかったりします。 " 試したいライブラリのREADMEファイルにCDNのURLが載っていない " ” プロジェクトに導入する前に少
2017年 3月5日 07時20分 6年前 プッシュ通知が簡単に実装できるJavascriptライブラリ「Push.js」の紹介です。 スマホで お馴染みのプッシュ通知ですが、 Webブラウザ上でも ' Notification API ' という形で デスクトップへのプッシュ通知が利用ができます。 'Notification API' はブラウザによって使える機能にバラつきがあったりしますが、 デスクトップにダイレクトに通知できるので、使い方次第で面白いことができます。 " アラートの代わりに " " WebSocketと合わせてリアルタイムで流す新着情報の通知に " " ログインした時のウェルカムメッセージに " ... etc 生のままでプッシュ通知を書いていくと Permissionの確認や 通知許可の処理。 その他、条件式の連続でコードが長くなる傾向があります。 そんな 'Not
2016年 7月2日 10時05分 7年前 node.jsで「UAParser.js」を使ってモバイルの判別をする方法の紹介です。 javascriptでモバイルを判別するライブラリの1つに "mobile-detect.js"が挙げられます。 mobile-detectをnode.jsで使う場合、モバイル以外からのアクセス(ユーザーエージェントの解析時)は「null」を返すので少々使いドコロに癖があります。 // expressを使った例 const MobileDetect = require('mobile-detect'); // mobile-detect.jsの場合 app.get('/mobileDetect', (req, res) => { md = new MobileDetect(req.headers['user-agent']); const resp = { a
・CLI上で実行する' 実行ファイル コマンド名 [パラメーター] ' 形式のプログラムが簡単に書ける ( * 例 : python test.py 関数名 引数 ) python-fireはpipパッケージで提供されているので、 コマンドライン上から"pip"コマンドを使ってインストールします。 # pipコマンドでインストール pip install fire # OR pip3 install fire # ソースコードをを'git clone'で入手し、pythonスクリプトからインストールする場合 python setup.py install # OR python3 setup.py install 下のスニペットはpython-fireを使った文字列を返すだけ最低限のサンプルです。 # hello.py import fire class Hello(object):
次のページ
このページを最初にブックマークしてみませんか?
『headline | cupOF Interests』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く