農園

Something is missing.

記念カキコ

github.com

OSS童貞を卒業出来て嬉しい(冠詞が抜けている)

Pixiv人気東方カップリングをグラフにしてみました

目的

ベストパートナー部門投票結果 と実際の人気って一致してるのかよって思ったからです

方法

pixivで「東方」と検索して出てきたイラストから最新20000件から、投票対象を2つ持つデータを収集してキャラクターをノード、出現した回数をエッジとしてグラフを作成しました。

結果

f:id:kajyuuen:20170422130210p:plain

こちら第十三回東方プロジェクト ベストパートナー部門投票結果とそのトップ10に色を付けてみたグラフです…

順位 名前
1 博麗 霊夢と霧雨 魔理沙
2 宇佐見 蓮子とマエリベリー・ハーン
3 霧雨 魔理沙アリス・マーガトロイド
4 十六夜 咲夜とレミリア・スカーレット
5 古明地 さとりと古明地 こいし
6 レミリア・スカーレットフランドール・スカーレット
7 紅 美鈴と十六夜 咲夜
8 魂魄 妖夢西行幽々子
9 上白沢 慧音と藤原 妹紅
10 蓬莱山 輝夜と藤原 妹紅

f:id:kajyuuen:20170422130130p:plain

なんとなく近くにいる感じしますね。以上です。

ソースコード

pythonはあんまり使わないから汚くても許して亭許して

カーリルのAPIラッパーを作ったよ〜

github.com

calil.jp

calilってgemがあったことを知らんかったから

require 'calil'

なのにgem名calilenで無茶苦茶

DockerとRailsのメモ

Docker

Linux向けのコンテナ技術。

https://docs.docker.com/compose/railsを元に以下の文章を作成

Dockerfile

イメージの構築を行うファイル。イメージ作成に関する命令を全て記載する必要がある。

命令の詳細はhttps://docs.docker.com/engine/reference/builder

Docker Machineとは

WindowsMac OSでDockerの実行環境を構築する機能。VirtualBoxを使う。

$ docker-machine create --driver virtualbox <マシン名>

ドライバーがvirtualboxの<マシン名>を作成する

$ docker-machine ls

マシンの一覧を表示する

$ docker-machine env <マシン名> 

<マシン名>に関する環境変数の確認

$ eval "$(docker-machine env <マシン名>)"

環境変数のセット

Docker Composeとは

複数のコンテナからなるサービスの構築を自動化する機能

Rails on Docker

DBコンテナとWebコンテナのみの簡単な設定だけど、詰まったのでメモ

Docker

Dockerfile:

FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp

docker-compose.yml:

version: '2'
services:
  <DBコンテナ名>:
    image: postgres
  <WEBコンテナ名>:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db

Railsを入れる準備

Gemfile:

source 'https://rubygems.org'

gem 'rails', '5.0.0.1'

Gemfile.lock:

$ touch Gemfile.lock

Dockerfileのビルド

rails newをする

$ docker-compose run <WEBコンテナ名> rails new . --force --database=postgresql --skip-bundle

docker-compose.ymlを通じDocker imageを作る。

$ docker-compose build

Railsの設定

database.ymlにhost名を記載する。

config/database.yml

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development: &development
  <<: *default
  database: app_development
  username: postgres
  host: <DBコンテナ名>

test:
  <<: *development
  database: app_test

DBの構築

$ docker-compose run web rake db:create

サービス用のコンテナの構築と起動

docker-compose up

DBコンテナのあれそれが出たあとにWebコンテナが立ち上がる

web_1  | * Listening on tcp://0.0.0.0:3000

http://0.0.0.0:3000にアクセスすると嬉しい

ファイルをpdfに変換する

a2ps -B --line-numbers=1 ファイル名 -o out.ps 
ps2pdf -sPAPERSIZE=a4 out.ps out.pdf

これ毎回忘れるけどシェルスクリプト書くほどでもない気がする

特定のツイッターユーザーから画像だけ持ってくるシェルスクリプト

好きな絵師が引退するので書きました。 引数に画像をダウンロードしたいユーザー名を入れてください(例:@hogehoge)

#!/bin/bash
if [ $# -eq 1 ]; then
    NAME=`echo $1 | sed -e "s/^\@//"`
    echo $NAME | xargs mkdir
    wget -q -O - https://twitter.com/${NAME}/media | awk -F"\"" '{print $2}' | grep jpg | grep -v profile_images | uniq | sed -e 's/$/:orig/g' |xargs wget -P ./${NAME} -i -
    exit 0
elif [ $# -lt 1 ]; then
    echo '引数にユーザー名を指定してください\n'
    exit 1
else
    echo '引数が多すぎます'
    exit 1
fi