お仕事メモ帳
こんにちは。開発系( InDesign、Illustrator、AppleScript、JavaScript、Ruby)、セミナーのレポートなどについて書いています。
[Illustrator][JavaScript][公開/配布なし]選択しているオブジェクトのCMYK値を入れ替える
TwitterでそんなのがないかなぁというTweetを見かけたので書いてみた。

感想。
しんどかった。
スウォッチとスポットを別で管理しているとか、文字を選択しているときはforで回しちゃいけないだとか、何度か放り投げようと思ったよ、マジで。

あと欲を出して以前から気になっていたscriptUIを使ったのも失敗。
未知の領域だからうんうん唸りながらググりながら一つ一つクリアしていった。
最小単位でテストコード書いて、テストして、エラー出して、潰して、実装って流れって大事ね。

<仕様>
●CMYK値を取得して新しいカラーを生成し、新規にスポットカラーを作成して適用させる
●新規スポットカラーは「NC C=0 M= Y= K=0」のように名前づけされる
●同名のスポットカラーが存在した場合はそのスポットカラーを適用する(ダブらない)
●レジストレーション、グラデーション、パターンなどはスキップ
●塗りと線を別々の色に入れ替えることが可能
●テキストも処理可能
●文字を選択した状態でも処理可能


デモ動画。




ちなみに公開、および配布はネット上では行いません。
理由はいくつかあります。
●うっかりさんが間違って使ってしまったら大問題になる(デザイン総崩れ)
●特色を10個以上使ったデータを平気で入稿してくる人がたくさんいるので、阿鼻叫喚になるのが怖い
●仕様として新規スウォッチを作成して適用しているので上記に書いたようなトラブルが起きること請け合い(特色はすべてプロセスに変換しちゃう仕様だけど、大量の未使用スウォッチなんて見たくないし、加工されるのも嫌)
●公開以降上記のような問題を私のせいにされたくないw

近しい人で責任を自分でとってくれる人、もしくはスクリプトを勉強したい人には配布してもいいとは思っています。

まぁこんなこともスクリプトなら可能だということなので、興味ある人は自分で書いてみるのも一興かと。
正味4日程度で書けましたお。
自己満足万歳!


[Illustrator][AppleScript][Ruby]Illustratorを開かずに配置ファイルを収集する
Illustrator使いの方ならご存知じかと思いますが、「CollectForOutput.scpt」というIllustratorに配置された画像を収集するAppleScriptをAdobeさんがサンプルスクリプトとして提供しています。
といいつつ、私が知ったのはDTPの勉強会に参加してからなんだけど。

あ、私の環境ではCS4しかないので、それを前提に話しますので、あしからず。
この「CollectForOutput.scpt」は配布されている状態では1つのIllusratorファイルしか収集できず、自分でダイアログから処理したいファイルを選択してあげる必要があります。
AppleScriptで書かれているならドロップレットにしたいよね、とすんなりいけばいいんですが、そうは問屋がおろしてくれず。
10.6環境ではIllustratorCS4のドロップレット形式のAppleScriptはエラーがでるんですよ。
その辺りは手前味噌ですが[Illustrator][AppleScript]テキストのアウトラインを参照してください。

そして私の自宅の環境はまさしく10.6+IllustratorCS4…。
Adobeェ…。

そんなわけでCollectForOutput.scptを書き直してみようという気は起きなくなっていました。
もともと他人が書いたものですからそれをちょっとだけ直すのもつまらないなーと思って。
仕事で使うならまだしも自習ですからねぇ。

しかし「XMPから取得する方法もあるみたいだよ」とTwitterで@noriaki72さんから情報をいただいてしまった。
途端に気になりだしてしまって一昨日調べてみた。

そもそもXMPってなんぞ?という話。
IllustratorやInDesignのファイル情報のところでそんなロゴマーク見たことあるなーぐらいの認識しかない。
そんなときこそGoogle先生にお願いですよ。
「Illustrator XMP」で検索、と。
参考にしたのはAdobe Illustrator CS4 * メタデータについてあかつき@おばなのDTP稼業録 【Adobe Bridge】Illustratorドキュメントの内部情報を覗く
あかつきさん、公式よりも上位に表示されるとはさすがですな。

