まずはじめるなら、はてなブログがSEO効果いいみたい

まずはじめるなら、はてなブログがSEO効果いいかも。。

こういう方
http://k-ya.hatenablog.com/entry/2016/04/27/230308

僕のとなじエンジニアさんも ↓
http://seminimalist.info/can_hatenablog_strong_seo/

hatenablogというのがそもそもサービスのドメインなので、強いってのもありますが、
そちらを使わせてもらうってだけでも本当にありがたい!

hatenaのサービス内でトピックとしてあげられる可能性も考えると美味しいw

とてつもなくいまさらですが、、

はてブやってみようかなw

iphoneアプリをappstoreに申請する際に、launchImage周りでエラーがでる場合

iphoneアプリをappstoreに申請する際に、launchImage周りでエラーがでる場合に、
エラーがでる事がある。

xcodeのバージョンは、xcode7.2.1

xcodeのLaunchImageは、レイアウトファイルをちゃんと指定しているのなになぜか、、
色々調べたところ。

通常は画像ファイルか、storyboardファイルの指定の必要があるが、
昔に作ったアプリなので、storyboardの拡張子ではなく、xibファイルの指定だったからのようでした。

xcode

LaunchScreen.xib → LaunchScreen.storyboard

これをxibからstoryboardで作り直しして指定したら、
無事解決!!!
同じようなシチュエーションの人で、参考なれば嬉しいです!

無料SSLの「let’s encrypt」を導入してみた

https化

無料SSLの「let’s encrypt」を導入してみた

https化

昔はSSL化(https化)はお金がかかるし、処理速度も遅くなるし、

導入も面倒だしと思っていたのですが、

最近はそうでもなくSSLだけと無料速いになったようですので、

あと世の中的にもう全部SSLにしようという流れにまけてSSLにしたいと思います。

SEO効果も若干はあるようですので。。

あと、iphoneアプリのATS無効も効かなくなり来年あたりから完全にhttp通信が死んでしまいそうなので、

1. 無料SSL「let’s encrypt 」をインストール

gitからファイルを落とし

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt/

下記コマンドで環境チェックを行うようです。成功するとhelpが表示されます

$ ./letsencrypt-auto --help

エラー内容が表示される場合は、1つ1つ改善する必要があります。
僕の場合はopensslのバージョンが古かったです。。 yum update opensslで完全されましたが。

2. SSL証明書周りをダウンロード

下記のように自分のSSL化したいドメインを指定して実行すると、
対話式の画面で、メールアドレスを求められます。

./letsencrypt-auto certonly -a standalone -d ドメイン

対話画面のメールアドレスを入力し、
さらに利用規約に同意すると、
完了画面が表示されます!

The program nginx (process ID 18766) is already listening on TCP 
port 80. This will prevent us from binding to that port. Please stop 
the nginx program temporarily and then try again. 

ただ僕の場合は、下記のようなエラーでたので、
認証チェック時の80ポートに使っているnginxを、
面倒だったので停止してから、証明書DLのコマンドを打ち直しました。

すると、無事完了し、下記フォルダ内に一式証明書周りのファイルが生成されました。

/etc/letsencrypt/archive/ドメイン名/privkey1.pem ← 秘密キー
/etc/letsencrypt/archive/ドメイン名/cert1.pem
/etc/letsencrypt/archive/ドメイン名/chain1.pem
/etc/letsencrypt/archive/ドメイン名/fullchain1.pem ← サーバー証明書と中間証明書のガッチャンコ

これをnginxの設定に入れます。

3. nginxでSSLの設定

$vim /etc/nginx/conf.d/hoge.conf

下記のような内容をnginxに設定


listen 443 ssl; ssl_certificate /etc/letsencrypt/archive/ドメイン/fullchain1.pem; ssl_certificate_key /etc/letsencrypt/archive/ドメイン/privkey1.pem; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!ADH:!MD5;

あとはnginxのチェック&反映

$ nginx -t
$ service nginx restart

最後にhttpsでドメインチェック!

その他すすめる上で気になるところTIPS

  • 認証チェックする際のポートが開いていない、ポートが開いているか確認する
  • letsencryptの有効期限が3ヶ月らしいので、cronなどで自動更新処理をしておくといいかも
  • httpからhttpsにリダイレクトなどSEO効果など大事にするチューニング色々

ほぼこちら完結かつわかりやすい記事を参考にさせて頂きました!
ありがとうございます!
http://qiita.com/sak_2/items/ff835b669c0a7e110b09

リファラスパムに遭遇しちゃいました。。。

