Are you the publisher? Claim or contact us about this channel


Embed this content in your HTML

Search

Report adult content:

click to rate:

Account: (login)

More Channels


Channel Catalog


Channel Description:

kbaba1001's blog.
    0 0

    Clojure Essentials: 入門書では飽き足らない人へ

    Clojure Essentials: 入門書では飽き足らない人へ

    Rubyをずっと使ってきたけど、新しい力が欲しくて Clojureを勉強し始めた。Clojureについてざっくり知りたくて、いいドキュメントがないか探していたらたまたま Kindleで 300円で上記の本があったので読んでみた。内容は Clojureの機能をざっくり紹介していて、説明は少なめだったけどその分はやく読めたから良かった。 初めの方に「英語を読むのが面倒な人向け」と書いてあったけど、まさにそんな感じだった。 Clojureguideにも一通り読んだけど、この本の方が詳しかったように思う。

    驚いた点

    • defは変数宣言なので def hoge 0rubyでいうところの hoge = 0に相当する
    • 無名関数を定義するのが fnなので有名関数を定義するには def foo (fn [n] n)のような感じになる。この辺は JavaScript等と同じで、変数と関数を区別しない考え。省略記法として defn foo [n]のようにもかける
    • defで定義したシンボルにメタデータを与えることができる。ex: (def ^{:doc "Num of items"} num-items 20)みたいな感じ。
    • これにはいくつか予約語のようなものがあって、例えば、:dynamicコンパイラに型のヒントを与えることができる。(戻り値の指定に使える?)
    • :pre:postで事前条件、事後条件を設定できる。つまり、契約による設計をシンタックスとしてサポートしている。
    (def twice
      (fn[n]{:pre [(> n 0)]
         :post [(even? %)(>= %2)](* n 2)}))(twice -1);これは Assertion Error になる(twice 3);6 を返す

    雑感

    RubyLispの影響が強い言語だから Clojureにも近い部分が有るけど、 Clojureはより関数型言語であることや並列処理を意識していて、そういうのが Rubyより強いのは興味をそそった。 また、僕は文法がごちゃごちゃした言語は苦手だ。Lispは文法はすごく単純だ。しかも Clojureは他の Lispに比べても簡素にかけるように工夫されている。そういうところが気に入った。

    だいたい自分に合わない言語の場合、この手の本を最後まで読み終えることが出来ないから、最後までよんでも興味を失っていないということはそれなりにあっているのだと思う。

    ClojureRubyと比較すると、まず並列処理に優れている。Ruby (cRuby) は GIL (Global Interpreter Lock) により基本的には1つのCPUしか使わないようになっているから、複数のCPUがある環境ではCPUのパワーを存分に発揮することは出来ないし、Rubyの文法は並列処理を意識したものではない。 ClojureRubyと同じく動的型付け言語だけど、 関数にメタデータを設定することで Rubyよりも入力値・出力値の安全性を上げられそうだと感じた。なにも Haskellのような型の考え方だけが正解ではないだろう。それに僕は未だに動的型付け言語の方が好きだ。確かに今まで幾度となくダックタイピングを悪用したひどいコードを見たことは有るけど、僕がそういうコードを書いたわけじゃないしね。 上記の2つは Ruby 3 で対応が宣言されていることでも有るから、 Clojureはほぼ Ruby 3 と考えてもいいんじゃなかろうか。これはもちろん暴論だけど、僕はそんなふうにとらえた。

    次の本ももっているので読んで見るつもりだ。

    Clojure for the Brave and True: Learn the Ultimate Language and Become a Better Programmer

    Clojure for the Brave and True: Learn the Ultimate Language and Become a Better Programmer

    プログラミングClojure 第2版

    プログラミングClojure 第2版


    0 0

    プログラミングClojure 第2版

    プログラミングClojure 第2版

    前回に引き続き Clojureを勉強中。

    do

    ifの中などで戻り値とは別の式を評価したいときに使う。これは結局、副作用を導入することになる。

    (defn is-small? [number](if(< number 100)"yes"(do(println"Saw a big number" number)"no")))

    whenは上記を省略してかける。

    loop と recur

    looprecurによる再帰recurにより再帰のパフォーマンスを向上できる (末尾最適化を簡易にしたもの)

    (loop[result [] x 5](if(zero? x)
        result
        (recur(conj result x)(dec x))))

    recurloopの冒頭にジャンプする。 recurの引数は loopの引数に渡されて再帰呼び出しされる。 普通に再帰をするより recurを使って再起したほうが最適化されてメモリーを上手に使える。

    関数の中であれば loopは省略できる。その場合、recurは関数の冒頭にジャンプする。

    (defn countdown [result x](if(zero? x)
        result
        (recur(conj result x)(dec x))))

    for

    リストの内包表記。Haskellでいう所の [x | x <- [1..10]]。 これを clojureで書くと (for [x (range 1 10)] x)になる。

    メタデータによる型情報の定義

    メタデータで関数の引数と戻り値の型を指定できる。

    (defn^String shout [^String s](.toUpperCase s))(shout "abcde");=> "ABCDE"(shout 12345);=> ClassCastException java.lang.Long cannot be cast to java.lang.String  user/shout

    この場合、キャストが出来なければエラーになる。逆にいうと暗黙的なキャストはしているということか?

    関数のメタデータには、型情報、メソッドのドキュメント、事前・事後条件がかけるので、結構使い勝って良さそう。

    シーケンス

    何かしらのコレクションのこと。

    文字列やディレクトリ構造、I/Oストリームもシーケンスとして扱える。 シーケンスとして扱えることを seq-able (「シーカブル」)という。 Rubyの Enumerable のように同じインタフェースで操作できるメソッドがある。 mapとか reduceとかが使える。 Javaのコレクションもシーケンスとして扱う。

    進捗

    10章まであるうち3章まで読んだ。


    0 0

    プログラミングClojure 第2版

    プログラミングClojure 第2版

    読み終えたといっても流し読みなので、半分くらいはぱらぱらページをめくっただけ。 Amazonのレビューにもあるけど、この本は内容が結構高度なので初学者が読んでもすぐに理解できるものではないようだ。 最近の僕の読書のやり方は「とりあえず最後まで読む」なので、理解に時間がかかりそうなところは飛ばすことにした。 並列処理とか multi method などの便利な機能は、はじめから使いこなせなくてもプログラミングはできるはずだし。

    それにしてもスゴイ言語だ。なんでもっと流行らないんだろうか。 「Lispだから」という部分はあまり意識しなくてもいいように感じた。 Clojureは色々なことがなるべく楽に書けるように配慮されている感じだった。 それでいて、利便性やパフォーマンスは犠牲になっていないように思う。 Javaの機能を使うのも簡単にできるように出来ている。

    また、動的型付け言語というのもそこまで気にする必要はないように思う。 だって型推論に型ヒントを渡す事ができるから、型を宣言できるのだ。 基本的に型は宣言せずにダックタイピングを行えるようになっているけど、 型を宣言したかったらしてもいいらしい。 型を宣言するとコンパイルが早くなるというメリットもある。

    Clojureオブジェクト指向はやりづらいのかもしれないけど、そこは考え方を変えていけばいいと思う。 近頃の僕のRubyの書き方(つまりHanamiのようなアプローチ)は、コマンドパターンを使いまくっていて、なんだかあまりオブジェクト指向らしくない。 lambdaも多用するようになっていたこともあって、何かもっと別のアプローチをできるようになりたかった。 Clojureは自分の中でRubyでやりづらいと感じたことができるような気がする。

    とりあえず書籍を2冊よんだから、そろそろハンズオン的なことをやっていこうかな。


    0 0

    techplay.jp

    Railsエンジニアの交換型インターンシップについて

    フィヨルドの駒形さんの話。インターン生用の次のサイトを作っている。

    256interns.com

    内容は「学習 + 仕事の手伝い」で、参加費は無料。その代わりバイト代もでない。

    リモートインターンも受け入れていて、まったく対面せずにインターンすることもある。 7割くらいは社会人インターンとのこと。昼間働いて、夜間にインターンする人もいるらしい。

    「くるものを拒まず、さるものを追わず」の精神で、たくさん受け入れているらしい。

    ↓詳しくは駒形さんのブログで。

    docs.komagata.org

    無料でやっていることに関しては、なんとか有償化したいらしいが、どのようにやるかのいい案を出せていないとのこと。 「無料だから人が来る、紹介しやすい。一方、参加者も向いてないと感じたらやめやすい」というのが強いという発表だったので、 たしかに有償化は難しいのかもしれない。

    それにしても、結構手間はかかってそうなので、やっぱり収益を出せたほうがいいんじゃなかろうか。

    感想

    • プラットフォームあるとやっぱり指導しやすそうだなと思った
    • インターン生にやらせる仕事は受託じゃなくて社内サービスというのも良いと思った
    • リモートインターンのほうが「教室作り」的なことに苦労しなくていいのかもしれない (反面「所属感がない」のスライドみたいなことはあるっぽい)
    • ニート、ひきこもりの社会復帰を助けられてるのはいいなと思う

    疑問

    • インターン生の書いたコードはクオリティが低いと思うけど、それを指導する労力を考えると自分で書いたほうが速いんじゃなかろうか?
      • シニアインターン(バイトリーダー的な人)がいるからその人が指導すれば、めっちゃだめってことはないのかな?
      • このへんの指導する側のモチベーション維持はやや気になる。「やっててよかったこと」のスライドがモチベーションだとは思うが。
    • アスペルガー障害とか発達障害とかも含めて、他の人とうまくやっていけない人もくるとおもうけど、どう対処しているんだろう。そういう生々しい話も聞きたかった。

    Railsコントリビューション

    y-yagi さんの発表。

    • Railsのコミットログを3年位ずっと読んでる
    • Rails Contributors ( http://contributors.rubyonrails.org )
      • Railsの Contributors のランキングが見れるサイト
    • Rails本体のコードでも意外とミスが多い
      • document と食い違う
      • そもそも動かないなど

    コントリビュートのモチベーション

    • 期待通りに動かないことを直したい
      • SNSで文句を言ってもなおらない
      • issue or PR を作る
        • 英語が苦手なので PR をいきなり投げているらしい
    • 機能が足りないので追加したい

    具体的なアプローチ

    コントリビューションのガイドラインがある(若干古め) http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html

    • Issue

      • Railsの issue はバグ管理のみで使っている
        • こういうプロジェクトの方針には従う
      • 新機能追加への議論は rails-core mailing list でやってる。
        • でも新機能の提案を Pull Request で出してもいい
      • issue のバグ報告用のテンプレートがある
        • 再現ケースを書く
        • 再現用のリポジトリを作るとか、単体で動くようにするケースを用意するとか
      • 古いRailsのissueは無視される
    • Pull Reuqest

      • 似たような PR がないか検索する
        • Open されているものだけでなく Close されたものも見る
      • 同じような PR がやり取りがとまっていることになる
        • 作者に pingして「まだやる気があるか」確認する
        • 引き継ぐこともできる
      • 本当に Rails本体に入れる必要があるかどうか考える
        • gem じゃダメなのか?
        • gem で作った後 Rails本体に取り込まれるものもある
      • Pull Request もフォーマットが決まっている
        • でもフォーマットは雑なのでサマリがちゃんとしてればいい
        • CI の結果を確認する
          • ActionCalbe とかが無関係だけどたまに落ちる。そういうのは無視していい。
      • 性能アップ
        • コミットログにパフォーマンスチェックのスクリプトを書く。
          • これがあると、後から「当時は大丈夫だった」みたいなことがわかる
        • Pull Request の description に書くようなことは、全てコミットログに入れてしまった方が良い
          • Pull Request を見るのは大変
          • 将来的に githubが消える可能性もある
      • 使われていないように見える機能でも、過去に切り出した gem で使われている可能性がある
      • レビュアーの負担を減らせるように、必要そうな情報はすべて書くようにする
      • Public API (rails doc にのっているもの) の挙動を変えないようにする
      • Public APIの挙動を変えたい場合は DEPRICATION にしてから消す。
      • railsは commit をスカッシュする

    コントリビュートを始めたい人はどうするか?

    • 公式の document を見る
    • ドキュメントが間違っているのを発見したら pull request を投げればいい
    • 新しいバージョンを触る (beta とか rc とか)
      • 新しい機能は壊れている
    • Rubyの新しいバージョンで触る
    • Issue をみる。
      • 適当な Issue をみて、なおそうとしてみる。
      • 2行くらい直せばうまく動くことも結構ある
    • コミットログやPRを参考にする
    • なんか怖い

    感想

    • 割りとすぐに Pull Request 出していいものなのだな (issueで話してからの方がいいのかと思っていた)
    • プロジェクトごとの運営ルールがあるからそういうのは確認してからのほうが良さそう
    • コミットログ3年読み続けてるのスゴイなぁ…。僕はそういうモチベーションは続かなそう。

    Railsでつくる ファイルアップロード 2017

    株式会社みんなのウェディング 松久 浩伸 さんの発表。

    スマフォでの画像アップロード

    • 2〜3MBくらい。結構容量が大きい
    • 画質を保つならpixcel数もおおきい

    サーバーにアップせずにJSで直接AWSにアップする

    • AWSに JS で直接アップロードする方法がある。
      • これは自分のサーバーにアップロードしないので速い
    • HTML 5 の File APIを使うとサムネを簡単に出せる
    • Live Photos (iphone) などの新しい画像フォーマットの存在も対応する必要がある

    感想

    • 割と普段よく画像アップロード作ってるけど、ここまで考えて作ってないなぁ。エンタープライズっぽいサービスを作りすぎているのかもしれない。
    • JS で AWSに直接アップしたほうが何かと良いならそれでいいのかな。URLだけ取得してDBに格納しておけばサーバーサイドも困らないだろうし。
      • JS の処理が増えるけど、今更大したことない気もする。

    まとめ

    ここで帰ったので、残りの発表は聞けてない。 なんかもう最近は勉強会いってもあんまり他の人と話す気分になれなくて、発表聞いたらさっさと帰ってしまっている。 懇親会とかでもうちょっと発表の話を掘り下げたりすれば面白いのはわかっているんだけど、なんかだるくてそういうのやらなくなってしまった。 自分が書きたいコード書いて一人で「フヒヒッ」って言ってる方が楽しくなってきている。 なんかこう、説明したり聞いたりが最近だるい。嫌いなわけじゃないんだけど。


    0 0

    techbookfest.org

    技術書オンリーの同人誌即売会、技術書典3に行ってきた。技術書典は初参加。

    ↑戦利品の一部。PDFデータ購入でも 5 つほど購入。

    決済システム

    決済システムが良かった。

    play.google.com

    上記のアプリで QRコード決済できる。ただし、Android版しか間に合わなかったらしくて、 iPhoneでは使えないから使う人はあまり多くなかったらしい。対応してないブースもあったし。こういうのもっとはやってほしい。

    人が多い

    技術書典は例年人が多いと聞いていたが実際すごい人だった。でも12時半くらいには入場規制が解除されていた。

    戦利

    同人イベントなので本屋では見かけないようなマニアックなものが結構あった。 ただ、プログラミングに関する技術書は入門書レベルなら公式サイトみればわかることも多いし、興味本位で 500 円とか 1000 円の同人誌を買うのはやっぱりちょっと高い気がする (買ったのもあるけど)。 写真にあるような「アナログコンピューター」とかはネタとして面白いし、こういう方が同人らしさがあっていい。

    僕もなんか書こうかなという気持ちになった。


    0 0

    Clojure で Web 開発をはじめてみよう — Clojure の日本語ガイド

    • TODOアプリの CRUDを作れる
    • Rubyで言う所の Rack と Roda みたいなやつで作る。
    • leiningen がオートロードできるみたいに書いてあるけど、うまく出来なくて毎回再起動している。
    • 主に2015年くらいに書かれたものなので、パッケージとかの情報が古め。Clojureが全体的に 2015 年の情報が多め。ぬーん。。。
    • ドキュメントは悪くはないんだけど「Clojure、お前の表現力をもってすればこんなものではないはず」みたいな気持ちになる
    • Clojureはファイルごとに名前空間があって、他のファイルの関数を使うときは名前空間で require して使うことで構造化できる
    • 次は Luminus - a Clojure web frameworkこのへん触ってみようかな

    0 0

    ホットケーキミックスとたこ焼き器でスイーツをつくる実験。
    f:id:kbaba1001:20171023225252j:image

    味付けはチューブタイプが便利だった。
    f:id:kbaba1001:20171023225547j:image

     

    あんこ味
    f:id:kbaba1001:20171023225306j:image

    チョコ味
    f:id:kbaba1001:20171023225345j:image

    チョコは途中で沸騰し始めてややキャラメル状になってしまった。あとからかけたほうがきれいだったかもしれない。

    あんこはいい感じ。

     

     


    0 0

    週2くらいで近所の温泉に行ってサウナに入っている。 先日、知人がサウナハットというものを教えてくれた。 ↓こういうやつ

    サウナに入る時は頭を守った方がいいらしい。

    という話をサウナに入ってから思い出したので、頭にタオルを巻いてみた。 利点

    • 普段より長くサウナにいることが出来た
    • 頭にかいた汗が顔に流れてこない
    • どうせタオルはもって入るし手軽

    0 0

    f:id:kbaba1001:20171029225944j:plain

    春頃に僕やぎーあみの住民たちと一緒に植えた里芋を収穫した。

    あまり世話をしていなかったので、大した収穫量にはならなかったが、 料理してみたらちゃんと美味しかったので良かったと思う。

    やっぱり野菜はマメに手入れしないと立派には育ってくれないようだ。 里芋の親芋に3個子芋がついていればいいほうで、1個もなくて親芋が腐り始めているものもあった。 草刈りをほとんどしてなかったので、雑草に栄養を取られてしまっていたのかもしれない。 肥料もそんなにやったわけでもなく、水は何度かやったけどほとんど雨任せだった。 野菜をちゃんと育てる根気は自分にはなさそうだなと思ってしまった。ぬーん。


    0 0

    プログラマという職業柄座りっぱなしで運動不足なせいで、年の瀬もあって腹が出てきた。腰痛や肩こりが著しく、60分3000円のマッサージではあまり効果がなくなってきたので、接骨院に行ってみた。

    色々話をしたり体の動きとか姿勢とかをみてもらった結果、お腹を突き出すように立つ癖があるようで、それが背中の負担になっているんじゃないかと言われた。で、大腰筋を鍛えましょうという話になり、楽トレというのをやってみた。

    体に電気を流して体の深部にある大腰筋を鍛えるという代物らしい。もっともらしく before after 写真が飾ってあったりして結構胡散臭いんだけど、この電気でビリビリされるのが痛気持ちよかった。

    で、「3か月間週1, 2回の継続が必要で、本日申し込んで頂けると通常30万円のところ20万にしますよ!」と言われて「でたー!」っという感じだった。 そういうテレフォンショッピングみたいなこという人ホントにいるんだなと思った。 内容としては、上記の楽トレ+骨盤矯正+マッサージ+ストレッチ指導だったので、まぁ良いかなと思った。あと医療費控除使えるし。

    正直、「まぁ20万払ってもいいかな」と思うくらい楽トレが痛気持ちよかった。 近頃どうもMの沼にハマりつつある…。 効果はネット見た感じ賛否両論あるっぽいけど、まぁ東洋医学なんて元々オカルトでしょう。

    今年は色々と幸運が重なって副業がうまくいったから人生で一番儲かっているし、金は天下の周り物だから散財するまで使ってしまおうと思った。 いくら金儲けに対して興味がないとはいえ、前職・現職と考えても正社員としての年収は底値くらいに安くてエンジニアとして自分を安売りしすぎなのだが、今年は特にやりたいこともなかったのでちょっと副業で個人でもソフトウェア開発の仕事を受けてみたら半年くらいで今までの年収と同じくらい稼げてしまった。やはりお金を稼ぐにはフリーランスが一番だなと思ったりした。逆に少人数の会社は自分の財布には入ってこないので一発当てない限りは損だなと思った。 今年はおかげさまで、特に何もしなくても貯蓄が増えていくという現象を初めて味わった。やはり安売りは良くない。お金が入るのはやっぱり楽しいものだなと思ったので、じゃんじゃん使ってしまおうという気持ちである。税金の取り立てが若干怖いけど。 整体とか脱毛とか少し行きたかったけどいけてなかったところに行ってみて、海外旅行行ったりして、残りは株式投資でもやろうと思う。後は↓もやっておきたい。


    0 0

    clj-nakano.connpass.com

    上記の「Clojure/conj 2017 上映会#1」に参加した。

    次の Rich HickeyClojure/Conj 2017 のキーノートを日本語で説明するというもの。

    www.youtube.com

    Clojure/Conj 2017 の動画は他のものも Youtubeで見ることができるのだが、見よう見ようと思いつつ見れてなかったから、今回参加して Rich の発表を理解できてよかった。 英語の発表は自力だと 1/2 か 1/3 くらいしか理解できてなくて悔しいのだが、発表者のナカムラさんが背景を含めて説明してくれたのでとてもわかりやすかった。 あと Clojure関係のイベントは初参加なので、意外と人が多くて驚いた。発表中 gitter で他の参加者とコミュニケーションできたのも面白かった。

    ↓発表資料

    gitpitch.com

    発表を聞いていて面白かった点をざっくり:

    • プログラムは外界(データベースとかHTTPリソースとか)とやり取りすることが多いけど、プログラミング言語はそこに主眼を置いていないことがほとんどで、外界から受け取ったデータを自分の中で扱いやすくすることにリソースを裂きすぎている。例えば、Javaで1500個以上のクラスがあるプログラムはざらにあるけど、それはそのシステムの中でしか通じないルールを作っているに過ぎない。クラスは抽象ではなく具象。
    • Clojureは単に Map でデータを名前に紐付けるだけだからクラスのような考え方をしない。単にMapの中属性に意味付けをするだけ
    • Clojureは汎用的な言語ではなく、外界に適応するプログラムを書きやすくなるように設計している
    • 静的な型はシステムが複雑になってくると助けにならない (この辺の話は僕としては腑に落ちないところもあったけど、静的型付けを強く嫌ってるのは面白かった)
    • effective programming
      • 他人が書いたライブラリも使いながら、変化していく要件や外界のプロトコルにうまく対応すること

    Clojureは Rich が C++common lispで開発を行なってきた知見が詰まった言語だと感じた。 今まで軽く触ってきた感じ、なるべく楽に書けるように出来ている感じはしていたけど、かなり根本的にソフトウェア設計に着眼点のある言語とまでは思ってなかった。 まだ EDN や Duct (Integrant) についてあまり勉強できてないけど、 Rich のこの辺の考えが根本に有るとしたらちょっと理解しやすいかもしれないと思った。EDNは結構不思議だったし。

    やっぱり強い主張が有るプログラムは面白い。


    0 0

    深センは大都会だった。新しいものにあふれ、新しいものが作られていた。若者が集まり、若者のためのルールが作られていた。猛烈な勢いであらゆることが変化し、雑多な活気に溢れていた。皆、大金持ちになる夢を見ていた。

    2017/11/10〜11/15、深センMaker Faire Shenzhen 深圳制汇节 – Makers, Go Pro! 2017.11.10-12の開催に合わせて旅行に行った。数年ぶりの海外旅行で、初めての中国だった。主にギークハウス関係の友達とともに10人くらいでいった。Airbnbはシェアしたが、飛行機はバラバラに取ったので結構一人で旅行に行く形に近くて、でも日本人同士で情報交換も出来て、バランスが良かった。ギークハウスの協力はするが介護や干渉はしない人間関係は好きだ。

    深センの基礎情報はWikipediaでも見て。 深セン市 - Wikipedia

    QRコードで出来た都市

    f:id:kbaba1001:20171115220414j:plain

    深センでは QRコードによる決済が当たり前になっていて、誰も現金を使っていなかった。 WeChat (中国のLINEみたいなアプリ) に QRコードによる決済機能があって、どの店もこれに対応している。普通の店舗はもちろん、屋台や自転車で紅茶を売っているおっさんも、ホームレスの物乞いでさえQRコードに対応している (スマホもってるならホームレスしなくても良いんじゃ...?)。

    むしろ現金を出すと店の人に「え! お前マジで!まだで現金とかつかってんの!?ちょっと今小銭ないんだけど!」みたいな顔される。こちらとしては「後進国から来たんで...サーセンッ!!」みたいな気持ちで現金を差し出すしかない。

    というのも、WeChat で決済をするには予めWeChatにお金を入れておく必要があるのだが、これには中国国内の銀行口座が必要なのだ。しかし、昨年の9月頃から外国人が中国の銀行口座を作るのは厳しくなってしまって、外国人が WeChat 決済を使うのは難しくなってしまった。今回は深センに住んでいる知人に自分のWeChatアカウントに入金してもらって、WeChat決済を楽しむことが出来た。 (ちなみにクレジットカードは中国銀聯カードがたまに使える程度で、VISAやMasterCard等は基本的に使えない。銀行のATMでキャッシングすることはできる。)

    WeChat 決済にはいくつかメリットがある。

    ■店舗側のメリット

    • 飲食店の経理をすべてWebで、しかもリアルタイムにできる
    • 店員が現金を着服することがない
    • 強盗が減る (店に現金があまりないから)
    • レジ不要
    • WeChatの決済機能は手数料無料

    ■顧客側のメリット

    • 財布を持ち歩く必要がなくなる
    • 店員がお金を触らないので衛生的
    • 割り勘が楽(誰かが支払ったあとで、他の人からWeChat上でお金を集めればいいから)
    • WeChatの決済機能は手数料無料

    ■社会的な副作用

    • スリが少なくなる(みんな財布を持ってないから)
    • 物乞いが減る (みんな現金をもってないから。ただしQRコードで物乞いするやつはいる)

    端的に言って、最高!!

    こんな街なので、QRコードは他にも使われている。日本で言う「○○で検索」みたいなのがQRコードになっている。また、URLや連絡先も書いてなくて全部QRコード。例えば、次は絵画工房の生徒募集の写真。

    こんな感じで至るところにQRコードがあるし、皆使いこなしている。たとえどんなお年寄りであっても。本当にこの街ではスマホがないと生活できないのだ。

    乗り捨て自由のシェア自転車

    街中の至るところにシェア自転車がある。ofoとmobikeという会社の市場が特に強い。自転車を歩道に放置していても全く問題ないくらい歩道が広いこともあって、あらゆる場所にシェア自転車がある。知人が言っていた言葉を借りるなら「ポケモンの自転車アイテムみたい」に使うことができる。歩くのが面倒くさいときに気軽に自転車に乗って、気軽に放置できる。値段は30分1元(2017/11現在17円程度)なので格安。自転車を購入する必要さえない。自前の自転車やバイクを乗っている人もいたが、それはだいたい商用車で、個人で自転車を所有している人はほとんどいなかった。そもそも深センは街中に地下鉄がはしっているから、自転車は駅と駅の間の細かい移動で使いたいという需要が高いから自分で持ち歩くよりシェア自転車を使ったほうが便利なのだ。

    常に変化する街

    どの駅でも高層ビルの建築が行われている。中国政府の「ま、うちがちょっと本気出せばこんなもんっすよ」という声が聞こえてきそうなくらい賑わっている。

    Maker Faire後に日本人同士が集まる打ち上げみたいな飲み会があったので行ってみた。飲み屋は1階建ての長屋のような建物で、何件かの飲み屋が並んでいてすべてオープンテラスになっていた。深センに長期滞在している日本人も来ていて、彼によると「この飲み屋も来年にはなくなっていて、ここには六本木ヒルズみたいな巨大なビルができる」と言っていた。 深センは30年位前までただの工業地帯でしかなかった。だから目に映るほぼすべての建物は築30年未満で、全てが新しい。他の都市での課題点を研究してうまく作った都市という印象。

    今日の常識は明日の時代遅れ。まるで JavaScript界隈がここ数年続けてきたカオスな急成長を、深センではリアルな世界で行われているかのようだった。 日本が失われた20年とか30年とか言ってる間に、世界はちゃんと動いていた。

    失われた30年ってお前...。僕は今28歳だ。僕が生まれる前から日本は成長していなくて、何もしてなくて、何も変わってないってことか。 たしかに80年代くらいの劇画漫画とか読んでも東京の風景があまり変わってないし、田舎の風景はなおさら変わってない。

    ドローンや Uberのような新しい技術や文化が登場しても、日本では規制とか既得権益とかが強くて一向に普及しない。 もういいかげん音楽 CD とか滅んでほしいし、 FAX とかやめてほしい。 変化を拒み、新しいものを嫌い、老人中心のルールがはこびる日本。まさに後進国

    エンジニアのように新しいものが好きで、変化を好み、時代の最先端に立ちたがる人々は、深センのような街にいるほうが楽しそうだと素直に感じた。

    合理主義

    これはマンションのトイレの写真。和式トイレの上にシャワーがついていて、ユニットバスになっている。広さは日本のトイレの個室と同じくらいなので非常にコンパクト。シャワーを浴びたら自然とトイレが掃除される。排水につまった髪の毛を取り除くという嫌な作業をしなくていい。建築する側の事情としても、上下水を一つにまとめられるのでコストを抑えられる。なんかもう合理主義の極みみたいなユニットバス。

    中国人は合理主義が多いように思う。QRコード決済が普及したのも、「便利だからこれを使おう」という合理的な理由が強いように思う。日本だと老人が「スマホは難しくて使えない」と言い出して、それに合わせて結局現金を用意しないといけなくて、普及に時間がかかるに違いない。未だにクレジットカードさえ使えない店多いし。。。

    街を歩いていてもあらゆることが、「便利だから」「メリットがあるから」という理由で物事が選択されている感じがする。とても気持ちが良い。日本は何十年も前のルールが残っていたり、謎の感情論で選択された物事や、話し合いの結果の折衷案で微妙なものが作られたりするから、良いものが出来ない。

    食事ってどうなの?

    安くて量があってうまい。上の写真は経済飯というバイキングスタイルの店で、よく見かける。10元〜20元(170円〜340円)くらいで、肉料理2品野菜料理2品みたいに選んで食べる(肉2野菜1にすると安くなったりする)。

    他にも、ラーメンが大体15元くらい。肉まんみたいなやつが 5 〜 10元。 複数人でいくようなレストランの場合、1皿 100〜200元くらいの大皿を頼んで3、4人で食べるから一人あたり50元くらい。

    飲み物は、500ml水、500mlコーラは 5元程度。他の飲料は 10〜20元くらい。 レモン飲料が流行っているようだった。中国は甘党のイメージがあったけど、お茶等はめちゃくちゃ甘いってわけではなかった。日本で売ってるのと同じくらいの甘さ。

    コーヒーは高くて、スタバのカフェオレTollサイズが 23元だった。コーヒー文化はまだあまり浸透していないらしく、大体砂糖とミルクが入っている。ブラック(アメリカーノ)もあるけど、あまり美味しくない。

    酒については、青島やバドワイザーは安くて、350ml缶が5元。でもワインが妙に高くて 50〜200元。

    こうしてみると、経済飯の安さは異常だ。スタバのコーヒーより1食分の飯のほうが安いわけだから。 しかも野菜も食べられるから栄養バランスも良い。深センは太っている人をあまり見かけなかったから、安くて量が多いものを食べていても、栄養バランスが良ければ太らないのかもしれない(結構地下鉄とかで歩いたりシェア自転車で運動しているというのもあると思うが)。

    食べ物の味はどれを食べても美味しい。ピリ辛なものが多いが、辛くないものもある。僕は辛いものが好きなので、辛いものばかり食べていた。でも四川料理のような激辛はなくて、ピリ辛程度。塩分も日本より少ない気がした。薄味に感じる人もいるかもしれない。

    カエル、ガチョウ、ザリガニなども食べたがどれも美味しかった。こういうものが普通に町中で買えるのが面白い。

    治安とか人柄

    治安はとても良かった。東京の上野や新宿、渋谷などよりよほど良いように思った。 スリや泥棒などにあうことはなく、怖いと思うようなこともなかった。 町中のコンビニで、現地人が荷物を入口付近に置いて買い物している場面さえあったから、置き引きのようなこともあまりないようだ。

    深センの人々は、気さくで素直な人が多かった。僕がなんとなく道に迷っていると、指を指して教えてくれたり、何かと助けてくれた。 一人で歩いているとよく話しかけられた。これは客引きじゃなくて、僕が中国語が通じると思って、時間を聞かれたり世間話をされたりした(残念ながら中国語がわからないので申し訳なかった)。

    深センはマナーも結構良かった。電車内は飲食やタバコは禁止だった。電話したり音楽を鳴らしたりしている人はいるけど、特にだれも気にしていない感じだった。子供もよく見たけど、おとなしい子が多くて、日本ほどずっと鳴いてる感じじゃなかったのは不思議だった。 歩きタバコをしている人が少しいたのはうざかったが、喫煙率はそこまで高くなさそうだった。感覚的には日本と同じかやや少ないくらい。若者はあまり吸ってなかった。屋内は禁煙という場所が多かった。

    この辺はお金持ちが多いからなのか、若者が多いからなのか。

    トイレは日本ほどピカピカじゃないけど、僕は気になるほどじゃなかった。紙はトイレに流さずゴミ箱に入れる場所もあったけど、臭うほどではなかったから気にしなかった。トイレで喫煙するやつがいるのはちょっと嫌だった。

    Maker Faire

    大学内でかなり大規模にやっていた。大学がめちゃくちゃ広い。なんか川が流れてるし…。中国の土地の広さを常々感じずにはいられない旅だった。

    でも Maker Faireそのものはちょっとイマイチだった。3日やってるけど展示内容は一緒だし、出店しているものも真面目なものやビジネス目的なものが多くて、ネタに走ったものは少なかった。 今年の夏にあった Maker Faire東京だと日めくりカレンダーを自動でちぎる機械とかあって面白かったけど、そういうのはあまりなかった。街中で売ってる iPhoneの偽物の方が面白かった。たぶん、そういう偽物文化を払拭したかったのかもしれない。

    一番ネタに走っていたのは、この水上を歩ける装置だろうか。人力で水上を歩けるけどめっちゃ頑張る必要があるし、とまると沈む。

    PC が壊れて修理した

    たまたま出会った中国で8年生活しているという日本人の方が通訳してくれて修理することが出来た。他にも iPhoneAndroidの修理屋は大量にあった。たぶん100件くらいあった。 日本でPCを修理にだすとメーカーに送って終わりという感じだが、深センの修理屋はテスターとハンダゴテをもって直してくれて頼もしい。 (情報抜かれたりするリスクもあるのでそのへんは気をつけたほうが良いけど)

    インターネット鎖国による国内IT事業の成長と保護

    中国は金盾 (国が作ってるファイヤーウォール) で googleFacebook等の国外サービスがだいたい使えないから、国内で車輪の再発明をやっている。金盾は中国の過去の歴史を国民に見せないようにするというよりも、インターネット鎖国をすることで国内のIT産業を成長・保護する目的の方が強いように思った。バブル時代の日本も貿易を制限することで国内産業守ってたし。

    もし googleが使えていたら誰も google map の代替品を作ろうとは思わないが、中国は全て国内で製造する。しかも、海外の既存サービスを少し良くして真似ている。昔日本が得意だったやつ...。いまや、すっかり中国製品のクオリティが上がってしまった。

    絵描きの街: 大芬

    (上の方に撮影禁止とありますが、この絵を描いている女性に許可を撮って撮影してます)

    大芬村 - Wikipedia

    絵描きの登竜門的な街。街中の至るところで油絵や水墨画を書いている。複製画を作る人が多く、それが売れるようになるとオリジナルな絵を書けるようになるらしい。世界中に絵を売っているそうだ。絵を描いている人とたまたま話したが、台湾から来ているそうだった。中国国内から絵描きが集まっているのだろう。

    ドヤ街 龙华 のネット廃人たち

    このツイートは 中国版の「ドヤ街」はネトゲ廃人の巣窟? 三和ゴッドの暮らしを追う | 文春オンラインで紹介されている街。 龙华 駅付近。治安が悪いので観光客はいかないほうが良いと、後に言われた。 ネットの噂通り、大量のネカフェがあって皆ゲームをやってる。退廃的な空気。インフラの優先度としてネットが最上位にある感じがとても良い。 龙华 駅は華強北路のような中心地から地下鉄で1時間以上離れているベッドタウンのような街。

    ↓ 龙华 駅前の巨大マンション。これはきれいな方。

    その他、Twitterまとめ