spica350の開発メモ

知識集約(メモ)代わりに使用中。

【Ruby on Rails】CarrierWave導入に関するエラー対処

Ruby on Rails チュートリアル 5.0(第4版)第13章やっていたら、以下のエラーが発生して困ったのでメモ。

【エラー内容】
CarrierWaveをインストールしたにも関わらず以下のエラーが発生する。

NameError: uninitialized constant Micropost::PictureUploader

【対処】
config/environment.rbの行末に以下を追記する。

require 'carrierwave/orm/activerecord'

以下の記事を参考にしました。
stackoverflow.com

【WebDAV】共有フォルダへのアクセス遅延

事象
WebDAVを用いての共有フォルダへのアクセスに時間がかかる。
・共有フォルダへのアクセスだけでなく、共有フォルダからの遷移にも時間がかかる。

【原因】
プロキシの自動構成によるWPADプロトコル通信に時間がかかっている。

【対処】
インターネットオプション→[接続]タブ→[LANの設定]ボタン→[設定を自動的に検出する]or[自動構成スクリプトを使用する]のチェックを外す

【Python】ツイートを全削除する

#coding:utf-8
import tweepy

CONSUMER_KEY = 'XXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXX'
ACCESS_KEY = 'XXXXXXXXXXXXXXX'
ACCESS_SECRET = 'XXXXXXXXXXXXXXX'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)

tweets = XXXX #ツイート総数
for t in tweepy.Cursor(api.user_timeline).items(tweets):
    api.destroy_status(t.id)

・Rate Limitにひっかかる場合も
・ツイート総数のstatusはAPIで拾えますか?

【Oracle】UTL_FILEパッケージとLOB型

PL/SQLにおいてはUTL_FILEパッケージによってファイルの入出力を行うことができる。

UTL_FILEパッケージで一回の入出力の長さは最大32KBである。

 

問題:

テキストファイル全体で4KB以上のデータをUTL_FILEパッケージで読み込む場合、LOB型で確保することはできない。

 

原因:

GET_LINEプロシージャはVARCHAR2型でバッファに読み込む。その後LOB型に追記するとVARCHAR2型に暗黙的に変換されてしまうから(?)。

※ちなみにLOB型は実データを表領域にではなく別の格納領域に確保している。

表領域にはロケータと呼ばれる格納先のポインタを含めた構造体を配置することでデータを保持している。

 

解決策:

1.パッケージを拡張する。(ex.XT_UTL_FILE)

2.受け取る型をLONG型にする。(その後LOB型に変換できる?)

【C#】BeginUpdateメソッド・EndUpdateメソッド

BeginUpdateメソッドにより、描画処理が保留される。

EndUpdateメソッドにより、保留されていた描画処理が一度に実施される。

この一連の処理により、

・処理の高速化

・ちらつきの減少(UI挙動の隠蔽)

などが見込める。

 

ただし、BeginUpdateメソッドとEndUpdateメソッドは対にしなければならない。

BeginUpdateメソッドによってUpdateCountプロパティがインクリメントされ、EndUpdateメソッドによってデクリメントされる。

よってBeginUpdateを2回以上実行した後にEndUpdateメソッドを実行しても保留が解除されない。

 

try-catch処理の際は注意する。