いかたけの備忘録

忘れっぽい

rmagickのannotateで円弧に沿った文字を記載する関数作った。

ライフゲームbotの缶バッヂを作ろうとしていて、副産物的にできたので置いておきます。

 

rmagick annotate on arc

 

使用例

f:id:ikatake:20171230153111p:plain

こういったものを作るときに使える。

 

魔法陣とかで、呪文めいた何かが外側に書かれている箇所とか、そういう局所的なところで使えると思う。

 

 

さくらのレンタルサーバにrcairoがインストールできなかった。

1時間ぐらい調べたけど分からなかった。

 

 [ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec gem install cairo[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec gem install cairoFetching: cairo-1.15.11.gem (100%)Building native extensions.  This could take a while...ERROR:  Error installing cairo: ERROR: Failed to build gem native extension.
    current directory: /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/cairo-1.15.11/ext/cairo/home/ikatake/local/rbenv/versions/2.4.0/bin/ruby -r ./siteconf20171220-61631-1p7kndm.rb extconf.rbchecking for GCC... yeschecking for Win32 OS... nochecking for cairo version (>= 1.2.0)... no*** extconf.rb failed ***Could not create Makefile due to some reason, probably lack of necessarylibraries and/or headers.  Check the mkmf.log file for more details.  You mayneed configuration options.
Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/ikatake/local/rbenv/versions/2.4.0/bin/$(RUBY_BASE_NAME) --with-pkg-config --without-pkg-config --with-override-variables --without-override-variables
To see why this extension failed to compile, please check the mkmf.log which can be found here:
  /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-freebsd-9/2.4.0-static/cairo-1.15.11/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/cairo-1.15.11 for inspection.Results logged to /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-freebsd-9/2.4.0-static/cairo-1.15.11/gem_make.out[ikatake@www1928 ~/local/rbenv/plugins]$ 

 /home/ikatake/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-freebsd-9/2.4.0-static/cairo-1.15.11/mkmf.logはこのような塩梅でした。

 

checking for GCC... -------------------- yes

"gcc -o conftest -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/x86_64-freebsd9.1 -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/backward -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0 -I. -I/home/ikatake/local/rbenv/versions/2.4.0/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations conftest.c -L. -L/home/ikatake/local/rbenv/versions/2.4.0/lib -Wl,-R/home/ikatake/local/rbenv/versions/2.4.0/lib -L. -L/home/ikatake/local/rbenv/versions/2.4.0/lib -fstack-protector -rdynamic -Wl,-R/home/ikatake/local/rbenv/versions/2.4.0/lib -L/home/ikatake/local/rbenv/versions/2.4.0/lib -lruby-static -lelf -lprocstat -lthr -lcrypt -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */

"gcc -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/x86_64-freebsd9.1 -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/backward -I/home/ikatake/local/rbenv/versions/2.4.0/include/ruby-2.4.0 -I. -I/home/ikatake/local/rbenv/versions/2.4.0/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: #ifndef __GNUC__
5: # error
6: |:/ === __GNUC__ undefined === /:|
7: #endif
/* end */

--------------------

checking for Win32 OS... -------------------- no

--------------------

have_package: checking for cairo version (>= 1.2.0)... -------------------- no

--------------------

 

 

ライフゲームbotを貼れるようになりました。

ライフゲームBOT

上記リンク先のライフゲームbotプレイヤーにステッカーを作るボタンをつけました。右側にあります。表示している状態をステッカーにして、どこにでも貼ることができます。イタズラや反社会的行為には使わないでください。

ikatake.hateblo.jp

 

上記の記事ではTシャツが制作可能になったことを告知しています。Tシャツは2000円から3000円ぐらいですが、ステッカーは400円ぐらいで買えますので、お気軽にお買い上げいただけます。

Tシャツ同様にシンプルな白地黒文字版と、ハッカー感のある黒地緑文字版をご用意しています。今回もSUZURIのAPIに頼み込んでいます。なお、Tシャツ・ステッカーが売れても私には1円たりともお金は入りませんので、安心してください。買うほどSUZURIが儲かって、サービスが続くと思いますので、よろしくお願いします。

suzuri.jp 

Internal Server Error

Internal Server Errorが出たとき、だいたいPermissionが足りてないとか、.htaccessがアレとか、そういう感じなんだけど、そうでも無いときがあったのでメモしておく。

 

さくらのレンタルサーバでlocalにrubyの環境を揃えていたとき、rbファイルのshebang

#!(localのrubyのパス)

って書くものだと思ってたんですが、

#!/usr/bin/env (localのrubyのパス)

って書かないとInternal Server Errorになってしまった。理由は分からない。

 

参考

furyu.hatenablog.com

faradayさんがSSLErrorを出したとき。

SSL使わないとあきまへんでといったエラーが出たとき、SSL使いまへんわと言っておく必要がある。 

conn = Faraday::Connection.new(:url => 'https://suzuri.jp/', :ssl => {:verify => false}) do |builder|
  builder.use Faraday::Request::UrlEncoded
  builder.use Faraday::Response::Logger
  builder.use Faraday::Adapter::NetHttp
end

こういった感じにするとうまくいった。

 

参考

Faraday SSL example · GitHub

 

 

 

作業

[ikatake@www1928 ~/www/wetsteam/lifegamebot]$ gem list

*** LOCAL GEMS ***

bigdecimal (default: 1.3.0)
bundler (1.13.7)
did_you_mean (1.1.0)
io-console (default: 0.4.6)
json (default: 2.0.2)
minitest (5.10.1)
net-telnet (0.1.1)
openssl (default: 2.0.2)
pkg-config (1.1.7)
power_assert (0.4.1)
psych (default: 2.2.2)
rake (12.0.0)
rdoc (default: 5.0.0)
rmagick (2.16.0)
test-unit (3.2.3)
xmlrpc (0.2.1)
[ikatake@www1928 ~/www/wetsteam/lifegamebot]$ cd
[ikatake@www1928 ~]$ cd lo
local/ log/
[ikatake@www1928 ~]$ cd local/rbenv/plugins/
[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec install faraday
rbenv: install: command not found
[ikatake@www1928 ~/local/rbenv/plugins]$ rbenv exec gem install faraday
Fetching: multipart-post-2.0.0.gem (100%)
Successfully installed multipart-post-2.0.0
Fetching: faraday-0.13.1.gem (100%)
Successfully installed faraday-0.13.1
invalid options: -SHN
(invalid options are ignored)
Parsing documentation for multipart-post-2.0.0
Installing ri documentation for multipart-post-2.0.0
Parsing documentation for faraday-0.13.1
Installing ri documentation for faraday-0.13.1
Done installing documentation for multipart-post, faraday after 1 seconds
2 gems installed
[ikatake@www1928 ~/local/rbenv/plugins]$ gem list

*** LOCAL GEMS ***

bigdecimal (default: 1.3.0)
bundler (1.13.7)
did_you_mean (1.1.0)
faraday (0.13.1)
io-console (default: 0.4.6)
json (default: 2.0.2)
minitest (5.10.1)
multipart-post (2.0.0)
net-telnet (0.1.1)
openssl (default: 2.0.2)
pkg-config (1.1.7)
power_assert (0.4.1)
psych (default: 2.2.2)
rake (12.0.0)
rdoc (default: 5.0.0)
rmagick (2.16.0)
test-unit (3.2.3)
xmlrpc (0.2.1)
[ikatake@www1928 ~/local/rbenv/plugins]$

 

続・紅葉を狩った

f:id:ikatake:20171125121022j:plain

太閤はんです。夢のまた夢。

f:id:ikatake:20171125121942j:plain

ねねさんです。("真田丸"では寧さんでした。)

f:id:ikatake:20171125122516j:plain

良い感じのトンネルです。

場所は有馬温泉です。

koyo.walkerplus.com

www.taikounoyu.com

 

 

他にもありましたが、はてなフォトライフの11月の利用量が満杯になったため、これにて終了といたします。

 

f:id:ikatake:20171125124213j:plain

f:id:ikatake:20171125124214j:plain

f:id:ikatake:20171125124148j:plain

f:id:ikatake:20171125122600j:plain

f:id:ikatake:20171125125740j:plain

f:id:ikatake:20171125124948j:plain

f:id:ikatake:20171125124935j:plain

f:id:ikatake:20171125130741j:plain

f:id:ikatake:20171125125909j:plain

f:id:ikatake:20171125125755j:plain

f:id:ikatake:20171125131313j:plain

f:id:ikatake:20171125131208j:plain

f:id:ikatake:20171125130908j:plain

f:id:ikatake:20171125132036j:plain

f:id:ikatake:20171125131807j:plain

f:id:ikatake:20171125131549j:plain

12月になったので追加しました。