サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
nakagami.blog.ss-blog.jp
オープンソースがわからない https://jaguchi.com/blog/2021/02/wtf-is-oss/ を読んで。 ほとんど金銭的なメリットもないままプライベートの時間に Github に草生やしている。 転職に役立っているとは思えない。ましてや金銭的なメリットがあるわけでもない。 誰か、使ってくれている人はいると思うが、それで良いことをしているという気もあまりしない。 最近は、Github のアカウントを使って仕事の開発をするので、お客さんも自分の公開リポジトリを見ることもできるけど、そのことについての言及をされたことはない。 みんなが使うようなものではないので、「何かよくわからないものを公開している」という感覚だろうか。 無報酬でプログラム書いている俺偉いという感覚はない。酔狂だなぁとは思う。 自分が書かなくても、誰かが書くか、似たようなものがあるはずで、なんなら自分の書
これは、BeProud Advent Calendar 2018 https://adventar.org/calendars/3338 の8日目の記事です。 私が最初に弊社ビープラウドの受託開発案件に参加したときに一番驚いたのは、人員の入れ替えが臨機応変に行われていたことだった。 お客さんの受け入れ態勢ができてないとか、仕様が確定していないというときは、 「じゃ、別の仕事してましょうかね」 ということで別案件をやって、再開できたときには別の人がアサインされることもあるし、間に合ってないときに人が一時的に投入されたりする。 その時点からさかのぼること10年前の受託開発の経験では、最初に3人*3か月=9人月で契約できたら、3人を3か月拘束して人を入れ替えることはないし、お客さんの都合で納品を伸ばしたい、開発を一時サスペンドしたいという場合も、次の仕事がアサイン済みであることとか、資金繰り(予
気が付いたら、Python3.6 では、Windows で、コマンドプロンプトとファイルシステム(フォルダー名、ファイル名)のデフォルトの encoding が utf-8になってた https://www.python.org/dev/peps/pep-0528/ https://www.python.org/dev/peps/pep-0529/ 以下のようなーコードで import sys print(sys.stdin.encoding) print(sys.stdout.encoding) print(sys.stderr.encoding) print('あいうえお') コマンドプロンプト上でutf-8 utf-8 utf-8 あいうえおこんな感じになった。 すばらしい しかし自分が普段使っている Git for Windows (Msys2) + mintty で、 上記と同じ
この記事はDjango Advent Calendar 2017 https://qiita.com/advent-calendar/2017/django の4日目の記事です。 Python の mysql 用データーベースドライバーってたくさんあるのですが、CyMySQL https://github.com/nakagami/CyMySQL も、そんな(マイナーな)ドライバーのひとつです。 PyMySQL https://github.com/PyMySQL から fork したもので、Cython がインストールされていれば速く、インストールされていなくても pure python で、それなりに動く、というものです。 Django に対する、CyMySQL 用のデーターベースバックエンドもリリースしていたのですが、Django 2.0 のリリースにともなって、 Django 2.
同時期に2冊の Python の入門書が出版されるらしい。それぞれ、の違いとしては以下のような感じかな。 スラスラ - クラスを作るなど、多くの Python の機能を説明してない - 読み物っぽくなっていて、スラスラ読める - 説明するところを極力減らして、最初にプログラミングをするときにくじけないようなしている - 役に立つプログラムを書くというよりは、まずはプログラミングとは何かを解説している - レビューした いちやさ - カラー刷りでわかりやすくしようとしている - 外部パッケージの説明も少しある - スラスラよりは説明の範囲が広い(bot, Webプログラミング・・・) - でも、やっぱりクラスを作るところなど説明しないで極力、説明する分量を減らそうとしている - リスト中のスペースの表示が記号でわかるようになっているのがわかりやすいかも - 自分の所属している会社が書いた ど
http://nakagami.blog.so-net.ne.jp/2017-04-15 の続き 教養として、もしくはこれから学ぶための下準備のためにプログラミングを教えたい、という側(僕)からすると、始めるにあたって今は教えたくない雑多な作業がたくさんある。 - Python のインストール - コマンドラインプロンプトや、エクスプローラーからのパソコンの(ファイルの)操作 - エディタの選択と使い方 Python のインストールだけでも、Mac か Windows か、公式インストーラーか anaconda か OS にビルトインされているものかで微妙に異なる。 「それは Mac に元々インストールされてた 2.7 で、今回インストールした 3.6はー」 なんて、今、教えたいことではない。 エディターは、自分自身は過去の経緯で vim を使っているが、それを最初に教えるのは、僕がめんど
数学好きで数学科に行きたいのかと思っていた息子が、どちらかというと応用数学科に行きたいと言っていて、 好きなことを勉強するのは大変良いことだけど、プログラミング大丈夫なの?と思った。 http://nakagami.blog.so-net.ne.jp/2017-02-27-1 最後の大学入試が終わった日、確か 2/16 だったと思うけれども 「どうも、大学では1年から Java のプログラミング演習があるみたい。 ちょうど、会社で PyQ という Python のプログラミングの勉強ができるサービスのβテストをやっているんだけど、春休みは暇だしやらないかい? プログラミングがどんなものか知るのに良いと思う。やる気があるなら、会社の人に頼んでみるけど」 と聞くと、やってみるという。社内でお願いしてみると、すぐにアカウントを発行してくれたので大学入試の翌日から、息子の PyQ が始まった。 僕
https://pycon.jp/2016/ja/ 21日, 22日の Conference と、24日の Sprint に参加した。 いつも事前に Conference で、どれを聞こうか迷っているのだが、今回もいつものごとく、その時間にそこらへんで会った人に話こんでいたりして、結局、あんまり聞いてなかった。 それはそれで久しぶりにあった人たちと楽しい話ができてよかった。 きっと、来年もそんなだろうなぁ。 毎年、基調講演は聞くようにしている Jessica McKellar のキーノートは、ダイバーシティーとか、コミュニティーとか、まあ、そんな感じだったが、Jessica は大学で化学を学んでいて、大学の CS の時間にプログラミングを始めて、その時点で子供の頃からコードを書いていた人たちと比べて劣等感があった。しかし・・・というような話があって、 kameko さん見るべき、と思った。
いま、僕は複雑なコードに苦しめられている。主なところは - 安直に例外投げすぎ問題 - リストの内包表記使いすぎ問題 - define 使いすぎ問題 例外は要するに大域ジャンプなので後で例外が起きた(起こした)ところの値を受け取りたくて苦労している。 python は例外を投げてもメモリリークしないけど、いっそのこと golang ならこんな苦労をしなくても済んだのかもと思う。 リストの内包表記使いすぎ問題は def func_ab(values_list): def _set_ab(v): v.a = 'A' v.b = global_func_b(v.b) [_set_ab(v) for v in values_list] ↑こんなのがあって def func_ab(values_list): for v in values_list: v.a = 'A' v.b = global_f
人にもよると思うけど、受託開発をしていて金融系とか研究所系の仕事は良いイメージがない。あくまでも自分の経験や見聞きした中でのイメージなんだけど。 金融系は、作るものの効果とコストに対するモチベーションが低くて規制が厳しくて、発注側は 「人月工数がXX人月のプロジェクトを成功させました!」 ・・・といって、実はかろうじてなんとか動いてるだけだったり、そのシステムを入れることで、みんなの仕事が大変になっているだけだったりするのに、効果が測定されてなくてうやむやになっていたりする。 そして、何かというと機能は減らさずに八百屋の交渉のように値切ろうとする。 結果、人月単価は(多重下請けのせいかもしれないけど)あまりよくなくて、作るものの成果でなく、スーツを着て客先で長時間いることが評価される。 いいことといえば、契約分に対する支払いが滞らないことくらいかな。 研究所の仕事を受託でやるっていうことも
@shinyorke さん経由で Python の自動要約API の存在を知る http://blog.recruit-tech.co.jp/2015/10/30/summpy-released/ GitHub のリポジトリは https://github.com/recruit-tech/summpy python2.7 で、以下のパッケージが必要とのこと - numpy - networkx - scikit-learn - pulp - cherrypy - MeCab 自分の Ubuntu14.04 の環境で、できるだけ pip install でインストールした。 古いバージョンのものもあったので、それは pip install --upgrade で最新にした (自分の環境では、 --upgrade する前は "scipy distance metrics do not sup
読了。著者の皆様より献本いただきました。ありがとうございます。 パッケージ毎に章立てが分かれていて 1. パッケージ名 2. ドキュメント参照先 3. インストール方法(標準パッケージ以外) 4. 説明 5. コード例(インタラクティブシェルの実行例) が説明してある。 文法をだいたい理解できて 「例えばxxをやりたい場合何を使えばよいか?」 について知りたい人が読むのによさそう。 気をつけるべき点は Python3.4 をベースにしているということ。 Python2.7 を仕事に使いたいが、Python2.7 と 3 の違いはよくわかってないという人が読むとかえって混乱しそう。 ざっと見た感じ誤字や組版上の間違いが少なく安心して読めると思う。(自分が発見できなかっただけかもしれないが) 世の中には、なぜかコード例なのに typo があって、 「これ動かしてねーだろー」 とか、Python
これは、「第5回 Pythonもくもく会 @アライドアーキテクツ」の記録です http://mokupy.connpass.com/event/11807/ Jython 2.7 Beta4 が最近出ました http://fwierzbicki.blogspot.fi/2015/02/jython-27-beta4-released.html 次は RC だそうですが、Beta3 が出たのが去年の8月なので、今年中に final がリリースできるかどうか予断を許しません。(Jython の開発は非常にゆっくり進んでいる) ただ、そろそろプロダクションに使ってもいいレベルだと思っています。コミッターの皆さんは開発版を使っているに違いありません・・・と思うくらいに。 リリース時には、2.5.3 と同じようなインストーラーが用意されるようです。 また、最近のbeta も含むリリースでは Mave
これは、俺の子連れおすすめスポット Advent Calendar 2014 の9日目の記事です http://www.adventar.org/calendars/681 私がお勧めするのは、地下鉄博物館です http://www.chikahaku.jp - 安い →大人:210円、こども:100円 (※満4歳以上中学生まで) http://www.chikahaku.jp/contents/about/ - シミュレーターあり http://www.chikahaku.jp/contents/facilities/enjoy.html#simu - パノラマあり ちょっと手狭ですが、いろいろあって、大人も子供もあきません 企画(イベント)も時々やっているようですのですが、そういうのなくてもいくらでもいられます。 都内からもアクセスしやすいですし(そして駅を出てすぐの高架下)、交通博物
これは、 Firebird Advent Calendar 2014 の8日目の記事です http://qiita.com/advent-calendar/2014/firebird 【はじめに】 Python から RDBMS にアクセスするための仕様が PEP249 として定義されています。 https://www.python.org/dev/peps/pep-0249/ PEP249 に準拠した Firebird のデータベースドライバーについて書きたいと思います。 【Firebird 用 データーベースドライバー】 Firebird に以下のようなデーターベース・ドライバーが存在します。 [KInterbasDB(obsoleted)] http://www.firebirdsql.org/en/python-driver/ 古くから存在していますが、 Author が亡くなって
(転職して2年たったら何か書くらしいので・・・) http://myfinder.hatenablog.com/entry/2013/12/03/154715 http://posterous.mirakui.com/posts/2012/04/2.html 「業務アプリ」で「受託開発」で「開発をする」という仕事を久しぶりにしてる。 去年の今頃は本当に大変でお客さんに迷惑もかけたけど、今は落ち着いてお客さんにも面目が立ったかな、と思っている。 SIer 率いるシステム開発では、動くコードよりもエクセル仕様書が大事で、仕様から少しでも外れたり、仕様が少しでも変更になると 「手作業でテスト全部やりなおしなので、時間的に(予算的に)無理です」 とか、やたら自己防衛的で、物事が進まなかった。でも、それが社会だ、仕事だ、と思っていた。 今までの僕の受託開発の経験は、コードを書く仕事は半分以下で半分以
僕の最初のころの仕事の話を思い出したのでちょっと書いておく。 それは、マイナーな CAD 向けのオプションの CAM モジュールを作るという仕事だった。 もくろみとしてはソフトウェアパッケージを作ってバンバン売るつもりなのだが CAD としての数もそれほど多くなく、そのなかで金型なんかを作ってるメーカーに売り込もうというのだからなかなかそうはいかない。 実質的には売れそうな(もしくは既に買ってくれてる)お客さんのところを回って、要望を吸い上げて、その機能を実装するという流れだった。 (お客さん回り、僕の仕事ではないので以下伝聞含む) なにぶん、お客さんは金型メーカーの職人のおっちゃん的な人たちなので、コンピューターのことはさぱりわからない。しかしながら、2次元 CAD の図面なのに、その図面からこちらで作った CAM モジュールを使ってものすごいプログラム(加工機に渡すデータ)を作って立体
前々から疑問に思っているのだが、みんなもっと余暇の時間に趣味のプログラミングをしたほうがいいんじゃないだろうか。 新しいプログラミング言語とか開発手法とかフレームワークの本を読んだり、週末に勉強会に出たり、その中で発表したり、ドキュメント翻訳してる人達。そういう人達ほんと凄いなぁと思うのだが、そんな中で(僕からしてみたらなぜか)業務と関係ないようなプログラミングをして世に公開するような人の割合が凄く少ない気がする。 まだテストがないからとか、きれいに書かないと恥ずかしいとか、こんなコードの断片を公開してもみんなうれしくないだろうから、とかだろうか?いろんな人の Github のリポジトリを見ると、大半が、自己満足のコードだし、まったく気にすることない。世に出て広く使われてるコードでも、ひどいコードのものもいっぱいある。むしろ、きれいに書いてある方が例外的なんじゃなかろうか。 ひょっとして、
とある上場企業で、エンジニアが大量に辞めていて一体何が起こっているんだろうと思っていた。 業績はさほど悪くなっているわけでもなく、かといってめちゃめちゃ儲かってるってほどではなく、(めちゃめちゃ儲かったら、それなりに軋轢がありそうだけど)ぼちぼち儲かっていて、もっとも辞める人が少なそうな会社の気がするのだが・・・ そして、辞めて行く人は辞めた会社のことを悪くいっている感じがしない。 あれはなんなんだろう。 こないだ、そこらへんの僕の疑問についての話をしてくれた人がいた。 個人的な感想だし、お互い酔っぱらっていたのだが - 分社化して、力量によらず所属する会社によって待遇が下がった - 屋台骨を支えている部署(会社)の待遇は低めで、まだ収益構造のはっきりした目処のたたない新規事業の人達が優遇されてる - 新規の開発が減って、既存の運用の比率があがってきた - エンジニアなのにイベントにかり出
Go 言語、どんなもんか調べようかと思ったら、思いのほか日本語ドキュメントが充実してるし、言語仕様は(僕には)わかりやすいし、ライブラリは充実しているし、 「うぉー、こんないいもんだとは知らんかった。もっと早く勉強しておけばよかった」 と思った、そんな土曜日。 Go で何か書いてみたい。 【入門 Go 言語、自分が読んだ順】 Go ツアー (A Tour of Go) 日本語訳 http://go-tour-jp.appspot.com/#1 Pythonista向けGo言語入門 http://python.matrix.jp/2013/05/12/go_start2.html go言語の始め方(1) http://python.matrix.jp/2013/05/09/go_start1.html Go プログラミング言語のチュートリアル http://golang.jp/go_tuto
http://www.sqlalchemy.org/blog/2013/05/25/sqlalchemy-migrated-to-git/ まぁ、いろいろ理由は述べられているが 1. git の機能面の優位性(ストレージ使用量、rebase、ブランチ削除) 2. 世の中に Mercurial よりも Git を使う人のほうが多い(Pythonista に限って言うと本当?) 3. (Git のリポジトリにするなら)Github のユーザーベースのが多い Git のほうが Murcurial よりも良いというのであれば、 Bitbucket に Git のリポジトリおいてもいいはず。 そもそも、Git のほうが Murcurial よりも良いというのも、両者機能面では一長一短で、単なるいいわけの匂いがする。 結局 3. の理由がほとんどなんだろうなぁ。 早速 pull request が1件
VirtualBox 上の Ubuntu Desctop を普通に使っていたんだけど ssh で接続できればいいや、ということに気づいた。 runlevel 変えたいなー、と思ったのだけれど Ubuntu 12.04では・・・ とりあえずこれ↓の一番上を発見 http://superuser.com/questions/310978/starting-ubuntu-without-the-gui /etc/init/rc-sysinit.conf の env DEFAULT_RUNLEVEL=2 を env DEFAULT_RUNLEVEL=3 に変更してみた。・・・挙動変わらず。 (別の方法を探る) 次に grub の設定を変更する方法 http://askubuntu.com/questions/74645/possible-to-install-ubuntu-desktop-and-
その昔、僕が会社員の3〜5年目の頃、新人の OJT 担当を押し付けられることが多かった。 その時は、業務命令でもあったし、その人達が一人前になることによって仕事が分担されるんだから、なんとか一人前になってもらおうと思っていた。 あの頃に比べて、人を育てるということについて随分とあきらめが早くなっている。 ・・・というか、あって小一時間話しただけで「あ、この人はダメだ」と思うようになってる。 決して、冷たい人というわけではない(と思う)。 同じ会社に勤めていようといまいと、直接的な利害関係があろうと、同業者としての仲間として長く働いてもらいたいと思うし、たまたま同じ職場で働いていた人が立派になるのは素直に嬉しい。 だけど、ダメな人はダメだ。僕が頑張ったところで結局、人の役に立つ前に仕事を辞めるか、いつまでも周りに迷惑をかける。それがわかってから無理するのをやめた。 与えられた仕事を「なんのた
読了 少し驚いたのは Python3.3 をベースにして解説していて、 2.x のことについては触れていないこと。 それでいて PEP や Zen of Python や PyPI への登録についての解説にページを割いている。書いている人達が、単なる言語の仕様を理解している だけでなく、Python の哲学について詳しいなぁと感心する。僕も色々勉強になった。 そういう Python の哲学みたいなところは、プログラミングしていくうえで必要になるんだけれども、なかなか書籍のかたちになりにくいので、こういう本は貴重だ。 Python2.7 で開発している人も読むとよいと思う。さすが Python サポーターズ。 プログラミング言語についての経験がまったくない人は想定していないが、Python 以外のプログラミングしか経験のない人なら読めると思う。しかし、「狭義の Python でのプログラミン
「nakagami さんはプログラム書くの速いので・・・」 と、仕事の中の会話の中で言われたことがあって、(うーん、なんかそれ違うなぁ)と思ったことがあった。書く速度でいったら普通だし、僕よりもっとちゃんと、速く書ける人はいっぱいいると思う。 僕が常に「間に合うようにするにはどうしたらよいか」ということを考えているのが、速く書けてると感じられているのではなかろうか。 仕事としてプログラムを書いている以上は、間に合わなければどんなに立派なプログラムでも意味がない、と思っている。 機能が足りなくても、テストが書いてなくても、さらに状況によってはバグがあっても(そのバグが把握できているのならば)間に合わない立派なプログラムよりも、間に合う不都合のあるもののほうが、100倍ましだ。 時には、不具合だらけで仕様も満たしていなくも、本当に大切な部分がかろうじて動いて、ビジネスとして破綻しないためには、
python のイメージライブラリの ML [Image-SIG] に Pillow の python3 port を master ブランチにマージしたというお知らせが来た。 http://mail.python.org/pipermail/image-sig/2013-January/007143.html http://blog.aclark.net/2013/01/10/pillow-python-3/ そこで、ここまでのことを記録しておく PyCon JP 2012 の LT で、「Python3 のポーティングの勧め」みたいな話をした。 ポイントとしては「2.7 と 3.3 なら同じソースで動くようにするのは割と楽、そして今は python3 への移植でヒーローになるチャンス」ということ。 そのときに Pillow を python3 で動くように頑張ってますという話をした。ん
僕が、20代の若手プログラマーだった頃、プライドの高い女性課長の部下だった。 美しくないマリッサ・メイヤーみたいな人。 どういう案件だったのか、まったく覚えてないし、多分課長は僕とは別の仕事をしてたんだと思うけど、ある時 「わたしの美しい設計がこわれていく」 って、不満そうに言ってるのを聞いた。 その時、僕が(あなたの美しい設計は知らんがな)と思ったことを凄く覚えている。 おそらく、その頃には課長の完璧主義に辟易していたんだろう。 あたりまえのことだが、そんな本人のプライドほどには、ものごとはうまくいってなかった。 往々にして、完璧主義というか、よりよいプログラミングを目指す人というのは、最初に出た仕様で、重複を排除してキチキチのプログラムを書く。そして、お客さんがちょっとした追加の仕様を出すと不満そうにするし、「それは、仕様変更です」と一歩も引かない。そして、その変更を受け入れようとする
以前にも、同じ案件の話を書いた気もするが、もう10年以上も前のことなので、(かつ、関係者がこの日記を見てることはないと思うので)もう少し詳しく書く。 会社を辞めてすぐのときに、元の会社の同僚が仕事を紹介してくれた。非常に単価の安い仕事だったが、どうせしばらく無職の予定だったのでうけることにした。 その会社は、商社と大手IT企業の合弁で、話があったのは、生保とか証券の仕事をする部署だった。部署があるくらいなので、その会社の(少なくとも担当の)人達は業界のプロで初めての業種の業務アプリのバックエンドを書く僕は、言われた通りにコーディングすればいいと思っていた。 僕の最大の敗因は、その人達がまったくプログラムを書いたことがなくてマネージメントだけをする、所謂 SIer だということ、そして世の中にそういう人がいることを僕が知らなかった、ということだ。(その時の前職の会社は、プログラマーが歳をとる
こないだのちょっとした酒席でのこと。 最近入社する人は、優秀で意識高いんだけど 「いや、これをやるにはこういう設計ではダメだ・・・」 とかなんとか言って、なかなかコーディングが進まない、との話。 詳細な話は聞かなかったが、僕のなかではやれテストを書かないとダメだとかそういうのなんだろうな、と理解した。 それで、「そういう人に限って、不具合多いんですよねー」とのこと。でも、そういう意識高い人に「なんでもいいからちゃっちゃとコーディングしてよ」とは言いづらいそうで、なかなかやりづらい職場である。 よくわからないけど、意識高くて不具合多いのは、既存のコードを読んだり、コードを書いたりすることに集中できないから?確かに、全てにテストが必要とかカバレッジが 100% とか言って人は、100% になることばっかりに気を取られて、本来どういうコードを書けばいいのか?について集中できてない気がする。 以前
次のページ
このページを最初にブックマークしてみませんか?
『ある nakagami の日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く