高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

Googleカレンダーで公開カレンダー

このブログはGoogle Products Advent Calendar 2019 - Adventarの5日目のブログです。

5日目の今日は、わたしがいつも公開している公開カレンダーの話。

こちらは自分のGoogleカレンダーに登録できることでもおわかりのとおり、Googleカレンダーを使っています。ブログのサイドバーにおいてあるものもありますが、現在主に運用しているカレンダーは以下の二つ。

前者は自分が参加するすべてのイベントのカレンダー、後者は自分が見ていて、かつTwitter上で実況する予定のアニメカレンダーです。自分のリマインダーがてらに*1

すべての予定は公開カレンダーに

で、わたしのカレンダーの予定は基本的にすべて、上記のイベントカレンダーに記載しています。プライベートな予定や仕事の打ち合わせについてについても全部。

全部の予定を記載した上で、カレンダーの設定で「予定の時間枠のみを表示」、外部に内容を出してもいい予定は個別に「公開」に設定しています。

*1:放送の1時間半~5分前に複数回アラームを鳴らすことで、生活のリズムを整える

続きを読む

わたしとMicrosoft To-Do

このブログエントリーはOffice 365 Advent Calendar 2019の3日目の記事です。

さて今回は、MicrosoftのToDoアプリ(タスク管理ツール)、Microsoft To-Doの話しでも。Microsoft To-Doは、Office 365のサービスの一つで、読んで字のごとくのToDo管理サービスです。

タスク管理ツールとして有名だったWunderlistを買収し、Wunderlistを元に作られたサービス・・・ のはずなんですが、正直それほどパッとしないイメージはありますし、検索してもそれほど情報が上がってきません*1

とはいえ実はUserVoiceで独自のページが作られていて、そこそこに機能強化も頻繁に行われているタスク管理ツールです。

最近は、Microsoft Plannerで割り振られたタスクを表示したり、Outlookでフラグをつけたメールを一覧表示できたりと、ぼちぼち進歩してきました。

Microsoft To-Doは、タスク管理ツールとして、他のOffice 365サービスとは独立して使うこともできますが、もしOffice 365を契約しているような人であれば、同じアカウントで使うととても便利に使えるツールです。

是非Office 365のアカウントと同じアカウントでサインインして使うと良いでしょう。

わたしのMicrosoft To-Doの使い方

わたしのMicrosoft To-Doの使い方はこんな感じです。

  • すぐにできそうにない(or すぐにできても数時間かかりそう)タスクは、基本的に全部タスクリストに突っ込む
  • 毎日寝る前に、翌日やる予定のタスクを「今日の予定」リストに移動させる
  • 翌日はリストの中からやれそうなものを実行していく
  • やれなかったら反省する

という感じです。

f:id:TakamiChie:20191129202716p:plain
うちのMicrosoft To-Do

それとは別に、「特に期限は決まってないけど暇なときにやる」タスクや、買わなきゃいけないものリストなどのタスクリストをいくつか作って管理しています。

*1:あまりググラビリティの高くない名前なので、それもあるかと思いますが

続きを読む

まちづくりにIT技術者が関わる理由

とうとうこの季節がやってきました。このブログはまちづくり Advent Calendar 2019 - Adventarの1日目のブログです。現時点でアドベントカレンダーの登録がわたしだけなので、もしまちづくりに興味のある方他にいらっしゃいいましたら、是非アドベントカレンダーにもご参加ください。

さて。先日中の人に誘われて、以下のイベントで喋ってきました。

www.facebook.com

スピーチ自体振り返ってみるとちょっと久々で、2ヶ月ぶり(外部の勉強会だけに絞ったら、3ヶ月ぶり)のスピーチ。

今回はなんらかの地域活動をされている方がほとんどということで、まちづくりエージェント SIDE BEACH CITY.の活動内容について、概要をお話ししました。

資料はいつも通りSpeakerDeckに公開していますので、ご覧ください。

speakerdeck.com

当日の音声とあわせた動画も公開しています。日付が24日になっているのは気にしない。

www.youtube.com

ここまでのITリテラシー差がない環境で活動している方も多かったようで、わたしの話しにおどろいた という方もいらっしゃいました。

IT技術者が地域に関わる理由

さて本題。

IT技術者が地域に関わる理由には、他のジャンルとはまたすこし違う理由があると思っています。

  • 自分たちの居場所を確保するため
  • IT技術に対する認識が、地域から失われないようにするため
  • IT技術者が不利な地域を作らないようにするため
  • 必要な時に、相手にもそれらツールを使ってもらえるようにするため
  • 地域にあるまちがったITツールの使い方を正すため

ITというのは、他のジャンルとはちょっと違うものがあると思っています。放っておくと使わない人にはとことん使われず、普及しない。

だからこそ、他のコミュニティと違って、自分たちが「あえて普及させる」必要がある。

自分たちの立ち位置をしっかり確保するためにも、IT技術者が地域に関わる必要があるのではないかと。

続きを読む

プログラマはどうやってスキルアップしていけばいいのか(.NETラボ勉強会に参加しました) #dotnetlab

