かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

jp.techcrunch.com

プログラミングにおける何らかの問題に取り組むとき、まず私たちはその問題が何であるのか、そしてそれは本当に問題であるのかを見極めなければならない。その問題が本当にプログラミングで解決できる問題かどうかを考慮せず、プログラミングで解決することに固執し、「なぜ問題なのか」という視点を失ってしまっては、そこから何も得ることはできない。それがプログラミングで解決できる問題であろうと、なかろうとだ。

 

昼夜Objective-Cを学び、WWDC 2014でSwiftの発表に愕然とした人はどうなるのだろうか?彼らは傍流となった言語でのプログラミングを続けるのだろうか。それとも、また始めから勉強し直すのだろうか。20代の若いディベロッパーにとっては、それは大した問題ではないのかもしれない。しかし毎月の支払いを抱え、家族を養わなければならない者たちにとっては、そのやり直しは非常に困難なものになる。

プログラミング言語は日々進化しているため、それ自体を理解することもできないまま、彼らはその問題に直面することになる。

プログラミングを学ぶことと、それを生業とすることの間には高い壁があるのだ。

本当に。

これはなかなか面白かった。記事としてはあまりまとまっている感じがしなかったけど、出てくる話は良い。問題がそもそもあるのか、問題は何かを理解するのがとても難しいように思う。

 

読書感想文『具体と抽象』細谷功

『メモの魔力』やそれを読んで思い出したITのカンファレンスの資料を読んで抽象化について興味が湧き、購入しました。直接のきっかけは倉貫さんのブログで取り上げられてたこと。

medium.com

Amazonの評価もけっこう割れてて、何となく想像していたけど、読んでみてやはり好き嫌いが分かれそうな本だなと思った。僕はこういう本けっこう好き。

内容としては、抽象化する力の大事さを説き、抽象化にはどのような軸があるかを一つずつ説明した本となっている。

具体と抽象 ―世界が変わって見える知性のしくみ

具体と抽象 ―世界が変わって見える知性のしくみ

  • 作者:細谷 功
  • 出版社/メーカー: dZERO
  • 発売日: 2014/11/27
  • メディア: 単行本(ソフトカバー)
 

それぞれの軸で抽象と具体の特徴を挙げていて、考える補助線が欲しい人は好きだと思うが、新しい知識が欲しい人には物足りない本だと思った。この中で一般的に面白さが伝わりやすいと思ったのは「関係性と構造」という章。歴史上の出来事は因果関係という関係性で抽象化すると共通するものが見えてくるという説明は抽象と具体という構造から見直すと面白かった。

この話はシステム開発する人ならすごく面白く読めるかなと思った。実際にそういう切り口で面白い発表を聞いたことがある。

speakerdeck.com

 

問題の整理の仕方で悩んでいる時に見直すとヒントが得られるような本だと思う。

USBメモリに入れておいたファイルが消えた

打ち合わせでの出来事。

打ち合わせで使うファイルをUSBメモリに入れてきたそうなのだが、USBをノートPCに入れたところ、ファイルがすべてなくなっているとのこと。私のノートPCでもファイルが何も表示されない。困ったなと思っていたところ、同僚がコマンドプロンプトで解決できるよと教えてくれた。手順はこのサイトを見てもらうとよい。

attrib *.* -h -s /s /d

https://visihow.com/Show_Hidden_Files_Using_Command_Prompt

 

ここで使われているattribコマンドは特定のフォルダやファイルの属性を設定するコマンドで、-h で隠しファイル属性を削除、-s でシステムファイル属性を削除、/s でサブディレクトリに適用、/d でディレクトリにも適用。システムファイル属性は普段いじらないし、通りで隠しファイルを表示する設定にしても何も表示されないわけだ。

docs.microsoft.com

「AIって何」と聞かれた時に提供した情報(2019/09/11)

こんな話をしました。

AIの話をするときにいくつか関連するキーワードがあります。

統計、機械学習、深層学習の3つです。

統計はAIとは呼ばれませんが、データ分析という切り口では同時に出てきます。

統計と機械学習の違いは統計は既存のデータを理解することを重視していて、機械学習は未来を予測することを重視している。また、深層学習は機械学習の1領域だが最近話題になっているのはこの深層学習。

機械学習は一般的にどの特徴を分類に使うか人間が指定するが、深層学習では結果をもとにどの特徴をどのように分類に使うか人間は分からない。

 

Googleのマンガ