この辺りを読んでXMPはメタデータということがわかった。
いや、まぁ前から知ってたけど再確認できた。
んで、XMPはアプリケーションから参照できる、と。
試しに新規ドキュメントに適当な画像を配置して、「ファイル情報」→「詳細」→「XMPメディア管理プロパティ」→「xmpMM:Manifest」を見てみると、ちゃんと配置した画像の情報が載っていた。
ふむふむ、フルパスを含まれているのね。

じゃあ、このフルパスを抽出できれば配置画像が収集できるんじゃない?

そんな夢を持った私は早速AIファイルをJeditにドロップ(AIファイルとかEPSファイルってテキストとして開けるのって常識ですよね?)。
内容をざっと斜め読みしてみるとちゃんとXMP情報が記載されている。
これならRubyで抽出できるよね!

ということで、まず書いたのが下記Ruby。
いや、正規表現で検索できればRubyじゃなくてもいいんだけどね。
Ruby使いたいんだもん。
--2012.01.13追記
HTMLエスケープされていた文字をアンエスケープするように変更しました
@kamise さん、ご指摘ありがとうございました
--追記終わり


#! ruby -Ku

require "CGI"

linkFilePath = "" ; #リンクファイルのパスの入れ物

while line = ARGF.gets
line = CGI.unescapeHTML(line)#HTMLエスケープされてるのでアンエスケープ
if /^\s+?/ =~ line
line.gsub!(/^\s+?(.+?)<\/stRef:filePath>/){$1}#XMPのリンク画像のタグの中からファイルパスを取得
#line.gsub!(/^\/Volumes(.+?)/){$1}#ファイルパスから/Volumes/を削除

if linkFilePath != "" then
linkFilePath = linkFilePath + "\t" + line.chomp
else
linkFilePath = line.chomp
end
end
end

puts linkFilePath


このRubyをターミナルから実行してあげると、配置ファイルのフルパスをタブ区切りで抽出することができます。
毎回思うがこれでRuby使ってますと言っていいのか、私…。

次にこのRubyをAppleScriptにバンドルさせて、AppleScriptからシェルスクリプトを走らせるようにします。
これも恒例になってきたな。
この辺りは市川せうぞーさんのAppleScriptを参考にしています。
お世話になりっぱなしだ。

で、AppleScriptに配置ファイルのフルパスを受け渡すことができたので、次はそのファイルをどこかに複製させればいいよね。
ということで他で使った「処理を始めた西暦日時のフォルダをデスクトップに作成して、そこに複製させる」処理を一部加工して流用した。
このとき同名ファイルがあると面倒なので上書き保存することにした。

そうそう、XMP情報の配置ファイルのフルパスが正しいものとは限らないってことをお忘れなく。
このパスは絶対パスで記憶されているんだけど、例えばIllustratorファイルや配置ファイルを別のフォルダに移したとして、そのままの状態ではXMP情報の配置ファイルのフルパスは古いままなんだ。
だから移動させた場合は必ずIllustratorファイルを開いて保存してあげないと、XMP情報は更新されない。
そして更新されないと収集できないので要注意。
EPS保存した際に埋め込まれちゃったPSDファイルなどのフルパスも残ったままなので注意して。
埋め込まれたファイルはパスが通ってれば収集されるはず。
一応収集できなかったときはデスクトップにエラーログを書き出すようにしておいた。

そうそう、IllustratorCS2にもXMP情報はあるんだけど配置ファイルについてのタグは用意されてないんだよね。
だからIllustratorファイルの作成バージョンを取得してCS2以下だったらスキップさせる処理も書いた。

あ、Illustratorファイルも配置ファイルと同じフォルダに複製されるようにしたよ。
「CollectForOutput」は別名保存するようになっているけど、10.6+IllustratorCS4ではそれがエラーになるし、正直別名保存する意味も感じられなかったので、複製しただけ。

紆余曲折した結果、できたのが下記AppleScript。

(*
2012.01.12 初版公開
2012.01.13 修正版公開
 HTMLエスケープされていた文字をアンエスケープされるように変更
*)on open thisList
tell application "Finder"
set dPath to desktop as text --デスクトップのパス取得
set noExtractFileList to "" --エラーが出たリンクファイルのパスを入れる箱
set textFile to dPath & "収集できなかったリンクファイル.txt" --ログ書き出し 用のテキストファイルの名前
set errorFileLog to "" --エラーが出たファイルのパスを入れる箱
set skipFile to 0 --CS2以下のファイルのカウント用

set my_script_name to "IllustratorPackage.rb"
set my_script_path to (path to me) as Unicode text
set my_script to my_script_path & "Contents:Resources:" & my_script_name
set my_script to quoted form of POSIX path of my_script

