アウトプット記録

いろんなことをアウトプットします

『日本再興戦略』感想

読みました。読んだのは数日前ですが、バタバタしていたら遅くなってしまいました。。。

日本再興戦略 (NewsPicks Book)

日本再興戦略 (NewsPicks Book)

記録しておきたい箇所

  • これからの日本に大事なのは、いろんなコミュニティがあって、複数のコミュニティに所属しつつ、そのコミュニティを自由に変えられること(中略) ひとつのコミュニティに依存するのではなく、いろんなコミュニティに依存すればいい。
  • その中で世界のあらゆるところに多様性が生まれます。あらゆるデータの表現系は二分法からグラデーションになっていき、人間の知性は個と全体の垣根を飛び越え、近代的人間性から超克される、と考えています。(中略)この考え方のポイントは、「リアル/バーチャル」や「フィジカル/バーチャル」など二分法や二項対立で分けたがる世界を突破するために、人間という考え方も含めて、すべてをミックスしてしまうということです。自然そのものも更新されうるということということです。
  • では、新しい時代に磨くべき能力とは何でしょうか。 それは、ポートフォリオマネジメントと金融的投資能力です。
  • ただし、むやみに横展開すればいいわけではありません。横との交流は、トップ・オブ・トップに会えるようにならないとあまり意味がないですから、まずは一個の専門性を掘り下げて名を上げたほうがいいのです。ニッチな分野でも構いませんので、とにかくまずは専門性を掘るべきです。せめてひとつは、トップ・オブ・トップの人と話すに足る何かを探さなくてはいけません。
  • 「手を動かせ。モノを作れ。批評家になるな。ポジションを取った後に批評しろ」 僕は研究室の学生によくそう言っています。悩んでばかりでは意味がない。とにかくまずやってみる。その繰り返しの末にオリジナリティが生まれ、世の中を変えることができる。それが僕の伝えたいメッセージです。

感想

本書を通して感じたポイントは

  • 「マス」から「多様性」への変化
  • 非中央集権

の2点です。

これまではマス的な思考で社会が進んでいたため、一つの企業で定年まで勤めるライフスタイルでも問題ありませんでした。しかし、これからはマスの中の一個人ではなく、グラデーションの中で、独自の色を持つ個人として生きていく必要があります。

「デジタルネイチャー」と呼ぶ、コンピュータと非コンピュータが融合する環境においてはすべてのものが地続きであり連続することになります。そんな世界で、「自分は〜だから」「あの人は〜だから」と語るよりもまずはやってみてから判断することが重要となってきます。

グラデーションをつけるにあたってはまずは自分の濃い色を持った上で他からのエッセンスを吸収できるよう、トップになることも重要だと語られています。”みんなと一緒”ではだめで、”自分はこれ”を見つけた上で、他の人・ものとコラボレーションする。そういった生き方が求められてきているのだと感じました。

「非中央集権」もその一つだと思います。強力なトップがいる組織ではなく、みんなでイノベーションを起こしていく。自分の苦手なものは他の人の得意なことでカバーしてもらう。代わりに自分の得意なことで活躍していく、そんな組織が望ましいのかもしれません。

振り返ってみて、自分の強みはなんだっけな、と考えてしまいますが、即断できない時点でまだまだだなと思います。これまでやってきたことにとらわれず、いろんなことをやってみて、得意なこと人よりも苦手意識が少ないものを見つけていきたいと思いました。

『メモの魔力 The Magic of Memos』感想

読みました。

メモの魔力 -The Magic of Memos- (NewsPicks Book)

メモの魔力 -The Magic of Memos- (NewsPicks Book)

読むきっかけ

  • 会社で話題になっていた
  • ITエンジニア本大賞にもノミネートされていたため気になった
  • kindle unlimitedにあったので

