投稿

7月, 2018の投稿を表示しています

ESXi上のCentOS 7で壊れたディスクをアンマウントしたら起動せず

イメージ
この前の バックアップ 用の HDD が5、6年ぶりに突然死した件で、その時起動しなくなった トラブル の話を書き忘れていたので、ここで新たに追記します。 その時のトラブルと言うのは、 アンマウント して再起動を実行したら、 emergency mode で起動しなくなった時のお話です。 5、6年ぶりにバックアップ用のHDDが壊れたので交換しました。ただ交換するだけでなく、自宅のファイルサーバーとして使用しているESXiのゲストCentOSにマウントします。久しぶりにマウントしたのですが、やり方をすっかり忘れていましたのでメモっておきます。ESXiホ... NTFSの内臓HDDをESXiのゲスト(CentOS 7)でマウントする方法 - Minory emergency modeで起動できない! Amazonで新しく購入した HDD が届くまで、とりあえず先に 故障したHDD を外しておこうと思い、 umount コマンド で アンマウント して電源を切り、 HDD を抜き取り再び起動したところ、いつまで経っても SSH で接続できず、仕方なく vSphere Client の コンソール から状況を確認することに。 すると、以下のメッセージが表示されていました。 Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode. Give root password for maintenance (or type Control-D to continue): Google翻訳で 日本語 にすると、 緊急モードへようこそ!ログイン後、 "journalctl -xb"と入力して表示します。 システムログ、再起動する "systemctl reboot"、再試行する "systemctl default" デフォルトモー...

PHPのcURLをcurl_multiで複数同時に実行する方法