今日11月30日は、ちょっと久しぶりに.NETラボ勉強会に参加してきました。

f:id:TakamiChie:20191130132706j:plain

とてもひさしぶりだったので、LT発表もしてきました。

資料は以下です。動画についてはしばらくお待ちください。

speakerdeck.com

で、今回ブログに書いたのは参加レポートというより、聞いていて思ったことがあったので。

今のプログラマに必要とされていること

今回スピーチではASP.NETBOT Framework、Power Automateなど、Microsoftの最近のテクノロジーに関するスピーチが豊富にあったのですが、最近のMicrosoft関連技術って、どれもプログラミングだけでなく、データの正規化やMVCの使い分けなど、結構高いスキルが必要になるなあ という感じ。

たしかにコーディングが少なくなったり、制作が楽になったのはあるのですが、そのぶんプログラミング以外のスキルをかなり要求されているような。

もちろん他の環境を使っても複数言語に対する知識や複数モジュールの知識が必要になることは多いし、なにを今更な感じはありますが、なんというか、「プログラミング(というより、プログラマがやること)ってほんと複雑になったなあ」という感じがします。

制限された環境でどう動くか

とくにPower Automateなどは、わたしも最近ちょくちょく使っているのであらためて感じますが、本当に難しい。

プログラミングをするだけならそれほどでもないんですが、Sharepointリストを使ったフローを書いたりすると本当に難しく、プログラミングスキルだけでは太刀打ちができないなあ という感じがします。

プログラミングは確かに、最近需要も増えて、講習会や教室も増えてきたという感じがありますが、じゃあこういったデータの正規化や、Power Automateみたいな制限された環境での立ち回りはどうやって勉強するのだろう?と、話を聞いていて思いました。

Power Automateは、他と違ってコーディングができないので、他の言語ならコーディングやSQLのパワーで押し切れるところが押し切れない。その環境でもやりたいことが実現できるプログラミング力というのは、なかなか高度だと思います。

そういう感覚を、どうやって教えるか

そして、わたしも一応SBCamp.などで講座をやる身として、こういう感覚をどうやって教えるのか というのが課題だなと思いました。

プログラミングそのものを教えることはまあなんとかできるし、コーディングについての心構えを教えることも、一応できる。

ただ、どうやってプログラミングに最適なデータ配置を行うか、どうやってモジュールをきれいに分割するか などといったものは、どうやって教えればいいのだろう?

わたし自身がそんなにうまくない というところもありますが、サンプルが用意しづらい というところもあり、どうすればいいのかが今後の課題だと思いました。

ITの格差と、プログラマの格差

そして話を聞いていて思ったのは、ITリテラシーの有無による格差(いわゆるデジタルデバイド)もあるものの、プログラマの技術力格差もあるような気がします。

こういう場でスピーチができたり、最新技術を追っていけるようなハイスキルのプログラマは、もちろんいます。

ただし逆に、こういった技術をうまく飲み込めず、プログラマとしてのスタートラインにすら立てないプログラマも、たくさんいる。

そういう人同士の格差も一つの課題なのではないだろうか と思いました。

発表することが一番の勉強!とはいうけれど・・・

こういう勉強会ではよく「発表することが一番の勉強」とはいいます。

自分の考えを整理できるし、曖昧だった知識をはっきりとしたものにできるし、わたしもそのとおりだとは思うのですが、発表できるところまで知識を身につけるのも、そうかんたんな話じゃない。

「じゃあわからないことを言語化すればいいじゃない」とも言いますが、本当になにもわからないと言語化すらできないのです。

そういう人は、一体結局どこにいけばいいんだろう そういう人たちをステップアップさせるために、わたしたちはなにをすればいいんだろう と、今回のスピーチを聞いていて思いました。

今プログラミングをはじめるなら、Windowsがいいかもしれない

最近思った話し。

プログラミングには、事前に整えておかなければいけないものがあります。

コンパイル言語であったらコンパイラやその動作のための環境、インタプリタ言語ならインタプリタ。そしてコードエディタ。

最近では高度な処理をライブラリに任せることも多くなったため、必要に応じてライブラリも揃えなければいけません。それらの環境を整えるのってだいぶ面倒くさい。

ただ、それらの設定を行っているうちに、最近表題のようなことを考えるようになってきています。

なぜそう思ったか

たとえばPython

WindowsにはPythonの実行環境こそ入ってはいませんが、公式サイトから簡単にインストールすることができますし、最近ではWindowsストアでの配布もはじまっています。

www.microsoft.com

そして、CGライブラリであるOpenCVPythonで使うためのモジュール、OpenCV-Python

news.mynavi.jp

こちらも、見た限り一行だけでインストールが終わるのは、Windowsだけ。

最近、インストールの準備に関するコードを見ると、Windowsが一番シンプル というケースをぼちぼち見るようになってきたように思います。

Windowsではすぐにプログラミングはできないけれど・・・

Windowsには最初から使えるプログラミング環境が、バッチファイルとWindows Scripting Hostくらいしかありません。

