ひこぽんのーと

覚書と雑記です。

プログラム

デバイスドライバを書いたこと

事の発端 コントローラのヘタリ Logitec Wireless Gamepad F710の調子が悪いので、 分解メンテしてみようとしたが、特殊ネジで開けられなかった。 仕方ないので新しいのを買おうと物色していた。 最近、ゲームコントローラが高い。 ワイヤレスだったり、電池…

pythonで音声を再生するのこと その4

おまけ。pysdl2のsdl2.sdlmixer.Mix_LoadMUSを使った場合、 一度に鳴らせる音声はひとつだけ。つまり、BGMを背景にセリフを再生する、といった事は、 この関数ではできない。そんな場合は、チャネル再生を使う。 チャネル再生には、チャンクとチャネルを取得…

pythonで音声を再生するのこと その3

その2の続き。再生の手順としては、基本的にpygameの時とは変わらない。ライブラリの初期化 → 音声のロード → 再生・停止 → ライブラリの開放といった手順はわかるものの、どう書くのか。 pythonのサンプルも見つけられなかったので、 sdl-mixerのサイトか…

pythonで音声を再生するのこと その2

前にpythonでMP3を再生する方法を書いた。nagamitsu1976.hatenadiary.jpあの時のソースをpython3で実行してみたら、ちょっとした問題があることがわかった。 python3 + pygameでは音割れがひどく、まともに再生できない場合がある。 (PC毎に症状が違うし、正…

SQuirreL SQLのこと その4

おまけ。SQuirreL SQLでSqliteを使いたい場合について。ドライバリストにSqliteが無いからと言って使えない、というわけではないらしい。 Java製だからJDBCドライバがあれば接続できるようだ。ついでに、以下にメモっておく。 ここのサイトが参考となった。A…

SQuirreL SQLのこと その3

その2のつづき。SQuirreL SQLのDB接続設定について。ここではHSQLDBを使用しているのでその手順となる。 まずは、JDBCドライバを認識させる。 アプリ上からドライバをダウンロードする機能はない*1ので自前で用意する。 HSQLDBはインストールディレクトリの…

SQuirreL SQLのこと その2

その1のつづき。SQuirreL SQLでのGUI設定やDB接続を含む設定手順のあれこれについて 以下に書いておく。まず、GUIの変更。 このアプリ、デフォルトではフォントが小さくて自分にはとても見づらい。 幸いにしてフォントが変更できるので早速変更する。ファイ…

SQuirreL SQLのこと その1

最近、PyCharmでPythonばかり書いているせいか、Eclipseをとんと起動しなくなってしまった。 そのせいもあって、Javaを書く時用にIntelliJの製品版が欲しくなっている今日このごろ。 また、DBクライアントを探し始めてしまった。以前は、DBViewerやDBeaverな…

pythonで音声を再生するのこと

pythonで音楽を再生したくなったので、やり方を調べてみた。 まずあたったのが、pyAudioというライブラリ。PyAudio: PortAudio v19 Python Bindingsページにはpipで入れよと書いてあったけど、 ubuntuならapt-getでもインストールできる。 sudo apt-get inst…

pythonでポップアップ通知を表示するのこと。

NASAの科学者によると、 30分に1回立ち上がると老化防止になるそうな。 本当かなと思いながら"試してガッテン"を見ていた。こういうのに乗せられやすい性質なので、 PCが起動している間、30分に1回ポップアップ通知を出すプログラムでも作ってみようと思い…

pythonでのunicode型とstr型の扱いについて

pythonianな人には当たり前かもしれないが。ファイルの読み書きでunicode文字とstr文字の絡みで、 すんなりロジック書けなくて、ここしばらく悩んでた。ファイルを書き込む際に日本語が混ざってると発生するUnicodeEncodeError。このページとか、 PythonのUn…

Marcoでworkspace毎に背景を変える方法のこと

ウィンドウマネージャの話です。workspace毎に背景を変えたかった。 Compizを使えばできるけど、ヤツはあまり好みではないので、 Marcoでできないかと色々調べてみるものの、 ツールのたぐいは拾えなかった。古い話で"Wallpapoz"なんかが出てきたけれど、 今…

wxPythonをPython3で使えるようにするのこと

Ubuntu 16.04ではwxPythonはpython-wxgtk3.0の名でapt-getから標準でインストールできる。 ただし、これはpython2でしか使えない。 そもそもwxPythonはpython2用らしい。だけれど、昨今の流れから、そろそろpython3へ移行すべきであり、 wxPythonを使って作…

フォントのこと

IntellJの画面・エディタともにフォントが、とても見づらかったので変えてみることにした。 ついでなので、なにか良いフォントがないか調べてみた。フリーフォントで上がってくるのはNotoフォント。 GoogleとAdobeの共同開発のフォントらしい。(重要なのはそ…

JavaEE 7をやってみよう。 JSF 画面遷移 その1 navigation-rule

前回、簡単な画面を作成したので、 今回はそれを拡張して、新規登録画面への画面遷移を作る。 サイドメニューの「艦艇登録」リンクを押下して、登録画面へ遷移するイメージ。通常であれば、HTMLのリンクには、遷移先のURLを記載すればOKなのだが、 それでは…

JavaEE 7をやってみよう。 JSF テンプレートXML その3

JSF テンプレートについて補足。JSF テンプレートXML その1でHTML画面の合成について書いたが、 その際に載せたHTMLがあんまり良くないらしい。実行時に合成された画面のソースを表示してみると複数のBODYタグが含まれている。 というのも"画面パーツ"とし…

JavaEE 7をやってみよう。 Webデプロイメントアセンブリー

JPA編 その3の補足。JPA編 その3で、 動的WebプロジェクトからEJBプロジェクトを参照できるようにするため、 動的Webプロジェクトの参照プロジェクトにEJBプロジェクトを加えていたが、 よくよくEclipseのマーカーを見ると警告が出ていることに気づいた。 …

JavaEE 7をやってみよう。 JSF テンプレートXML その2

その1のつづき。前回、VIEWを作ったので、 今回は、DB検索を行うManaged Beanを作り、JSFで結果表示を行ってみる。 JSFのManaged BeanについてはCDIの回に少し書いた。 Managed Beanは画面アクションとBeanの処理を紐付けできるような、 いわゆるアクション…

JavaEE 7をやってみよう。 JSF テンプレートXML その1

JavaEE JPA編から一時、横道にそれる。JPAを使って登録、削除をやろうとした時、 どうしても入力が必要なので、 登録・削除用のVIEWを作ろうと思う。どうせなら、JSFのテンプレート機能をを使おうと思って、 ちょっと調べてみた。このへんの記事を読んで、わ…

JavaEE 7をやってみよう。 JPA その8

その7のつづき。今度はEJBを呼び出す処理を実装する。 Webアプリ側なので画面とか必要なのだが、 まずは、ちゃんとDB参照できるか手軽に確認するために、 RESTのWebAPIとして機能を作ってみる。作るクラスは2つ。 RestApplicationクラスとEJBを呼び出すRes…

JavaEE 7をやってみよう。 JPA その7

その6のつづき。今回はエンティティ取得について実装する。 エンティティの取得はEntityManagerというクラスを用いて行う。 EntityManagerにJPQLというJPA用のSQLのようなものを投げることによって、 DB参照ができるようになる。 なんのことはない、やっぱ…

JavaEE 7をやってみよう。 JPA その6

その5のつづき。動作確認のためのEJB作りとなる。 WebアプリでなくてもJPAは使えるらしいけど、 せっかくJavaEEをやってるのだから、EJBを使っておこう、 というノリにしておこう。EJBプロジェクトは、平たく言うとビジネスロジックを記述する層という認識…

JavaEE 7をやってみよう。 JPA その5

その4のつづき。エンティティクラスをEJBで使用する際、 DBの接続先を解決する必要がある。DBの接続先については、 アプリケーションサーバー上に定義したJNDIデータソースを使用する。 データソースについては、その2で設定したものを用いる。JPAプロジェ…

JavaEE 7をやってみよう。 JPA その4

その3のつづき。JPAプロジェクトにクラスを追加する。 DBのテーブルと対になるクラス(エンティティクラス)を追加する。 要はDBデータを格納するクラスだね。手作りしてもいいけれど、 ツールから自動生成する方法を学ぶのが目的なので、 Eclipseからの自動…

JavaEE 7をやってみよう。 JPA その3

その2のつづき。Eclipseのプロジェクトを作成する。 作るプロジェクトは4つ。 Enterprize Applicationプロジェクト JPAプロジェクト EJBプロジェクト 動的Webプロジェクト JPAを試すだけだけど、Webアプリに仕立てるのでそうなった。 (というか、参考サイ…

JavaEE 7をやってみよう。 JPA その2

その1のつづき。まず、プロジェクトを作る前に、JPA用にデータソースの設定をWildflyに仕込む。 プロジェクトを作って、JPA用のモジュールを作る分には必要ではないが、 後々の動確用に予め仕込んでおく。 1. Wildfly立ち上げ EclipseのサーバからWildflyを…

JavaEE 7をやってみよう。 JPA その1

これからJPAに踏み込みます。JPAというのは平たく言ってしまえばO/Rマッパーということらしい。 iBatisとかHibernateとかあのへんのことを思い浮かべればよさそうだ。 作ってみるにあたって下記のページをまず読んでみた。yoshio3.com読んでみたが、自分の理…

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その4

その3のつづき。その3の途中でJDBCドライバ定義を追加したのだが、 これは一体どこで管理されているのだろう。追加したドライバ定義を訂正したい! 追加したドライバ定義はもういらない!!そんな自分のために管理している場所を探してみた。メニューバー…

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その3

その2のつづき。HSQLDBへの接続設定をデータソースエクスプローラでやってみる。 データソースエクスプローラは「データベース開発」のパースペクティブで開かれる*1。データソースエクスプローラの「データソース接続」を新規追加する場合は、 「データソー…

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その2

その1のつづき。HSQLDBに対してDBeaverとデータソースエクスプローラから接続を試してみる。 なぜ、データソースエクスプローラからまでと思うだろうが、これは後々の布石なのです!まずはDBeaverから行ってみます。 1. Database Navigatorから「新規登録 …