repeat with k in thisList

--ドロップされたIllustratorファイルのバージョンチェック処理
my verCheck(k)

if result > 12 then --CS3以上なら

set input_file to (quoted form of POSIX path of contents of k) as Unicode text --Unicode textに変換しないとダメ

do shell script "ruby " & my_script & " " & input_file --リンクファイルのパスをRubyで取得
set outputList to result --変数に代入

set linkFileList to my linkFileExtract(outputList) --リストにする

--デスクトップにフォルダを作成しリンクファイルをコピーする処理へ
set resultList to my LinkFilePackage(linkFileList, noExtractFileList)

duplicate k to item 1 of resultList --デスクトップのbackFolに複製する

if (item 2 of resultList) is not "" then
set errorFilePath to k as string
set errorFile to my pathEtract(errorFilePath)
set errorFileLog to errorFileLog & "★" & errorFile & "で収集できなかったリンクファイル" & return & (item 2 of resultList) & return
end if

delay (0.5) --同名フォルダ作成のエラーを回避するため1秒待つ
else --CS2以下だったら
display dialog "CS2以下のファイルはスキップします"
set skipFile to skipFile + 1
end if
end repeat

--エラーログの書き出し
if errorFileLog is not "" then
try
set OutPutText to open for access textFile with write permission
set eof OutPutText to 0
write "ここに書き出されたファイルは収集できませんでした。Illsutratorデータのリンク情報が正しくない可能性があります。Illustratorデータを再保存した後、再度スクリプトを使用してください。" & return & return to OutPutText
write errorFileLog to OutPutText
close access OutPutText
on error errMsg
display dialog errMsg
close access OutPutText
end try
end if
end tell

if ((count thisList) - skipFile) > 0 then
display dialog ((count thisList) as string) & "ファイル中の" & (((count thisList) - skipFile) as string) & "ファイルを収集しました"
else
display dialog "収集されませんでした"
end if
end open

--デスクトップにフォルダを作成しリンクファイルをコピーする処理
to LinkFilePackage(linkFileList, noExtractFileList)
tell application "Finder"
--バックアップファイルのコピー用にデスクトップに現在時刻名のフォルダを作成する
set dPath to desktop as text --デスクトップのパス取得
set folName to (do shell script "date '+%Y-%m-%d %H-%M-%S'") --現在時刻取得
set backFol to make new folder at dPath with properties {name:folName} --デスクトップにフォルダ作成
set label index of backFol to 2 --ラベルを付ける

repeat with i from 1 to count linkFileList
try
set linkFilePath to (item i of linkFileList) as POSIX file --as POSIX fileで:区切りのパスに戻せる
set linkFilePath to file linkFilePath --file 〜ってしないとダメ(ファイル参照させないとダメ)
duplicate linkFilePath to backFol with replacing --デスクトップのbackFolに複製する(同名ファイルは上書き)
on error --複製できなかったファイルの処理
set errorLinkName to my pathEtract(linkFilePath) --ファイル名をサブルーチンで取得
set noExtractFileList to noExtractFileList & (errorLinkName as string) & return --ログ用に代入する
end try
end repeat
return {backFol, noExtractFileList} --メインルーチンにListで戻す
end tell
end LinkFilePackage


--タブ区切りテキストをリストにする
to linkFileExtract(outputList)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to tab
set listitems to text items of outputList
set AppleScript's text item delimiters to OriginalDelimiters
return listitems
end linkFileExtract

--フルパスをいじってファイル名を取り出す処理
to pathEtract(errorFileName)
set errorFileName to errorFileName as string
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set pathitems to text items of errorFileName
set AppleScript's text item delimiters to OriginalDelimiters
--pathitemsにリストで代入されているからあとはご自由に

return last item of pathitems --last itemはファイル名

end pathEtract

--ドロップされたIllustratorファイルのバージョンチェック処理
to verCheck(checkFile)
tell application "Finder"
set fileVer to version of checkFile --"保存: v.12 作成: v.12.0.1"や"保存 v.14 作成 v.14.0.0"を取得

--半角スペースで分割
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to " "
set fileVerlist to text items of fileVer
set AppleScript's text item delimiters to OriginalDelimiters

