投稿

May 20, 2018 Pycon mini Osakaに参加してきました!

イメージ
皆さん、どうもお久しぶりです。
今日の本題は、Pycon mini Osakaです!昨日グランフロント大阪で行われたイベントですが、Frodoも参加していました。素晴らしいイベントだったので、その片鱗でもお伝えできれば幸いです。
会場のヤフー株式会社の大阪グランフロントオフィスへ行くと、「けんさく」と「えんじん」がお出迎え。

彼ら(?)はヤフー公式キャラクターです。(存在を知らなかったなんて言う事実はないです)
オフィスからの眺めもよく、写真撮影し忘れたことを激しく後悔しました。
すべての紹介はできないので、少しだけトークの紹介をば。流石はPythonというべきか、機械学習系のトークが非常に多かったです。
この写真はCharacter-level CNNというトークの写真。講演されたtdual(ティー デュアル)さん、見切れてて申し訳ないです...!
講義の内容は、文章の機械学習において文字レベルでの学習と単語レベルの学習を比べるもの。機械学習の解説を軽くしてから本題に入ったので初心者にも非常にわかりやすい内容でした。
また、Pythonで静的型検査に関するトピックも。写真が分かりにくくて申し訳ないです...。
mypyなど静的型検査ライブラリの存在やPEP 484に定義された型アノテーションなど存在は知っていたのですが、積極的に使おうと思ったことはありませんでした。この講義では、静的型検査をするメリットや型検査の方法などをわかりやすく解説していたので、自分でもやってみたほうがいいかなぁ?と思いました(やるとは言っていない)。
続いてはLT(ライトニングトーク)。
トップバッターはメインスポンサーのTech Bureau(テックビューロ)からです!テックビューロといえば、Zaif位しか知りませんでしたけれど、いろいろやってたんですね。
プライベートブロックチェインソリューションなど、テックビューロさんが展開しているコンテンツの紹介でした。人事部の人ということで求人もしていたのですが、労働環境の良さに驚きました。
PyconJP 2018の紹介も。すでに日程が決まっていたんですね。PyconJP 2018行きたいけど東京なんですよね...。つらい。
興味がある方は行ってみてはいかがでしょうか。 総評としては、関西在住のPythonistaなら絶対行くべき!なイベント…

February 17, 2018 楽曲制作をしていて思うこと。

間が空きましたが、こんにちは。
Bourruでございます。
実は私、なかなか分かち合える人が見つからない趣味がありまして。
BGMフェチなんです。
「うわキモッ・・・」とか思わないでほしいな・・・
ネット上に出ていたりする無料のものでも、完成度の高いものがたくさんあるんですよ~
あえてここでは名前を出しませんが、とある方が作られた曲が本当に素晴らしくて、何度もリピートして聞いてしまいました(笑)
私も作曲家(卵)のはしくれとして、日々譜面に向かってはあーだこーだ考えています。
曲の流れをどうしたらかっこよくできるのかなど、研究すればするほどドツボにはまって、やはり音楽には無限の可能性があるんだなーと実感したりしますね。
しかし、私はまだひよっこどころか卵にすらなっていない自信があって(?)、採譜したプロの方の楽譜と比べるとまだまだ幼さや拙さがにじみ出ています・・・
継続は力なり、ですね。
頑張っていこうと思います。

Written by Bourru

January 15, 2018 あけましておめでとうのPython

皆様あけましておめでとうございます!新年一発目はFrodoのPython!
あけおめには少し、いやかなり遅い気がしないでもないですが。
で、本題。この前Javaで某MinecraftのModを作っていて思ったのですが、JavaとかC#にはオーバーロードってあるじゃないですか。Pythonは関数がオブジェクトという言語なんで同じ名前で引数違い、例えばこんなのは上書きされてしまい、期待通りの動作をしてくれません。
まあ、当たり前です。同一名前空間上に同じ名前の変数が定義できないのと一緒ですね。
じゃあ、どんな風になればよいのか?例えば、Javaでの例を出すと、こんな風になればいいのです。 ですが、Pythonでは、こんな便利な書き方はできません。...と思いますよね?これ、内部実装としては引数のタイプによって呼び出す関数をスイッチしてるだけなのだそう。
え、じゃあ引数タイプで呼び出す関数をスイッチするデコレータを作ればいいのでは?と思ったのです。で、作ったのがこれ。
もうちょっとどうにかしたいなぁ、とは思っているのですが。 とりあえず動くからええやん?的な乗りです。 実際の使い方はこんな感じで、関数デコレータとして使います。下のほうのコメント行は出力結果です。
関数の引数に型アノテーションをつけなかった場合その引数はobject型、要するに何でも受け付けるものとして認識されます。さらに、優先順位は上に書いたものから順番ですので一番上に可変長引数を受けるものを書いてしまうと適切にスイッチされません。
以上のことに気を付けて使えばそこそこ使えるのではないでしょうか?Javaristaの方やC#勢の方は、ぜひ使ってみてください。
Pythonがもっともっと普及しますように!

Written by Frodo

November 26, 2017 ポスト合唱コンクール

昨日学校の合唱コンクールがありました!Frodoのクラスはボロボロwですけど、なんとBourruのクラスが優勝したんですよ!
同学年のクラスの中でFrodoのクラスだけ賞にかすりもしないっていうw
やる気と練習量の差が如実に出ましたね!
やっぱり三年間やってきて最後だということもあり、若干の感傷がないわけでもないんですがそれは置いといて。
たまにはPythonistaっぽいことしないとなぁということで今回はこんなものを。

