telnet 使った
telnet でメールのチェックをする - いますぐ実践! Linuxシステム管理 / Vol.020
telnetでsmtpと話をした。 HELOしてRCPTしたら拒絶された。それとVRFYとEXPNした。 VRFYはユーザがいるか返してくれる。EXPNは転送先を返してくれるはずなんだけどnot found comanndとなった。 セキュリティの観点からそうなったのかな(´・_・`)
たまにメールサーバは不調なので調査をしてください、って依頼が入るのでこれでバッチシです。
SSHログインされたタイミングで通知する・ログをとる
WWW を使ってログをとる - いますぐ実践! Linuxシステム管理 / Vol.011
SSH で遠隔ログインした時にメールで通知する - いますぐ実践! Linuxシステム管理 / Vol.010
をやりました。
sshdがキックされると~/.ssh/rc が実行されるようで、そこにmailコマンドを書いたり、WEBサーバにGETを投げたりした。 また、課題ではprintenvの内容をメールしたり、scpではrcがキックされないようにしたりした。 sshすると環境変数のTERMにセットされるの知らなかった。
環境変数TERMについて調べると、接続端末によって特殊文字の定義が異なるため、端末と特殊文字を紐付けたデータベースがあり、 Vimやshellなどのアプリケーションは、そのデータベースから適切な出力をしているとのこと。
なるほどなー。
Rails Documentation. Getting Started Tutorial not working. 1
RailsドキュメントのGetting Started が動かない。
Rails Documentation. Getting Started Tutorial not working. · Issue #19330 · rails/rails · GitHub
本文
あなたがgetting startedチュートリアルをフォローしているのなら、セクション5.2の終わりに気づくだろう。 formの入力やsubmitボタンをクリックするとき、チュートリアルに従っていないルーティングエラーが起きる。 わたしはこの修正方法を知らない。解決するためには何ができますか?
返信
もし、あなたがあなたのformをペーストしたらそれは助けになっただろう。そう、私たちはそれとガイドを比較できる。 (そのエラーの)は原因は、ガイドのurlにある、formは不正確であり、あなたはこのように変えるべきだ。 私には正しく見えるので今の所はこれを閉じるよ。
うーーーーーーーーーーーーーーん。なんか意図がわからん。
Weird behavior of POST, PUT and DELETE in Mozilla Firefox
Weird behavior of POST, PUT and DELETE in Mozilla Firefox · Issue #19278 · rails/rails · GitHub
FireFoxでPOST, PUT, DELETEをすると変な振る舞いをする
本文
Hi! I'm making forum https://github.com/vladzzag/rails-forum どうも、私はフォーラムサイトを作っている。そして、FirefoxでPOST, PUT, DELETEリクエストで何か問題が見つかった。1クリックにつき複数回それらのリクエストが送信された。スクリーンショットを見て。また、chromeでは問題がないことを気がついた。 FireFoxでそのバグについて教えてくれることはできますか? 私は英語のスキルが不完全でごめんなさい。
返信
私たちはあなたのバグを助けることやFireFoxをテストを助けることはできない。 QAサイトかメーリングリストで試してくれ。
返信(主)
わかった。link_toメソッドにDELETEメソッドと { data: :confirm } を追加すると1POSTリクエストの代わりに3リクエスト送られた。
とても奇妙だ....。
最近issuesを読んでいるとQAサイトみたいな使い方をしている人はよくいますねー。
Scope that finds nothing or ends with .first does another lookup
結果が見つからなくてfirstメソッドで終わるとscopeが別の結果になる。
本文
Rails4.2とRuby2.2だよ。
class Car < ActiveRecord::Base scope :where_color_or_tint, ->(q) { where("color = ? OR tint = ?", q, q).limit(1).first } scope :find_color_or_tint, ->(q) { find_by("color = ? OR tint = ?", q, q) } scope :where_color, ->(q) { where(color: q).first } scope :find_color, ->(q) { find_by(color: q) }
最初に何も見つからんかったら、次にクエリが実行し、最初の値を返している(何も見つからなかったら全てを返しているの意かな?)。これは意図している?
Car.where_color_or_tint('test') Car Load (39.4ms) SELECT `cars`.* FROM `cars` WHERE (color = 'test' OR tint = 'test') ORDER BY `users`.`id` ASC LIMIT 1 Car Load (37.7ms) SELECT `cars`.* FROM `cars` => [ [0] #<Car:0x00000006bec6d8> {
Car.find_color_or_tint('test') Car Load (0.8ms) SELECT `cars`.* FROM `cars` WHERE (color = 'test' OR tint = 'test') LIMIT 1 Car Load (39.1ms) SELECT `cars`.* FROM `cars` => [ [0] #<Car:0x000000068c53b0> {
Car.where_color('test') Car Load (0.8ms) SELECT `cars`.* FROM `cars` WHERE `cars`.`color` = 'test' ORDER BY `cars`.`id` ASC LIMIT 1 Car Load (37.4ms) SELECT `cars`.* FROM `cars` => [ [0] #<Car:0x00000006806168> {
Car.find_color('test') Car Load (0.8ms) SELECT `cars`.* FROM `cars` WHERE `cars`.`color` = 'test' LIMIT 1 Car Load (38.9ms) SELECT `cars`.* FROM `cars` => [ [0] #<Car:0x00000006720550> {
クラスメソッドとして定義したらnilや[]を返す意図通りになる。
レス1
ActiveRecord::Scoping::Named で定義している、scopeメソッドが nil || all
を返すから、このような結果になっているのように見える。
あなたのケースはfirst
やfind_
byでnil
が返る。したがってすべてのレコードが得る。
first/find_by
を使用せず、レコードがない場合の結果は言うでもないがnilではない空のARオブジェクトだ。
Car.where("color = 'gold' OR tint = 'gold'") Car Load (0.3ms) SELECT "cars".* FROM "cars" WHERE (color = 'gold' OR tint = 'gold') => #<ActiveRecord::Relation []> Car.where("color = 'gold' OR tint = 'gold'").nil? => false
私が思うに、scopes
は1レコードを返すfind_byや類似メソッドと使うために作られていない。
あなたの場合はこのようなのを試すほうがたぶんより適している。
class Car < ActiveRecord::Base scope :where_color_or_tint, ->(q) { where("color = ? OR tint = ?", q, q) } def self.first_car_with_color_or_tint(q) where_color_or_tint(q).first end end
レス2
なるほど。ありがとう。
以上。
Time select and datetime select not honoring config.time_zone value
issueの本文
time_select, datetime_select のフォームヘルパーがタイムゾーンを無視する。UTCから変換するべきだ。今はUTCで保存される。環境はRuby2.2とRails4.2
レス1
私はその環境でtime_selectを試したけど、そのバグは再現しなかったよ。
レス2
バグを再現した簡単な(モデル, コントローラー, config, formだけの)アプリケーションを作ることができますか?
レス3(issue作成者)
作成したよ。(URL) タイムゾーンの設定にAPIに記されているMumbai をした。値を保存するとき、UTCでそれを保存する。(訳すのを諦めた) 例えば、タイムゾーンをMumbaiにセットして、7:00でを入力するとき、UTC1:30に変換され保存されるべき。しかしながら、入力した値はUTC7:00 で存在しており、正しくない。 updated_at フィールドのための変換は正しい。
タイムゾーンが反映されていないってことなんだろうけどイマイチよくわからん。