内容

  1. まず何より大切な理由が、この残酷なまでに時間が限られている人生という旅の中で、「より本質的なことに少しでも多くの時間を割くため」です。 本質とは何かというと、コピーではなく創造、代替可能物ではなく代替不可能物、ということ。つまり、クリエイティブで新たな知的生産につながる思考や、自分にしか思いつかないような代替不可能性の高い思考。これら価値のある本質的思考に1秒でも多く時間を割くために、メモをしているのです。
  2. 左側のページに書くのは、「ファクト」。つまり、どこかで見聞きした、客観的な事実を書きます。何か自分の琴線に触れたものがあれば、その現象自体が「ファクト」なので、左側のページにまず書き記しておきます。 左側は、「抽象化」した要素を書きます。左ページの「ファクト」を見つめて、そこで書かれている具体的な内容を「抽象化」します。左ページに書いた内容から、抽象化すべき要素を見つけたら、そこから適宜右ページに矢印を引っぱって、対応する抽象命題を書いていきます。 次に、抽象化した気づきを別の何かに適用して実際に行動を変えるため、右ページの右側には、「転用」の要素を書いていくのです。「〇〇という真理・命題を受けて、これをこう変えてみよう」という、実際のアクションにつながる粒度まで落として書くことが重要です。
  3. メモをとる上では、現象を言語化する「What型」と、特徴を抽出する「How型」、抽象化して物事の本質を知る「Why型」があり、すべて便利ではあるが、知的創造においては、「How型」と「Why型」、特に最後の「Why型」が大きな価値を生み出すことが多い、とだけ、覚えておいてください。
  4. 最終的には「自分は何をやりたいのか?」という問いに行き着きます。自分を知り、自分の望みを知らないまま、どんなビジネス書を読んでも、どんなセミナーに行っても、まず何も変わらないでしょう。まず「自分を知る」ことがなによりも重要です。
  5. SMARTというゴール設定のフレームワークを「夢」に応用する際に特に大切なのは、「S」と「M」と「T」です。具体的で、測定可能で、時間の制約をちゃんと設ける。これによって、夢がかなう確率が大幅に上がります。

感想

まとめる重要性(「ファクト(具体)」→「抽象」→「転用(示唆)」)を痛感するとともに、その流れが世の中的にも望まれていることを思いました。要約サービスが流行ったり、YouTubeでビジネス書や古典の解説が話題になったり、と可処分時間の奪い合いとともに、エッセンスだけが段々と求められてきているように感じます。

一方でそのエッセンスの抽出やそこから得られる行動や示唆は人によって異なるはずです。その人にしか出せない抽象化やアイディアが差別化になってくるのではないでしょうか。本の要約サービスでエッセンスを掴むことは可能でしょうが、読んで自分の想いを乗せることによってようやく自分のものになる、そんなことを思いました。

あとは質は量から出るものだと思うので、本の感想まとめは続けていこうかと思います。

エクスポートしたはてなブックマークのフィードをCSVファイルに変換する

はじめに

はてなブックマークにおいて、特定の1年にブックマークした自分のブックマークを確認したかったのですが、マイページからはわかりにくかったため、Pythonの練習がてらブックマーク一覧をCSV形式に変換しました。

はてなブックマークの [マイページ > 設定 > データ管理] からブックマークのデータがエクスポートできます。出力可能な形式は

の3パターンです。中身を見てみたところ、Atomフィード形式が扱いやすそうだったので、そちらを利用することにしました。

入力データ

はてなブックマークからエクスポートできるAtomフィード形式のファイルは以下の形式です。どうやらxml形式として扱えそうです。(値は適宜置き換えています)

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja">
  <title>(はてなID)のブックマーク</title>
  <link type="text/html" rel="alternate" href="https://b.hatena.ne.jp/(はてなID)/bookmark"/>
  <link type="application/x.atom+xml" rel="service.post" title="(はてなID)のブックマーク" href="https://b.hatena.ne.jp/atom/post"/>
  <entry>
    <id>tag:hatena.ne.jp,2005:bookmark-(はてなID)-(数字列)</id>
    <title>(ページタイトル)</title>
    <link type="text/html" rel="related" href="(ページURL)"/>
    <link type="text/html" rel="alternate" href="(ブックマークURL)"/>
    <link type="application/x.atom+xml" rel="service.edit" title="(ページタイトル)" href="https://b.hatena.ne.jp/atom/edit/(数字列)"/>
    <summary>(コメント)</summary>
    <issued>(日時)</issued>
    <author>
      <name>(はてなID)</name>
    </author>
    <dc:subject>(タグ1)</dc:subject>
    <dc:subject>(タグ2)</dc:subject>
  </entry>
  <entry>
    ...
  </entry>
  ...
