アーカイブ

投稿者のアーカイブ

毎週聴いているTBSラジオ番組。2017年4月 このエントリーを含むはてなブックマーク はてなブックマーク - 毎週聴いているTBSラジオ番組。2017年4月

2017 年 4 月 25 日 Comments off

口コミ大作戦「#TBSラジオきいてみて」キャンペーン|TBSラジオAM954+FM90.5~聞けば、見えてくる~

よく聴く番組名を書くだけでもいいですし、その番組のおススメポイント、さらにはradikoのシェアボタンで、印象に残った部分を紹介していただくのも大歓迎です! radikoタイムフリー機能では放送後1週間、番組を聴けます。シェアラジオ機能をどんどん使ってみて下さい!

キャンペーンは終わってしまったのだけれど、毎週聴いている番組のまとめ。
移動中だったり仕事中だったり、ヘッドホンしているときはだいたい流れてます。

その他の番組はパーソナリティ繋がりだったり、途中に流れる番宣だったりをきっかけにして、聴いたり聴かなかったり。

いまアプリでTBSラジオを聴く方法がradikoTBSラジオクラウドに分かれている状態で、radikoは本編そのまま、TBSラジオクラウドは本編の抜粋+アフタートークのようなオリジナルコンテンツ、となんだか半端な状態。
本編からアフタートークのネタに言及していたりその逆もあったりで、全部聴こうとすると2つのアプリを使わないといけないのがつらい。大人の事情っぽいのだけれど。

日常生活に組み込まれているのでTBSラジオにはいまの感じでずっといて欲しくて、聴取率みたいなやつ的に一番効果がある聴き方が出来るといいなと思ったりするのだけれど、どういう聴き方が運営側にとって一番嬉しいんですかねぇ。

ともあれ、ラジオいいよラジオ。

カテゴリー: 日記 タグ:

libの場所について。 このエントリーを含むはてなブックマーク はてなブックマーク - libの場所について。

2017 年 3 月 6 日 Comments off

autoload – Rails 5: Load lib files in production – Stack Overflow

Putting lib in app/lib is recommended by rails members

こんなやりとりを見て「おっ、そうなの?」ってことでまるっと移動してみたら、自分で作ったrakeタスクが見えなくなってしまった。
えー、ってことでソースを読んだからこんな感じになってた。

rails/engine.rb at v5.0.2 · rails/rails

paths[“lib/tasks”].existent.sort.each { |ext| load(ext) }

Rails.root直下に置くならconfig.eager_load_pathsに追加しなきゃならないし、app下に置くならrakeタスクは元の場所に残さなければならないから「lib」というディレクトリが2つ存在することになるしで、どっちがいいかちょっと悩ましい。のでした。後者かなぁ。

カテゴリー: Rails タグ:

例外の定義について。 このエントリーを含むはてなブックマーク はてなブックマーク - 例外の定義について。

2017 年 2 月 26 日 Comments off

えっ、ってことで確認したら、たのしいRuby第5版のP191にありました。

いままで

class MyError < StandardError; end

のように書いて、なんか据わりが悪い感じがしていたので、今度からClass.newを使っていきたいと思います。
ちなみにclass文との違いは新たにメソッドの定義などが出来ないことですが、そもそもStandardErrorを継承したクラスが作れればいいだけなので、問題ありませんね。(と、本にも書いてありました。たしかに。)

カテゴリー: Ruby タグ:

tarで展開する時にSCHILY云々と言われた。 このエントリーを含むはてなブックマーク はてなブックマーク - tarで展開する時にSCHILY云々と言われた。

2017 年 2 月 13 日 Comments off

過去に遭遇した気がするようなしないような状態でググってみたら、弩ストライクなエントリを書いている方がいらして助かりました。
ひと言で言うと「そのtarボール、Macで固めたやつをLinuxで展開しようとしてない?」ということ。

Capistranoを使ってデプロイするとtarのエラーになる tar: Ignoring unknown extended header keyword – Qiita

どうやらMacがBSDのtarを使ってデプロイ先がGNUのtarを使っているために、正しく解釈できなくなっているらしい。

ありがとうございましtar。

カテゴリー: Linux, Mac タグ:

JSONリクエストの時のCSRF対策について。 このエントリーを含むはてなブックマーク はてなブックマーク - JSONリクエストの時のCSRF対策について。