久々古いサイトのGoogleAnalyticsを除いてみたら、
5年ぐらい、いやもっと前かな?相当昔に作ったサイトに急にアクセスが増え始めたなんだろうと思ったら、
リファラ(検索でない、参照元)つきでアクセスが増えている。
1日1アクセスもないようなサイトなのに、、!?

参照元のURLはこういうやつ、「slow-website.xyz」。※アクセスしないように。

スクリーンショット 2016-07-03 22.25.18

どっかで目にしたようなリファラスパムってやつかなとおもってアクセスはせず、
そのリファラでググッてみました。
危なくないように、URLはそのままコピペではなく、
“http://〜〜〜” と「”」でくくってください。アクセスしちゃうので。

そうすると同じようなドメインからのアクセスでリファラスパムに遭遇したって記事がちらほら。

http://tk-analytics.hatenablog.com/entry/2016/06/21/221300

新手のスパムらしいです②「free-share-buttons.com」を調べてみた


参考にさせていただきました。m(_ _)m

対処方法

http://www.yatani-pr.com/marketingblogs/1402/

php7にしたらphp7からRedisが呼び出せなくなった時のメモ

よくある下記からphpからredisを使えるようにする処理のところで、

$redis = new Redis();

こういうphpエラーがでる。

PHP message: PHP Fatal error:  Uncaught Error: Class 'Redis' not found in /usr/share/nginx〜

今回の環境構成は、

yumで、全てインストールできるようにこだわっていたのですが、
なぜかphp7からredisがよびだせず、ちなみに、コンソールで、
redis-cliなどでredisを動かすことはできている。。

php5系の時は普通に動いていたのですが、
php-redis等のモジュールを系を入れ替えしてためしてみると、

yum install --enablerepo=epel,remi-php70 php70-php-pecl-redis

ではだめでしたが、

yum install --enablerepo=epel,remi-php70 php-pecl-redis

で、無事php7からredisを呼び出せるようになった。。

依存関係ハマりやすい。

Unity NGUI UILabel周りをスクリプトを扱う方法一覧

Unityの便利なasset NGUI。
そのNGUIの「UI Label」をスクリプトから扱う方法

テキストの基準位置の変更(左寄せや、下寄せ等)

GetComponent<UIWidget>().pivot = UIWidget.Pivot.Center; //センタリング

または

GetComponent<UILabel>().pivot = UIWidget.Pivot.Center; 

でもOK

テキストの表示領域のサイズ変更

GetComponent<UIWidget>().width = 60; //幅
GetComponent<UIWidget>().height = 60; //高さ

MacターミナルからSublimeでスクリプトを開く

Macのopenコマンドでテキストファイルを開くとき、
デフォルトで、重いIDEや、エディタが開いて、、軽く1ファイル見たいだけなのにという場合。

$open README.md

僕は、MonoDevelopという重いエディタが開き、困りました。

指定のアプリケーションを指定してテキストファイルを開く場合は、
これ

$open -a /Applications/Sublime\ Text.app README.md

-aオプションで、起動するアプリケーションを指定しています。
ここではSublimeを指定して、README.mdファイルを開いてます。

Unity5で対象物を一定速度でドラッグ&ドロップ

Unity5で、タップした位置に対象物を移動。

タップした位置に、パズルのピースのようにものを移動する場合。

using UnityEngine;
using System.Collections;

public class dragSample : MonoBehaviour {
    float touchX;
    float touchY;

    void Update(){
        touchX = Input.mousePosition.x;
        touchY = Input.mousePosition.y;

        if(Input.GetMouseButton(0)){
            OnDrag();
        }
    }

    void OnDrag(){

        gameObject.transform.position = Vector3.MoveTowards (gameObject.transform.position,Camera.main.ScreenToWorldPoint(new Vector3(touchX,touchY,10.0f)), 0.1f);
    }
}

解説

  • Camera.main.ScreenToWorldでタップ位置の座標に変換
  • MoveTowordsで、対象物と、持って行きたい位置、それとそこまで移動する速度

マウスのドラッグ&ドロップするように移動する場合は、

MoveTowordsを除けばOK、下記のように。

transform.position = Camera.main.ScreenToWorldPoint(new Vector3(touchX,touchY,10.0f));

Unity5 rigidbody2Dで、x,y,zの軸を固定する

x,y,zのいずれも固定する場合。

GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.FreezeAll;

固定を解除する場合。

GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.None;

z軸(回転)以外だけ解除する場合。

GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.FreezeRotation;

スクリーンショット 2016-04-24 22.11.20

条件式で、どのタイプで固定されているか判別する場合

if( GetComponent<Rigidbody2D> ().constraints == RigidbodyConstraints2D.FreezeAll){
  // すべて固定されていたら
}