Page 10 of 11

Previous page

Dead Simple twitter client in Terminal

よくあるターミナルでやるやつです。 アプリケーション登録する必要があります。

引数をつぶやきます。引数無しでタイムライン表示します。細かいことは考えません。 たとえばこんな感じに使います。 twt.rb というファイル名で以下のコードを保存してruby twt.rb hey! I am tweeting!! とつぶやいたり、ruby twt.rb でタイムライン表示します。

require 'twitter'↲
@client = Twitter::Client.new(↲
  consumer_key: "xxx",↲
  consumer_secret: "xxx",↲
  oauth_token: "xxx",↲
  oauth_token_secret: "xxx"↲
)↲
if ARGV[0]↲
  @client.update(ARGV.join(" "))↲
  puts "updated:" + ARGV.join(" ")↲
else↲
  @client.home_timeline.each do |tl|↲
    puts "#{tl.from_user}: #{tl.created_at}"↲
    puts " -> #{tl.text}"↲
  end↲
end↲

というもの


Published at June 14, 2013.

MySQL 5.1 to 5.5 バージョンアップによるオプションの修正

MySQL のバージョンをあげる際、オプションが変わっていたりした。

  • default-character-set

5.5 からは

character-set-server=utf8mb4

utf8mb4は MySQL 5.5.3 で対応した 4バイトUTF-8 キャラクタセット。

ちなみに [client] のオプションはそのままだそうな。

[client]
default-character-set=utf8mb4
  • table_cache

こちらは 5.1.3 で変わっている模様。以下の様にしましょう。

table_open_cache=512
  • log

5.1 からは、ファイル名とフラグで管理する様だ。

general_log=1
general_log_file=/mysql/logs/mysql.log
  • log_slow_queries

こちらも同様に、5.1 からはファイル名とフラグで管理する。

slow_query_log = 1
slow_query_log_file = /mysql/logs/slow.log
long_query_time =1

とりあえずぶちあたったのはこれら。


Published at May 13, 2013.



Vagrant のメモリ割当て

ちょっと貧弱貧弱ゥ!だったのでメモリを2Gに強化した。

Vagrantfile に書く

config.vm.provider :virtualbox do |vb|
  # Don't boot with headless mode
  # vb.gui = true

  # Use VBoxManage to customize the VM. For example to change memory:
  vb.customize ["modifyvm", :id, "--memory", "2048"]
end

そして 再起動する。

vagrant reload

vagrant reload は稼働しつつ設定ファイルだけ読み込めるわけではないので注意

calling vagrant reload will apply them without re-importing and re-building everything.


Published at May 11, 2013.

Windows7でVagrant - CentOS6.4を使う

必要に迫られて win7 な環境でもやったのでメモ。

まずは VirtualBox と Vagrant をインストールする。

for Windows なやつを設定はデフォルトで入れた。

そうそう ruby も入れておく必要がある。

CentOS は 6.4 がきてたのでこれにした。

vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130309.box

box add でこんなエラーがでた

/vagrant/embedded/gems/gems/vagrant-1.1.2/lib/vagrant/environment.rb:516:in `expand_path': non-absolute home (ArgumentError)

環境変数 HOME が設定されているのがいけない様なので消してから box add したら上手くいった。

set HOME=

vagrant up して vagrant ssh すると ssh が無いぞと言われる(ホスト情報が出力されているので teraterm 使って入りました)

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/Users/kazuma/.vagrant.d/insecure_private_key

こんな感じでした。かんたん!


Published at May 10, 2013.

Java DataSource Connect への道

Java のはなしを(ry

web.xml にこう書いて

<resource-ref>
    <res-ref-name>jdbc/name</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

context.xml にはこう書いて META-INF の下みたいなところにつっこんでおく。

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <Resource
        name="jdbc/name"
        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/dbname?autoReconnect=true&amp;characterEncoding=UTF8&amp;zeroDateTimeBehavior=convertToNull"
        username="user"
        password="pass"
        maxActive="100"
        maxIdle="10"
        maxWait="10000"
        testOnBorrow="true"
        validationQuery="SELECT 1"
        removeAbandoned="true"
        removeAbandonedTimeout="100"
        logAbandoned="true"
        />
    <Resource
        name="jdbc/name2"
        こんな感じに複数定義可能。paramは上と同じ感じなので略。
        />
</Context>

validationQuery は死活監視のために発行するSQLにあたるようだ。


Published at May 09, 2013.

DataSource と DriverManager のこと

Javaのはなしをします2。

http://zetcode.com/tutorials/jeetutorials/datasource/

DataSource and the DriverManager are the two basic ways to connect to a database in a JEE application. The DriverManager is older facility, DataSource is newer. It is recommended to use the new DataSource facility to connect to databases and other resources. DataSource facility has several advantages over DriverManager facility. Using DataSource increases portability. The DataSource enables connection pooling and distributed transactions, the DriverManager does not allow such techniques. Properties of a DataSource are kept in a configuration file. Any changes to the data source or database drivers are made in the configuration file. In case of a DriverManager, these properties are hard coded in the application and for any changes we must recompile the code.

DataSource と DriverManager という2つのDB接続方法があって

DataSource のが新しくって接続方式として推奨されていて

DataSource 使った方が拡張性たかい

コネクションプーリングできちゃうし分散トランザクション可能

DataSource は設定ファイルで完結する

DB や driver は設定ファイルに定義する

DriverManager だったらアプリにハードコーディングでリコンパイルが必要なところ


Published at April 17, 2013.

共有 utuntu - windows7

ubuntu side

sudo apt-get install samba
sudo smbpasswd -a USERNAME
New SMB password: PASSWORD
Retype new SMB password: PASSWORD

groups して sambashare があればおk

ホームに Pubulic フォルダがいたので右クリック Shareding Options を選んで以下にチェックを入れる

  • Share this folder
  • Allow others to create and delete files in this folder

あとは Create Share する。

あと ifconfig してipを調べておく。

windows side

コンピュータ? を右クリックすると ネットワークドライブの割り当て があるので選ぶ。

ubuntu side で調べたip入力して参照クリックするとさっきのPubulicフォルダとか出てくるはずなのでそれを選ぶ。

これでおk。


Published at April 11, 2013.

Java で JSON 扱うには Gson が便利だった

Java の話です。

Gson

Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

Gson を使うと Java Object から JSON、又はその逆の変換をとても簡単に行うことができます。

Java Object to JSON

HogeParam hogeParam = new HogeParam();
hogeParam.setId(111);
hogeParam.setName("nyaruko");
hogeParam.setEntries(entrieList);
Gson gson = new Gson();
String jsonString = gson.toJson(hogeParam);

JSON to Java Object

HogeParam javaParam = gson.fromJson(jsonString, HogeParam.class);
Integer id = javaParam.getId();
String name = javaParam.getName();
for (Entry entry : javaParam.getEntries()) { }

みたいな感じに。 リストも入れ子もいけちゃいます。らくちんらくちん。


Published at April 09, 2013.

Next page