Hatena::ブログ(Diary)

イノベートな非日常 Twitter

2017-09-12

IMEのうざい新機能をオフにする

漢字、英字モード切替時に切り替えが表示されるが必要ないのでオフにする

IME ,右クリック プロパティ IME入力モード切替の通知 画面中央に表示するのチェックを外す

2017-06-08

MySQLでSQLだけでガチャ

SET @sql:= (SELECT CONCAT('
SELECT 
  item,
  rate,
  sum_rate,
  rnd 
FROM (
  SELECT
   gacha_id,
   elt(n,',group_concat(CASE WHEN type=1 THEN col ELSE '' END SEPARATOR ''),') item, 
   @rate:=elt(n,',group_concat(CASE WHEN type=2 THEN col ELSE '' END SEPARATOR ''),') rate,
   @sum_rate:=@sum_rate+@rate sum_rate,
   rnd 
  FROM
    gacha,
    (',group_concat(CASE WHEN type=1 THEN vt ELSE '' END SEPARATOR ''),') as t,
    (SELECT @rate:=0,@sum_rate:=0,FLOOR(rand()*100) rnd) as v
  WHERE
    gacha_id = 1
  ) t2
WHERE 
  sum_rate > rnd 
LIMIT 1 
') 
FROM (
  SELECT 
    group_concat(column_name  order by column_name SEPARATOR ',') col,
    CONCAT('SELECT ',group_concat(CONCAT(REPLACE(REPLACE(column_name,'item',''),'rate',''),' as n') order by column_name SEPARATOR ' UNION ALL SELECT ')) vt,
    case
      when column_name like 'item%' then 1
      when column_name like 'rate%' then 2
    end type 
  FROM 
    information_schema.columns 
  WHERE 
    table_schema = 'test' 
   AND 
    table_name = 'gacha' 
   AND 
    (
      column_name like 'item%'
     OR
      column_name like 'rate%'
    ) 
  GROUP BY 
    case
      when column_name like 'item%' then 1
      when column_name like 'rate%' then 2
    end
) t
); 
PREPARE dynamic_sql FROM @sql;
EXECUTE dynamic_sql; 

monitで1時間アクセスがないサービスを停止する

  • /etc/monit.d/service_passivate.conf
check file service_passivate with path /var/log/nginx/access.log
  if timestamp > 30 minutes for 30 cycles then exec "/root/bin/service_passivate.sh"

execはalert違って、条件を満たしている場合常に実行されるので注意が必要。version 5.16からalertと同じ1回だけ実行されるようになった

参考

nginxでuuidを発行する

    userid         on;
    userid_name    uid;
    userid_domain  example.com;
    userid_path    /;
    userid_expires max;
    userid_p3p     'policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"';

    set $uid '-';
    if ( $uid_set != '' ){
      set $uid $uid_set;
    }
    if ( $uid_got != '' ){
      set $uid $uid_got;
    }

    proxy_set_header X-UUID $uid;
    log_format  ltsv  "time:$mtime"
                      "\tmethod:$request_method"
                      "\thost:$host"
                      "\turi:$uri"
                      "\tquery:$args"
                      "\tstatus:$status"
                      "\tip:$http_x_forwarded_for"
                      "\tua:$http_user_agent"
                      "\treferer:$http_referer"
                      "\tuid:$uid";

    access_log  /var/log/nginx/access.ltsv  ltsv;

nginxで return 404で空のコンテンツを返したい場合

nginxで return 404で空のコンテンツを返したい場合、半角1文字を指定する。

""のように空文字にしてしまうとデフォルトの404ページが表示されてしまう

return 404 " "

参考

2017-02-01

デスクトップ上のdesktop.iniだけ非表示

前提として、すべてのフォルダの設定で、隠しフォルダ、オペレーティングシステムのファイルを表示しないのチェックが外れている。だけど、デスクトップではdesktop.iniを隠したい場合

エクスプローラーから、デスクトップを選択

整理>フォルダーと検索のオプション>フォルダオプション>表示

保護されたオペレーティングシステムファイルを表示しない(推奨)のチェックを付ける

ここで、フォルダに適用をクリックする、ここで、この種類のフォルダーすべてについて現在のフォルダーの表示設定を適用しますか?と聞かれるので【いいえ】を選択

2017-01-30

Windows7 OS起動ディスクの整理

OSを起動しているSSDのディスクの容量が限界に達したので整理する

2017-01-27

Ubuntu 14.04.5 LTSにnvidia dockerインストール

まずは、CUDA8.0とnvidiaのドライバを入れる

こちらを参考にインストールしたが動かない

  • 最新のnvidir-dockerでは、以下のsetupというオプションが無くなっているので注意!!
nvidir-docker volume setup

そもそも最新版では、nvidir-docker volume コマンドを使う必要さえなくなっている。

以下のREADEME.md 通り実行すれば正常に動作する。

 wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0/nvidia-docker_1.0.0-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
nvidia-docker run --rm nvidia/cuda nvidia-smi 

ASUS STRIX Z270F + GTX-1080 に ubuntu インストール

Windows 10のディスクボリュームを縮小するところまでの手順は問題なし

第1の過ちゲーミングマザーボード(ASUS STRIX Z270F)の購入

  • 大抵の場合ゲームに特化したintel系の特殊イーサネットチップ(I219-V)を使っている。そうすると、だいたい付属のネットワークドライバじゃ動作しない
 lspci |grep Ethernet
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V

ここを参考にドライバをインストール

しかも、ただ、コンパイルしてインストールするだけじゃなく

チェックサムを無効化しないと動かないので注意!!

第2の過ちCD-ROMドライブなしモデルの購入

  • USBメモリで、ubuntu serverをインストールを完遂するのは困難を極める。実質無理。まだ、早かったんや
    • Ubuntu 16.04.1 LTS (Xenial Xerus)
      • UNetbootinで不具合起きるかもよ?と言われるもののOS自体のセットアップは無事完了
      • しかし、ネットワークドライバが特殊だった為、ネットワークドライバのインストールが必要
      • ネットワークドライバのインストールには開発ツールが必要(apt-get install build-essential)
      • 開発ツールのインストールにはネットワーク接続が必要
      • つまり、このままじゃ詰み
      • USBイーサを購入してこの局面を乗り切る(or dockerかvirtualboxUbuntu 16.04.1 LTS環境を作って、そこでコンパイルした、e1000e.koを持っていくか)
      • Amazon CAPTCHAを購入
modprobe r8152
ifconfig -a

USBイーサネットのネットワーク接続

自動でネットワークカード検出や、接続設定してくれないので、自前で設定する必要あり

modprobe r8152
ifconfig -a
cat /etc/network/interfaces 
auto eth1
iface eth1 inet dhcp
ifup eth0 

2016-08-14

2016-08-12

Windows 7で毎月Windows Updateがコケルので対処方法を備忘録として記載しておく

Windows Updateのサーバーに接続しに行くが、うまく接続できず、その後Windows Update サービスも停止できないというどうにもできない状態になる。こうなると、再起動するしかないが、Windows Updateは再起動時にまた実行されるため、予めインターネット接続を切っておくしかない。

対処方法としては

(1) 毎月必要となるWindows Upadateを手動でダウンロード。

(2) インターネットの接続を無効化・再起動

(3) 毎月必要となるWindows Upadateを手動でインストール。

(4) インターネットの接続を有効化

gitbookを使ってみた

ローカルで使うのは正直微妙かな。

クラウド版ならwebでのオンラインmarkdown編集が付いているが

ローカルではコマンドベースで、特にwebでのオンラインmarkdown編集が付いているわけではない。

もっともクラウドで使って欲しいんだろうけ....。

mobile safariでweb アプリを作ったらキャッシュがエターナルキャッシュだった件

WEBアプリモードの設定を行い、

<meta name="apple-mobile-web-app-capable" content="yes">

Webでもフルスクリーンで表示できるようにしてみた。

しかし、いろいろなトラップが...。

キャッシュがmobile safariと違うところにあるらしく、mobile safariのすべてのキャッシュを消してもキャッシュが消えない....。しかも、エターナルなキャッシュ...。

どうしても消したい場合は、jailbreakして消すしかない....。

あと、リンククリックはjaascriptで遷移するようにしてあげる必要がある....。

対処方法としては、?時間のように昔のflashのようにurlを毎度変えてあげる必要がある。