So-net無料ブログ作成
前の10件 | -

オブジェクト指向がわかってきた息子 [日記]

息子が、4月だったか5月だったかに
「オブジェクト指向プログラミングって何?」
って聞いてきた。
Java を勉強していて、学校で言われたらしいが、なんだかわからないとのこと。

- 状態とその操作が一つにまとまったもの
- class で定義したものを new したらインスタンス
- 状態と操作がまとまってると便利でしょ

って、いろいろ説明するのだが、いまいちピンとこない

僕自身は、最初にオブジェクト指向プログラミングというのを知ったのは、
アメリカでは、class 付きの C で C++ っていうのがはやっているらしいっていうので最初に読んだのが
https://www.kinokuniya.co.jp/f/dsg-01-9784789833042
この本だったと思う。僕も最初はなんだかよくわからなかったのかもしれないがあまり覚えてない。

Python も Java も C# も C++ も、息子が多少なりとも読み書きするプログラミング言語は class があるので、オブジェクト指向でないプログラミング言語を知らないからこそ、かえってイメージできないのかもしれない。

その息子が、昨日いきなり
「最近、オブジェクト指向っていうのがわかってきたよ」
と言ってきた。うまく使えるようになってきているのかはわからないが言わんとしていることはわかってきたようだ。
「オブジェクト指向がわかる本」みたいな本がたくさん出てるけど、あれは何だろう?と思っていたのだが、オブジェクト指向は、大学生が半年ぐらい修行してわかってくる概念らしい。


コメント(0) 
共通テーマ:日記・雑感

Oracle Database Express Edition 11.02 を Windows 10 にインストール [RDBMS]

以前に Oracle Database Express Edition をインストールした記憶があったのだが
http://nakagami.blog.so-net.ne.jp/2006-02-17
めっちゃ昔だった。

諸般の事情により Windows 10 に、最近の Express Edition を入れることにした。
↓から 11.2 の Windows 版 zip アーカイブ OracleXE112_Win64.zip をダウンロード
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

アーカイブを解いて Disk1/setup.exe を実行
途中で system のパスワードを聞かれるのでパスワードを入力

これだけで、インストールは終わるが、system のユーザーアカウントができているだけで、ほかのユーザーやデーターベースインスタンスはできてない状態

デスクトップ の「Oracle Database 11g Express Edition」というアイコン
もしくは
メニューの「 Oracle Database 11g Express」 → 「スタートガイド」
でブラウザが起動して、管理ツール的な画面が出る。
デフォルトでは 8080 ポートが使われるが、
https://stackoverflow.com/questions/142868/change-oracle-port-from-port-8080
でポート番号は変えられるらしい

とりあえず見るドキュメントは、ここらへん↓が役に立ちそうな予感
https://docs.oracle.com/cd/E36055_01/admin.112/b66465/toc.htm

(追記)

結局 sqlplus でユーザー(=スキーマー)を作成した

create user scott identified by "tiger" default tablespace users;
grant connect, resouce to scott;

これで
sqlplus scott/tiger@localhost
で、スキーマ scott にログインできるようだ

Django の NAME には sid を入れるらしい。
https://stackoverflow.com/questions/14342317/how-to-solve-ora-12505-without-sid
これ↓でとってこれるらしく、 インストールした Express Edition だと xe みたいだ。
select sys_context('userenv','instance_name') from dual;
さっぱりわからん
コメント(0) 
共通テーマ:日記・雑感

古くならないシステム構成ってどんなんだろうなぁ [日記]

先週の週末に Retty さんに行った。
https://retty.connpass.com/event/64920/
Python で(各自テーマを持って)何かやろうという集まりだった。

最後に、成果発表を各自 5分ずつやろうというときに、自己紹介を少しづつしてて

- 素の PHP 使ってます
- Perl で Catalyst 使ってます

という人たちがいて、さすがにインフラが古くてこれじゃいかんと思って最近 Python 勉強しようとしてます、というような自己紹介をしてた。

(PHP自体は古くないけど、フレームワークを使わないっていうのは・・・そして Perl で Catalyst というのは・・・)まあ、そういう環境もあるんだろうなと思いつつ、結構、古い環境残ってるんだなーと思った。