イメージ
突然ですが、 PHP の cURL 関数はご存知でしょうか? たぶん皆さんは、何度か耳にしたことがある、または API を叩く場合などに使用しているのではないだろうか。 著者もたまに利用していますが、 複数 の API を 同時 に叩く際は1つずつループしていた。 今回は、 curl_multi を使った 複数同時接続 で レスポンス を改善した時のお話です。 cURLを同時に実行する と言っても、基本的な流れは cURL とほぼ変わりません。 URL と オプション を curl_multi_add_handle() で追加して、 curl_multi_exec() で同時実行し、 curl_multi_remove_handle() で消していくといった流れです。 つまり、追加と削除はループして行い、実行は一発行うと言った感じです。 curl_multi用の関数を作ると便利! 以下、配列に格納した 複数 の URL を渡すと、それぞれの結果が URL をキーにした配列で返って来るという関数を作ってみました。 function getMultiContents($urls) { $mh = curl_multi_init(); $chs = []; $ret = []; foreach($urls as $url) { $chs[$url] = curl_init($url); curl_setopt($chs[$url], CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($chs[$url], CURLOPT_TIMEOUT, 60); curl_multi_add_handle($mh, $chs[$url]); } $running = null; do { curl_multi_exec($mh, $running); } while ( $running ); foreach( $urls as $url ) { // $ret[] = curl_getinfo($chs[$url]); $ret[$url] = curl_mult...

Google Maps APIでHUD用のカーナビアプリを作ってみた

Laravel ExcelパッケージでCSVデータをDBへ一括登録する方法

イメージ
Laravel で Excel を操作するための「 Laravel Excel 」という パッケージ がありあます。 今回はそれを利用して CSV ファイルを データベース へ簡単に インポート する方法をご紹介します。 CSV を使った データ の 一括登録 にとても便利です! Laravel ExcelでCSVをインポート Laravel Excel の基本的な使い方は公式サイトに書いてありますので参考にしてください。 Laravel Excel - An eloquent way of importing and exporting Excel and CSV files for Laravel with the power of PHPSpreadsheet Laravel Excel - laravel-excel.maatwebsite.nl パッケージのインストール いつもの如、 Composer を使って パッケージ を インストール します。 composer require maatwebsite/excel 著者の場合は、 Laravel の バージョン が 5.5 ですので、 config/app.php 内の プロバイダー と エイリアス の登録は不要になります。 最後に Laravel の vendor:publish コマンドで完了です。 php artisan vendor:publish これで config ディレクトリの中に excel.php という設定ファイルが入ります。 後程使います。 CSVデータを1行ずつ登録 今回のシチュエーションは、 コントローラー 側で ストレージ ディレクトリに保存している CSV データを1行ずつ読み込んで データベース に 登録 するもの。 その際、同じものがあれば 更新 、なければ 新規登録 を行います。 登録先のテーブル名は posts (モデル名はPost)とします。 CSV の内容はブログによくある記事のタイトルや内容を想像してください。 設定ファイルの変更 今回の例では CSV ファイルのサイズが巨大なため、以下を変更しています。 お好みで変更してください。 ・・・ 'settings'...

100均のタッチペン(スタイラスペン)を種類別に使い比べてみた結果

CentOS 7で忘れてしまったrootパスワードを再設定する方法

Symfony2のTwigを拡張!カスタムフィルターや関数を追加する方法

イメージ
Symfony の Twig 内で 正規表現 を使った パターンマッチング からの 置換 をしたい場面に遭遇した。 しかし、いくら調べても Symfony 標準の フィルター には私が望むものはありませんでしたが、 独自 フィルター を作成する方法があるようなのでメモしておきます。 PHPのpreg_replace()で置換したい! 最終的にやりたいことは、 Twig 内で HTML の imgタグ から alt属性 の文字だけを抜き出して、 imgタグ と置き換えること。 これだけだと需要がないように思うが、 フィルター 自体は PHP の preg_replace() 関数と同様の動きをするので使い回しが可能です。 Twig 側では以下のように置換できるようにします。 data.content はHTMLコンテンツ、 preg_replace() フィルター で PHP 同様の 正規表現 を使った パターンマッチング を行い、 Symfony の標準 フィルター striptags で HTMLタグ を削除するといった感じです。 Twigの拡張 それでは参考サイトを基に、 Twig を 拡張 していきましょう。 今回は、 独自 フィルター と 独自 関数 のみとします。 フィルター に関しては上記で説明しましたが、関数に関しては、独自 CSRFトークン を生成する 関数 を作ります。 こちらも需要がないでしょうが、 サービスコンテナ の渡し方についてもメモしておきたかったので。 symfony公式にはfilterしか書いてないのでよく使いそうなfunction,filter,globalのtwig拡張のメモ。###クラス例```namespace CommonBundle\Twig\Extensi... symfony twig拡張メモ - Qiita - Qiita 今回は触れませんが、 グローバル変数 もここで設定できるようです。 ブラウザの翻訳機能を使えば英語の本家ドキュメントの方がより詳しいです。 How to Write a custom Twig Extension: The main motivation for writing an extension is to move ofte...

iPadを買い替えたので5千円以内でキーボード付きケースも選ぶ

イメージ
前回、 iPad と 格安SIM について考察してみました。 今回は iPad の 第5世代 ( 2017年春 )モデルに合う ケース を選んでみようと思います。 以前 iPad を使用していた時は、画面にフィルムは貼らず、一時的に背面だけ覆う ハードケース に入れていましたが、厚みを感じたためすぐに外してしまいました。 今考えているのは、全体を覆う ケース に Bluetooth キーボード 付きのものです。 古くなったiPadを買い換えようと思っている。使用頻度が少ないので、中古でいいいやと思いつつ、できれば外出先でもネットしたいのでWi-Fi + Cellularの端末を探し中。もちろん、キャリアと契約すると維持費が高くなるので、格安SIM(MVNO)も検討します。Apple iPad... 安く維持するために!中古iPadと格安SIM(MVNO)を考察する - Minory スリム(薄型)タイプが欲しい! ケースと言っても種類は様々で、ペラペラなものから厚手のもの、キーボード一体型や脱着タイプもあり、色々見て回った結果、選考基準は以下の4つです。 薄い 軽い マグネット式 キーボード脱着式 まず、「 薄い 」「 軽い 」は当たり前。 ノートPCみたいにするケースも売ってるが、持ち運びが不便だと嫌だ。 タブレット だからね! それから、「 マグネット式 」と書いたのは、蓋を閉じる際にゴムバンドみたいなのを使っている ケース もあります。 確かにしっかり閉まって 脱着式 の キーボード も落ちる心配がないかもしれないが、見た目がダサい。 最後の「 キーボード 脱着式 」は少し迷いました。 一体型の方が薄くなる傾向があり、本当は Apple 純正の Smart Keyboard が理想だからです。 9.7 インチ のは売ってない(iPad Proはある)し、何より値段が高いからなぁ~。 あと、 キーボード が壊れたら 取り外して 薄い カバー として使えるように。 ちなみに、 iPad ( 第5世代 )とiPad Airのサイズが同じで、iPad Air 2とiPad Pro 9.7のサイズが同じらしい。 ただしカメラの位置が若干違うとのこと。 人気のキーボード付きカバー 現在の人気ランキン...

jQueryプラグイン「iziModal.js」でモーダルウィンドウをもっとオシャレに!

Zabbixで障害を通知する送信先メールアドレスを設定する方法

画像を自由にトリミングできるjQueryプラグイン「Cropper」

今さらMac mini 2012をSSDに換装&メモリ増設してみる

JavaScriptで画像アップロード時にサムネイルを表示させる方法

イメージ
<input type=”file”>で 画像 を アップロード する際、特に複数ある場合にファイル名だけでは、正直何を アップロード しようとしているのか確認できません。 そこで、 JavaScript と Web API の FileReader オブジェクトを使用して、画像を Base64 エンコードして サムネイル を表示する方法をご紹介します。 ファイル選択時にサムネイルを表示 やり方としては、ファイルを選択した際に発火する onChange イベントの時に、 FileReader を使って Base64 エンコードし、用意していた サムネイル 用のイメージタグに差し込みます。 HTML #file-image がファイル選択で、 #print_img が表示用のイメージタグです。 <div class="panel panel-default"> <div class="panel-heading">画像</div> <div class="panel-body"> <img src="#" alt="" class="img-print" id="print_img" style="width:100%;"> </div> <div class="panel-footer"> <input type="file" id="file-image" accept="image/*"> </div> </div> JavaScript 以下はピュアな JavaScript で書いていますが、後程 jQuery の プラグイン 等も紹介します。 表示前に API が対応しているか確認を入れてます。 window.onload = function() { (function() { ...

スマートウォッチはAppleだけじゃない?おすすめのスマートウォッチ色々

イメージ
ウェアラブル デバイス として定着しつつある スマートウォッチ 。 中でも圧倒的シェアを誇るのは Apple の Apple Watch です。 しかし、世の中にはたくさんの スマートウォッチ が存在します。 今回はそんな スマートウォッチ に焦点を当ててみます。 人気のメーカー2選 Fitbit スポーツ をする方に特に人気です。 iOS にも Android にも対応していて、心拍数や運動量、消費カロリーから睡眠まで記録してくれ、 健康管理 にとても役立ちます、 価格もすごく リーズナブル です。 試しに買って見たいと言う方には オススメ です。 ベストセラー No. 1 7 レビュー Fitbit フィットビット スマートウォッチ Versa 心拍数測定 睡眠 パーソナルコーチ 耐水仕様... 女性の体調管理:Fitbit専用アプリを使用して生理周期や体調、排卵日の記録、予測が可能 睡眠ステージ機能:各睡眠ステージ(覚醒、浅い睡眠、深い睡眠、レム睡眠)の時間と目覚めの時間を自動で計測 クイック返信機能の他、メッセージの削除や既読の処理が可能(Android Only)※使用できる機能はメッセージアプリによって変わります。随時拡大中 ¥25897 アマゾンで購入 - ¥3922 ベストセラー No. 2 200 レビュー Fitbit フィットビット 心拍計 フィットネスリストバンド Charge2 心拍 睡眠 VO2max 健康管理... 睡眠ステージ機能:各睡眠ステージ(覚醒、浅い睡眠、深い睡眠、レム睡眠)の時間と目覚めの時間を自動で計測 同期:Bluetooth Low Energyによるワイヤレス同期 PC、Macとワイヤレス同期 ¥21384 ¥17462 アマゾンで購入 - ¥4095 ベストセラー No. 3 152 レビュー Fitbit フィットビット 心拍計 フィットネスリストバンド AltaHR 心拍 睡眠 健康管理... 睡眠ステージ機能:各睡眠ステージ(覚醒、浅い睡眠、深い睡眠、レム睡眠)の時間と目覚めの時間を自動で計測 同期:Bluetooth Low Energyによるワイヤレス同期 PC、Macとワイ...