cloud.google.com

これが一番わかりやすい。ちょっと例えが分かりにくいところもあるけどそれでもいい。

NHKの2分ビデオ集

www.nhk.or.jp


朝日の記事

https://globe.asahi.com/article/12872410

Microsoftのラーニングサイト

docs.microsoft.com

本格的なオンラインコース(英語)

www.elementsofai.com

複数サイクルのプロジェクトのタスク管理

現在の案件は組織の業務改善を目的とするプロジェクトで、トータル5年。業務は1年サイクルで回り、ステアリングコミッティーが半年に1回となっている。プロジェクト開始前に大きな活動は作成され、それに基づいて調整しながらの実施が期待されている。

こういう複数回のサイクルの活動はあまり経験がなく、計画やタスクの管理がぴんと来ていなかったがとりあえず現在これでいけそうだというところに落ち着いたのでまとめてみる。

ざっくりと以下の通り。

 

f:id:name_untitled:20190902220826j:plain

1.5年間で実施すべき活動がざっくりと定義されている。
2.毎月頭にこの活動からこの先3か月のタスクを切り出す
3.日々タスクを管理し、必要に応じてタスクを追加する
4.毎月末に活動報告を作成する
5.半年ごとにProjectの報告書を作成する
6.ステアリングコミッティーで活動を見直す

メンバーがPMBOKなどになじみがなく、またすべての活動のタスクを切り出すとやる気が失せる気がするのでこういった形にしています。

もっといいやり方などあればぜひ教えてください。

PythonとSeleniumでファイルダウンロードURLが有効か調べて結果を出力する

PythonフレームワークのOdooを使ったシステムで、フォームに添付されていたファイルが一部消失しました。保守している会社から添付ファイルテーブルのデータをもらったので、スクリプト組んで、どのファイルが残ってるか、確認することにしました。(直接サーバーにアクセスできない。)コードは一番下に。今回Gistを使ってみました。

道具立ては以下の通りです。

  • 動作PC:Windows10
  • 言語:Python(Anaconda)
  • ツール:Selenium

基本動作

  • サービスにログイン
  • リストを読んでファイルのIDを元にGETリクエストを投げる
    リストはファイルID、ファイル名の2列から成る
  • ダウンロードフォルダにアクセスする
  • ファイルの有無をログファイルに出力する

気付き

  • これ、Google Colabで良かった気がする
    今のネットワーク環境良くないので
  • Python2のサンプルコードを間違って踏まないよう要注意
  • PythonでもC#のusingみたいな書き方ができる(with句)
  • Visual Studio Codeで結構快適に書ける

A Python script that downloads files from web serv ...

Windows10 Home、Office Home and Business 2019でカスタムフォントが表示されない。

今回はPC系のトラブルは看護の世界で使われているSOAPという記述要領で書いてみる。それぞれ以下の単語の頭文字からなる。

  • Subjective(主観的情報)
  • Objective( 客観的情報)
  • Assessment( 評価)
  • Plan(計画)

Subjective

ネットで落としてきたフォントがOfficeでは表示されないとのこと。Adobe Illustratorでは表示されるとのこと。インストール、アンインストールを何度か試したが、ダメ。Officeはアプリ版とデスクトップ版とがあるが、デスクトップ版を使っているとのこと。

Objective

PCを確認してみた。フォントは正しくインストールされているように見える。また、フォントの設定画面では通常そのフォントのプレビューが表示されるが、対象となるフォントでは表示されない。

Assessment

いくつかアプリ版で同様の事例はあったものの、デスクトップ版ではぴったりはまる事例は見つからなかったため、このPCのOfficeでだけ起きる、つまり、Officeに問題があるのではないかと考えた。

Plan

Officeを修復インストールし、フォントを再インストールしてPCを再起動。フォントファイルを右クリックして、全ユーザーにインストールを選択。

Objective

1つのフォントについては表示された。別のフォントを同様にインストールしようとしたところ、失敗した。

Assessment

最初のフォントファイルはトゥルータイプと次のフォントファイルはオープンタイプとフォントの形式が違った。別のやり方でインストールをすればうまくいくのではないか。

Plan

C:\Windows\Fonts フォルダにフォントファイルをドラッグドロップする。

Objective

失敗。

→この後、PCを再起動すると成功した。

結論

上記から考えると、Officeの修復インストール、フォントファイル再インストール、PCの再起動がタイトルの問題を簡単に解決すると思われる。