特に社内でしか使わない業務システムなんかでは(セキュリティも気にしなくていいとか)機能的に問題なかったり、そこに機能拡張していくことで問題なかったりするのかもしれないが、あまりに古いと、参考資料も(社内にある絶版になった書籍とか)限られているし、プログラム書ける人が来てくれないし、OS のバージョンアップをしようとすると、連れだってミドルウェアが上がるので、新しい環境で動くようにしていかないと困りますよ・・・ということを決裁権のある社内の偉い人に理解しやすい形で説明するのって大事だな、って思った。
多分、これから開発してくれるプログラマーが将来を描けるような環境を用意することが、システム開発に重要になってくると思う。
もう、
「定年まで面倒見てやるからずっと COBOL書いてろ」
みたいな会社の態度は通用しないと思う。会社も従業員を定年まで面倒見れる時代じゃないし。

ただ、現実には社内の偉い人も理解してても、予算が回せないってことあるよなぁ。

開発してから長く使える組み合わせって、どんなんだろうなぁって最近考えるけど、Java + Struts or Seaser が不良資産になってしまうことを考えると、なかなか難しい。

今のところ Python + Django は、(うまくバージョンアップに追随すれば)長く使えてる印象

コメント(0) 
共通テーマ:日記・雑感

世の不条理に腹を立てよう [日記]

PyCon JP 2017 の Sprint Day で、久しぶりに Nexedi の社長の田原さんに会って話をすることができた。
Nexedi は、長いこと OSS の ERP パッケージ ERP5 をベースに、システム開発の仕事をしている。
「高い ERP パッケージで何億も使ったあと、にっちもさっちもいかなくなって、この残ったお金でなんとかしてください」
と泣きついてくる会社は、(僕にも想像はできてたけど)やっぱりあるそうな。
「何億も使っちゃう前に、うちに来てくれたらいいのに」
という愚痴が出ていたので、きっとそのパターン何回もあるんだろう。
僕は社長じゃないし、年取って擦れてしまったので、
「まあ、そんなこともあるよねー。それでも、最近は、背に腹は代えられないと(僕はNexedi は凄い会社だと思うけど) Nexedi みたいな小さな会社でも(そして、 BeProud のような会社でも)お客さんと直接取引できるような時代になったからいいじゃん」
と変に納得してしまうけど、そういうの良くないよな、と最近思う。

プログラミング能力も問題解決能力もない会社が看板だけで仕事を取って、下請けに丸投げして、そんな会社で能力のある若者が、高給だが学校で学んだスキルが生かせずに発注業務だけしてたり、別の若者が丸投げされる側の小さな会社で開発してて、成果に比べて薄給で生活できないなんてことがあると、(自分の子供を含めた)子供たちの将来が心配だ。

将来、そんな不条理な世の中で子供たちを働かせるのはしのびない。
そんな不条理は良くないと腹を立てたり、発注者側が会社の大きさや知名度だけでなく内容をきちんと評価してシステム開発を依頼するような世の中になるようにすべき、と思う今日この頃。

コメント(0) 
共通テーマ:日記・雑感

PyCon JP 2017 Sprint Day [日記]

ここ数年、PyCon JP の最終日は Sprint Day が品川のマイクロソフトさんで行われている。
https://pycon.jp/2017/ja/events/sprint/
一応、どこかのグループ(テーマ)に参加することになっているようなんだけれども、一人で勝手なことをする自由も与えられているので、今年も参加した。

僕のイメージするスプリントらしいテーマは、Sphinx, pandas, Zulip の人たちくらいで、あとはスプリントというよりはワークショップといった感じだけど、まあ、それはそれで良いことだと思った。
年々、少しずつ参加者が増え盛り上がっているように思う。

僕はというと、 Neo4J のデーターベースドライバーで、 Cypher を実行した結果をグラフっぽい構造にしたいなぁと思って
https://boltprotocol.org/v1/#path-structure
ここ↑らへんのドキュメントを読んで、いたのだが(結局よくわかってない)・・・「なんか、ドキュメントの内容と、実際にとってこれてる値が合わない気がするなぁ」と思っていたらそこが不具合だった。
グラフっぽい構造にするミッションは全くできてないけど、不具合直したから、まあ良しとしよう。
直したのは、ここ↓。こまけぇ・・・
https://github.com/nakagami/minibolt/commit/ba3b8e03e3bbfc5b411bc9366e4ffbae6223b2fd

コメント(0) 
共通テーマ:日記・雑感

PyCon JP 2017 [日記]

今年も、あまり Talk は聞かずに、そこらへんをうろうろして1年ぶりにあった人たちと話をして過ごすことになった。
ただ、1日目の Peter Wang のキーノートは聞いた。

