職場で某会社のUSBメモリ等の使用を制限できるシステムソフトを使っているが、登録を簡単にするためのソフトを作ってみた。インポート、エクスポートの機能によりCSVデータをエクセルで編集するようにと、マニュアルには出ているが。USBメモリのシリアル番号はじめ、各種番号の取得が、エクセルでは面倒で、別ソフトを使う必要がある。そこで、番号取得の機能や編集機能をひとまとめにした自作ソフトを作ってみた。なんとか、実用にはこぎつけた。あいかわらず、Vb.netを使っている。でも、意外に最近のVb.netにはLINQなど、高階関数っぽい機能など、関数プログラミングに近い機能もある。うまく活用すると、けっこう楽にプログラムができるようになっている。
たとえば、Listbox(CSVデータの各行をセット)をある関数を適用したもので、ソートするとすると、こんな感じに簡潔にできるようだ。
Dim gyoh() As String
gyoh = ArrayList.Adapter(ListBox1.Items).ToArray(GetType(String))
'Linqで並び替え
Dim query = gyoh.OrderBy(Function(s) serN(s))
ListBox1.Items.Clear()
For Each gy As Object In query
ListBox1.Items.Add(gy.ToString)
Next
Private Function serN(ByVal gyo As String) As String
Dim sst() As String
sst = gyo.Split(",")
serN = sst(5)
End Function
2015年9月17日木曜日
2015年9月13日日曜日
PostgreSqlにslick使用 scala
Herokuにslick利用してみようと試してみているが、けっこう手こずる。activator uiから試してもうまくいかなかったので、以下からgit cloneさせていただいたところローカルやHerokuでうまく動作するところまではこぎつけた。
ローカルでは
psql -U postgres
#create database play_heroku_seed;
で、データベースを作成し
application.confに
db.default.user=ユーザー名
db.default.password="パスワード"
とすればOKだった。
Herokuにはすにで、postgrsqlが動いているので
heroku login
heroku create
git add .
git push heroku master
heroku open
******************************************
ユーザー名とパスワードを設定すると、ローカルではいいが、Herokuではやはり
だめだったので、ローカルでも環境変数DATABASE_URLを変更してみたらOkだった。
postgres://[username]:[password]@[host]:[port]/[database]
Herokuにはすにで、postgrsqlが動いているので
heroku login
heroku create
git add .
git push heroku master
heroku open
******************************************
ユーザー名とパスワードを設定すると、ローカルではいいが、Herokuではやはり
だめだったので、ローカルでも環境変数DATABASE_URLを変更してみたらOkだった。
postgres://[username]:[password]@[host]:[port]/[database]
2015年9月12日土曜日
herokuを使ってみたが heroku localがうまくいかない
説明どおり動かしてみたが、
heroku local web -f Procfile.windowsがうまく動作しない。
どうやらProcfile.windowsの記述が関係あることらしいことはわかる。
でも、Windows用のファイルなんだから、変更は不要と思ったのだがそうでなかった。
web: target/universal/stage/bin/play-getting-started.batを
web: target\universal\stage\bin\play-getting-started.batとしたらうまくいった。
こういうちょっとしたことが、なかなかわかりにくい。
ちなみに、playが入っていればactivator runでもLocalで実行できるが
heroku local web -f Procfile.windowsがうまく動作しない。
どうやらProcfile.windowsの記述が関係あることらしいことはわかる。
でも、Windows用のファイルなんだから、変更は不要と思ったのだがそうでなかった。
web: target/universal/stage/bin/play-getting-started.batを
web: target\universal\stage\bin\play-getting-started.batとしたらうまくいった。
こういうちょっとしたことが、なかなかわかりにくい。
ちなみに、playが入っていればactivator runでもLocalで実行できるが
2015年9月10日木曜日
人工知能
最近、人工知能(機械学習)の進歩が人間の仕事の仕事を奪うかもしれない、という話題がよく聞かれる。
チェスや将棋のように、ルール(データ入力)も目標もはっきりしているものは、機械にかなわなくなりそうなのは、なんとなくわかるけれど、仕事一般はそうだろうか。
何らかの処理をするためには、必ずデータの入力が必要だが、これが意外と大変なのでないだろうか。当分の間は、人間が間に入らないと処理の前提となるデータを機械に伝えられない。むしろ、その手間は、以前より複雑化しているようにも思える。
ビッグデータのようなネットから集められる情報を入力するのはいいとしても、細かいニュアンスを伝えるには、細かい処理や対話が必要だろうから、当面の人間の仕事はなくならないようにも思える。対話で内容を伝えるより、従来通り設定データのようなもので伝えたほうが正確で速いので、そういった作業を行う人間の仕事は簡単にはなくならないようにも思う。
もっともコンピュータが、人間のような5感センサーと人体を持つようになり(要するにロボット)、人間と同様の関わり方をするようになれば、人間に近い仕事をするようになる可能性はあるかもしれない。ただ、脳の認知・思考機能や体の働きにはまだまだ解明されていないこともあるようなので、近いものはできるかもしれないが、おそらく機械と人間では、どこかしら違うところが出てくるのでないだろうか。その違いがある限り、人間の仕事はなくなることはないような気がする。
http://techtarget.itmedia.co.jp/tt/news/1511/02/news04.html
チェスや将棋のように、ルール(データ入力)も目標もはっきりしているものは、機械にかなわなくなりそうなのは、なんとなくわかるけれど、仕事一般はそうだろうか。
何らかの処理をするためには、必ずデータの入力が必要だが、これが意外と大変なのでないだろうか。当分の間は、人間が間に入らないと処理の前提となるデータを機械に伝えられない。むしろ、その手間は、以前より複雑化しているようにも思える。
ビッグデータのようなネットから集められる情報を入力するのはいいとしても、細かいニュアンスを伝えるには、細かい処理や対話が必要だろうから、当面の人間の仕事はなくならないようにも思える。対話で内容を伝えるより、従来通り設定データのようなもので伝えたほうが正確で速いので、そういった作業を行う人間の仕事は簡単にはなくならないようにも思う。
もっともコンピュータが、人間のような5感センサーと人体を持つようになり(要するにロボット)、人間と同様の関わり方をするようになれば、人間に近い仕事をするようになる可能性はあるかもしれない。ただ、脳の認知・思考機能や体の働きにはまだまだ解明されていないこともあるようなので、近いものはできるかもしれないが、おそらく機械と人間では、どこかしら違うところが出てくるのでないだろうか。その違いがある限り、人間の仕事はなくなることはないような気がする。
http://techtarget.itmedia.co.jp/tt/news/1511/02/news04.html
2015年8月22日土曜日
Webの高速化
グループウエアは、jqueryなど機能を増やすとその分どうしても遅くなっていくようだ。高速化のためには、.jsや.cssなどを圧縮するとか、一つのファイルにまとめるとかいろいろ細かい調整があるようだ。あと、tomcat7にはExpiresFilterという機能を使って、静的コンテンツはキャッシュにできること、テキストデータは圧縮をかけること(tomcatのfilter)を知った。早速試してみたい。
というか、もとはといえばjspのサイズが大きくなってしまったのが原因。こんなことになるんだったら、もう少しファイルを切り分けるとかすればよかった。
Gtmetrix,yslowなど使うと、どこが遅くなる原因かつかめるようだ。
****************
その後、いろいろ試してみたが、JAVAのガベージコレクションの問題もあるのかと思い、CATALINA_OPTS="-server -Xms512m -Xmx1024m 云々の設定も試してみた。Ubuntuの場合
/etc/environmentに環境変数を設定できるようだ。
いちおう、やれることはすべてやってみたが、PCの性能によってやはりレスポンスの差はどうしてもあるようだ。シングルコアのメモリが1GBにも満たないものだと、大きなWEBファイルのせいか?(機能を盛り込みすぎたか)最大で10秒ほど待たされてしまう。それより、ちょっぴりCPUとメモリがよいPCで、最大5秒前後。スムーズな時は、1秒もかからず反応するのだけど、この違いは何なのか、いまひとつはっきりわからない。
グループウエアというのは、最初のうちは、機能がいろいろあって便利だといいだろうと思っていたが、実際にはレスポンスの良さが、ユーザーにとってはより重要なことなのかもしれない。
というか、もとはといえばjspのサイズが大きくなってしまったのが原因。こんなことになるんだったら、もう少しファイルを切り分けるとかすればよかった。
Gtmetrix,yslowなど使うと、どこが遅くなる原因かつかめるようだ。
****************
その後、いろいろ試してみたが、JAVAのガベージコレクションの問題もあるのかと思い、CATALINA_OPTS="-server -Xms512m -Xmx1024m 云々の設定も試してみた。Ubuntuの場合
/etc/environmentに環境変数を設定できるようだ。
いちおう、やれることはすべてやってみたが、PCの性能によってやはりレスポンスの差はどうしてもあるようだ。シングルコアのメモリが1GBにも満たないものだと、大きなWEBファイルのせいか?(機能を盛り込みすぎたか)最大で10秒ほど待たされてしまう。それより、ちょっぴりCPUとメモリがよいPCで、最大5秒前後。スムーズな時は、1秒もかからず反応するのだけど、この違いは何なのか、いまひとつはっきりわからない。
グループウエアというのは、最初のうちは、機能がいろいろあって便利だといいだろうと思っていたが、実際にはレスポンスの良さが、ユーザーにとってはより重要なことなのかもしれない。
2015年8月17日月曜日
slickの設定
ネット上の情報をもとに、slickの設定しようとしたが、うまくいかない。どうやら、バージョンをplayに合わせる必要があるようだ。最新版のバージョンを調べて、設定してみたら、なんとかなった。
以下build.sbtの中身
libraryDependencies ++= Seq(
jdbc,
cache,
ws,
specs2 % Test,
"com.typesafe.slick" %% "slick" % "3.0.2",
"org.slf4j" % "slf4j-nop" % "1.6.4",
"com.typesafe.play" %% "play-slick" % "1.0.1"
)
このあと
activator update
activator eclipse
を実行することで、eclipseでの編集ができるようになるようだ
*************
このあと、ネットを参考に、サンプルプログラムを試してみるが、うまくコンパイルできない。
import play.api.db.slick.Config.driver.simple._と
あるけれど、実際には
import slick.driver.H2Driver.api._
import slick.lifted._
などが必要?でも、slickのバージョンが少し違うといろいろなところで、はじかれてしまう?依存関係がいまいちよくわからない。まだまだ実用的なソフトをscalaでつくるには壁がありそうだ。
以下build.sbtの中身
libraryDependencies ++= Seq(
jdbc,
cache,
ws,
specs2 % Test,
"com.typesafe.slick" %% "slick" % "3.0.2",
"org.slf4j" % "slf4j-nop" % "1.6.4",
"com.typesafe.play" %% "play-slick" % "1.0.1"
)
このあと
activator update
activator eclipse
を実行することで、eclipseでの編集ができるようになるようだ
*************
このあと、ネットを参考に、サンプルプログラムを試してみるが、うまくコンパイルできない。
import play.api.db.slick.Config.driver.simple._と
あるけれど、実際には
import slick.driver.H2Driver.api._
import slick.lifted._
などが必要?でも、slickのバージョンが少し違うといろいろなところで、はじかれてしまう?依存関係がいまいちよくわからない。まだまだ実用的なソフトをscalaでつくるには壁がありそうだ。
2015年8月16日日曜日
今年の畑の状況
今年は、小玉スイカを試しに植えてみた。つるの伸びがすごい。1畝に1株しか植えなかったのだが、それでも別の畝のトマトまで越境していく始末。でも、1株から10個近くとれたので、十分もとはとれた。ナスは、昨年ほどでないが、平年並み。トマトも順調で、食べきれないので、ジューサーでトマトジュースにしている。
小玉スイカとダダチャ豆の収穫が終わり空いたところには、これから大根を植える予定。残ったのはインゲン、トマト、ナス、ゴーヤ。トマトはそろそろおしまいだが、ゴーヤは今が最盛期。
小玉スイカとダダチャ豆の収穫が終わり空いたところには、これから大根を植える予定。残ったのはインゲン、トマト、ナス、ゴーヤ。トマトはそろそろおしまいだが、ゴーヤは今が最盛期。
登録:
投稿 (Atom)