2017-03-31

GAS: スプレッドシートに画像を埋め込む場合のノウハウ

Google App Script(GAS)にて画像を埋め込む際のノウハウです。GASには、SpreadSheetの画像埋め込みAPIとして、
  • sheet.insertImage(URL)
があります。これ自体は有効に機能するのですが、実はこのメソッドで埋め込まれた画像を削除する関数がありません。これはちょっと問題、、というときには、もっとスマートなやり方があります。それは、スプレッドシートの関数である
  • image(URL,[モード])関数
を式としてセルに代入することで同等の事ができます。削除はセルの書き換えか、クリアで行えます。注意点は、
  • 画像サイズはセルサイズと同じ
ということです。大きめの画像を貼り付けたい場合は、適切なサイズになるようにセルの結合(merge)をしておきましょう。

2017-03-25

H28年度卒業生を送り出して


卒業・修了おめでとうございます。本年度は、学部7名、院生0名が巣立ちました。今年は大学院進学者が2名です。今年は、ゼミ生の吉村くんが、成績面を評価され、学科同窓会賞を受賞しました。おめでとうございます。

今年の4年生は、マイペース型。特に研究室に籠もることなく、提示帰宅するときが多かったですね。昨今、サラリーマンの過度な勤務時間超過が話題になっていますが、そういった点では今年はホワイト研究室でした。なにか物足りない気がしないまでもないんですが、研究成果的には例年と決して引けをとるようなことはなく、また終盤にドタバタするようなこともなく、計画的に進めてきた学年だったかなぁ。特にうちはプログラミングの時間が多いので、長時間コードを書けるわけでもないですし、長時間いることが必ずしも成果に結びつくとは限らないかな。。。と思いつつ、もっと良い成果が出来たのではないかと思いもあったり。。。

とりあえず今年も、授与式等であった学科長の式辞の内容をネタにしながら、個人的にアレンジした贈る言葉を書いてみようかと思います。

(1)想定外の対応せよ
昨年度も同じ話をされましたが、1年前よりもさらに世の中の動向は不透明になってきた気がします。そういうわけで、仕事のバリエーションを増やすというのは1つの戦略かと思います。多芸は無芸といったようにマイナスなイメージがあったりしますが、想定外のことに対応するには、様々なことを視野にいれて行動することが大切かもしれません。だから、どんな仕事の内容であっても、躊躇せず、とりあえずやってみる、、、という姿勢が大切で、それができるポテンシャルを持っているのが近大生の強みなのかもしれません。

(2)挑戦し続ける
守りに入らず、挑戦し続ける。。これは大切ですね。守りを完全否定するわけではないですが、移り変わる社会の動向に対応するのは、守りではなく攻めの姿勢でしょう。

(3)よい失敗をしてよい経験をする
若いうちはどんどん失敗してよいかと。もちろん、無責任な失敗は駄目ですが、信念を持った失敗には学びがあります。まあ、ホントは学生時代に(卒論で)どんどん失敗すべきなんですけどね。社会人になると、失敗は個人レベルではなく会社や他者に結びつくので、失敗推奨というわけにはいかないと思いますが、失敗を恐れると何もできないですから。

(4)健康第一
 学科長の話にはなかったですが、「健康第一」これは大切なことです。そのためには自分の限界を知っておきましょう。仕事をすすめる上で、残業等でアクセル全開の状態が続くことは少なからずあると思います。しかし、ずっと踏み続ける必要はありませんし、そうなればそれは異常な状態です。最初のうちはいいかもしれませんが、だんだんとおかしくなってきます。ちょっとこのままだと自分はパンクする、、とか、これは行き過ぎと感じたら、アクセルを緩めましょう。もちろん仕事は大切です。仕事は個人の問題ではありませんから、一人アクセルを緩めると皆の足並みが乱れるかもしれません。しかしそれは一時的なものであり、それをフォローできるのが会社という組織のはずです。人の命より価値のある大切な仕事というのもは存在しません。フォローできない会社、社員の命(健康、幸せ)を大切にしない会社であれば、そこにとどまる正当性はないのです。何事も体が資本です。

以上、みなさん、お元気で。卒業おめでとうございます。

2017-03-16

Python:UnicodeDecodeError: 'cp932' codec can't decode byte 0x93: illegal multibyte sequence

Pythonにて表題のようなエラーが出てきた場合、読んでのとおり文字コードの違いが原因になっています。このエラーには、ファイルオープン時に文字コード指定の記述をすればOK。
open('sample_text.txt', 'r'')
→ open('sample_text.txt', 'r',encoding='UTF-8')
既存のコード(サンプルコード)を動かす時にこのエラーによく遭遇するので、環境の問題を疑う前に、コードも疑ってみて下さい。