--CS2とCS3以降で取得できるバージョン情報が違ってる!
if (count fileVerlist) is 4 then --CS2
set verNo to (characters 3 thru 4 of (item 2 of fileVerlist)) as string
set verNo to verNo as number
else if (count fileVerlist) is 6 then --CS3以上
set verNo to (characters 3 thru 4 of (item 3 of fileVerlist)) as string
set verNo to verNo as number
else --念のため(検証してないバージョン用)
set verNo to 0
end if
return verNo
end tell
end verCheck


<使い方>
Illustratorファイルをこのスクリプトにドラッグ&ドロップしてください。
デスクトップに「西暦-月-日 時-分-秒」のフォルダが作成され、そのフォルダの中にIllustratorファイルとリンク画像が収集されます。

<注意点>
●Windows環境には対応してません
●MacOS10.4.11以上で使用してください
●CS2のファイルには対応していません
●CS5以上は未検証。情報求ム!
●Windowsを経由してメタ情報が飛んでるようなファイルにも対応してません
●Illustratorデータ上できちんとリンクがされていないと収集できません(サーバにあるIllustratorデータをデスクトップにコピーして再保存せずにこのスクリプトを使用すると、収集できません)
●その他暫定版なのでエラーが出る可能性があります。その際はフィードバックをください


自分で言うのもなんですが「CollectForOutput」とは比較にならないほど早いです。
当たり前です、テキスト処理がメインなんだからw

XMP情報には他にもいろいろ記載されているみたいなので、時間があるときに眺めてみても面白いかもしれませんね。

スクリプトのダウンロードは下記から。
RubyでIllustrator画像収集ver1.02
--2012.01.13追記
ver1.01 修正版を公開しました
ver1.02 修正版を公開しました
--追記終わり


[雑記]今年の抱負とか
今年はどんな一年にしましょうか。
昨年はがむしゃらに仕事をして、勉強会でいろんな知識をたくわえて、たくさんの人と出会った一年でした。
今年もその路線はかえないつもり。
ただもう少し外に遊びにいこうと思う。
でもゲームももっとたくさんやりたいw

JavaScriptとAppleScriptはDTP用途ならそこそこ書けるようになったし、今年はRubyをちゃんと使えるようになりたいな。
平行して他のプログラミング言語も勉強したい。
できれば一つぐらいそこそこ使えるようになりたいね。
JavaかOvjective-Cですかね、やっぱ。
ただMacRubyやC++も気になるんだよなー。

本職はDTPなのでプログラミング言語をそんなに勉強する必要もないんだけど、一種の趣味だかね。
そして頭をひねればDTPにも活かすことはできるし。
なんかこう新しいことを覚えていかないとつまんないじゃん。
できることだけやってればいいなんて考え、生まれてこのかた思ったことすらないよ。
常にチャレンジしていかないとね。

まぁ楽しい一年にするためにマイペースでやっていきますよ。

あ、レノくんも新年の挨拶してるので、良かったらどうぞ。
http://kuronyanta.blog106.fc2.com/blog-entry-38.html


[雑記]ワークフローについて考えてみた
新年あけましておめでとうございます。本年もよろしくお願いします。
レノくんも「今年も僕をよろしくにゃ!」と元気に走り回っています。
レノくんがマウスをドリブルするおかげで、Macをスリープから復帰させるとデスクトップにフォルダが増えていたり、ドックに登録したアプリケーションのエイリアスがなくなったりする日々です。
iTunesとかInDesignとか消されると困ります、王子。


さて、新年一発目のエントリですが、昨年末にTwitterで告知してた通りワークフローについて、私なりの考えを書いてみようと思います。
結構懇親会などで質問されることが多い話題です。
スクリプトと絡めたワークフローというのが気になるようです。
そんなのその会社次第、個人次第だと思いますが、まぁブログのネタとしてちょうどいいかなー、と。


ひとまずスクリプトと絡めたワークフローをどうするかっていうのは一旦置いておきます。


私の理想としているワークフローは「作業手順的なフロー」と「情報伝達的なフロー」がうまく混じり合うことで、オペレーション以外の工程の人も効率よく業務を進められるものです。
「仕事は一人だけでやるものではない」とよく言われますが、まさにその通りです。