Anaconda/Conda の自分の5年間の経験をベースに
「ここ数年で ビジネスやデータサイエンスの世界でも OSS エコシステムで、えらいことになっとるで(超訳)」
というようなことを言っていたっぽい。英語だったからよくわかんなかったけど。
- イブ・サン・ローランの CM動画に IPython 映ってた
- stackoverflow の Blog で、Python が信じられないくらい増えてる https://stackoverflow.blog/2017/09/06/incredible-growth-python/
という例の紹介は、ぼくも前日に見ていて「なんかえらいことになっとるなぁ」と思ったので、それをさっそく Wang さんが紹介していたのが印象深かった。

今回の PyCon JP は、例年の PyCon JP を超えて、発表者もスタッフも参加者も、そしてスポンサーブースの人たちもレベルがあがっていた。
スポンサーブースは、ほんの数年前はペライチおいてブースの人はどこかの Talk を聞きに行っていて常に留守というところも多かったが、今年は、それぞれの企業が、くじなどのネタを用意しつつ目的(主に人材募集)に合致するように、自社がどんな仕事をしているかの紹介とかしてて洗練されてた。
途中、スポンサーブースの人がほかのスポンサーブースを回って挨拶したり名刺交換したりする風景も見れて、みんな手馴れてきてるなー、と思った。

http://nakagami.blog.so-net.ne.jp/2017-09-04 でも書いたが、
僕自身は、もう長いこと「そうですよね、 Python とか Django とかマイナーですよね」
と思いながら仕事してたので、Perl の会社の人たちが Python 書いてるとか
「いままで、会社として Java で開発してたんですけど、このままじゃダメな感じがするんで Python で開発できる体制を整えていきたいんですよ」
なんていう人がいるとは、隔世の感とはこのことだ。


コメント(0) 
共通テーマ:日記・雑感

Python ユーザーのための Jupyter 実践入門 [読書]

PythonユーザのためのJupyter[実践]入門草稿をレビューしたところ、書籍が刷りあがり、送付していただきました。技術評論社さん、著者の皆さんありがとうございます。

この本は、題名の通り Python の入門でなく、Jupyter の入門書です。
つまり、Python の基本的な構文がわかる人が、Jupyterでプレゼン資料を作ったり、グラフを描いたりするための本です。

pandas の解説も載ってはいるんですが、説明は基礎的なところだけで、いろんな集計をやりたいためには、ほかの pandas の解説をよまないとやや不足かなと思います。
(最初のきっかけとしては短くまとまっていて良いと思います)

んで、この本の特筆すべき点は、Matplotlib と Bokeh でグラフや図を描く解説が充実してるところです。
僕は、Excel でグラフ描けないんですが、この本のおかげで Jupyter でならできるかな、と思います。
最初から、一通り読んで全体を理解することもできますが、ページをパラパラっとめくって、自分の描きたい図のあるページでコードを参考にするという逆引き的な使い方もよいのではないかと思いました。

pdf の状態でレビューしたのですが、送られてきた紙の書籍はカラー印刷がきれいで、実物のほうがより読みやすいと思いました。(そしてカラー印刷とページ数の割に安い)

出版が PyCon JP 2017 https://pycon.jp/2017/ja/ に間に合うように頑張っていて、無事間に合ったので、おそらく会場での販売が行われると思います。PyCon JP 2017 に参加される人は(買わないにしても)、会場で手に取ってみてみると良いと思います。
コメント(0) 
共通テーマ:日記・雑感

OSC 2017 千葉 [Python]

週が明けたので、先週の土曜日のこと、 Open Source Conference 2017 千葉に行った。
https://www.ospn.jp/osc2017-chiba/
千葉のどこかでやるらしいことは聞いていたが、金曜日まで、何日にどこでやるのか知らなかった。
twitter の TL で、土曜日に津田沼の千葉工大だということを知った。

近いし(千葉のために)少しでも盛り上がるんなら賑やかしに行こうかということになった。気が付いたら人生の半分を千葉で暮らして郷土愛らしきものも芽生えた。

一般社団法人 PyCon JP で、寺田さんが Python Boot Camp の説明をしていて、僕も Python Boot Camp の TA をやったので、隣に席があったので座らせてもらった。
ブースには、いままであまりやってこなかったけど、必要に迫られてPython (Django とか Tensorflow) をやらなきゃいけなくなってきた(なりそう)という人が来ていて、時代の変化を感じた。
もう何年も「Python ってマイナーだよねー」といいながらみんなで Python を書く職場にいたので、感覚がマヒしている。