最近になってPowerShellC#VB.NETが追加されましたが、それくらい*1

結局、ちゃんとプログラミングができて、実行ファイルまで作れるような環境はそんなに存在しません。

ただ、逆に、最初は余計なものが入っていないので、環境を構築しようとしたら比較的すんなり構築できる。

たとえばMacの場合だと、最初から入っているPython2を削除する というところからはじめないといけないときもあり、面倒くさい*2

そのへん、元からなにも入っていないからこそ、逆にシンプルに片がつくというのが、Windowsだな ということを最近感じています。

それでもインストールが難しいものはあるけど

それでもインストールが面倒くさいといわれているツールはいっぱいあります。自分が最近使ったツールの中では、Pandocとか、Dockerとか。

pandoc.org

www.docker.com

ただ、これについて、Windowsには最近、Chocolateyというツールもあります。

chocolatey.org

これはざっくりいうとWindows版のapt-getのようなもので、管理者コンソールでchoco install ***というコマンドを叩けば、それだけで簡単にアプリをインストールできる。

この中には、PandocやDockerなどのツールも含まれているため、インストールはとても簡単。

PandocでPDFを生成するために必要なLaTeXはChocolateyからはインストールできませんが、Chocolateyからインストールできるwkhtmltopdfというツールを使えば、PDFを生成することも可能。

さらに、ChocolateyGUIを入れればインストールしたアプリの一覧を生成することも。

これを使うことで、新しい環境へのソフトウェア自動インストールも可能になります*3

プログラミング「以外の」情報の豊富さ

そして、プログラミング以外の情報が豊富であるということもあります。

Macは実際、プログラミングには向いているのかもしれませんが、ユーザーが少ないぶん、どうしても一般的な利用に関する情報が不足しがち。最低限情報を自分で判断して処理するスキルが必要になります。

とくにMacはあくまでUNIXベースですから、本来Macが得意な(デザイン分野などの)範囲を少しでも抜けると、剥き出しのUNIXが待っています。上級者にとってはそれはいいことなのかもしれませんが、初心者にとってそれはとても難しいことだと思います。

プログラミング以外のことに変に煩わされないこと。それは現状、Windowsが最も煩わされにくいのではないかなと。

今はDockerやWSL(Windows Subsystem for Linux)もあるし

それに今は、DockerやWindows Subsystem for Linuxにより、容易にLinuxなどの開発向け環境を構築することも可能です。もし、どうしてもそれらの環境が必要になったら、Windowsならあとでいくらでも追加できる。

案外Windowsにあると昔言われていた、「プログラミングをしづらい要素」は無くなっていたりする。

だからこそ今はWindowsなのかなあ と、最近思います。

*1:そもそも開発環境と言えるようなものがないため、C#VB.NETでまともにプログラミングするのは、けっこうキツい

*2:自分が持っているPCの話しならそれでも良いんですが、他の人が持ってるPCの環境構築となると、けっこう面倒くさかったりします

*3:これにより、我が家ではPCを初期化後、実作業時間1時間(夜間運転時間を除く)程度でPCを再セットアップすることが可能です

図書館総合展に行ってきました #図書館総合展

11月13日(水)は、毎年おなじみパシフィコ横浜で行われた図書館総合展に行ってきました。

f:id:TakamiChie:20191113134731j:plain
図書館総合展2019

内容としては図書館司書とか、図書館関係業務に携わる人・図書館司書を目指すような文系学生さん向けのイベントですので、わたしにはそれほど関係ないといえばないのですが・・・。

文系の学生さんや、その関係で仕事をする人と話す機会はあまりないもので、毎回楽しみにしているイベントではあります。今回も主に司書課などを専攻している学生さんたちと話す機会が得られて、楽しかったです。

また、このイベントは毎回関東外の大学や図書館も参加するイベントですので、普段横浜だけではなかなかできないようなお話もできたのがよかった。

f:id:TakamiChie:20191113171734j:plain
長野図書館のパネル展示

今回話した方々の中にはわたしたちまちづくりエージェント SIDE BEACH CITY.の活動に興味を持ったという方もいらっしゃったようですし、またお話しできる機会があればいいなと思います。

続きを読む

パソコンを使えるようになるために

「パソコンを勉強するには、どれくらい時間がかかりますか?」

先日こんな質問を受けました。

「パソコンの使い方を覚える」というと、地域の方の多くは、既存のパソコン教室のようなものに通うことを連想するので、どうしても「どれくらい時間をかければ勉強できる」という発想になりやすい。

正直自分としては、パソコンが使えるようになるというのは自転車に乗れるようになるようなもので、どのくらい時間をかければいいかなんて人それぞれだと思うのですが、知らない人からすると時間で話をしたくなるらしい。

まあ、パソコンに限らず、 知らない分野については時間で把握したくなるものなのかもしれませんが。

今のパソコン教室のやりかた

ところで、以前何も知らない人のふりをして、近所のパソコン教室の無料相談会にこっそり行ったことがあります。今のパソコン教室ってどういうことをやって、どういう勉強をしているのか。

続きを読む