タグ

ryo-skのブックマーク (1,085)

  • Doorkeeper2.1.4でコンソールからOAuth2.0認証API用のアクセストークンを発行してみた

    OAuth2認証の定番Doorkeeper gemを使ってコンソールからアクセストークンを発行してみました。自前で認証画面を作る場合など参考になるかと思います。 Rails / Ruby / OAuth2.0 Doorkeeperを使うとデフォルトの認証画面を使うのが定番のようですが、自前で認証画面を用意したりRakeタスクでアクセストークンを発行したいことがあったりします。 ということで、Railsコンソールからアクセストークンの発行までやってみました。 Doorkeeper インストール まずはRailsプロジェクトのGemfileにDoorkeeper gemを追加してbundle installします。 # Gemfile gem 'doorkeeper' 今回はdoorkeeper-2.1.4が入りました。 続いてActiveRecord用の設定&テーブルを作成します。 $ ra

    Doorkeeper2.1.4でコンソールからOAuth2.0認証API用のアクセストークンを発行してみた
    ryo-sk
    ryo-sk 2016/10/07
    “Doorkeeper + GrapeでOAuth2認証API”
  • 非技術者のためのOAuth認証(?)とOpenIDの違い入門【2023年版】

    昔から、「OpenIDは認証でOAuthは認可だ」などということが言われます。しかし、その言語の意味を取り違えている方が結構多い気がしています。「もうOpenIDなんていらね。OAuthだけでいいじゃん」というような言説がよく流れてくるのがその証拠だと思います。OAuth認証というのもその類ですね。 そこで、今日はOAuthとOpenIDの違いを考えてみたいと思います。 Youtube版 OpenIDは紹介状、OAuthは合鍵 まずはOpenIDの概要の復習です。「OpenIDは認証」という言葉の内容をまずは復習してみましょう。 「認証」とは大変広い言葉でいろいろな場面で使われますが、「OpenIDは認証」という使い方の時は、「OpenIDは、いま来ている人の身元を認証」(ユーザ認証)という意味です。図にすると図1のような流れになります。 この例では、有栖さんがお客としてサービス提供をして

    非技術者のためのOAuth認証(?)とOpenIDの違い入門【2023年版】
    ryo-sk
    ryo-sk 2016/10/05
  • 半年使って分かったPHPフレームワーク「Codeigniter」の魅力5つ|リレーションデザイン研究所

    「私が「CakePHP」ではなく「CodeIgniter」を選んだ3つの理由」という記事を書いて、気づいたら早半年。選定してた時とまた違ったCodeigniterの魅力がわかってきましたので、簡単にまとめます。 なお、Codeigniterの日語情報はrdlabo/CodeIgniter_Talkにまとめていますので、そちらもご参照くださいー。 お知らせ CodeIgniter3の書籍を、PDF販売しております。日語書籍がないことでお困りの方は、ぜひご利用くださいませ。 「はじめてのPHPフレームワーク PHP初心者がすぐ現場で活躍するための CodeIgniter3超入門」 1.フレームワークは大差がないことがわかった PHPに限った話でも、いろいろなフレームワークが出回っております。メジャーどころでいうと、CakePHP, FuelPHP, Laravel, Symfonyあたりで

    半年使って分かったPHPフレームワーク「Codeigniter」の魅力5つ|リレーションデザイン研究所
    ryo-sk
    ryo-sk 2016/09/20
  • 【Rails】Grapeで最速API開発 - エンジニアになりたい文系大学生

    最近、grapeを用いてapiを作っています。 最速と言っても他のを試した事はないんですが、かなり早くできたので... 初期設定のところから記載してきます。 jbuilderを使ってresponseのjson生成してます。 設定 1. Gemfile # Gemfile gem 'grape' gem 'grape-jbuilder' Gemfileに記入後、いつも通りインストール。 $ bundle install 2. application.rb apiのフォルダを読み込んでもらうためにパスを追加。 # config/application.rb config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb') config.autoload_paths += Dir[Rails.root.join('ap

    【Rails】Grapeで最速API開発 - エンジニアになりたい文系大学生
    ryo-sk
    ryo-sk 2016/09/10
    “grape-jbuilder”
  • nginxで静的jsonファイル配信時に日本語が文字化けしないようにする

    androidアプリ開発時に、volleyを使ってjson形式のapiを取得する処理を書いていたのですが、jsonに日語が入っていると文字化けする現象に遭遇しました。 調べてみるとapiのレスポンスヘッダーにContent-Typeが正しく指定されていない模様。 自前で用意したapiだったのでnginxの設定を変えて、正しくContent-Typeを指定するように修正したところ、文字化けが直りました。 /etc/nginx/mime.types にjsonを追加# sudo vi /etc/nginx/mime.types types { text/html html htm shtml; # ・・・・ application/json json; }jsonの文字コードがutf-8になるように指定server { listen 80; # ・・・・ include /etc/nginx

    nginxで静的jsonファイル配信時に日本語が文字化けしないようにする
    ryo-sk
    ryo-sk 2016/09/10
  • mysqlソケットエラー解決法 - ウマい話、ちょいくれや。

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'これ。たまに出るね。 こいつにハマるとどうしようもなくなる。 とりあえず指定の場所にsocketファイルがあるか確認 $ ls -al /var/lib/mysql/ なかったら作成 $ sudo touch /var/lib/mysql/mysql.sock ディレクトリ所有者の変更 $ sudo chown mysql:mysql /var/lib/mysql mysql再起動 $ sudo /etc/init.d/mysqld restart /etc/my.cnfをいじったりしてなければこれでほぼ解決する。

    mysqlソケットエラー解決法 - ウマい話、ちょいくれや。
    ryo-sk
    ryo-sk 2016/08/13
    “ sudo /etc/init.d/mysqld restart”
  • libv8とrubyracerについて - rochefort's blog

    今日のyak shaving。 とあるRailsプロジェクトを動かそうと bunlde install してみたところlivb8のinstall時にエラーとなりました。 OS はEl Capitanです。 エラー抜粋: 2 errors generated. make[1]: *** [/Users/rochefort/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.13/vendor/v8/out/x64.release/obj.target/v8_base/src/accessors.o] Error 1 make: *** [x64.release] Error 2 /Users/rochefort/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/libv8-3.1

    libv8とrubyracerについて - rochefort's blog
    ryo-sk
    ryo-sk 2016/08/06
    “bundle config build.libv8 --with-system-v8”
  • ActiveDecoratorでビューからロジックを切り離せ - コンユウメモ @kon_yu

    目的 ActiveDecoratorはDecoratorを作成する。 ビューファイルにif else if elseがあると、ビューファイルの可読性が落ちメンテナンスがしづらくなる。 また、HTMLをコーダーが作ったものをに、ErbやSlimにてrubyのコードを追記する場合に 変更範囲箇所が多くなり、もとのHTMLとかけ離れた構成になりがちになる また、表示内容の場合分けをテスト可能にすることができる。 ActiveDecorator選定理由 似たgemにDraper(これが一番メジャー)がある。ActiveDecoratorはコントローラでDecoratorの設定をしなくても良いので、コードがすっきりする。コントローラでDecoratorのメソッドを呼んで場合分け出来たりするので、機能の分離を強制するためにもActiveDecoratorを採用した 検証環境 OS: MacOSX yo

    ActiveDecoratorでビューからロジックを切り離せ - コンユウメモ @kon_yu
  • ソフトウェアエンジニアが転職するときに気をつけること

    いままで3回転職したけど、うまく行ったこともあるし行かなかったこともある。いままではわりと気軽に転職先を決めてしまっていたのだけど、そろそろ慎重に行かないと後がないなという危機感を覚えたので、とりあえず今までのことを振り返って気をつけるポイントを書いてみようと思う。 自分はこんな感じのエンジニアです。 技術的には広く浅くタイプデザイン・インフラは不得意マネージメントは不得意 いままで所属していたのは上場企業が多かったが、スタートアップも経験済み情報収集編IRを読め、短信だけでいいからこれまで何をしてきたか、これから何をするつもりなのか、会社の強みは何なのか、今後考えられるリスクをどう捉えているのか。上場企業ならばIRという形で外向けに情報を発信しているので、それを読むのはかなり大事。 で、具体的に書いてなくてよくわからないところが絶対あるはずなので、それを面談で聞く。ピンと来なかったらその

    ソフトウェアエンジニアが転職するときに気をつけること
    ryo-sk
    ryo-sk 2016/07/01
  • Railsのajax処理で部分テンプレートのみ更新する方法が便利 | EC-CUBEな日々

    railsで開発していると、ajaxで更新する処理を行うことがよくあります。 そんなとき、結果を受け取ってjQueryなどで値を操作して画面の一部分に更新内容を反映させるといった処理はよく行います。 そんなとき、一部の部分テンプレートだけ更新できれば便利だと思うことがよくあったのですが、そんな方法がちゃんと用意されていました。 今日はこの部分テンプレートのみ更新する処理について書こうと思います。 実はこの方法はcoffescriptにコードを書かなくてもすむ利点も有ります。Railsで開発を進めていると、Coffeescriptにコードを書くとコードが分断される感じがして、ちょっとやりづらい部分がありました。coffeescriptに処理を書かなくて済むためコードの可読性もあがるメリットもあります。 この方法のカギは、ajaxリクエストのレスポンスはjsファイルで受け取れるという点を使って

  • 【mysql-connector-python】PythonからMySQLを操作する - footmark

    PythonMySQLドライバ、mysql-connector-pythonを使っていて躓いたので、その備忘録も兼ねて紹介します。 PythonMySQLを操作しようと思ったら まずドライバをインストールしなければいけません。 いろんな種類があり、紹介マニアどらふと版: PythonMySQL ドライバはどれを利用すれば良いのか に分かりやすくまとめられています。 僕はmysql-connector-pythonをチョイスしました。 特徴はMySQL公式のドライバだという点ですね。 公式がいいのか!と言われるとケースバイケースだと思いますが、最近使っているMySQL Workbenchという公式のGUIツールが使いやすかったので。 インストール pipでいけます。 $ pip install mysql-connector-python的な使い方 次のようなデータをinse

    【mysql-connector-python】PythonからMySQLを操作する - footmark
    ryo-sk
    ryo-sk 2016/05/14
  • Rails で CSRF トークン検証エラーが出ることがある

    自分で作った Rails 製ウェブアプリで出会った話ですが、ちょっと原因に悩んだので書いておきます。 概要 Rails 製のウェブアプリのログを眺めていると、しばしば CSRF トークン検証エラーが記録されていました。ログインページでログインする際にデータを POST したときに、 CSRF トークン検証エラーが出たようです。 状況的に、外部から攻撃を受けているわけではなく、ユーザーもブラウザからアクセスしたようでした。 結局のところ、バグなどではなく、期待される挙動だったのですが、ちょっと悩んだので書いておきます。 再現手順 ブラウザ起動後の初回アクセスで、ウェブアプリのページを複数同時に開くと発生します。 「複数同時」というのがポイントです。 具体的には、以下の手順で発生します。 準備として Rails 製ウェブアプリで POST を使う複数のページを、二つブックマークに登録しておきま

  • 問い合わせフォームはもういらない。無料の多言語チャットBOX『Speaklyn』がヤバイ | Ledge.ai

    こんにちは。イイノです。 ほとんど全てのサイトで必要で、CVR直結なため色々と頭を悩ませることが多いお問い合わせフォーム。 ユーザーとの接点だし、すごく重要なのは認識してるでも外部サービスを使うと値段が高い、他言語対応していないモノが多いじゃあ自前で作るわ、って思うと設計とかめんどくさいし時間かかるどうせ作るならユーザー情報はしっかり欲しいけど、項目数多いと離脱率高くなるしとかとか。 ユーザーからしてみてもとにかく面倒なんですよね。フォームに入力するのが楽しいって人いないですし。 EFOツールやらABテストツールやらを駆使して改善を繰り返すのもコストがものすごいしちょっと怖い…。 と、そんな悩みをまとめて解決できるんじゃないかと思える、【無料】チャット問い合わせサービスを発見しちゃいました。 企業FBページと直結!無料&多言語対応の埋込み型チャットボックス『speaklyn』 これです。s

    問い合わせフォームはもういらない。無料の多言語チャットBOX『Speaklyn』がヤバイ | Ledge.ai
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • Rails の認証で Devise ではなく Sorcery という選択 - ボクココ

    現在 AngularJS と Ruby on Rails 間の認証の仕組みを実装しようとしている。 この際問題になるのは、デフォルトのRails認証の仕組みは、HTMLベースであるため AngularJS で必要とされる JSON でのレスポンスが受け取れない、という点がある。 もちろん、Devise による認証でも Devise::Controller 系を継承することで独自のコントローラをカスタマイズすることが可能だ。だが、これは Devise 側のソースコードを理解し、適切なコードとレスポンスを Devise の慣習にそって実装する必要がある。これがなかなか大変。 そこで登場するのが Sorcery . これは簡単にいえばシンプルな認証の仕組みだけを提供してくれるものだ。 個人的に最も大きな違いといえば、Devise は devise_for :user や devise_for :

    Rails の認証で Devise ではなく Sorcery という選択 - ボクココ
  • PusherとRubyOnRailsでチャットアプリを作ってみた | takemikami's note

    このエントリでは、 PusherとRubyOnRailsで簡単なチャットアプリを作成する流れを示します。 WebSocketを使うと、Webアプリケーションで、 サーバ・クライアント間でリアルタイムな双方向通信を行うことが出来ます。 Pusherというサービスを使うと、 WebSocketに対応したサーバを自前で用意しなくても、 お手軽にWebSocketを使用する事ができるので、 Railsと組み合わせて、簡単なチャットアプリを作ってみます。 Pusher http://pusher.com このエントリで作成したソースコードはgithubに上げています。 https://github.com/takemikami/chat_rails_pusher_sample 作成するアプリの概要作成するアプリは以下の流れで、 チャットのメッセージを送信し、ページに表示することとします。 ブラウザか

    PusherとRubyOnRailsでチャットアプリを作ってみた | takemikami's note
  • Bootflat

    BOOTFLAT is an open source Flat UI KIT based on Bootstrap 3.3.0 CSS framework. And, for the designers, we offer a free PSD Download. It provides a faster, easier and less repetitive way for web developers or designers to create elegant web apps. Compatible Browsers: IE8, IE9, IE10, IE11, Firefox, Safari, Opera, Chrome. Download (Version 2.0.4) MIT Licensed - Version 2.0.4 Learn more Designed for e

    Bootflat
  • RubyでBigQuery始めました | feedforce Engineers' blog

    初めまして!今年1月からジョインしたyukiyanです。 feedforceではアプリケーションエンジニアを担当しています。 最近、弊社のあるプロジェクトにて Google BigQuery を導入しました。 その際、学びがいくつかあったので知見として投下します。 ※ Railsプロジェクトなので、一部のサンプルコードにRailsの表現も含まれています。 BigQueryとは BigQueryとは、Google Cloud Platform(以下、GCP)が提供するクラウドサービスです。 超でかいデータをSQL風のクエリで数秒で解析できます。 5億件のデータを3秒程度でフルスキャンできます。 もっと知りたいという方は、hadoop - Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiitaを参照してください。 gem

    RubyでBigQuery始めました | feedforce Engineers' blog
  • Ruby on Railsにリアルタイム機能を簡単に導入する方法 | Milkcocoa Engineers' Blog

    Ruby on RailsWebサービスを開発していて、ちょっとリアルタイムなチャットサポートを追加したいと思ったことはないでしょうか? Googleで「Ruby on Rails リアルタイム」と検索すると(2015年7月現在)、以下のような記事がトップにヒットします。 Ruby on Railsrubymotionでリアルタイムweb構築 - Qiita websocket-railsを使ってRailsでリアルタイムチャットを実装する方法 - インターファーム開発部ブログ 少し面倒くさそうに見える上、保存も行うとなるとまた設計が必要になってきます。 そこで今回は、Ruby on Railsで開発されている既存のアカウントシステムを利用して、Milkcocoaを使ったリアルタイムな機能を簡単に導入する方法を説明します。 どういう設計になるか 実際にどういう設計になるのか説明します。

    Ruby on Railsにリアルタイム機能を簡単に導入する方法 | Milkcocoa Engineers' Blog
  • ActiveRecordのmergeは使える子 | mah365

    mergeはmergeでもHashじゃなくてActiveRecord::SpawnMethodsのmergeなのです。 join先のテーブルの条件で絞り込みたい class Entry < ActiveRecord::Base has_many :comments end class Comment < ActiveRecord::Base belongs_to :entry end 例えばブログのエントリーの公開・非公開がいつでも切り替えられるとして、非公開になっているブログのコメントを抽出したいな、と思ったとします。 公開・非公開かはentriesテーブルのpublished_atカラムにDateTimeがセットされているかされていないかで分かるとすると、以下のようなコードになると思います。 Comment.joins(:entry).where(entries: { publishe

    ActiveRecordのmergeは使える子 | mah365