ワークフローは自分を含めた「みんなの仕事を効率よく進めるため」に必要なものだと思います。
例えば自分だけ効率よく進めることができても、前工程や後工程の人にとってわかりづらいものであれば、ボトルネックを生み出したり、リスクを増やすこととなり、ワークフローを作る意味がなくなってしまいますよね。
私も部下にワークフローを作らせたことがありますが、自分にオペレーションスキルがあるって勘違いしている人ほど自分本位なフローを提示してきました。
そしてなまじ自分に自信があるからそのワークフロー上で問題が起きるとその問題を起こした人を責めるんですよね。
「自分の行った通りにやってない」と。
で、言われたほうは萎縮、もしくはやる気がなくなってワークフローなんて守らなくなる。
だって周囲の人のことを考えてないルールを押し付けられて、かつそのワークフローを作った人間もその問題に気づかない、挙げ句にミスをしたらオペレーターのみが責められる。
それではやる気を保つことなんて無理ですよね。


では「情報伝達的なフロー」を考えてみます。
一つの案件を受注したとして、オペレーション以外にどんな人が関わっているでしょうか?
ここで制作会社がデータを印刷所に入稿するまでを想定しています。
私はざっくりですが以下の人には自分のワークフローを伝えています。


●顧客担当者
●自社営業担当者
●制作チーム(私はココ)
●社内校正者


顧客担当者には当然全部は話しませんが、特に短納期や高難易度の案件は「リスクがどこにあるか」を必ず伝え、顧客側で担保してほしいところを伝えるようにしています。
自社営業担当者も同様ですね。
この二人に話を通しておくだけでも問題が起きたときの対策がとりやすくなります。
中には全部丸投げしてくる顧客担当者や自社営業担当者もいますが、言わないよりは言っておいたほうがいいです。
つか、そんな人のために苦労している周りを助けるためにこそ、ワークフローを作って道筋を残すべきですね。
次回以降確実に仕事がやりやすくなるはずですから。
ダメな人を一つのリスクと捉えて考えればいいんだと思います。
「あいつダメだよね」「あいつのせいで」とか言っているだけで仕事がうまく進むなら苦労しませんから。
まぁ愚痴すべてが悪いとは言いませんが、それが恒常的になってしまうと周りの人が迷惑ですよね。


制作チームには作業手順とは別に顧客担当者や自社営業担当者の求めていることを理解してもらいます。
勘所を教えておくというか、「ココだけは押さえておけ」的なことですね。
たぶんここが結構重要なところです。
面倒だからあれこれ言い訳作ってやろうとしない人が出てきますから、それをどうやってコントロールするかが肝要です。
本当は切り捨てるのがいいんですけどねw
そんな人に真剣に諭しても時間の無駄なので、その人がやれる範囲でやってもらって、フォローを自分でやるというのが私の場合の妥協点でした。
他のオペレーターからクレームが出ることもありますが、まだ真面目に取り組んでくれる人のほうが諭しやすいので…。
とりあえずダメな人でも手数的にいてもらわないと困るからね。


もちろんダメなオペレーターの評価は減点しますし、上役にもそのように伝えてました。


次に「作業手順的なフロー」について考えてみます。
とても当たり前のことしかやってないので期待しないでください…。
私は原稿入稿から出校までを工程ごとに切り分けるようにしています。
例えば「原稿入稿」「原稿整理」「制作準備」「制作開始」「制作終了」「作業者校正」「第三者校正」「出校準備」「出校」などですね。


そしてその工程内でやるべきことをリストアップして、スケジュール立てします。
まず先に制作時間がどれぐらいかかるかざっくり想定します。
そして納期からその制作時間を除いた時間でどこまで原稿整理と制作準備に時間をかけられるか割り出します。
この準備にどこまで力を割くことができるかで、オペレーターの作業効率や出校物の品質が変わってきます。
極端な例ですが、入稿された原稿が順番がめちゃくちゃになっていて、それをそのままオペレーターに渡したら作業効率は落ちますよね?
一番避けたいのがオペレーターに渡るまで疑問事項に気づかず、いざオペレーションを始めたら問い合わせが山のように出たけど、その頃には顧客担当者は帰ってしまっていて解決できない。
これです。
まぁ中には「やってみないと分からない」と丸投げしてくる人もいますが、原稿を数分眺めれば気づくこともあんたは分からないのか!とよく揉めたことがあります。
で、オペレーターからすると進行管理担当にもそういった印象を持っちゃうんですよね。
そうならないためにも事前準備に時間をかけることを私は心がけているんです。
自分が散々苦労させられたから人に同じ苦労はさせたくないです。


そうそう、スクリプトもこの事前準備のときに必要なものを想定しておいて、ネットを漁ったり自分の倉庫を漁ったり、しかたなく新規で書いたりしています。
この時間は土日に充てることが多いですね。
半ば趣味ですからw


