徳丸本 輪読会 参加メモ(第5回 4.5.1 CSRF)

www.sbcr.jp 参加者は7名でした。 内容は4.5.1 クロスサイト・リクエストフォージェリ(CSRF) 書籍の中でCSRF対策方法として以下が紹介されている トークン埋め込み パスワード再入力 Referer確認 対策方法を実装した際の開発工数や利用者への影響、利用シー…

(Vue.js)$router.pushのqueryで、パラメータの値に配列を渡すと同一名のパラメータを複数作ってくれる

this.$router.push( { name: 'home', query: { foo: ["value1", "value2"] } } ) これでクエリストリングは?foo=value1&foo=value2となる。 router.vuejs.org

去年の振り返り

業務と業務外のこと。 業務 Rails API + Sinatra でWebアプリケーション開発 Rails API を書いた Sinatra でAPIから受け取ったJSONをよしなにしてた Nokogiriで特定情報をスクレイピングしてDBに登録する処理を書いた Vue.js 管理画面(Sinatra)を Vue.jsにリ…

esa.ioの記事を取得して別のesa.ioにインポートするスクリプトを書いてた

docs.esa.io ソース github.com 用途 foo.esa.io の記事を取得して bar.esa.io に記事を移す。 使い方 各種Configに値を設定した上で以下を実行する。 bundle exec ruby import_and_export.rb ※アクセストークンは esa.io の SETTINGS > Applicationsから Pe…

定期的に見てるサイト

るびま TechRacho - Ruby on Rails システム開発 情報サイト - BPS株式会社 r/programming r/programming_jp Qiitaの殿堂 室長のひとりごち GitHub - rubocop-hq/ruby-style-guide: A community-driven Ruby coding style guide るびま 定期的にアーカイブを…

サーバがステートレスとは

Webを支える技術を読んでいてよくわからなかったところを整理。 ステートフル/ステートレスはハンバーガーのたとえが有名。 セッション(ステート)の保存先はいくつかある。Railsだと、 CookieStore(デフォルト) CacheStore ActiveRecordStore FileStore Redi…

Sinatra pry(irb)でヘルパーメソッドを呼び出す

コンソールでメソッド呼びたかったけど結構つまづいたのでメモ代わりにまとめ。 Pry起動 # Gemfile: gem 'pry' $ bundle exec pry -r 'app.rb' Helper呼び出し pry(main)> MyApp.new.helpers.hoge => 'hoge' github.com でWrapperにhelpersが定義されていて…

addEventListener() のリスナーでreturn falseしてもイベントはキャンセルできない

Target.addEventListener('submit', function(){ // 処理 return false }); ↑みたいなコードを書いてもsubmitイベントはキャンセルできない。 jQueryのリスナーであれば、return falseでキャンセルできる。↓(イベントのキャンセルおよびイベント伝搬が停止す…

Ruby技術者認定試験Silver 合格しました

84点で合格しました。 90点くらい取れてるかなーと思ってたのでちょっとショック。 例外とFileの扱い、演算子の優先順あたりで点を落としたのかなーと思ってます。 ちなみに私のプログラミング歴は1年程度で、Rubyは1年弱ほど業務で扱っています。 Silver…

参考になった記事

ruby-style-guide 初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 【Ruby】よく使うFileクラスを使ったファイル読み込み処理 Chrom…

メモ:`%`がRackに渡されるとInvalid query parameters: invalid %-encoding が発生する

?hoge=% とか ?%=hoge、?% と渡すと上記のエラーが起きる。 Railsで作られてるサイトにパーセントを渡すと400になるので、Railsを使ってるサイトの判別に使えるかも。

Sinatra ルーティングとかテンプレートとか

Sinatra: README (Japanese) ルーティング 複数のマッチングパターンに同じ処理を設定したい時 配列にパターンを渡して回す ['/article/:num', '/article/entry/:num'].each do |path| get path do # 処理 end end 手続きオブジェクトを渡す article = lambd…

Developers Summit 2018に参加してきました

event.shoeisha.jp トイレで川が流れてるよ、橋がかかっているよという話を聞いていたので密かに楽しみにしていたんですが、川があるトイレを見つけられないまま帰ってきました。 とりあえず、デブサミのアウトラインを書き残しておきたく。 以下参加セッシ…

セガのWebアプリ実例

Ruby on Railsで作成されたWebアプリの実例が紹介されていたのでメモ。 techblog.sega.jp 上記のアセットライブラリやボット管理ツールは、この「Ruby on Rails」のバージョン4で作成し、このようなひな形から肉付けして発展させたものです。そして、その作…

Ruby Hash#keyが返すキーの順序は不定?

生成時の要素順 Hashクラスのメソッドが返す要素の順番 1/17追記 Python3について調べていたら、辞書(dict型)の順序は不定*1という一文を見つけました。 以前「RubyのHashの順番」について調べていた事を思い出したので、忘れないようにメモ。 *1:https://do…

PATHの通し忘れで苦しんだメモ。

igrc.hatenablog.com ↑で苦しんだ後の話。 基本的な話だと思いますが私は苦しんだのでメモ。 OpenSSLでドタバタしてたら以下のエラーが出るようになってました。 # openssl version openssl: symbol lookup error: openssl: undefined symbol: CMS_Attribute…

Ubuntu rbenvで古いruby(1.9.0)を入れようとした際にmake[1]: *** [ossl_ns_spki.o] Error 1で引っかかったメモ。

Ubuntu 14.04.5 LTS Ruby1.9.0のインストール失敗。 BUILD FAILED (Ubuntu 14.04 using ruby-build 20171226) Inspect or clean up the working tree at /tmp/ruby-build.20180113163504.1885 Results logged to /tmp/ruby-build.20180113163504.1885.log La…

Humble BundleのBook Bundle(1ドル~)で技術書が購入できる話

PCゲーマーの間でよく話題になっているHumble Bundleで1ドルから技術書(洋書)のバンドルが手に入るという話。 今回はPython本のBook Bundleでした。 Humble Book Bundle: Python by Packt (pay what you want and help charity)かなり昔から実施しているので…