2017 年 1 月 14 日 Comments off

ちゃんとドキュメントがあったのでメモ。

ActionController::RequestForgeryProtection

It’s important to remember that XML or JSON requests are also affected and if you’re building an API you should change forgery protection method in ApplicationController (by default: :exception):

カテゴリー: Rails タグ:

あけましておめでとうございます。 このエントリーを含むはてなブックマーク はてなブックマーク - あけましておめでとうございます。

2017 年 1 月 1 日 Comments off

今年もどうぞよろしくお願いいたします。酉

カテゴリー: 日記 タグ:

ATOK 2017の予約が始まりました。 このエントリーを含むはてなブックマーク はてなブックマーク - ATOK 2017の予約が始まりました。

2016 年 12 月 3 日 Comments off

ATOK 2017 for Windows – Just MyShop

35周年を迎えるATOK 2017は、ディープラーニング技術を取り入れ、 変換エンジンを刷新。 これまで培ってきたノウハウに加え、 人知を超えた新たな才力を得たことで、常に理想の変換結果をもたらします。

とのこと。いつも通り予約しました。

カテゴリー: ATOK タグ:

RailsでPGroongaを使う。その3 このエントリーを含むはてなブックマーク はてなブックマーク - RailsでPGroongaを使う。その3

2016 年 11 月 3 日 Comments off

ここ数日追っていたこの件ですが、groonga/jaのチャットルームで教えていただきました。

コミュニティー | PGroonga

PGroonga用のチャットルームは次の通りです。

groonga/ja – Gitter

実際に追加したコードはこんな感じです。

Extend relation to switch “enable_seqscan” around query execution · yoshuki/article_search_with_pgroonga@049c8d4

Extend relation to switch “enable_seqscan” around query execution

extendingを知らなかったのですが、ここの前後に割り込ませているのですね。スッキリ追加できていてすばらしい。

rails/relation.rb at v5.0.0.1 · rails/rails

def exec_queries

ただここすでにmasterでは変わっているので、注意が必要ですね。(ちゃんとテスト書こう。)

rails/relation.rb at master · rails/rails

def exec_queries(&block)

@kouさんありがとうございました!

カテゴリー: PostgreSQL, Rails タグ:

RailsでPGroongaを使う。その2 このエントリーを含むはてなブックマーク はてなブックマーク - RailsでPGroongaを使う。その2

2016 年 11 月 1 日 Comments off

RailsでPGroongaを使う。 » サイキョウライン

全文検索そのものと、キーワードのハイライトについてはよかったのですが、pgroonga.score関数でとれるスコアを使ったソートで問題が・・・(つづく)

前回の続き、この問題について。端的に言うと、せっかく作ったインデックスを使ってくれずスコアが取れないため、結果として正しくソートが出来ていません。

pgroonga.score関数の仕様はこの様になっています。

pgroonga.score関数 | PGroonga

pgroonga.score関数はインデックスを使わずに全文検索した場合は常に0.0を返します。言い換えると、pgroonga.score関数はシーケンシャルスキャンで全文検索を実行した場合は常に0.0を返します。

そして、チュートリアルでは作ったインデックスを使わせる対策として、enable_seqscanをoffにしていました。

チュートリアル | PGroonga

確実にpgroongaインデックスを使うためにシーケンシャルスキャンを無効にします。

直にクエリを発行するなら、SELECTの前後でenable_seqscanをoff→DEFAULTと一時的に切り替えてあげればよいと思うのですが、ActiveRecordを使っているとクエリが発行されるのは実際に結果が必要になったタイミングなので、この様に書いても意味がありません。

> Article.connection.execute 'SET enable_seqscan = off'
> articles = Article.full_text_search('桃太郎')
> Article.connection.execute 'SET enable_seqscan = DEFAULT'

SELECTの前後にコールバックがあればいいのですが、探してみても用意されてはいないみたい。
after_initialize and after_findは期待している動きとはちょっと違う。)

かと言って、postgresql.confに書いてしまうのはやり過ぎ、というか全体でシーケンシャルスキャンをoffにしてしまうのは問題だと思います。
このような場合、どう実装するのがいいのでしょうか。

[15:30 追記]
ActiveRecordが生成するSQLをpsqlで流すとインデックスが使われることは確認できているので、enable_seqscanをどこで切り替えるか、に悩んでいます。

