MTを新規セットアップ中に、インデックスサイズが大きすぎるよ!ってエラーが
出て、インストールができませんでした
色々調べてみると、DBの文字コードがutfからutfmb4に切り替わったことが原因のようで。
ネット見てると、
ROW_FORMAT=DYNAMIC
にしてあげると、直るってあったんですが、どこでDDL生成してるかが皆目さっぱりでした。
が、ついにみつけ、問題になっている箇所を特定できました。
MTを新規セットアップ中に、インデックスサイズが大きすぎるよ!ってエラーが
出て、インストールができませんでした
色々調べてみると、DBの文字コードがutfからutfmb4に切り替わったことが原因のようで。
ネット見てると、
ROW_FORMAT=DYNAMIC
にしてあげると、直るってあったんですが、どこでDDL生成してるかが皆目さっぱりでした。
が、ついにみつけ、問題になっている箇所を特定できました。
http://blogs.itmedia.co.jp/appliedmarketing/2018/01/captchaai.html
captch不要の時代が来るなんて誰が予想したでしょうか。
ロボット判別のためのチェックボックスはよく目にしますが、まだ新しい
チェックすら不要とというのはみたことありません。
読者の方で、見かけた人教えて下さい
Debian+PHPでwkhtmltopdf を触る機会があったので、軽くまとめを。
まずこれはなんぞや。ってところから。
帳票出力したりするのに、PDFを出力することがよくありますよね。
そんなときに使えるミドルウェアの一つです。
ほかにも、mPDFとか、TCPDF とかがあります。
そんな中でも、頭一つ飛び抜けているのが、今回利用したwkhtmltopdfです。
HTMLからPDFを得ることが出来るのですが、HTMLの解釈部分にWebKitが使われており
CSS3やHTML5等ももそのままの形で出力できます。
で。帳票というと、Header, Footer(見出しとページ数とか)がつきものですよね。。
Debianを利用している環境であれば
# apt-get install wkhtmltopdf
でインストールし
$ wkhtmltopdf http://www.yahoo.co.jp yahoo.pdf
といった感じで、pdf出力ができます。
----------- ここから先は、header, footerを利用する人のみ必要な箇所です。 ---------------------
上記のバージョンではQTのパッチがあたっていないためheader, footerを指定することが出来ません。
なので、もしインストールしている人は
# apt-get purge wkhtmltopdf
するか、インストールしっぱなしでもいいので、公式サイトからパッケージをダウンロードして展開する必要があります。
公式サイトから、最新(2016/07/08時点では、0.12.3.2 が最新でした。
で、このファイル、よく見るとxz という拡張子がついており、tar.gzのように、tar xzvf では解凍できません。
tar Jxvf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
で、解凍します(tarのバージョンによります。詳しくはググってください)
また、上記はx64です。i386の場合は、素直にx86バージョンをダウンロードして下さい。
解凍したフォルダを、/usr/local/wkhtmltopdf 等にコピー(移動でもかまいませんよ?)して・・・
いよいよ、本番のheader, footerを入れる作業に入ります。
今日もPython
というわけで、PythonでChromeDriverを使って、キャプチャ取得する方法をまとめます。
PC/Mobileを引数で指定して、Mobileの場合はChromeのモバイルエミュレートで
取得する事にしました。
JavaでもChromeDriver使えるのですが、「すっごく重い」「メモリ食いまくり」でした。
代替案として出てきたのがPythonです。
以下、実際のコードを交えながら説明していきます。
まず。前提として、サーバーに導入されていないであろう、chromedriverはインストールしておいてください。
chromedriverは、apt-get, yum にて導入可能なはずです。
インストールできない場合は、こちら より、ダウンロードして任意のパスへ導入してください。
また、普通にpythonを使っているだけだと、python用のselenium, xvfbwrapperも入ってないはずなので
pip install selenium
pip install xvfbwrapper
をコンソールで実行し、インストールしてください(rootに準ずる権限が必要です)
続けての記事になりますが、Pythonって、ほかの言語を触っている人なら入り口がとても広い言語だと私は思います。
強いて言うと、インデントの縛りが鬱陶しい位でしょうか。
今回は、マルチスレッドを簡単に実装する方法についてちょっとまとめてみました。
よろしければお付き合いください。
この記事をご覧のみなさま、お久しぶりです。atLastです。
体調面等の調整で、数か月空いてしまいました。
また、技術系の記事をまとめていきたいと思いますので、今後ともよろしくお願いします。
さて。今日の本題。
777TOWNを遊ぼうとして、「ファイルの更新に失敗しました」のエラーが発生する場合に
有効な対処が見つかりましたので、書き残しておきます。
※公式で報告されている方法ではありません
※PC(特にネットワーク回り)への知識が必要です。(ということにしておきます)
以下の方法は、私の環境依存の可能性もありますので、必ず解決するとは限りません。
環境は
・OS: Windows10 x64
体調面での悪化により、毎日書くのが無理になりました。
ぼちぼち更新しますので、宜しくお願いします。
$.ajax({ type: 'GET', url: '/analyze/', data: 'lang=ja&device=desktop&url=' + encodeURI(_target_url), beforeSend: function(xhr){ xhr.setRequestHeader('X-Requested-With', {toString: function(){ return ''; }}); }, )};
jqueryのbeforeSendを使うことで、送信前にリクエストヘッダの書き換えを行い X-Requested-Withの値を空にすることで、Ajaxリクエストと認識させない
PhantomJSとは、QtWebKitをベースとしたヘッドレスブラウザです。
Googleで検索すると、オートテストや、スクリーンキャプチャなどに用いられています。
オートテストの項目の中で、「ページの表示速度をチェックする。」という事があると思います。
このとき、PhantomJSのexamplesについてくる、「loadspeed.js」がほぼそのまま利用できるのですが
ランダムなUserAgentでのテストを要求されるパターンもあるかと思います。
ここでは、PhantomJSに対し、ランダムなUserAgentを設定する方法を紹介します。
にて、唐揚げを食べてきました。
10個で900円。
噂によると、かなり大きいとか。
食べきれるでしょうか。
8個食べきれば勝ち(2個は同行者が食べました)。という勝負にのってやってきました。
そして、やってきました。唐揚げ10個!