2015-01-01から1年間の記事一覧

UITableHeaderViewを上端固定する

スクロール時にUITableHeaderViewを上端に固定して、Twitter的な見た目を実現する時にちょっとハマった。 if (self.tableView.contentOffset.y < 0) { float offsetY = self.tableView.contentOffset.y; CGRect tblFrame = self.tableView.tableHeaderView.f…

古いバージョンのpythonとpostgreでDBのデータをxmlに変換して出力した

python2.4 とpostgreを使ってDBのバックアップを取るためにxmlとして出力する必要がありまして、その時のメモです。 方法は二つあって、DOMをメモリ上に全部もってからまとめて吐き出す方法と地道に一つずつ書き出していく方法があります。 小さなDBだったら…

バックアップサーバからDBサーバにバックアップデータを取得しにいく

バックアップサーバから、DBサーバにアクセスしてMySQLのデータを取ってきてバックアップフォルダに吐く。 dateコマンドはいつも使い方を忘れる。 mysqldump -h dbserver -u dbuser --password=dbpass db | gzip > /home/backupuser/backup/backup_`date +%Y…

Vimの置換・検索時に大文字小文字を区別して欲しかった。

デフォルトではどうやら区別するらしいのが、おすすめ設定を導入していたところ見事に区別されなかったので、置換の時だけ一時的に変更したかった。以下のようにして対応しました。 "大文字小文字を区別する set noignorecase "大文字小文字を区別しない set…

Outletのweak参照の理由

UIViewControllerに繋いだ時のアウトレットが何で自動で弱参照(weak)になるのか、今日UIKitの書籍読んでいて初めて知りました。 以下、である調。UIViewControllerが管理しているViewのことをコンテンツビューといい、アウトレットで繋がっているものは元々…

gunicornでDjangoを動かしたいとき

gunicornでDjango動かす時にsettingsを指定する方法 gunicorn project.wsgi --env DJANGO_SETTINGS_MODULE=project.settings.develop

QuerySetをまとめて編集したい時

動機 こういう書き方するとSQL沢山発行されるし、長い。 for obj in queryset: obj.status = "honyarara" obj.save()そして、書き方をよく忘れるのでメモっておく。 やり方 https://docs.djangoproject.com/en/dev/topics/db/queries/#updating-multiple-obj…

JSで動的にDOMを生成するページをPythonで開く

動機 とあるサイトをスクレイピングしようと思い、おもむろにurllib2を使って下記のように開いてみたところ 明らかに中身のDOMの量が少なかったのです。 import urllib2 response = urllib2.urlopen("http://test.com") response.read() # 確認すると中身が…

セキュリティのお勉強

背景最近Web・サーバーのセキュリティ関係への興味がでてきました。というのも、自分でVPSを借りてずさんな管理体制の中で運用していると雨霰と攻撃が降り注いできます。今までフレームワークやら知識のある人に助けられていたものから、はみ出た途端に露呈…