ゆたんぶろぐ

気が向いたら書いてます

祇園祭 花傘巡行と後祭山鉾巡行

今年は 49 年ぶりに後祭が復活となりました。その間は先祭である 17 日に全ての山鉾が巡行していましたが、長時間での交通規制による弊害などがあって、大船鉾の再建に合わせて復活したそうです。見物客のぼくとしては、先祭の長時間が結構キツかったので、助かります。
なお、後祭での山鉾巡行が先祭へ統合された後に開催された花傘巡行も、24 日に変わらず行われました。ちなみにこの後祭というのは「後の祭り」の語源でもありますよ。

ちなみにこの日も山鉾休暇と称してガッツリ見物する予定でいて、その分前日深夜まで作業していたため、寝坊をしてしまい、起きたときには時間がない!と思ったけど、なんとか全部見終えました。

花傘巡行

花傘巡行旗
f:id:primedesignworks:20140724101654j:plain

子供神輿列
f:id:primedesignworks:20140724101709j:plain
f:id:primedesignworks:20140724101731j:plain
f:id:primedesignworks:20140724101740j:plain
f:id:primedesignworks:20140724101759j:plain
f:id:primedesignworks:20140724101805j:plain
f:id:primedesignworks:20140724101832j:plain
f:id:primedesignworks:20140724101836j:plain
f:id:primedesignworks:20140724101858j:plain
f:id:primedesignworks:20140724101912j:plain
f:id:primedesignworks:20140724101927j:plain

神饌行列
f:id:primedesignworks:20140724101944j:plain

神饌花車
f:id:primedesignworks:20140724102039j:plain

児武者
f:id:primedesignworks:20140724102212j:plain
f:id:primedesignworks:20140724102221j:plain
f:id:primedesignworks:20140724102223j:plain
f:id:primedesignworks:20140724102227j:plain
f:id:primedesignworks:20140724102231j:plain
f:id:primedesignworks:20140724102236j:plain
f:id:primedesignworks:20140724102240j:plain
f:id:primedesignworks:20140724102258j:plain
f:id:primedesignworks:20140724102246j:plain
f:id:primedesignworks:20140724102304j:plain
f:id:primedesignworks:20140724102328j:plain

花傘
f:id:primedesignworks:20140724102338j:plain

八坂神社清々講社
f:id:primedesignworks:20140724102347j:plain

八坂神社婦人会
f:id:primedesignworks:20140724102412j:plain

花傘
f:id:primedesignworks:20140724102424j:plain

コンチキ音頭

花傘
f:id:primedesignworks:20140724102509j:plain

京都織物卸商業組合
f:id:primedesignworks:20140724102517j:plain

花傘娘
f:id:primedesignworks:20140724102530j:plain

織商鉾
f:id:primedesignworks:20140724102552j:plain

花傘
f:id:primedesignworks:20140724102649j:plain

宮川町お茶屋組合
f:id:primedesignworks:20140724102702j:plain

花傘
f:id:primedesignworks:20140724102713j:plain

祇園甲部お茶屋組合
f:id:primedesignworks:20140724102725j:plain

花傘
f:id:primedesignworks:20140724102739j:plain

鷺踊
f:id:primedesignworks:20140724102756j:plain

万灯踊
f:id:primedesignworks:20140724102813j:plain

祇園囃子
f:id:primedesignworks:20140724102909j:plain

山鉾巡行

橋弁慶山
f:id:primedesignworks:20140724104113j:plain

北観音山
f:id:primedesignworks:20140724104545j:plain

八幡山
f:id:primedesignworks:20140724104646j:plain

浄妙山
f:id:primedesignworks:20140724105014j:plain

鈴鹿
f:id:primedesignworks:20140724105529j:plain

南観音山
f:id:primedesignworks:20140724110034j:plain

鯉山
f:id:primedesignworks:20140724110153j:plain

役行者
f:id:primedesignworks:20140724111158j:plain

黒主山
f:id:primedesignworks:20140724111550j:plain

大船鉾
f:id:primedesignworks:20140724112023j:plain
f:id:primedesignworks:20140724112202j:plain

祇園祭に行ってきた

京都に住んでると、祇園祭のコンチキチンを聞いてようやく「夏が来た!」って思うわけですよ。
今年は後祭が 48 年ぶりに復活ということで世間を賑わせていますね!

さて、今年も記録となる写真をつらづらと並べていきます。いやしかしめっちゃ暑かったですよ...普通に日焼けしました。終わり間際には、ぼくのすぐ背後にある薬屋に駆け込んでポカリスエットを買いました...88 円ってめっちゃ安いな...。

船鉾のみ、辻回しを YouTube に載せたので、それを埋め込んでおきますね。

宵山

四条傘鉾
f:id:primedesignworks:20140716205926j:plain

郭巨山
f:id:primedesignworks:20140716205653j:plain

蟷螂山
f:id:primedesignworks:20140716213057j:plain

船鉾
f:id:primedesignworks:20140716211000j:plain

放下鉾
f:id:primedesignworks:20140716214227j:plain

山鉾巡行

長刀鉾
f:id:primedesignworks:20140717113213j:plain

占出山
f:id:primedesignworks:20140717115151j:plain

芦刈山
f:id:primedesignworks:20140717115256j:plain

孟宗山
f:id:primedesignworks:20140717115429j:plain
f:id:primedesignworks:20140717115534j:plain

函谷鉾
f:id:primedesignworks:20140717121117j:plain

山伏山
f:id:primedesignworks:20140717121418j:plain

伯牙山
f:id:primedesignworks:20140717121750j:plain

木賊山
f:id:primedesignworks:20140717122107j:plain

菊水鉾
f:id:primedesignworks:20140717123031j:plain

太子山
f:id:primedesignworks:20140717123135j:plain

四条傘鉾
f:id:primedesignworks:20140717123307j:plain

蟷螂山
f:id:primedesignworks:20140717123401j:plain

鶏鉾
f:id:primedesignworks:20140717123437j:plain

楽天
f:id:primedesignworks:20140717124500j:plain

保昌山
f:id:primedesignworks:20140717124600j:plain

郭巨山
f:id:primedesignworks:20140717124713j:plain

月鉾
f:id:primedesignworks:20140717125638j:plain

戸山
f:id:primedesignworks:20140717131017j:plain

船鉾
f:id:primedesignworks:20140717131548j:plain

放下鉾
f:id:primedesignworks:20140717132455j:plain


観てた場所との行き帰りに Ingress でさらに体力を消耗したことは内緒です。ちなみに青です。

更新したファイルに該当するタスクだけ走らせる Gruntfile

grunt-contrib-watch って便利なんですが、監視ファイルが多くなる=走る処理が多くなるとどうしても時間がかかってしまいます。それでなんだか効率が落ちてたりするわけなんですが、grunt-este-watch が幸せということを聞いて、ぼくも幸せになりたいと思いやってみました。

更新されたファイルに関係ないタスクが走るのが良くないわけで、ちゃんと個別にタスクを走らせたら良いわけですね。ということで、以下にサンプルを置いておきます。とりあえず便宜上なので、ファイル名に意味はありません。

やりたいこと

Sass

common.sass

css へのコンパイル -> reset.sass との concat -> minify

mobile.sass

css へのコンパイル -> minify

JavaScript

common-a.js / common-b.js

common-a.js と common-b.js を concat -> minify

mobile.js

minify

YAML

functions.yml / settings.yml

それぞれのファイル名での json

前提

監視対象のファイルは全て ./src/ に入ってるものとします。

利用するプラグイン

  • grunt-contrib-compass
  • grunt-contrib-concat
  • grunt-contrib-cssmin
  • grunt-contrib-uglify
  • grunt-este-watch
  • grunt-yaml

Gruntfile.coffee

module.exports = (grunt) ->
  pkg = grunt.file.readJSON 'package.json'
  grunt.initConfig
    compass:
      dev:
        options:
          config: 'config.rb'
          environment: 'development'
          force: true
      prod:
        options:
          config: 'config.rb'
          environment: 'production'
          force: true
    concat:
      css:
        files:
          'css/styles.css': ['css/reset.css', 'css/common.css']
      js:
        files:
          'js/functions.js': ['src/common-a.js', 'src/common-b.js']
    cssmin:
      common:
        files:
          'css/styles.min.css': ['css/styles.css']
      mobile:
        files:
          'css/mobile.min.css': ['css/mobile.css']
    uglify:
      common:
        files:
          'js/functions.min.js': ['js/functions.js']
      mobile:
        files:
          'js/mobile.min.js': ['src/mobile.js']
    yaml:
      functions:
        files:
          'js/functions.json': ['src/functions.yml']
      settings:
        files:
          'js/settings.json': ['src/settings.yml']
    esteWatch:
      options:
        dirs: ['src/']
      sass: (file) ->
        return if getTarget(file) is 'mobile' then ['compass:dev', 'cssmin:mobile'] else ['compass:dev', 'concat:css', 'cssmin:common']
      js: (file) ->
        return if getTarget(file) is 'mobile' then ['uglify:mobile'] else ['concat:js', 'uglify:common']
      yml: (file) ->
        return ['yaml:' + getTarget(file)]

  for t of pkg.devDependencies
    if t.substring(0, 6) is 'grunt-'
      grunt.loadNpmTasks t

  grunt.registerTask 'w', ['esteWatch']
  grunt.registerTask 'default', ['compass:dev', 'concat', 'cssmin', 'uglify']

getTarget = (file) ->
  return file.split('/')[1].split('.')[0]

これで grunt w で、css でも yaml でも該当タスクだけ走るので、劇的にスピードが変わりました。めでたしめでたし。

Path API を叩く PHP / Python / Ruby のサンプル

あけましておめでとうございます(遅

Path が API を公開してたので(気づくの遅い)、叩いてみました。
今までいくつかの API を叩いてきたけど、json で渡すのは初めてでした。

それぞれ下記を叩くことにします。
GET: /user/:id
https://path.com/developers/docs#get-user

POST: /moment/thought
https://path.com/developers/docs#post-moment-thought

PHP

GET

<?php
header('Content-type: application/json; charset=utf-8');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://partner.path.com/1/user/self');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer YOUR API TOKEN'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

POST

<?php
header('Content-type: application/json; charset=utf-8');

$options = array('thought' => 'PHP Test', 'private' => 1);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://partner.path.com/1/moment/thought');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer YOUR API TOKEN', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($options));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Python

GET

#!/usr/local/bin/python
# -*- coding: utf-8 -*-
print "Content-Type: application/json";

import pycurl

c = pycurl.Curl()
c.setopt(pycurl.URL, 'https://partner.path.com/1/user/self')
c.setopt(pycurl.HTTPHEADER, ['Authorization: Bearer YOUR API TOKEN'])
c.perform()

POST

#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import pycurl
import json

options = {'thought': 'Python test', 'private': 1}

c = pycurl.Curl()
c.setopt(pycurl.URL, 'https://partner.path.com/1/moment/thought')
c.setopt(pycurl.HTTPHEADER, ['Authorization: Bearer YOUR API TOKEN', 'Content-Type: application/json'])
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, json.dumps(options))
c.perform()

Ruby

GET

#!/usr/local/bin/ruby
# encoding utf-8
print "Content-Type: text/html\n\n";

require 'faraday'
require 'json'

conn = Faraday::Connection.new(url: 'https://partner.path.com') do |builder|
  builder.use Faraday::Request::UrlEncoded
   builder.use Faraday::Response::Logger
  builder.use Faraday::Adapter::NetHttp
end

response = conn.get do |request|
  request.url '/1/user/self'
  request.headers = {'Authorization' => 'Bearer YOUR API TOKEN'}
end

json = JSON.parser.new(response.body)
p json.parse

POST

#!/usr/local/bin/ruby
# encoding utf-8
print "Content-Type: application/json\n\n";

require 'faraday'
require 'json'

options = {'thought' => 'Ruby Test', 'private' => 1}

conn = Faraday::Connection.new(url: 'https://partner.path.com') do |builder|
  builder.use Faraday::Request::UrlEncoded
  builder.use Faraday::Response::Logger
  builder.use Faraday::Adapter::NetHttp
end

response = conn.post do |request|
  request.url '/1/moment/thought'
  request.headers = {
    'Authorization' => 'Bearer YOUR API TOKEN',
    'Content-Type' => 'application/json'
  }
  request.body = JSON.generate(options)
end

json = JSON.parser.new(response.body)
p json.parse

Illustrator で端っこがアートボードに揃わないときの対処

年賀状を作る憂鬱な季節になりました。デザインとか超苦手分野なので毎年憂鬱です。

さて、そんな年賀状を作ってましたが、Illustrator でオブジェクトをアートボードの端っこに寄せようと思うんですが、揃わないんですよ。

f:id:primedesignworks:20131211115046p:plain
「いやっ/// あたしそんなに軽い女じゃないもんっ///」って聞こえてきそうです。ええ、デザイン嫌過ぎて壊れてますすいません。

さて、この対処ですが、「整列」パネル内右下にある「整列」ってのをクリックして出るメニューの「アートボードに整列」をにチェックを入れて、整列させてみましょう。すると、揃いましたよ!
f:id:primedesignworks:20131211115047p:plain

この対処方法は @75mix さんから教えてもらいました。ありがとうございました。