投稿

2017の投稿を表示しています

iframeのGoogleマップを印刷したときに中心にしたい(特にIEとEdge)。けど印刷時の余白を設定して諦めた。

イメージ
病院や組織のホームページを作っていて「確認してください」というと、ウェブサイトを印刷して紙で確認(回覧)する。 レスポンシブデザインを採用していると、A4で印刷すると横幅が狭くなるので「ここで改行してほしくない」と言われることもある。ウェブ上で完璧に仕上げてもそもそも画面で見ていない。 「画面ではぴっちり収まってます。普通は印刷しないので大丈夫です。」 と言う前に出来るだけ印刷してもいい感じになるようにしたときの覚書。 まずはブラウザごとにデフォルト値が違う余白の設定。 これだけでだいぶ違う。 参考: @page - CSS | MDN @page {    margin: 5mm; } あとは @media print を使って地道に調整していく。 @media print {    #nav-area {display: none;} } 特に困ったのが画面の横幅いっぱいにiframeでGoogleマップを表示しているページ。 印刷すると左部分しか表示されない。特にIEとEdge。Google Chromeは中心まで表示されるから許せる。 印刷したときのイベントを取得してJavaScriptで制御しようとしても、再表示やsrcの置き換えをしようとしてもうまくいかない。 参考: Detecting Print Requests with JavaScript iframeではなく Google Maps JavaScript API を使ってsetCenterすれば出来るかもしれない。けど 使用制限 があるので、普通のホームページで使いたくない。 拡大、縮小など試してみたけどダメ。 中途半端は逆効果になるのでやめた。 どうしても見た目通りに印刷したい場合は、サイズ固定の別ウィンドウを表示した方がよさそう。 もしくはウェブサイトを(サーバー側で)PDFにして表示してもいいかもしれない。 < Related Posts > Bootstrap3のWEBページを印刷してもいい感じに PHPでPDF生成するためにwkhtmltopdfをインストール

【健康経営】医療の力を人材力に。「産業医プロ」のホームページを制作

イメージ
産業医の先生のホームページを手掛けたときの覚書。 制作したサイトはこちら 産業医プロ | 合同会社DB-SeeD 産業医は労働者50人以上の事業所ごとに1人以上選任しないといけない。 産業医 - Wikipedia 最近は「働き方改革」で企業も職場環境改善に関する意識が高くなってきているけど、法律だから仕方なく産業医と契約している企業が多いらしい。 産業医の先生も「メンタル診れない(診たくない)」という方が多いらしいので、神田橋先生のような意識高い方が評価されるようになってほしい。 < Related Posts > マーケティングは学問。本から学んだ広告コピーの基礎

Googleのロゴ、「Android」の使用に関するガイドライン

Google製品のロゴをドキュメントに入れたいと思って調べたときの覚書。 今は日本語で分かりやすく説明している公式サイトがある。 使用許諾 – Google 「よくある質問」に答えがあった。 手順などをわかりやすく説明するため、標準的な Google スクリーンショット(Google のホームページ、メイン プロダクト ページ、または検索結果ページの画像)を何も改変せず、印刷形式またはデジタル形式で使用するのであれば、Google の許可を得る必要はありません。ただし、使用に関するガイドラインに従うことが条件となります。必ず、一切加工せずに使用してください。スクリーンショットの上にグラフィック、写真、広告文を重ねたり、取り込んだ画像の外観を変えたりすることはできません。スクリーンショット以外の部分に Google ロゴを掲載する場合は、Google の使用許諾を得る必要があります。 よくある質問 | 使用許諾 | Google 別件で「Android」という単語はGoogleの商標で使い方に関するガイドラインがあった。 ブランド ガイドライン | Android Developers < Related Posts > 会社設立のための商号・商標調査 GPLライセンスについて整理 BSDライセンスについて整理

Googleマイビジネスの「更新内容の確認」が消えない

イメージ
Googleマイビジネスを使っていてバグと思われる現象をサポートに問い合わせしたときの覚書。 現象 Googleマイビジネスの一覧画面に「更新内容の確認」が表示され、それをクリックして「情報」を表示すると、右上に「Googleによる更新」が表示される。 そこの「ビジネスの変更をすべて承認」しても「更新内容の確認」が消えず残ったまま。 この画面の下部に「送信」ボタンは表示されていない。 管理中のビジネス2件が同じ現象。 サポートに連絡 以前の画面に戻って指示通りの手順をしても直らない。 技術の方に問い合わせてみるとのこと。 2日後に再度電話が来て、「不具合なのでしばらくしたら直っている」とのこと。 これが2017年12月11日時点。 カバー写真に設定したのが反映されないのは、これが原因かもしれない。 とりあえずGoogle先生の中のエンジニアが頑張ってくれるよう祈るのみ。 < Related Posts > サイトのスピードテストと画像を最適化してスコアを上げる Google検索結果にサイトリンクを表示したくてJSON-LDを設定

ウェブページのSEO対策ガイドライン by Google

イメージ
Google先生が検索エンジン最適化(SEO)対策のためのスターターガイドを更新したので覚書。 検索エンジン最適化(SEO)スターター ガイド - Search Console ヘルプ ウェブサイトを見ただけだと、これらに対応しているかが分かりづらい。 しかもサイトを作る人(開発者)が意識してないと、後で対応するのが大変。 後々人を雇ったときのためにSEOチェックリストを作った方がよさそう。 < Related Posts > Google検索結果にサイトリンクを表示したくてJSON-LDを設定 SEO対策のためにGoogle Placesに登録してGoogle+ LocalとLinkする

Titanium SDK 7.0.0.GAとAndroid NDKはAndroid Studio経由に切り替え

イメージ
Axway Titanium SDKが7.0.0になってAndroid NDK r16に対応したということでアップデートしたときの覚書。 環境: macOS Sierra v10.12.6, JDK 1.8.0_131, Android Studio 3.0.1 参考 GA Release of Titanium SDK 7.0.0 (+Hyperloop), CLI 7.0.0, | Appcelerator Studio 5.0.0 1.Android Studio経由でNDKをインストール Android Studioを起動して、SDK Toolsの中にあるNDKをインストール。 インストールされた場所 /Applications/android-sdk-macosx/ndk-bundle/ 環境変数は指定しなくてもいいのかな?と思いコメントアウトしてみる(昔は必要だった)。 $ less .bash_profile # Android SDK, NDK export ANDROID_HOME=/Applications/android-sdk-macosx #export ANDROID_NDK=/Applications/android-ndk-r12b 2.Androidモジュールをビルド arm64に対応したらしいので、公式サイトを参考にmanifestを変更。 Android Module Upgrade Guide | Appcelerator Platform - Appcelerator Docs ビルド実行 $ appc run p android --build-only エラー [ERROR] There is discrepancy between the architectures specified in module manifest and compiled binary. [ERROR] Architectures in manifest: arm64-v8a,armeabi-v7a,x86 [ERROR] Compiled binary architectures: armeabi-v7a,x86 [ERROR] Please update manifest to match module binary archi

FoundationのBlock GridをBootstrapで使う

イメージ
前に調べたCSSフレームワーク「Foundation」のBlock GridをBootstrapで使いたくなったので調査したときの覚書。 環境: Bootstrap v3.3.7 参考 Block Grid | Foundation Docs GitHub Gistで公開されているのが使いやすかった。 Foundation 5's block grids for Bootstrap 3. | GitHub 画像サムネイル+タイトルをいい感じに並べるのに便利。 < Related Posts > CSSフレームワーク「Foundation」

CSSフレームワーク「Foundation」

イメージ
今のところ Bootstrap v3 を便利に使っているけども、「 Foundation 」というCSSフレームワークを知らなかったので調査したときの覚書。 参考 CSSデザインはComponents指向になって、BeMはなくなる?〜Web Components時代のCSSデザイン(座談会)に参加してきた〜 #html5exp | Developers.IO Foundationとは? | 基本 | Foundation5の使い方 Foundationの理解(Bootstrap v3との比較) IE9以上(IE8には対応していない) Sass 単位はem Block GridがECサイトで便利らしい。 参考: FoundationがBootstrapよりもECサイトに向いている理由 - Welcart カスタマイズ 今までの資産を捨ててまでFoundationに切り替える理由はなさそうだけど、 公式サイトのShowcase はデザインの勉強になる。 < Related Posts > Bootstrap3のWEBページを印刷してもいい感じに Twitter Bootstrap利用サイトでIE8だとimgが表示されない

株式会社の法人決算。初めての決算を自分でやってみた。

イメージ
法人決算の方法を調査したときの覚書。 環境: 株式会社、埼玉県川口市、一人社長、9月末決算、一年目、MFクラウド会計 1.提出書類の確認。決算の概要把握 各管轄から封筒が送られてくる。 県税事務所は送られて来なかった。。。本社移転届も出しているのになぜ?。。。と思ったら市役所からの書類に同封されていた。 【税務署】法人税 法人事業概況説明書(OCR) 全力法人税で出力したものを手書き入力 確定申告書(OCR) 全力法人税で出力したものを手書き入力 1枚目と2枚目に押印が必要 その他「全力法人税」で作成した申告書と勘定科目内訳書 決算報告書 MFクラウド会計から出力 【県税事務所】法人事業税 申告書送付先カード 全力法人税で出力したものを手書き入力 欠損金額等及び災害損失金の控除明細書 全力法人税で出力 郵送の場合、送付先カードは切り取って、一番上のだけ送る。受付印が欲しい場合は返送封筒を同封すれば送り返してくれるらしい。 【市役所】法人市民税 申告書(戸田市) 全力法人税で出力したものを手書き入力 申告書(川口市) 全力法人税で出力したものを手書き入力 今年度は5月に本社移転したので、戸田市と川口市に分割して納付する。 <月割りの計算方法> 当社の場合は10/3に設立しているので、11/3で1ヵ月。 5/9に本社移転しているので、10/3~5/3までの7ヶ月分を戸田市に払う。 5/9~9/9までの4ヶ月分を川口市に払う。 2.書類準備 決算報告書はMFクラウド会計から出力するだけでOK。 申告書がめんどくさい。 全力法人税という申告書を自動作成してくれるクラウドサービスがいいらしい。 自分でできる!法人税申告書作成ソフト「全力法人税」 登録無料、印刷時に料金が発生。初年度19,800円 全力法人税の概要 誰でもかんたんに法人税の申告を〜税務調査が来ない条件〜 案内に従って入力していく。2時間ぐらい掛かった気がする。 MFクラウド会計のデータを取り込んだときに変換した勘定科目 未払給与 → 未払金 保証金 → 前払費用 完了後に印刷。 。。。埋まっている値が正しいのか分からない。。。 3.税理士の方に確認してもらう さいたま起業家協議会の税理士の方に簡単に確認頂いた。 いろいろと参考になる意見を聞けた。 仕訳などMFクラウドで修正。一括編集機能があって助かった。 「一

【WordPress】管理画面のメニューなどカスタマイズ

イメージ
特定のユーザーがログインしたときに投稿一覧を表示して、不要なメニューは非表示にしたいと調査したときの覚書。 環境: WordPress 4.8.3, PHP 7.0.25 1.左のメニューから不要なものを非表示 参考 Function Reference/remove menu page | WordPress Codex admin_initに下記のような処理をフックする。 // ダッシュボードのアクセスは投稿一覧へ if ('/wp-admin/index.php' == $_SERVER['SCRIPT_NAME']) {      wp_redirect(admin_url( 'edit.php' ));      return; } // メニューを非表示にする remove_menu_page( 'index.php' ); remove_menu_page( 'edit-comments.php' ); remove_menu_page( 'upload.php' ); remove_menu_page( 'profile.php' ); remove_menu_page( 'tools.php' ); // アップデートのメッセージを非表示にする remove_action( 'admin_notices', 'update_nag', 3 ); // 左のメニューにログアウトボタンを表示 global $menu; $menu[] = [__('Logout'), 'read', wp_logout_url()]; 2.上のadmin_barも不要なメニューを非表示 参考 Function Reference/remove node | WordPress Codex admin_bar_menuに下記のような処理をフックする。実行する優先順位を下げないとwp-logoとか消えなかった。 function hoge_admin_bar_menu( $wp_admin_bar ) {      $wp_admin_bar->rem

一人社長の給与(役員報酬)を変更

イメージ
起業して1年が経ち、事業も軌道に乗ってきたので、自分の給与(役員報酬)を変更しようとしたときの覚書。 環境: 一人社長、9月末決算、15日締め当月25日払い 参考サイト 役員報酬変更の手続きの流れと議事録などへ押印する印鑑のまとめ - 印鑑証明マニュアル 1.取締役会議事録作成 参考サイトのテンプレートの必要箇所に記入して終了。 捺印済みをスキャンして印刷。日本年金機構へ提出用。 2.日本年金機構に月額変更届を提出 月額変更届の提出は2月以降でよかった。 変更した月から3か月後の提出でよかった。 日本年金機構ホームページに従って書類を準備。 月額変更届の提出|日本年金機構 随時改定に該当するとき(報酬額に大幅な変動があったとき)|日本年金機構 (2021/01/05変更) 「タ」と「チ」に変更後の月額報酬額を書いた。 提出書類 被保険者報酬月額変更届 取締役会議事録の写し 源泉徴収簿(改定月の前の月分) MFクラウド給与の「帳票一覧→源泉徴収簿」で出力 間違いがあるか心配だったので窓口に行ってみてもらった。 川口市の場合は 浦和年金事務所 確認したこと 変更届は支払った直近3ヵ月の給与を記入するので、私の場合は11月、12月、1月の実績を記入する。 改定年月は平成30年2月。 「タ」と「チ」は未記入。 提出は1月25日以降でよい。 改定年月から60日遅延してなければ、取締役会議事録の写しと源泉徴収簿はいらない。 変更額が小さいならば、そもそも変更届もいらない。私の場合は5等級変わるので必要。 7月に提出する算定基礎届で保険料は決まるので、変更届の重要性は低い。提出したときの覚書。 SE奮闘記: 社会保険の算定基礎届を指定会場で提出 3.MFクラウド給与の設定変更 従業員情報から役員報酬を変更。 健康保険/厚生年金保険を変更したら保険料が変わるので、これは多分来年変更する。 4.翌年やっぱり下げた (2019/01/23 追記) 調子に乗って上げ過ぎたので、翌年下げて申請書類を郵送したら下記添付書類が必要だった。 賃金台帳の写し 株主総会または取締役会の議事録 郵送先は管轄の年金事務所ではなく事務センター。 全国の事務センター一覧(健康保険・厚生年金保険の適用に関する届書等を郵送される場合)|日本年金機構 < Related Posts > 社会保険の算定

PHPExcelの後継ライブラリPhpSpreadsheet

イメージ
PHPExcelの後継ライブラリを見つけたので覚書。 GitHub - PHPOffice/PhpSpreadsheet: A pure PHP library for reading and writing spreadsheet files PHP7に対応していて、今風の作りになっているので流行りそう。 2017/08/17にβ版がリリースされている。そのうちGAがリリースされると思う。 PDF出力にも(TCPDFなどの外部ライブラリで)対応しているみたいなので、帳票を出力する仕組みの有力候補になると思う。 < Related Posts > PHPでPDF生成する方法を調査 【PHP】PHPExcelがループ内でメモリを使いすぎる PHPからエクセルを操作するPHP-Excelを使ってみた

KotlinでiOS開発は出来るのか調査

イメージ
最近 Axway Appcelerator Titanium で開発し続けることに不安を感じていて、KotlinでiOS開発は出来るのかと調べたときの覚書。 Kotlinはクロスプラットフォーム開発に力を入れていて、iOSの公式サポートを発表した。 KotlinConf 2017 Keynote レポート | TechBooster お正月休みに試せるような状況だと嬉しいな。 < Related Posts > Android Studio + Kotlinプラグイン

JPドメインの指定事業者変更とドメイン名移転の違い

イメージ
OCNで管理していたドメインをValue-Domainへドメイン移管したときの覚書。 移管したドメインはor.jp(属性型ドメイン)。 OCNのサイトでは「指定事業者変更」と「ドメイン名移転」がある。 法人向けOCNサービス(各種申請書式ダウンロード一覧) | NTTコミュニケーションズ 法人のお客さま その違いは何?と思って調べてみると下記サイトの説明が分かりやすかった。 汎用JPドメインの指定業者変更、ドメイン移転について | VALUE-DOMAIN ユーザーガイド JPドメインの管理方法に沿った言い方をしているらしい。 要するに 指定事業者変更 ドメインレジストラの変更。 登録者情報をそのままに管理するドメインレジストラを変更する。 他のドメインを管理していなければこっち。例えばお客様が直接管理をしているドメインを自社管理にする場合など ドメイン名移転 (ドメイン移転) 特定のドメインだけ他のレジストラに移管する。 登録者情報を変更して、レジストラも変更する。 別の業者が管理しているドメインを自社管理に変更する場合など < 2017/10/12 Modified > OCNの「Bizメール&ウェブ ビジネス」を契約しているクライアントのDNSを変更してMXレコードは以前のままに設定しているのにメールが送受信できなくなった。 原因は、オプションでメールのウイルスチェック機能を契約しているから。そうするとMXレコードは下記のサーバーを指定している。 mwbgw2.ocn.ad.jp. mwbgw1.ocn.ad.jp. このサーバーはウイルスチェック用らしく、メインのAレコードを参照して、それが配送先と違うとエラーになる。 つまりホームページを別サーバーで運用して、メールだけOCNを使うということができない。サポートに問い合わせてもサービスの仕様で、ウイルスチェック機能を解約するしかないらしい。 仕方がないから、とりあえずAレコードを元のサーバーに戻した。 メールアカウントが多いとメールサーバーを変更するのにパワーがいる。しかも、そういった組織だと年間10万弱はたいした金額ではない。 さくらのメールボックス を使えばウイルスチェック込みで年間1,029円なのに。。。 < Related Posts > Valu

埼玉県武蔵浦和の法律事務所

イメージ
仕事を進めていく中で「揉めそうな予感」がピンと来たので、 さいたま起業家協議会 で知り合った弁護士の方に相談したときの覚書。 お世話になった法律事務所はこちら。 埼玉・さいたま市の弁護士なら交通事故・相続・離婚で実績のある武蔵浦和法律事務所 今まで交わした契約書はネットのサンプルを元に作成した自作。 契約書内のダメな部分を指摘され、かなり焦った。 書きづらいことは「誠実協議」の部分で何とかなると思っていたけど全く意味ないらしい。 第9条(誠実協議) 本契約に定めのない事項および疑義については、甲乙協議の上、誠意をもって処理するものとする。 「契約書なんて関係ないよ。揉めるなんてプロジェクト管理が出来てない証拠」と思っていた自分が恥ずかしい。 でも、このタイミングで相談できたのは本当に良かったと思い直すことにした。 全部話せる弁護士の先生に会えたのは大きい。

プレゼン環境:ノートPC+Android vs iPad + VGAアダプタ

イメージ
今度「起業体験」をテーマにプレゼンするので、スマートな方法を調べたときの覚書。 環境: Windows 10 Pro, MS PowerPoint 2016, Android 7.0, iPad Pro 9.7 いろいろ調べて2つに絞った。 方法①:ノートPC + Android ノートPC(Let's Note)にVGA出力があるので、普通にパワーポイントで表示しつつ、Androidの「Office Remote」アプリを使ってスライドをリモートコントロールする。 追加購入費用:1,190円(ノートPCのBluetoothが壊れているから) Amazon | 【Newiy Start】Bluetooth4.0 USBアダプタ EDR/LE(省エネ) Windows10 apt-X対応 CSRスタック付属 ブルートゥース ドングル (抓み型) | Bluetoothアダプタ | パソコン・周辺機器 通販 メリット 歩き回りながらプレゼンできる PCの前にいけばパワーポイントのフル機能を使える デメリット 途中で電話が掛かってきたらビクッてなる → 設定で対応可能 ノートPCが重い 方法②:iPad + VGAアダプタ iPadにPowerPointアプリをインストールして、iCloud経由で共有したpptxを開く。 Keynoteアプリも試してみたけど、フォントや縦書きなど再現できなかったので諦めた。ちなみにKeynoteだとiPhoneでリモート操作できる機能がある。 追加購入費用:5,616円 Lightning - VGAアダプタ - Apple(日本) メリット 軽い → iPadはいつも持ち歩いているのでVGAアダプタだけでいい デメリット スライド操作するときにはiPadの前にいる必要あり 経過時間が見れない 特殊フォントが反映されない iPadでやろうと思ったけど、現地のプロジェクタに繋ぐとノートPCと縮尺が違う。 自分の番になったらプロジェクタの調整をしないといけなくなるので、結局他の人との共有PCにパワーポイントのデータをコピーしてやった。

社会保険の算定基礎届を指定会場で提出

イメージ
日本年金機構から算定基礎届に関する書類が届いたので対応したときの覚書。 通常は郵送で提出するらしいけど、今回調査対象になったので指定日時に指定会場で提出して下さいと通知が入ってた。起業初年度だから選ばれた? 環境: 従業員一人(一人社長) 目次 算定基礎届の概要 被保険者報酬月額算定基礎届の記入 被保険者報酬月額算定基礎届 総括表の記入 被保険者報酬月額算定基礎届 総括付随表の記入 提出書類準備 会場で提出 1.算定基礎届の概要 毎月給与から天引きする社会保険料を決定するために4月、5月、6月の給与所得を申請する。そのための申請書類が「算定基礎届」。 期限:7月10日 今回は7月19日に指定会場で手渡し。 2.被保険者報酬月額算定基礎届の記入 MFクラウド給与の「社会保険事務(β)」→「定時決定」から計算開始を実施したら画面に表示される値を用紙に記入。 固定給なので特に難しいところはない。 3.被保険者報酬月額算定基礎届 総括表の記入 記載例に従って記入。 一人社長で手当てもボーナスもないので特に迷うところはない。 4.被保険者報酬月額算定基礎届 総括付随表の記入 記入。もう何を書いたのか覚えていない。 スキャンして保存しておけばよかった。 5.提出書類準備 用意した書類など 被保険者報酬月額算定基礎届、総括表、総括付随表 平成29年1月から現在までの賃金台帳 MFクラウド給与の帳票一覧→賃金台帳から印刷 社会保険関係書類 日本年金機構から送られてきた通知書 所得税徴収高計算書 この時点で支払期限日(7/10)過ぎているのに気付いた 事業主印鑑(訂正するときに必要) 6.会場で提出 指定日時の20分前に到着したけど、担当者が空いていたのですぐに案内された。 書類をチェックしてもらって足りない箇所を記入。 本社移転して事業所番号が変わっていたので、その場で修正。 所得税徴収高計算書に関してはMFクラウド給与から出力した書類を見せるだけで特に何も言われなかった。 (この後川口税務署に行って所得税納付済み) 記入ミスの不安がなく提出できたので良かった。 来年も会場で手渡ししたいくらい。 < Related Posts > e-Taxを利用申請して所得税徴収高計算書(納期特例分)を申告 株式会社設立④:社会保険 株式会社設立③:税務署、市役所に法人設立届け

法人として住民税の特別徴収を納付する

イメージ
起業して初めて特別徴収を納めたときの覚書。 環境: 従業員一人(一人社長) 目次 市役所から「特別徴収のしおり」が届く 銀行で振込手続き 特別徴収を自動引き落としにしたい 1.市役所から「特別徴収のしおり」が届く 私が住んでいる蓮田市から「特別徴収のしおり」が届いた。 法人として6月給与から天引きで住民税を預かり、蓮田市に納付しなければならない(特別徴収)。 特別徴収 - Wikipedia ペイジーを試したかったけど、蓮田市は対応していない。 一緒に送られてきた「特別徴収納入書」を銀行に持っていき払うしかない。 2.銀行で振込手続き 申込用紙に記入して振込手続き。 手持ちがなくても法人口座から引き落とすことができる。(口座がある銀行窓口の場合) 3.特別徴収を自動引き落としにしたい 毎月銀行に行くのは面倒なので自動引き落とし出来ないか調べると、特別徴収の場合はできない。 従業員が自分で納付する普通徴収はできる。 だから毎月銀行に行かなければならない。 納期の特例を申請すれば年2回で済む。 住民税をネットで簡単に納付!毎月銀行に行かずに納付する方法 | 経理通信 < Related Posts > 本社移転手続き(同管轄)。戸田市→川口市 株式会社設立③:税務署、市役所に法人設立届け 退職して起業した初年度の住民税の納付について調査

Windows10からスキャンできない(Canon MF222dw)

イメージ
スキャンしようとしたら出来なくなっていたので調べたときの覚書。 環境: Windows 10 64bit, Canon MF222dw, Canon MF Toolbox 4.9.1.1.mf17 いつものように「Canon MF Toolbox」を開いてスキャンしようとしたら下記エラー。 スキャナー本体と通信できません。 ケーブルが外れているか、電源が入っていない可能性があります。 スキャナー本体の状態を確認してから、実行しなおしてください。 スキャナードライバーを終了します。 普通にプリントは出来る。 Google先生に聞いてみたらここに答えが。 http://www.thecanondriver.com/2017/05/how-to-fix-mf-toolbox-does-not-work-on.html Windowsストアにある「Windows スキャン」を使うと出来る。 デスクトップにショートカットを作成。 ちなみにこれを知る前に下記サイトを参考に設定を変えてる。この設定は必要ないと思う。 Windows 10- Canon MF4350d Toolbox for scanner doesn't work - Microsoft Community Canon MF Toolboxはアンインストールした。 Canon MF Network Scan Utility 64bitもDisabledにした。 < Related Posts > 【Windows10】一瞬ウィンドウのフォーカスが外れる現象

certbotでSSL化してあるサイトを別サーバーに移行

イメージ
certbot (Let's Encrypt )を使って無料SSL(https)化してあるサイトを別サーバーに移行したときの覚書。本番環境なのでユーザーに気付かせないようにやる。 環境: CentOS7, certbot 0.14.1, nginx 1.12.0 手順一覧 tarアーカイブしたソースを移行先にコピー データベースをExport&Import 移行元の秘密鍵と著名済み証明書をコピー、nginxのconf設定 ローカルマシンのhostsファイルに移行先のIPアドレスと記述して動作確認 ドメインレジストラでDNS変更 移行先サーバーでcertbotコマンドから取得し直し 移行元サーバーからデータを削除 3.移行元の秘密鍵と著名済み証明書をコピー、nginxのconf設定 移行元から秘密鍵と証明書をコピーするところのコマンド。 【移行先サーバー】 # cd /etc/nginx/ # mkdir ssl.d # cd ssl.d/ # vi hoge.co.jp.fullchain.pem # vi hoge.co.jp.privkey.pem # cd ../conf.d/ # less hoge.conf server {      listen       80;      server_name  hoge.co.jp;      return 301 https://hoge.co.jp$request_uri;     #root    /home/httpd/hoge-hp/wordpress;     # WordPress Setting      #include conf.d/global/wordpress_restrictions.conf;      #include conf.d/global/wordpress_dev.conf;      #include conf.d/global/wordpress_live.conf; } server {      listen       443 ssl;      server_name  hoge.co.jp;     root /home/httpd/hoge-hp/wordpress;      # Gzip      include conf.

【CentOS7】開発用仮想マシンに設定するsmb.conf

イメージ
Hyper-V上にある仮想マシンのSamba設定ファイルsmb.confの覚書。 環境: CentOS7, Samba 4.4.4 全文はGistに置いた。 my samba config file for centos7 | Gist 今まで使ってたのからoplocksの設定を追記している。 確認してsamba再起動するコマンド # testparm [global]          server string = Samba %v          workgroup = VM          log file = /var/log/samba/log.%m          max log size = 50          disable spoolss = Yes          printcap name = /dev/null          guest account = node          map to guest = Bad User          security = USER          idmap config * : backend = tdb          level2 oplocks = No          oplocks = No          guest ok = Yes          hosts allow = 127. 192.168. [opt]          comment = Option Directory          path = /opt          read only = No [httpd]          comment = httpd          path = /home/httpd          read only = No # systemctl restart smb # systemctl restart nmb < Related Posts > CentOS7 + Nginx + PHP7 + MariaDB + Node.jsの環境を構築する手順まとめ [CentOS]Sambaのsmb.confを設定してFile共有(第2弾) Sambaの設定ファイルsmb.confメモ

PhpStormが固まる

イメージ
他のアプリから戻ってくるとPhpStormが固まるので調査した覚書。 環境: Windows 10 Pro 1703, Java SE 8  Update 131, PhpStorm 2017.1.4 直るまでのログ PhpStorm起動後、File → Invalidate Caches / Restart...してみる。 Event Viewerでエラーが出てないかチェック Google日本語入力とJavaの相性が悪い時がある。 → Microsoft IMEを使うようにしても固まる Java SEを最新にしてみる。 でも最近のPhpStorm 64bit版はJREをバンドルしていて、そちらを使うので最新のJava SEをインストールしても意味ない。 → Help → Aboutで使っているJREのバージョンを確認できる。 公式サイトを参考に使用するJava Runtimeを変更できるかもしれない。 Selecting the JDK version the IDE will run under | IDEs Support (IntelliJ Platform) | JetBrains → これは結局試してない 特定のプロジェクトの特定の場所にカーソルを持ってくると固まる気がする。 .ideaを削除 「そんなバカな」と思いつつ、固まる場所のコードを全部削除してFile → Invalidate Caches / Restart...する。 念のためPCを再起動して、お茶を飲みながら頭を冷やす。 それでも再発するため、PhpStorm 2017.2 EAPをインストール。 PhpStorm Blog | Tips & tricks, news, how-to’s これで直った。 PhpStormのバグだったみたい。 < Related Posts > PHPStormを64bitで動作+メモリ容量を増やして高速化 xyzzyからPhpStormに乗り換え。設定メモ

Gitリポジトリをコピーして別リポジトリとしてプッシュ

イメージ
新しくホームページを作成するときに既存リポジトリからコピーして、新しくプロジェクトを作成したときの覚書。 環境: CentOS 7.3, git 2.13.1.394.g41dd433 参考サイト GitHub 別リポジトリに push する方法 - Qiita コピー元のリポジトリを別名フォルダにcloneする。 $ cd /home/httpd/ $ git clone git@gitlab.com:dksg-websites/hoge-hp.git new-project $ cd new-project 今のリモートoriginを確認して、新しいアドレスに変更(GitLabで新しいプロジェクトは事前に作っておく) $ git remote -v $ git remote set-url origin git@gitlab.com:dksg-websites/new-project.git $ git remote -v 全部プッシュ $ git push origin --all 過去のコミットログも含めて登録されるので、過去ログがいらない場合は参考サイトのようにやれば出来るかもしれない。 サブモジュールがある場合はinitする。 $ git submodule init $ git submodule update $ cd wordpress/wp-content/plugins/dksg-utility/ $ git checkout master $ git pull < 2017/10/02 Modified > 使わないサブモジュールを削除するとき $ git submodule deinit wordpress/wp-content/plugins/enews/ $ git rm wordpress/wp-content/plugins/enews/ < Related Posts > よく検索するGitコマンドの覚書。自分用 GitをSourceからBuildしてRubyの最新版をInstall

本社移転手続き(同管轄)。戸田市→川口市

本社を移転したときに行った手続きの覚書。 環境: 埼玉県戸田市から川口市への移転。同一管轄法務局。従業員なし(1人社長) 参考にしたサイト 法人・会社の本社住所移転・引っ越し(同管轄内)時に必要な手続きはなんですか? - ネットコミュニティブログ 本店を移転した際の7つの手続きを効率的に片付ける全手順 | パパセンス 目次 郵便局への転送手続き 法務局で株式会社本店移転登記申請書の提出。 法人クレジットカードの登録住所変更 銀行へ移転届け 税務署へ届け出 県税務署へ届け出 市役所(転出と転入)へ届け出 年金事務所へ届け出 その他届け出 1.郵便局への転送手続き 郵便局が提供している「e転居」で登録してみた。 転居・転送サービス - 日本郵便 あたらしい町にも、しっかり届く安心。e転居 - 郵便局 法人名で申請した。 申請から3日後以降から転送可能なため、必要なら事前に登録しておいた方がいい。 2.法務局で本店移転登記(同管轄) ウェブサービス「 会社設立ひとりでできるもん 」を利用すると5400円で提出書類を作成できるということで使ってみた。 本店移転(管轄内移転):定款変更手続き | 会社設立ひとりでできるもん 手順通りに必要事項を入力してPDFをダウンロード。 さいたま地方法務局(与野本町駅)へ行って、登録免許税3万円を購入/貼り付け、あとは受付に出すだけ。 11日(木)に提出して22日(月)の午前中に登記完了予定。 3.法人クレジットカードの登録住所変更 eオリコにログインして「お客さま情報変更」を見ると、個人の住所となってた。 明細書の電話番号に電話して住所変更した。 4.銀行へ移転届け 三菱東京UFJ銀行西川口支店ではウェブで変更出来ない。 法人のお客さま向け「住所」・「社名(商号)」・「代表者」・「お届印」の変更手続きのご案内 | 三菱東京UFJ銀行 住所変更だけなら登記簿謄本はいらなかった。 5.税務署へ届け出 e-Taxで申請しようとIEでログイン(Google Chromeでは表示できない) 【e-Tax】国税電子申告・納税システム(イータックス) ウェブ版では対応してなかった。。。 提出書類を国税庁のページからダウンロード。

yum updateがエラーで失敗する

イメージ
yum updateをしたらエラーになったので対処しているときの覚書。なぜか開発サーバーでは成功する。 環境: CentOS7, YUM 3.4.3 エラー # yum update 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile Traceback (most recent call last):   File "/usr/bin/yum", line 29, in <module>     yummain.user_main(sys.argv[1:], exit_code=True)   File "/usr/share/yum-cli/yummain.py", line 370, in user_main     errcode = main(args)   File "/usr/share/yum-cli/yummain.py", line 179, in main     result, resultmsgs = base.doCommands()   File "/usr/share/yum-cli/cli.py", line 573, in doCommands     return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)   File "/usr/share/yum-cli/yumcommands.py", line 504, in doCommand     ret = base.updatePkgs(extcmds, update_to=(basecmd == 'update-to'))   File "/usr/share/yum-cli/cli.py", line 1025, in updatePkgs     self.update()   File "/usr/lib/python2.7/site-packages/yum/__init__.py", line

Google検索とアプリを紐付けるApp Indexing(ディープリンク)を設定(書きかけ)

イメージ
Google検索結果にアプリがあることを通知するディープリンクを設定したときの覚書。 公式サイトの手順が分かりやすい。 Firebase App Indexing | Firebase   目次 Google Search Consoleにアプリを追加 サイトと関連付ける 「Fetch as Google」を実行 アプリ内のページをインデックスに登録する(未実装)   1.Google Search Consoleにアプリを追加 公式ヘルプを参考にSearch Consoleにアプリを追加 Search Console にアプリを追加する - Search Console ヘルプ 同じアカウントでアプリを管理しているので、追加自体はすぐに完了する。   2.サイトと関連付ける メッセージにある「検索パフォーマンスを改善できます」から「ウェブサイトと関連付ける」をクリックして、ランディングページを関連付けた。   3.「Fetch as Google」を実行 ディープリンクは設定してないけど、Fetch as Googleを試してみた。 英語版で実行すると「一部完了」。 一覧を取得するURLで「リソースが取得できませんでした」とエラーが出た。APIがアプリからのリクエストしか許可しない処理があるので、それが影響したのかもしれない。 日本語版で実行すると「内部エラー」。 この状態でも3日後に「検索アナリティクス」にはデータが表示されるようになった。   4.アプリ内のページをインデックスに登録する(未実装) アプリがAppcelerator Titaniumで作っているので、これに手を付けれていない。 実装したら追記予定。   < Related Posts > GoogleアナリティクスからGoogleタグマネージャに切り替え Appcelerator Titaniumで作った「犬猫家族」アプリ

サイトのスピードテストと画像を最適化してスコアを上げる

イメージ
制作したホームページのサイトスピードを計測したときの覚書。 環境: CentOS 7   1.サイトのスコアを計測 最近公開されたGoogle先生のテストツール Mobile Website Speed Testing Tool - Google 前からあるこちらのツールの方がより具体的な修正方法を提示してくれるので分かりやすい。 PageSpeed Insights | Google   2.画像の最適化 Google先生の提案に従って画像を圧縮してみる。詳しくは公式サイトで。 画像を最適化する | PageSpeed Insights | Google Developers 画像の最適化 | Web | Google Developers CentOS7にjpegtranをインストール # yum install libjpeg-turbo-utils バージョンの確認 $ jpegtran -v libjpeg-turbo version 1.2.90 (build 20140610) ヘルプの確認 $ jpegtran -h 使ってみる。 # jpegtran -copy none -optimize -progressive -outfile key-visual_mini.jpg key-visual.jpg 640KBが635KBになっただけ。あまり効果がなさそうなので他の画像はそのままにした。 画像を切り出すときに使っていたGIMPがうまいこと圧縮してくれたのかもしれない。   < Related Posts > Google Chrome使ってWeb Siteの表示速度を計測する

CentOS7向けにwkhtmltopdfをソースからビルド

イメージ
YUM経由でインストールしたwkhtmltopdfがよく分からないエラーを吐くので最新版(0.12.4)をビルドしたときの覚書。 環境: CentOS 7 よく分からないエラー /usr/bin/xvfb-run: line 181: 21759 Segmentation fault      DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1   目次 YUMバージョンをアンインストール Git cloneしてコンパイル インストール YUMバージョン(0.12.1)と比較して変わったところ 本番環境へインストール   1.YUMバージョンをアンインストール 今のバージョンを確認 # wkhtmltopdf --version wkhtmltopdf 0.12.1 アンインストール # yum remove wkhtmltopdf   2.Git cloneしてコンパイル 公式サイトを参考に GitHub | wkhtmltopdf/INSTALL.md at master · wkhtmltopdf/wkhtmltopdf コンパイラ(開発ツール)をインストール # yum groupinstall 'Development Tools' GitHubからダウンロードする。ユーザーのホームディレクトリじゃないとコンパイル時にエラーになるらしい。 # cd # git clone --recursive https://github.com/wkhtmltopdf/wkhtmltopdf.git 5分ぐらい掛かった。 今の最新バージョン0.12.4をチェックアウト # cd wkhtmltopdf/ # git tag # git checkout 0.12.4 セットアップ(?) # sudo scripts/build.py setup-schroot-centos7 エラー。CentOSのオプションはなくなったらしい。 Building from source in CentOS 7 · Issue #3038 · wkhtmltopdf/wkhtmltopdf 再度ビルド実行 # scr

Google Analytics認定資格を取得

イメージ
Google Analytics認定資格を取得したときの覚書。 参考サイト Google Partners Google Analytics Academy Googleアナリティクスアカデミーの動画はほとんど英語なので、理解するのに時間がかかるかも。   Googleアナリティクスとは?を確認するのに有用な公式動画 Google アナリティクスの活用方法 - YouTube   用語集 用語 説明 セグメント アクセスを特定の条件で絞り込みカテゴリー分けする機能。 セグメントについて - アナリティクス ヘルプ ディメンション データの属性。データの性質。セッションなどのアクセスそのものではなく「どんな」アクセスか。 例)市区町村、ブラウザ、言語 ディメンションと指標 - アナリティクス ヘルプ マルチチャンネルレポート コンバージョン(CV)に至るまでの経路には、複数の接点(チャンネル:有料検索やディスプレイ広告など)があり、ユーザーはどのようなチェンネルを参照したかを解析 マルチチャネルについて - アナリティクス ヘルプ アトリビューションモデル コンバージョン(CV)に至るまでの経路で、それぞれの経路がどの程度貢献したかを重み付けするルールセット アトリビューション モデルの概要 - アナリティクス ヘルプ アシストコンバージョン コンバージョン(CV)に至るまでの経路上の各接点 チャネルの貢献度を分析する - アナリティクス ヘルプ Measurement Protocol Google Analyticsへデータを送信するルールセット。ウェブやアプリ以外のSDKが提供されていない環境でも、このルールに従えばデータを収集することが可能。 Measurement Protocol - アナリティクス ヘルプ テスト (ウェブテスト) A/Bテストを行う機能。テスト用ページを作成しておいて、指定した割合で訪問者にテストページを表示できる。 ウェブテストのメリット - アナリティクス ヘルプ リマーケティング ユーザーリスト コンバージョンを達成する見込みが高く、再度アプローチしたいユーザー一覧。 AdWordsと連携前提。 Analyticsでユーザーリストを作成しておくと、

GoogleアナリティクスからGoogleタグマネージャに切り替え

イメージ
Googleタグマネージャを使うと、Google AnalyticsやAdWordsのコンバージョンスクリプトをいちいち埋め込まずに管理できる。 最近は使いやすくなって本番運用に活用できる。 詳しくは公式サイトで。 Google タグマネージャ公式サイト リリースノート - タグマネージャ ヘルプ   出来ること 任意のスクリプト(タグ)を任意のタイミング(トリガー)で実行することが出来る トリガーを設定するときにCSSセレクタで指定できるので、IDがついてない要素もコードを修正せずにトリガーに出来る プレビュー機能でどのトリガーが実行されたか分かる   特に便利だと思ったところ 静的なリンクも コードを修正せず にGoogle Analyticsのイベントを発生させることが出来るから、特定要素のクリック数も簡単に計測可能。 プレビュー機能が素晴らしい   これからはGoogleタグマネージャを埋め込んでおけば間違いない。   < Related Posts > 【PHP】Server-SideでGoogle Analyticsを使ったTrackingをする

【PHP】BMP画像をJpeg形式とWebP形式に変換

イメージ
Androidアプリから送信された画像がBMP形式なので、サーバー側でJPEGとWebPに変換したときの覚書。 環境: CentOS 7, PHP 7.0.16   目次 AndroidとiOSのWebP対応状況 サーバー環境の確認 PHPのImagickを使って変換   1.AndroidとiOSのWebP対応状況 Androidは4.0以上でWebPに対応している。 Supported Media Formats | Android Developers iOSはiOS 10のSafariで対応しているが、アプリで表示させるためには別途ライブラリが必要。 iOSはjpeg、Androidはwebpを表示することにした。   2.サーバー環境の確認 YUM経由でImageMagickは 前にインストール してあったので、バージョンと対応フォーマットの確認 # convert --version Version: ImageMagick 6.9.8-0 Q16 x86_64 2017-03-12 # convert -list format WEBP* WEBP      rw-   WebP Image Format (libwebp 0.3.0[0201]) PHPから利用するためのimagickライブラリがあるか確認 # php -i | grep imagick imagick module version => 3.4.3   3.PHPのImagickを使って変換 BMPからJPEGに変換するサンプルコード $info = pathinfo($path); $image = new \Imagick($path); $image->setImageFormat('jpeg'); // Save as progressive jpeg $image->setInterlaceScheme(\Imagick::INTERLACE_PLANE); $image->setImageCompressionQuality(80); $result_path = $info['dirname'] . '/' . $info

マーケティングは学問。本から学んだ広告コピーの基礎

イメージ
AmazonのKindle Unlimitedで読んだ本がとても有用だったので、忘れないための覚書。 読んだ本はこちら。 ここらで広告コピーの本当の話をします。 | 小霜 和也 |本 | 通販 | Amazon 用語 用語 説明 USP Unique Selling Proposition 競合優位性。 競合と比較した”価値”をどう最大化するかが重要 タグライン 商品の価値が最大化されるような定義付け。 常に商品と一緒に表示する。 誰もが分かるシンプルな表現で。 キャッチコピー タグラインに誘導するためのコピー。 ターゲットの共感を得る表現。 「不満のMAX」か「気持ちよさのMAX」を描く AIDMAの法則 広告を見てから購買に至るまでの流れ 1.Attention 2.Interest 3.Desire 4.Memory 5.Action ダイレクト(ウェブ)広告の場合はMemoryがない アウトバウンド 企業からターゲットにアプローチすること インバウンド ターゲットから企業にアプローチすること。 これを「見つける」ことがマーケティング。「作って」はダメ。 クロージングコピー その場での決断を促すための提案   ウェブサイトを作った際の自分用チェック項目。本と無関係のもある 競合をしっかりと調べUSPが明確か タグラインがモノとヒトとの関係を新たに創造しているか。ターゲットの心を揺さぶる表現になっているか ターゲットの視点で作られているか ユーザーの利益が明確か。推測させるのはダメ。一瞬で理解できるように AIDMAの流れになっているか クロージングコピーが出来ているか シンプルに。無駄に長くないか   < Related Posts > "ハッカーと画家(Hackers and Painters)"を読んだ 「SEを極める 50の鉄則」を読んだ

WordPress記事を投稿時にNginxのキャッシュを削除

イメージ
WordPressから任意のタイミングでNginxのfastcgi cacheを削除したいと調査したときの覚書。 環境: CentOS 7, Nginx 1.10.3, PHP 7.0.16, WordPress 4.7.2   1.Nginxキャッシュについて調査 WordPressにはこれを実現してくれるプラグインがある。 Nginx Cache Controller | WordPress Plugins ソースを見たけれど正直何をやっているのか分からない。 ちゃんとNginxのキャッシュの仕組みを理解しないといけないかもと思い、参考になりそうな記事を読む。 A Guide to Caching with NGINX and NGINX Plus - NGINX Flushing the nginx fastcgi cache via PHP (and/or WordPress) | mattgadient.com   2.Nginxの「fastcgi_cache_purge」モジュール WordPress公式のNginxキャッシュ設定にクリアする記述があった。 Nginx | WordPress Codex location ~ /purge(/.*) {   # Uncomment the following two lines to allow purge only from the webserver   #allow 127.0.0.1;   #deny all;   fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; } これを実行するには「fastcgi_cache_purge」というNginxモジュールが必要らしい。 インストールされているか確認 # nginx -V nginx version: nginx/1.10.3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments:

Gmail検索クエリとGmail APIと一緒に使うPHPライブラリ

イメージ
Gmail API経由でメール一覧を取得しているときの覚書。 環境:CentOS 7, PHP 7.0.16 メールを取得する際に設定する検索クエリの参考サイト。 Search operators you can use with Gmail - Gmail Help Gmailの検索演算子一覧(隠れコマンド含む)。高度なフィルタ作成に!   日付の降順で取得したかったけど今のところ出来ないので、スレッド単位で取得して処理をしていく。 Users.threads: list | Gmail API | Google Developers ドキュメントに書いてないことはライブラリのソースを読んだ方が早い。   メッセージはraw形式で取得してPHPライブラリでパースした方が開発し易い。 GitHub | php-mime-mail-parser/php-mime-mail-parser: Fully Tested Mailparse Extension Wrapper for PHP 5.4+ 送信するときはPHPMailerでメールオブジェクトを作って、getSentMIMEMessageしたデータを(base64UrlEncodeして)setRawすると開発しやすかった。 GitHub | PHPMailer/PHPMailer: The classic email sending library for PHP   < Related Posts > Gmail APIでシステムとGmail(G Suite)を連携【調査編】 Google Apps Scriptで自動的にGmailのメールを定期的に削除 Gmailフィルタメモ。必要なメールだけ携帯に転送

PHP Standards Recommendations:PHPコーディング規約

イメージ
composerのauto-loadingの仕組みを見ていて、名前空間やファイル名の付け方を統一しようと思ったときの覚書。 PHP Framework Interop Group(PHP-FIG)というグループがPSRという規約をまとめてくれている。 PHP-FIG — PHP Framework Interop Group さくっと理解するのはこちらのスライドが参考になった。 新標準PSRに学ぶきれいなPHP   個人的にWordPressを使うことが多いけど、WordPressはインデントがタブだったり独自路線が強い。 PHP Coding Standards | Make WordPress Core     < Related Posts > Wordpress 開発リファレンスのリンク集 PHPのコーディング規約

Gmail APIでシステムとGmail(G Suite)を連携【調査編】

イメージ
POP3とSMTPを使うのは面白くないので、API経由でGmailを利用したらメールを削除することなくシステムと連携できると思い、試したときの覚書。 公式サイトを参考に Gmail API | Google Developers   目次 APIの使用制限 システム用アカウントをGoogle Apps(G Suite)に追加 Server-to-Serverのサービスアカウントを作成 PHPサンプルを試す ウェブアプリケーションのOAuth2.0で認証   1.APIの使用制限 APIの使用制限がある。1日10億Quota Unit。メソッドごとに消費ユニットが違う。例えばメール送信は100ユニット消費する。 一秒間に250ユニットの制限がある。同時に3つ以上送信しようとすると制限に引っかかる。詳しくは公式サイトで。 Usage Limits | Gmail API | Google Developers メール送信はローカルのPostfixに任せた方がいいかもしれない。   クライアントライブラリが未成熟(?) PHPはベータ版 Getting Started | API Client Library for PHP (Beta) | Google Developers Node.jsはまだアルファ版 Node.js Quickstart | Gmail API | Google Developers GitHub | google/google-api-nodejs-client: Google's officially supported Node.js client library for accessing Google APIs.   2.システム用アカウントをGoogle Apps(G Suite)に追加 やろうと思っていることの概要。 システム専用のアカウントを作って、そのアカウント宛てに届いたメールを順次処理していく。 処理が終わったら「既読」ラベルを付けてアーカイブ。 Node.jsはアルファ版なのでWordPressのプラグインとしてPHPで開発することにした。   3.Server-to-Serverのサービスアカウントを作成 システム専用アカウントでG

【PHP】composerをインストールして依存関係管理

イメージ
Google先生の巨大ライブラリをリポジトリにコミットしたくなかったので、composerをインストールしたときの覚書。 環境: CentOS 7, PHP 7.0.16   参考サイト Introduction - Composer composer 導入をまじめに考える - Qiita   目次 composerとは YUM経由でインストール composerを使ってライブラリをインストール   1.composerとは PHPの依存関係管理ツール。Node.jsのNPMやRubyのBundlerを参考にしている。 composer installするとcomposer.jsonを参照して「vendor」ディレクトリにライブラリがインストールされる。 composer.lockというファイルがあるとそちらを参照してそのバージョンをインストールするので、作った人と同じ環境を構築できる。 WordPressのプラグインみたいに別ディレクトリに設置してほしい場合も対応可能。 GitHub | composer/installers: A Multi-Framework Composer Library Installer   2.YUM経由でインストール remiリポジトリにあった。バージョンは1.3.2 # yum install composer 依存関係で結構な数のライブラリがインストールされる。 確認 # composer --version Do not run Composer as root/super user! See https://getcomposer.org/root for details Composer version 1.3.2 2017-01-27 18:23:41   3.composerを使ってライブラリをインストール インストールするライブラリはこちら。 GitHub | google/google-api-php-client: A PHP client library for accessing Google APIs 今回WordPressプラグインの中で使う。 $ cd /path/to/wordpress/wp-content/plugi

Twitter Bootstrap利用サイトでIE8だとimgが表示されない

イメージ
作ったサイトを念のためIE8で確認したら画像が表示されないので対応したときの覚書。 環境: Bootstrap 3.3.7, WordPress 4.7.2   1.【準備編】Windows7 + IE8の環境を作る(Hyper-V) 公式サイトでIE8を搭載した仮想マシンがダウンロードできる。 Microsoft Edge Developer website - Microsoft Edge Development 認証が必要。デスクトップに書いてあるのでそのままcmdで叩く。   2.IE8だけ読み込むCSSを用意 試した結果表示されない原因はdisplay: tableを指定していたから。 画像は基本的に中央揃えにしたかったので、次のように設定していた(lessを使ってる)。 .img-responsive {     &:extend(.img-responsive all);     display: table;     margin: 0 auto; }   他のに影響与えないでIE8のみに対応したかったので、IE8だけ読み込むCSSを用意して、そちらで対応することにした。 bootstrapを使うときにお約束の記述に追記(WordPressの関数を使ってる)。 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <link rel='stylesheet' href='<?php echo get_template_directory_uri();?>/assets/css/ie8.css' type='text/css' /> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/res

WordPressで非公開(private)にした投稿はリダイレクトしないようにする

イメージ
WordPressでホームページを作成しているときの覚書。 環境: PHP 7.0.15, WordPress 4.7.2 「お問い合わせ」ページから送信した内容を非公開の投稿として保存していた。 そして気付いた。 http://hoge.com/?p=20 とPost IDを付けると http://hoge.com/鈴木太郎/ に変換(リダイレクト)される。 これはパーマリンクの設定を「/%postname%/」にしておいて、氏名とかを記事のタイトルとして保存した場合に発生する。 Contact Form 7を使っていれば発生しない(と思う)。   少なくとも検索エンジンにキャッシュされると困るのでリダイレクトしないように設定した。 このp=20がなかった(is_404)時に鈴木太郎に変換している関数は /wp-includes/canonical.phpのredirect_canonical() 下記のようにpost_typeで判定してる箇所(117行あたり)があったので $post_type_obj = get_post_type_object($redirect_post->post_type); if ( $post_type_obj->public && 'auto-draft' != $redirect_post->post_status ) {     $redirect_url = get_permalink($redirect_post);     $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url ); } 「post」タイプは公開しないので、全てリダイレクトしないようにフックを仕込む function my_registered_post_type($post_t

WordPressがBlankだったりトップにリダイレクトするのをデバッグ

イメージ
久しぶりにWordPressの奥深くを潜っているときの覚書。WordPressは何がどの順番で実行するのか分かりにくいのでハマると長い。 環境: PHP 7.0.15, WordPress 4.7.2   1.確認すること 自分用チェックリスト サーバーにエラーログが出力されているかどうか # less /var/log/nginx/error.log wp_loadedにフックして読み込みが完了しているかどうか確認 参考: Plugin API/Action Reference/wp loaded | WordPress Codex template-loader.phpの$templateをデバッグ出力してテーマのどのファイルを読み込もうとしているか確認 参考: Template Hierarchy | Theme Developer Handbook | WordPress Developer Resources WordPressの内部で使っている「name」「year」などの名前でPOSTすると動作がおかしくなる 参考: Class Reference/WP Query | WordPress Codex 存在しない関数を実行してエラーを起こして読み込まれた順番を確認。要xdebug   2.xdebugのインストール手順 YUM経由でインストール # yum install php-pecl-xdebug # systemctl status php-fpm php infoを見て確認 # php -i | grep xdebug   < Related Posts > XdebugをInstallしてError時の呼び出し履歴を表示 XHProf + XHGuiをInstallしてPHPの実行結果を監視、解析する [WordPress]Themeのどの名前のFileが読み込まれるか理解する

Bootstrap3のWEBページを印刷してもいい感じに

イメージ
wkhtmltopdfでHTMLをPDF化しているときの覚書。 今までウェブサイトを印刷したときのことは全く考慮してなかった。Bootstrapのデフォルト機能にお任せだったけれど、印刷しても出来るだけ読みやすくなるようにしてみた。 環境: Bootstrap 3.3.7, less 2.7.2   1.印刷したときの横幅 Bootstrapの場合、印刷するとExtra small devices(.col-xs-)が適用される。 Grid System | Bootstrap これは横幅が約547pxになるから。 <計算方法> A4縦サイズの横幅は210mm 印刷するときのデフォルトマージンが約10mm 画面解像度が72dpi 1インチ=25.4mm、1mm=0.04インチ A4の表示領域:210mm - (10mm x 2) = 190mm mmをinchに変換:190mm x 0.04inch = 7.6inch inchをpxに変換:7.6inch x 72dpi = 547.2px   2.Bootstrapで印刷用CSS まずはBootstrapのprint.lessをimportしない。 替わりに下記CSSを読み込むと、small device(.col-sm-)が適用されたレイアウトに出来る。 Render Bootstrap as "small" layout when printing | Gist これをlessで表現すると @media print {   .make-grid(sm); } Bootstrapのgrid.lessを参照。 あとの細かい箇所は必要なときに追加していく。 @media screen {} も有用。   < Related Posts > PHPでPDF生成するためにwkhtmltopdfをインストール PHPでPDF生成する方法を調査 PhpStormのファイル監視機能でLESSをCSSにコンパイル

PHPでPDF生成するためにwkhtmltopdfをインストール

イメージ
HTMLからPDFを生成するコマンドラインツールwkhtmltopdfをインストールしたときの覚書。 環境: CentOS 7 x86_64   目次 YUM経由でインストール 日本語フォントをインストール PHPシェルから実行 PHP-FPMから実行するとエラー(2017/02/06 追記)   1.YUM経由でインストール EPELリポジトリにあったのでそちらを使う。 # yum search wkhtmltopdf # yum info wkhtmltopdf Version     : 0.12.1 Repo        : epel/x86_64 # yum install wkhtmltopdf 試してみる # wkhtmltopdf http://dksg.co.jp test.pdf エラー wkhtmltopdf: cannot connect to X server 下記QAを参考にした。 xserver - wkhtmltopdf: cannot connect to X server - Stack Overflow wkhtmltopdf: cannot connect to X server · Issue #180 · pdfkit/pdfkit wkhtmltopdf: cannot connect to X server (SOLVED) | Google グループ # yum search xvfb # yum install xorg-x11-server-Xvfb 再度試す。 # xvfb-run /usr/bin/wkhtmltopdf http://dksg.co.jp test.pdf 成功したけど、日本語が表示されない。   2.日本語フォントをインストール インストールされているフォント一覧を表示 # fc-list Google先生が公開しているNoto Sans CJK JPを使う。公式サイトで「Japanese」と検索 Google Noto Fonts How to install fonts – Google Noto Fonts ダウンロードと解凍 # cd /usr/share/fonts/ # curl -O https