長々と書いちゃいましたが、これらが私がワークフローを構築するために考慮していることです。
目新しいことは何一つないと思いますが、実際これらを実行するのは大変です。
私自身100%出来ているわけではありませんしね。


あと私が信頼されている点があるとすれば、臨機応変にフローを変えられるところだと思います。
ワークフローを作ったはいいものの、蓋をあけたら全然違うことをしないといけなくなるなんて日常茶飯事だと思うのですが、それに対応できない進行管理担当もいたりするんですよね。
じゃあ私がどうしているのかというと、単純ですがフローをいくつか想定しておくんです。
最低でも一番うまくいったときと、一番ダメなときを想定しておきます。
そして、状況に応じていくつか想定しておいたフローを切り替えていけば、大抵のことはなんとかなります。
肝要なのはそのフローを切り替えるポイントごとに上司なり自社営業担当なりに相談して「このままだと破綻するからこういう方法に変えます」と伝えることと、早めに最悪のケースになったときに補填できるように手を回しておくことですね。
休日出勤だったり納期変更だったりそういったことは前日にいきなり言ってもダメなので、少なくとも2日前には可能性を示唆して許可を取るなどしておくべきです。
そういったことをきちんとできていれば多少仕事が暴れてしまっても周りが助けてくれますから。
そしてそのために「情報伝達的なフロー」が重要なんです。


なんだか抽象的な話になってしまいましたね。
そのものズバリな手順書がほしい方は本屋で書籍を買われるか、ご自分で作成してくださいw
そんなものを指南できるほど私に技術はありません。
逆に言えば技術はなくても報告・連絡・相談を欠かさなければ信頼してもらえるようにはなれるんですよね。
まー、それについては周囲の人の度量次第っていうどうにもしがたい問題がありますけどね。
幸いなことに私はいまのところそこの点については恵まれていますので。


新年一発目のエントリがこんな内容で良かったのだろうか。
えっと、こんな私ですが、今年もよろしくお願いします。


今年もお世話になりました
2011年も間もなく終わりですね。
ということで、総括的なものを書いてみます。

昨年末に以前勤めていた会社が業務終了し、いまの会社に転職したわけですが、おかげさまで楽しく働けています。
確かに細かいところを見れば気になるところやイライラするところもありますが、前の会社のように会社に行くことがストレスでしかないような状況から比べたら本当に幸せな環境です。
人間関係だけでここまでモチベーションが変わるとは思いませんでした。
ありがたいことです。

仕事内容も会社の規模が違うのでいろいろとやりがいがあります。
またある程度自由に動かさせてもらえているので、臨機応変に動けるのでありがたい。
また先輩たちもいい人が多いので、困ったときに助けてくれますし、逆に困っているときに助けるとちゃんとお礼を言ってもらえます。
これ、かなり重要。
「ありがとう」「ごめんなさい」が言えない人とは仕事なんてできませんから。

一年いることで私の性格もバレつつありますが、最終日に先輩たちに「来年もいろいろ教えてください!」「変なこと聞いても見捨てないでください!」と言ってくださるぐらいには信頼されているようです。
そう言ってもらえるだけで来年も頑張ろうと思えますね。

仕事以外では。
今年も勉強会に何度か参加してきました。
名古屋の勉強会にも行って、お会いしたことのなかったフォロワーさんと交流できました。
二次会で多部未華子について語ったのもいい思い出ですw
東京の勉強会ではスクリプトやIllustrator、欧文組版について学びました。
どのセッションも面白かったー。
懇親会も毎回楽しくて。
来年も参加しますね。

ブログも今年は頑張って更新しました。
やっぱり情報を発信し続けるっていうのは大変なことですね。
頻繁に更新されている方はすごいです。
来年も適度に更新していきますね。

Twitterでもたくさんの人にかまっていただきました。
毎日「レノくんかわいー!」とのたまう私に生暖かい視線をありがとうございます。
来年も「本業はレノくんの父ちゃんです!」と言い切れるぐらいの親バカを突き進む所存です。

最後に来年の抱負をいくつか。
「無理しない程度に頑張る」
「自分の技術に自信を持ちつつ、過信しない」
「関わりのある人に笑顔でいてもらうために努力する」

それでは、今年も本当にお世話になりました。
来年もよろしくお願いします。

レノくん、かわいーーーーーー!





Copyright © お仕事メモ帳. all rights reserved.
FC2ブログ