</feed>

方針

日付でブックマークをフィルタして確認することが目標です。出力結果には以下のものが含まれることにしました。

  • 通し番号
  • ブックマークしたページタイトル
  • ページのURL
  • 自分のコメント
  • ブックマークした日時
  • タグ

作成したコード

import bs4
import csv
from datetime import datetime


soup = bs4.BeautifulSoup(open('(bookmarks.atom)'), 'xml')
entry_list = []

header = ['index', 'title', 'URL', 'comment', 'time', 'tags']
entry_list.append(header)

entries = soup.find_all('entry')

for idx, entry in enumerate(entries):
    data = []
    index = str(idx)
    title = entry.find('title').text
    link = entry.find('link').get('href')
    summary = entry.find('summary').text
    issued = entry.find('issued').text

    time = datetime.strptime(issued, '%Y-%m-%dT%H:%M:%S%z')
    time = "{0:%Y-%m-%d %H:%M:%S}".format(time)

    tags = entry.find_all('dc:subject')
    tag_list = []
    for tag in tags:
        tag_list.append(tag.text)
    tag_data = ','.join(tag_list)

    data.append(index)
    data.append(title)
    data.append(link)
    data.append(summary)
    data.append(time)
    data.append(tag_data)

    entry_list.append(data)

with open('data.csv', 'w', encoding="utf_8_sig") as file:
    writer = csv.writer(file, lineterminator='\n')
    writer.writerows(entry_list)

出力結果

以下の出力結果が得られます。

index,title,URL,comment,time,tags
0,(ページタイトル),(ページURL),(コメント),(日時),"(タグ1),(タグ2)"
1,...
...

自分が欲しい情報のみを出力しているので、コードを変更すれば他の値も出力可能です。

感想

これまでコードを書いてこなかったので、意図する動きをするプログラムが書けて良かったです。 本当はもう少し解説?してqiitaに投稿しようと思っていましたが、力尽きたのでひとまずここで供養することにします。

『外資系コンサルが教える 読書を仕事につなげる技術』 感想

読みました

外資系コンサルが教える 読書を仕事につなげる技術

外資系コンサルが教える 読書を仕事につなげる技術

読むきっかけ

  • Kindle Unlimitedに入ってしまい(?)、良さそうだと思ったため
  • 本を読んでいるが、活用できていないのためそれの打開になればと

読む前の思い

  • 本を活用するやり方を知りたい

印象に残った内容5点

  1. ビジネス書の名著をしっかり読む、いわばビジネスパーソンとしての基礎体力をつけるための読書と、リベラルアーツ=教養に関する本を読む、いわばビジネスパーソンとしての個性を形成するための読書の2種類

  2. リベラルアーツを収めるための読むべきカテゴリー

    1. 哲学(近・現代思想
    2. 歴史(世界史・日本史)
    3. 心理学(認知・社会・教育)
    4. 医学・生理学・脳科学
    5. 工学(含コンピュータサイエンス
    6. 生物学
    7. 文化人類学
  3. リベラルアーツの読書を仕事の成果につなげるために、やらなければならないこと。それは「抽象化」(中略)抽象化とは、細かい要素を捨ててしまってミソを抜き出すこと、「要するに○○だ」とまとめてしまうこと。 モノゴトがどのように動いているか、その仕組み=基本的なメカニズムを抜き出すことです。経済学の世界ではこれを「モデル化する」と言います。

  4. 優先順位づけによる選抜です。アンダーラインの箇所がどんなに多かったとしても、イケスに放り込むのは基本的に5カ所、どんなに多くても9つまで。

  5. リベラルアーツに関連する読書において重要なのは、単に転記するだけではなく、必ずビジネスや実生活における「示唆」を書き出すということです。(中略)

    1. 面白かった箇所
    2. ビジネスや実生活に対する示唆
    3. 具体的なアクションの仮説

感想

本の読み方として2種類に分類し、何度も読むべき基礎体力をつける本と読書記録をつけて記録しておく教養の本、の考え方は新しくて参考になった。特に教養本の読み方は参考になった。

ちなみに基礎本はおすすめ曼荼羅があったので、そちら参考にしてみるのもいいかなと。ただ、経営やリーダーシップなど、いわゆるビジネスパーソン向け、と感じたので、エンジニア観点では全てが参考になるかというとウーン、という感じ。

全体をざっと読んで重要な部分を抜き出す、ことは抽象化の観点から見ても非常に重要だと思った。読書は投資活動であり、アイドルタイムをへらす工夫、つまらない本を読まないようにする工夫、選ばないようにする工夫も頷けるものだった。

またビジネスの進め方としても全体を掴んで、抽象化するやり方、は必要だと感じた。

積ん読が増えてしまって、アウトプットや読み方に迷っていたが、教養本のやり方は実践していきたい。ガツガツ線引いて選んでいく行為はなかなかあってそうだと感じた。(ただ、選ぶのはけっこう大変)

PyQやってみた

随分書いてなかったですが、今年はアウトプット頑張ろうと思うので、何でも書いていこうと思います。さて、昨年度末からつい最近までPythonの学習サービスPyQやってたので、その感想です。

PyQの詳細は省略させていただきます。以下の記事が参考になるかなと。

【もう挫折しない】Python学習サイトPyQが入門者におすすめな理由 | misclog(ミスクログ)

では、どうぞ。

総評

  • 手を動かして学習したいPython初心者にはかなりおすすめのサービス
  • やりたいときにやりたい場所でできるため、学習へのハードルが下がる
  • 値段から考えてもコンテンツは豊富であるが、月課金なので、短期集中をおすすめ

自分のスペック

やった時間、内容

やってみての感想

よかったところ

  • 学習に対するハードルの低さ
    • 進行状況はサービスで管理されているため、自宅のデスクトップ、出先のノートPCと端末を変えても実行できるため、学習までのハードルを下げることができます
    • PCさえあればできるので、ちょっと空き時間にやっとくか、ぐらいの気持ちで学習することができたのも継続につながったかなと
    • サイトが重いとかいうこともなく(機械学習の回答チェックだけ他のコースと比べて少し時間かかりますが)サクサクできることもよかったです
  • 環境構築が不要
    • Pythonの環境構築はもちろん、フレームワーク、Jupyterの構築は不要
    • PyQ上に構築してあるため、色々試してみることもできます
    • ここ変えたらどうなるんだろう?ということも試しやすい環境になっていたかなと
  • 演習に集中できる
    • 1点目と被る点もありますが、コンテンツがコースとしてまとまっているため、どう進めればいいんだろう、と迷うことなく、今日はこれ!とできました
    • 書いたコードのチェック→クリア→次ページ、と進む仕組みだが、コードのチェック、次ページに進行、にキーボードショートカットがあるのは非常に便利でした
      • 始めた当初はページ送りにキーボードショートカットなかったと記憶しているのですが、いつの間にか追加されていたのも好印象でした

気になったところ

  • 復習しにくい構成
    • あくまで自分で手を動かすことがメインになっているため、あの処理どうするんだっけ?あの仕組みってどうだっけ?といったことを振り返ることがやりづらいです
    • あくまでこのサービスはよくできた問題集の扱いで考えるといいのではないかと思いました
  • 継続すればするほどコスパ
    • PyQのサービス料(ライトプラン)は 3,040円/月 です
    • PyQのコンテンツとしてはPythonの基礎からWebアプリ、データ分析、機械学習、主要ライブラリ、などなど、と幅広く用意されています
    • 学習範囲を考えるとこの値段は破格です
    • ただし、月単位でかかってしまうので、3000円でこれだけはすごい、が12,000円で、となるとまた費用対効果はかわってくるのかなと
    • ですので、短期集中で一気にやってしまうのがオススメです

欲しい技術書まとめ

知人が技術書読んでて焦ったので読みたいやつをまとめた。 以前のセールでhonto使ったが、kindle Unlimitedも使っているので分散されるのを少々懸念している。むしろ分散化がよい、という見方もあるけど。。。どこで買うかなー。さすがに電子で買おうと思うが。

マインドセット

イシューからはじめよ――知的生産の「シンプルな本質」

イシューからはじめよ――知的生産の「シンプルな本質」

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

コンピュータのしくみ

コンピュータの構成と設計 第5版 上・下電子合本版

コンピュータの構成と設計 第5版 上・下電子合本版

Web系基礎

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

パケットキャプチャの教科書 (Informatics&IDEA)

パケットキャプチャの教科書 (Informatics&IDEA)

Python

スラスラわかるPython

スラスラわかるPython

スラスラ読める Pythonふりがなプログラミング (ふりがなプログラミングシリーズ)

スラスラ読める Pythonふりがなプログラミング (ふりがなプログラミングシリーズ)

サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考

サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考

コーディング

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

セキュリティ関連

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~

サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~

暗号技術入門 第3版

暗号技術入門 第3版

暗号技術のすべて

暗号技術のすべて

現代暗号の誕生と発展

現代暗号の誕生と発展

ハッカーの学校

ハッカーの学校

暗号技術のすべて

暗号技術のすべて

資料作成

社内プレゼンの資料作成術

社内プレゼンの資料作成術

参考にした/なりそうなサイト

shinyorke.hatenablog.com www.shoeisha.co.jp

まず欲しいのはこのあたりかなぁ、、、

  • イシューからはじめよ――知的生産の「シンプルな本質」
  • エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする
  • スラスラわかるPython

ゼロ知識証明の記事について考えてみた

はてブ見てたらこんな記事があったので少し自分の考えを書いてみたいと思います。

 

note.mu

元記事はこちらです。

blog.goodaudience.com

 
コメントにあった例1,2だけ考えてみますね。

例1
アリスがボブにウォーリーを見せることで「アリスがパズルからウォーリーを見つけたこと」を証明しています。
ここでのポイントは
①アリスがボブに見せたウォーリーが本当にパズルのウォーリーなのか
②「見つけたこと」以外の情報は伝わっていないか
ということです。
それ踏まえると、以下のようだと理解しました。

証明1
アリスからはウォーリー以外の情報がないので、ボブとしてはこれが本当のウォーリーかどうか判断できません。
したがって、透かしを入れる例がありますが、これは例えばボブが渡す段階でウォーリーに名札でもつけておく、というのでもいいと思います。
アリスから届いたウォーリーが名札付きウォーリーなら他にも居ない、だから渡したパズルからとったのだろう、と検証できます。
そしてアリスからボブにはウォーリーしか伝わっていないので、パズルにおけるウォーリーの位置、は少なくともアリスからボブには伝わっていません。

証明2
(これがちょっとわからないのであくまで自分の理解、ということで了承ください)
パズルのサイズとは異なるカードボードを重ねて、ボブにウォーリーを見せたあとでカードボードを外せば元のパズルの上にカードボードがあった、ということを伝えられます。
そしてサイズが異なるカードボードを使うことで「パズルのウォーリーの位置」≠「カードボードのウォーリーの位置」となるため、「パズルのウォーリーの位置」は伝えずに済みます。
ただこれは外した段階でどこにいるかが伝わるんじゃないか、と思うので今ひとつピンときてないです。

 

 

例2
ボブがアリスに対してアリスがボールを入れ替えたかどうかを伝えることで「ボブは色が見えていること」を証明しています。
ここでボブはアリスに対して伝えていることは
 ・アリスがボールを入れ替えた
 ・アリスがボールを入れ替えていない
だけです。アリスが何色のボールを持っているかも、どの手にボールを持っているか、も伝えていません。誰かにこの情報の伝達をお願いしたとしても、何ら困ることはないのです。

 


暗号理論では「その暗号が安全である」ことを証明する事が必要で、ゼロ知識証明はその証明のための一つのテクニック(技術や手法、といってもいいかもしれません)、といえます。
(厳密に言えば、どんな仮定で、どんな根拠で、どれだけ安全か、ということもセットにしないといけません。)

仮想通貨はその話題性から色々話題になっていますが、その根本には暗号的な技術があるわけで、そういう意味では今後も目が離せない分野だと思っています。