このモジュールはPythonで何か作ったけど依存関係まで考えて配布するのめんどくさい!っていうときにimport分の代わりとしてresolve関数を使えば配布先の環境にモジュールが存在しなかった場合、自動でこのモジュールと同階層にあるmodulesディレクトリに依存関係まで含めて要求モジュールをインストールしてくれるというものです。
ただしpipに依存しているので、配布先の環境にpipがなければ一緒ですが...。最近の環境でPython入っているのにpipがないということはないと思うのですが、Pythonのバイナリを含めて配布する場合は無理ということになってしまいます。
これからの課題はそこですね...。
一応resolve関数の解説
引数の詳細引数名(位置指定の場合は位置)変数型意味、効果mod_name (1番目)strimport時のモジュール名globals (2番目)dictimport先の名前空間 (globals()で取得可能)mod_distname (3番目)strPyPI上のモジュール名 (省略可能・省略した場合mod_nameと同値) この関数はmod_nameで指定された名前のモジュールをglobalsで指定された名前空間にインポートします。
標準関数の__import__と同等の機能を提供しますが、mod_nameで指定されたモジュールが見つからなかった場合、pipを用いてこのモジュールと同階層のmodulesディレクトリにモジュールをインストールします。
mod_distnameが指定された場合、pipでインストールするときのモジュール名としてmod_distnameが使用されます。
mod_distnameが必要になる場合の例PyYAML (インポート時はyaml)wxPython (インポート時はwx) など 最後…

November 11, 2017 これで楽になるかな?

イメージ
前々から作っていた執筆補助用のWordマクロ&テンプレート、やっと完成しました...。
機能としては装飾タグをつけたり、ワンクリックで投稿したり(もちろん初回は設定が要ります)するだけですが...。
これで少しは執筆が楽になるかな?

ほんとにやっとできた、といった感じですねー。これ自体はFrodoが単独で活動していた2016年の2月ごろに作ったものを整備・機能追加しただけですが、機能追加が意外と曲者でした...。
メール投稿をワンクリック(正確にはクリック2回ですね)でできるようにしたのですが、VBAでCreateObject関数を使おうとするとなぜか438エラーが出るという...。
で、結局Newを使えばいいじゃない、ということに気づくまで2週間ぐらいかかるという自分の馬鹿さ加減に嫌になります...。

スクリーンショット

注:画像やDLして設定した後のUIは「ハーメルン執筆補助」となっていますが、なろうなどほかのサイトへの動作も確認済みです。
ダウンロード
テンプレート
UI設定
ソースコード

ソースコードを利用する場合、参照設定に次のライブラリを追加してください。
Visual Basic For ApplicationMicrosoft Word 14.0 Object LibraryMicrosoft XML, v3.0Microsoft Scripting RuntimeWindows Script Host Object ModelMicrosoft CDO for Windows 2000 Library もし使う、または使いたいという人がいれば将来的にWordプラグインに移植するかもしれません。

これからもBouFrawをよろしくお願いします。




Written by Frodo

November 7, 2017 BouFrawは絵が描きたい。

イメージ
ストーブが欲しい。
Bourruです。
冬のアレンジを投稿してしまったんですが、正直いってあれ、
うるさいですね。
音が多すぎ。
何を隠そう、深夜テンションのせいで書いていた時の記憶がないのだ。
これはやり直し案件や。(使命感)

話は変わるのですが、まぁTwitterにあげていた散弾銃の絵が完成いたしました。
あまりスチームパンクな感じはしないかもしれないですが、申し訳程度の歯車で許してください。
砲身の真鍮感とナイフの光沢はよくできた方かなと思います。
木材のニス感の光沢、鉄の赤錆、歯車の反射が難しい・・・
まだまだ改良(絵の腕的な意味で)の余地があると思うので、だれか才能を分けてください。
あと銃に関する知識も絶賛受付中です。
よろしければ、Twitterで@boufrawcにツイートするか、コメントおねがいします。






Written by Bourru

October 30, 2017 BouFrawは はじめての にちじょうパートを とうこうした!

イメージ
ふぇぇ...個別面談だってよ...
中間考査ボロボロで今から何言われるのかとハラハラなFrodoですw
正直考査は学生を苦しめるために行っているんじゃないかと思ってきてしまいます。
えっとですね、そんな暗い話は置いといて。今Unityで新しいものを作っています。
正直探せばいくらでもあるんでしょうが...。
で、作っているものなんですが、ノベルゲーとかでよくあるじゃないですか。クリックしたら会話とかシナリオがどんどん出て来るやつ。あれです、あれ。
ちょっと長いGIFなんですが...。イメージくらい伝わるかな?
何がすごいのか、たぶん見ただけじゃわかんないと思います。
実はこれ、背景画像もシナリオも、実行時に動的ロードしてるんです。
それの何がすごいのが。
これを使うとプログラムが自動的にシナリオや背景画像のファイルを探してくれるので、シナリオの部分をすべてデザイナーさんが完結して作れるんです。
正直「宴」とか使った方がいいのでしょうが...。
Asset Storeを探してもあんまり良いの無かったので自作した、そういうことですw
ところで、これ欲しい人います?
欲しい人がいればAsset Storeで公開するかもですが...。
よろしければ、Twitterで@boufrawcにツイートするか、コメントおねがいします。

......日常って何だっけ。




Written by Frodo