最後に LT の時間があったので、これまた賑やかしのために参加させてもらったが、千葉工大の上田研の学生さんたちが頑張ってたのが印象的だった。
LT は、痛恨の時間切れで反省点が多いが、資料を整理してここにおいておく
https://gist.github.com/nakagami/292b711d39c368088d90cdb14e968e54
(さめがめと pythonanywhere に全く言及できなかった)

参加者が 100人を超えたようなので、来年もあるかも。
日程が合えば来年も参加しよう。

コメント(0) 
共通テーマ:日記・雑感

Python でリバーシ(オセロ) [Python]

先日、息子と「人間とコンピューターが対戦するオセロのプログラム」の話をした。

コンピューターが人と対戦するオセロは、僕が中学生の頃に読んでいた電波新聞社のマイコンBASICマガジンに、よく掲載されるテーマだった。
自分が、うっすらと記憶しているプログラムでは、盤の位置によって重みがつけられていて、コンピューターの手番で置ける場所のうち、重みの一番大きい位置に置くというロジックだったと思う。
自分でもプレイしたが、単純なロジックの割には、勝ったり負けたりして意外と強いんだなと思った記憶がある。

あの頃は、ただひたすら雑誌にあるプログラムを入力してカセットテープに save して遊ぶだけだったけど、今だったら、あのプログラム書けそうだぞ、と思った。

インターネットで探せば、解説記事があるだろう・・・と思ったらあった。
http://uguisu.skr.jp/othello/5-1.html

僕が見たプログラムでは、もっと単純な重みづけだった気がするし、次の手の位置の重みだけで判定していたと思うが、ここの解説では、置かれた後の盤上の黒と白の駒の重みの合計の差で判定していて、幾分かロジックが複雑だ。

今の自分なら Python で書くのが一番早いし、駒をカッコよく描画する必要はないんで、コンソールに、駒の位置がわかる程度に print できればいいや。・・・できた
https://gist.github.com/nakagami/7a7d799bd4bd4ad8fcea96135c4af179
(python3 で動きます)

プレイしてみると、なんとなく自分が昔プレイしたコンピューターよりは弱い気がするんだけど、それは自分が強くなったからなのかな?
コメント(0) 
共通テーマ:日記・雑感

シャーロッツビル [日記]

バージニア州で白人至上主義の団体が集会を行い、それに反対する集団と衝突して、一人死亡を含む重軽傷者多数の事件は、シャーロッツビルの暴動と呼ばれるようになるようだ。

とんがり帽子のマスクをつけている KKK は、僕が子供の頃に何かの本で見たイラストの(それは、漫画に出てくる KKK をモチーフにした悪の秘密結社だったかもしれない)団体で、まだ白人至上主義の教義を維持しながら活動してたのに、まず驚いた。
バスボイコット事件に端を発した公民権運動ですら 60年も前の話やで!

トランプ大統領の
「人種差別主義者も悪いが、暴動を起こしてリー将軍の銅像を壊した奴らも悪い」
は、白人至上主義者を擁護したととられて非常に不評だったらしい。
地方の白人を支持基盤にするトランプさんとしては、白人(至上主義者)だけを一方的に非難するのは難しかったんだろう。

白人のエスタブリッシュメントは白人至上主義者を非難し、有色人種初の大統領だったオバマさんは融和を訴えた。結局みんなポジショントークで、白人が白人を擁護するようなことは非難されるから言えないし、オバマさんが白人至上主義者を非難するのは、反感を買うだけなのでできない。
でも、自分たちは損してると思っている南部の貧乏な白人は、そりゃそんな言葉じゃ納得できないんだろうなぁ

人種差別はダメといいつつ、人種間の混血の進まないアメリカ。やっぱ誰も言わないけど差別的な感覚あるんだろうなー。多民族国家なのに人種のサラダボールのままで、にっちもさっちもいかなくなっている。これ、どうなっちゃうの?
もしも、自分の子供がアメリカに留学したいといい始めたら、少し前なら安直に応援したんだろうけど、今だと悩んじゃう。

IT系の仕事をしていると「アメリカで働きたい」と言う人がいるけど、もうそんな時代じゃなくなって、アメリカが IT の最先端じゃなくなっちゃうのかな、という予感がしている。
コメント(0) 
共通テーマ:日記・雑感
前の10件 | -