つよくなるブログ

その場にとどまるためには、全力で走り続けなければならない

PostgreSQLで特定日時のデータを取得する

想定シーン:

毎日朝5時に、昨日の 00:00 ~ 23:59 のデータを抽出したい場合。

少し考えてしまったので、自分用に忘備録。

 

select * from table_name where date between ¥

to_timestamp(to_char(current_timestamp + '-1 days', 'YYYY-MM-DD 00:00:00'),'YYYY-MM-DD HH24:MI:SS') ¥

and to_timestamp(to_char(current_timestamp + '-1 days', 'YYYY-MM-DD 23:59:59'),'YYYY-MM-DD HH24:MI:SS');

 

流れ:

①.現在日時から-1日した、文字列を作る(時間は 00:00:00)

②.①のままだとタイムスタンプとして扱えないので to_timestampで変換する

 

うーん。もっとシンプルに書ける気が・・。

 

・to_char()

タイムスタンプを文字列に変換する

・to_timestamp()

文字列をタイムスタンプに変換する

 

 

Neo4j勉強会に参加してきた[Neo4j][GraphDB]

 

第2回Neo4j 勉強会に参加して来ました。

 

きっかけはNeo4j公式ソーシャルグラフの図をみて、

DBに入ってるデータの繋がりを可視化できたら面白そう!と思って。

 

■アジェンダ

①•Web管理ツールを使ってみよう(初心者向け)

資料:http://www.slideshare.net/masahirosatake/neo4jjava

②•Neo4jを使ったトレーサビリティ 

③参加者の自己紹介 と LT(Lightning Talk)

 

■つぶやきまとめ

http://togetter.com/li/508160

 

■感想

Neo4jの活用方法として、

①課題が存在する

②課題に関連するデータを集める

③集めたデータをグラフにしてデータ(Node)同士の繋がり(Edge)を可視化させる

④グラフ化によって新しい発見・新しいアプローチ方法を得る。

⑤それを元に改善案を生み出す

といった感じなのかなと。

 

特に面白かったのが、ぬこ@横浜さんのLT。

ラーメンデータベースで"自分からみた神奈川県ユーザーのHOP数"で、

Neo4jを使って、自分と直接の繋がりはないが関係わりとが近い(≒自分に興味を持ちやすい)ユーザーは誰か調べてみた、というもの。

ここではランキングを上げるためにはこの辺りへアプローチすればいんじゃね?というお話でした。

これって他にも色々使えるよなーと関心しておりました。

 

■今後に向けて

①技術系勉強会に行くときはデモでもクソでもいいから、触って何か作ってから行く。

勉強会で初めて触れるか、事前になんとなくでも知っているかでは理解度に差が出る。

→質問も突っ込んだものができる。

 

②自己紹介用の資料を準備していく

小規模勉強会では参加者の自己紹介がある場合が多いと思うので、

たとえ30秒でもスクリーンに映して話したほうが与える印象は大きい。

→この技術好きです、こんなん作ってます、Twitter・FBのアカウント等々。

→懇親会や別の勉強会で再び会った時に、あの話してた人!みたいな。

 

以上です!

外部キー制約を定義したテーブルの削除 ~終わらないdrop table~

 

いつも通り

begin;

drop table table_name;

...

...

おわらない!

 

困った時の公式ドキュメント

http://www.postgresql.jp/document/9.2/html/sql-droptable.html

CASCADE

削除するテーブルに依存しているオブジェクト(ビューなど)を自動的に削除します。

drop table table_name cascade;

無事削除できた!

 

ちなみに・・・デフォルトは restrict が指定されてる

・RESTRICT

依存しているオブジェクトがある場合に、テーブルの削除を拒否します。 こちらがデフォルトです。
件数が少ないテーブルを対象としていたので、違うテーブルをdropしたかと思って焦りました。。

Facebookアプリ関連まとめ

 

Facebookアプリ作成に参考になりそうなサイトを調べたのでメモ

 

■fb.developers'+ / Facebookアプリ開発入門

http://fb.dev-plus.jp/column/column2/

とりあえず動くサンプルを試したい時に。

 

■ウォール投稿API参考

http://socialmedia.project0884.com/facebook/post_wall.php

Graph APIを使ってウォールに投稿する。

 

■GraphAPIテスト用

https://developers.facebook.com/tools/explorer

どのアクセストークンを使用すれば、どんな情報が取得できるかテスト出来る。

 

■fb.developers'+ / アクセス許可関連

http://fb.dev-plus.jp/reference/coreconcepts/api/permissions/