> puts Article.full_text_search('桃太郎').to_sql
SELECT "articles".*, pgroonga.score("articles") AS pgroonga_score FROM "articles"  WHERE (title %% '桃太郎' OR body %% '桃太郎')  ORDER BY pgroonga_score DESC
=> EXPLAIN SELECT "articles".*, pgroonga.score("articles") AS pgroonga_score FROM "articles"  WHERE (title %% '桃太郎' OR body %% '桃 太郎')  ORDER BY pgroonga_score DESC;
                               QUERY PLAN
-------------------------------------------------------------------------
 Sort  (cost=1.14..1.15 rows=4 width=242)
   Sort Key: (score(articles.*)) DESC
   ->  Seq Scan on articles  (cost=0.00..1.10 rows=4 width=242)
         Filter: ((title %% '桃太郎'::text) OR (body %% '桃太郎'::text))
(4 rows)

=> SET enable_seqscan = off;
SET
=> EXPLAIN SELECT "articles".*, pgroonga.score("articles") AS pgroonga_score FROM "articles"  WHERE (title %% '桃太郎' OR body %% '桃太郎')  ORDER BY pgroonga_score DESC;
                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------
 Sort  (cost=4.08..4.09 rows=4 width=242)
   Sort Key: (score(articles.*)) DESC
   ->  Bitmap Heap Scan on articles  (cost=0.00..4.04 rows=4 width=242)
         Recheck Cond: ((title %% '桃太郎'::text) OR (body %% '桃太郎'::text))
         ->  BitmapOr  (cost=0.00..0.00 rows=2 width=0)
               ->  Bitmap Index Scan on index_articles_on_id_and_title_and_body  (cost=0.00..0.00 rows=2 width=0)
                     Index Cond: (title %% '桃太郎'::text)
               ->  Bitmap Index Scan on index_articles_on_id_and_title_and_body  (cost=0.00..0.00 rows=1 width=0)
                     Index Cond: (body %% '桃太郎'::text)
(9 rows)

=> SET enable_seqscan = DEFAULT;
SET
=> EXPLAIN SELECT "articles".*, pgroonga.score("articles") AS pgroonga_score FROM "articles"  WHERE (title %% '桃太郎' OR body %% '桃太郎')  ORDER BY pgroonga_score DESC;
                               QUERY PLAN
-------------------------------------------------------------------------
 Sort  (cost=1.14..1.15 rows=4 width=242)
   Sort Key: (score(articles.*)) DESC
   ->  Seq Scan on articles  (cost=0.00..1.10 rows=4 width=242)
         Filter: ((title %% '桃太郎'::text) OR (body %% '桃太郎'::text))
(4 rows)
カテゴリー: PostgreSQL, Rails タグ:

「措法28の2」のやつが延長されている件について。 このエントリーを含むはてなブックマーク はてなブックマーク - 「措法28の2」のやつが延長されている件について。

2016 年 10 月 28 日 Comments off

No.5408 中小企業者等の少額減価償却資産の取得価額の損金算入の特例|法人税|国税庁

中小企業者等が、取得価額が30万円未満である減価償却資産を平成18年4月1日から平成30年3月31日までの間に取得などして事業の用に供した場合には、一定の要件のもとに、その取得価額に相当する金額を損金の額に算入することができます。

法人向けにはこのようなページがあるのですが、個人事業主向けのものが見つからなかったため、(税務署に掛けるとリダイレクトされる)国税局電話相談センターに聞いてみました。

結果から言うと個人事業主向けのページは用意されておらず、下記の様にPDFの中を辿って解釈してください、とのことでした。

パンフレット・手引き|国税庁

平成28年分 所得税の改正のあらまし(平成28年4月)(PDF/515KB)

該当するのは、このPDFの6ページにあるこの部分で、

⒀ 中小事業者の少額減価償却資産の取得価額の必要経費算入の特例(措法 28 の2)について、その
適用期限が平成 30 年3月 31 日まで2年延長されました(措法 28 の2①)。

ん?中小事業者?と思いながらこのブロックの上の方に戻ると、

3 事業所得等関係

とあり、事業所得は所得税の区分のひとつなので、個人事業主も対象だよ、ということになりますよ、と。

すごく・・・分かりづらいです・・・。

カテゴリー: 日記 タグ: