TPのつぶやき」カテゴリーアーカイブ

ロジカルシンキングを考えてみる

ロジカルシンキングと言う言葉があり、主にビジネスの世界で使われている。数社のコンサルタント会社が使っているようである。
そのロジカルシンキングとは、何なのかを検証してみよう。

ロジカルシンキングの定義は

ロジカルシンキング(logical thinking)とは、一貫していて筋が通っている考え方、あるいは説明の仕方のことである。

とされている。筋が通っている?考え方?または説明の仕方?この定義だとロジカル関係なくないかな?筋が通っていればロジカルシンキングになるということなのか?甚だ疑問が浮かぶ。

日本語だと論理思考、論理的思考と言われるようだが、議論の余地があるとwikipediaでは主張されている。
また、英語圏で一般的に用いられる言葉でなく、日本で浸透してるという意味では、和製英語であると言える。

まずロジカルシンキングの「シンキング」、日本語では「思考」とは何か。

思考(しこう、英: Thinking)は、考えや思いを巡らせる行動[1]であり、結論を導き出す[2]など何かしら一定の状態に達しようとする過程において、筋道や方法など模索する精神の活動である[3] 出典Wikipedia

思考とは、思いを巡らせる行動であり、精神の活動であると定義されている。
ロジカルシンキング、論理思考とは、論理的である、思いを巡らす行動であり、精神の活動であることを意味しようとしているのか。

次にロジカルシンキングのロジカル、理論について考えてる。この場合の理論は理論学の理論ではなく、筋が通っているという意味合いで理論という言葉を使っている。具体的に何とか理論を使うというものでもなく、いくつかの方法を使用した、思考であると言っている。理論という言葉が誤って使われているのだ。wikipediaに改善の余地があると指定されているのは、その不正確な言葉の使用が理由であると伺えよう。
さらに、思考という単語も使っているが、思考は思いを巡らす行動、精神の活動であって、直接にロジカルと繋がらない、独立した別なものである。このロジカルは、思考をコントロールするものでも、影響を与えるものでもない。
つまり、ロジカルシンキングという言葉は、不正確で誤った意味に捉えかねない紛らわしく不適切な言葉であるといえる。

$avrdude メモ

$avrdude -P /dev/ttyUSB0 -b 19200 -c avrisp -p m328p 
$avrdude -P /dev/ttyUSB0 -b 19200 -c avrisp -p m328p -v -e -U lfuse:w:0xe2:m  

/etc/avrdude.conf

programmer
  id="ftdi";
  desc = "FT232R Synchronous BitBang";
  #type = "ft245r";
  type = "ftdi_syncbb";
  miso = 3;  # CTS X3(1)
  sck = 5;  # DSR X3(2)
  mosi = 6;  # DCD X3(3)
  reset = 7;  # RI X3(4)
;
sudo avrdude -c ftdi -p m328p  -P ft0 -b 4800
$sudo avrdude -b 19200 -c ftdi  -p m328p -P ft0 -v -e -U lfuse:w:0xff:m 
$sudo avrdude -c ftdi -p m328p  -P ft0 -b 19200 -F -v -e -U flash:w:/usr/share/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex
http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p

json そして再び csv化 

http://blog.appliedinformaticsinc.com/how-to-parse-and-convert-json-to-csv-using-python/
まだjsonとの格闘が続いている。既に抽出まではクリアしたが、その後やってない。
上のリンクはHow To Parse and Convert JSON to CSV using Python
pythonライブラリを使ってcsv化している。phpより簡単か?やっぱ時代はpythonか?

暇な時やってみよ。それより先の方法での抽出後、csvしlibreで読みこみ編集ぐにゅぐにゅ、sqliteでもやりたいんじゃ!

bookmarks.json PHPの 連想配列 キー 取得 ネスト された配列を再帰を使って取り出してみた

このjsonを解析するとarrayとobjectとstringが混ざっているんで、どう処理したらいいかと。再帰を使ってやってみた。
一応抽出するとこまではできたかな。

<?php
$json=file_get_contents("bookmarks.json");
$obj = json_decode($json,false,512,JSON_BIGINT_AS_STRING); 

function search(&$obj)
{
foreach($obj as $key => $value){
 if (is_array($value)){
    echo $key." - array"."\n";
    search($value);
    } else {
    if (is_object($value)){
      echo $key." - object\n";
      search($value);
      } else {
     echo "not array not object ".$key."---".$value."\n";    
      }
    }
}
}

search($obj);
?>

jsonのデコード オブジェクト型

https://syncer.jp/how-to-use-json
によると、jsonのデコード オブジェクト型らしい
よくわからん
http://qiita.com/IganinTea/items/de6201fe860a65e192a1
によると
「配列であるか」が判定できるようだ。これ使えるかもね。
http://www.atmarkit.co.jp/ait/articles/1404/16/news044_2.html
なんとなく
http://php-beginner.com/reference/typearray/func_array.html
ふむふむ
http://qiita.com/mmusasabi/items/4b7d2f27bd4604bfc17f
えーっと $memberって

<?php
$json=file_get_contents("bookmarks.json");
$obj = json_decode($json,false,512,JSON_BIGINT_AS_STRING);
echo "hairetu su".count($obj);
echo "\n";
foreach($obj as $key => $value){
  if (is_array($value)){
    echo "hairetu desu\n";
    echo $key."\n";
    echo "hairetu su".count($key);
    echo "\n";
    } else {
    echo "not haireru\n";
    echo $key.";".$value;
    echo "\n";
    }
    echo "-----\n";
}
echo "\n"
?>

再帰しないとだめかな
http://www.shigemk2.com/entry/20120509/1336555886
これよさそう

Firefoxのbookmarks.jsonが書式が後付だった気がする

解析をすすめるうち、 [“annos”]=>があるのが分かるのだが、おまけの部分をここに記述してるな。 [“name”]=> [“flags”]=>[“expires”]=> [“value”]=>とあり、feedの場合それが2相か3相用意されてる。
descriptionの場合は1相だけ使ってる。[“name”]=>string(30) “bookmarkProperties/description”のように。
feedの場合 [“annos”]=>array(2) で{ [“name”]=>string(16) “livemark/feedURI”
[“annos”]=>array(3) {[“name”]=>string(16) “livemark/feedURI”[“name”]=>string(16)”livemark/siteURI”[“name”]=>string(24) “placesInternal/READ_ONLY”
の場合もある。
annosは要注意だね。そこを解析してからでないと。集計は難しいかな。

または。bookmark.htmlの方でやるか。

どうする?

phpの配列とは? ここでの配列は?そこから入っていかないとならんな
まずは配列の数

途中で配列の配列と混合してるがどうするか

Bookmark json の処置 編集をjsonにそして戻す

firefoxの肥大化したbookmarkをjsonで書出し、データを抽出、余計なもの。要らないとこや重複を削除したい。関連度によって並び分けも自動である程度行いたい。最後はブラウザに戻すわけ。

phpで抽出は行ったんで。テストはまだだが。pythonでも書いてみたいな。次はデータベースに入れて、クローラで収集、関連付けだね。

https://gist.github.com/jayrambhia/1719957
pythonはこれ?違うか
https://linuxfreelancer.com/extract-bookmarks-or-favorites-from-your-firefox-browser こっちがいいか
http://code.activestate.com/recipes/579077-bookmarks-browser-for-firefox/
ここもいいな。pythonは検索に多くひっかかるな。最初からpythonが良かったかな。

http://stackoverflow.com/questions/1955505/parsing-json-with-unix-tools
これはいいかも

Firefoxのブックマークのバックアップのjson

ブックマークのバックアップはjsonの形式で出力されている。phpで取り出してみる。childrenで階層になっているので、それも全部抜き出している。7階層まで取り出し、そこまで内包してなかった。

<?php
$json=file_get_contents("bookmarks.json");
$obj = json_decode($json,false,512,JSON_BIGINT_AS_STRING);
echo  $obj->guid.",\"".$obj->title."\",".$obj->dateAdded.",".$obj->type.",".$obj->uri."\n";
if (array_key_exists('children',$obj)){
  foreach($obj->children as $key){
    echo $key->guid.",\"".$key->title."\",".$key->dateAdded.",".$key->type.",".$key->uri."\n";
    if (array_key_exists('children',$key)) {
      foreach($key->children as $key2){
        echo $key2->guid.",\"".$key2->title."\",".$key2->dateAdded.",".$key2->type.",".$key2->uri."\n";
        if (array_key_exists('children',$key2)) {
          foreach($key2->children as $key3){
            echo $key3->guid.",\"".$key3->title."\",".$key3->dateAdded.",".$key3->type.",".$key3->uri."\n";
            if (array_key_exists('children',$key3)) {
              foreach($key3->children as $key4){
                echo $key4->guid.",\"".$key4->title."\",".$key4->dateAdded.",".$key4->type.",".$key4->uri."\n";
                if (array_key_exists('children',$key4)) {
                  foreach($key4->children as $key5){
                    echo $key5->guid.",\"".$key5->title."\",".$key5->dateAdded.",".$key5->type.",".$key5->uri."\n";
                    if (array_key_exists('children',$key5)) {
                      foreach($key5->children as $key6){
                        echo $key6->guid.",\"".$key6->title."\",".$key6->dateAdded.",".$key6->type.",".$key6->uri."\n";
                        if (array_key_exists('children',$key6)) {
                          foreach($key6->children as $key7){
                            echo $key7->guid.",\"".$key7->title."\",".$key7->dateAdded.",".$key7->type.",".$key7->uri."\n";
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

?>