タグ

ブックマーク / docs.komagata.org (16)

  • active_deliveryで通知をまとめる - komagataのブログ

    active_delivery gemがいい感じ。 active_deliveryはActionMailer 的な処理 をまとめるWrapperです。 例によってWeb上にはREADMEと作者の方のブログエントリーしか見当たらなかったので、使い方を知るにはソース読んだ方が早いです。僕が代わりに読んでおいたのでちょっとしたプラス情報を書いておきます。 使い方 def after_signup ActivityMailer.user_signup.deliver_later if user.receive_emails? DiscordNotifier.user_signup.notify_later if user.receive_discord? end こんな感じに書いてたのを def after_signup ActivityDelivery.notify(:user_signup,

    tkawa
    tkawa 2022/05/02
  • "リニューアル"っていうな - komagataのブログ

    結論 リニューアルはマーケティング用語。Webサービス開発チームにとっては思考停止やストーリーの粒度アップをもたらす悪魔の言葉なので使わないようにしよう。 すぐリニューアルっていう問題 Webサービス開発においてサイト改善の粒度がリニューアルという名前になってたら要注意。 その場合、責任者が 「よくわからないけど、うちのサービスイマイチだからおれのかんがえるさいきょうの機能・UIに刷新しよう」 と考えていて、 自分のサービスにとって良いとは何なのか? 何が問題点・ボトルネックなのか? 何を改善するのか? その仮説で当に改善するのか? そもそも仮説はあるのか? 優先順位は? などという地味な検討を避けてリニューアルという銀の弾丸を求めても、かさむ工数、ユーザー離れ、要らない機能などがサイトにもたらされるだけなのでヤメよう。対外的なマーケティング用語としてのリニューアルをWebサービス開発に

    tkawa
    tkawa 2015/10/06
    賛同
  • この際、herokuアプリのDNSはGehirn DNSを使おう - komagataのブログ

    Legacy routing EOL on October 20th. On Ocober 20th 2014 we are turning off the legacy “.heroku.com” routing path. herokuのbamboo stackが使ってたlegacy routingが廃止されるということで、昔、www無しでアクセスしたい場合に直接IPで指定してた系のサービスがアクセスできなくなった。 U2Plusにも通知が来てたのでメンテしてる@tkawaさんに聞いてみたらGehirnのDNSで対応したらしい。 俺も使ってみたらアラ便利。ALIASレコードが使えて無料で2ドメインまで、レコード無制限ってのは海外含めてあんまり無いんじゃない? Gehirnって聞くようになってからだいぶ経つのでいきなり無くなる感じはしないし、ええやんけ! GehirnDNS | ゲヒルン

    tkawa
    tkawa 2014/10/22
    便利です!
  • インターン募集・アプリ公開 - komagataのブログ

    この4月で@hrysd(永和システムマネジメント様入社おめでとうございます!)や知の巨人など、みんなインターンシップを卒業されたので新たに募集したいと思います。 思いつきで始めたリモート・ローカルインターンの仕組みですが、10ヶ月程運用してみて「意外と回るな」という感じだったのでWebアプリにしてみました。 256 INTERNS 256インターンとは Webプログラマー・Webデザイナーのインターンシップをスムーズに行う仕組みです。インターンシップにはオフィスに通うローカルインターンとインターネット経由でのみ行うリモートインターンがあります。インターンは1週間交代で学習と作業を交互に行います。 インターンシップとは インターンは職業訓練と就業体験を得、企業は見込み社員と労働力を得る仕組みです。 報酬について インターンから見て「お金を払って職業訓練を得るスクール」と「お金を貰って職業訓練

    tkawa
    tkawa 2013/04/23
    『「お金を払って職業訓練を得るスクール」と「お金を貰って職業訓練を得るアルバイト」の中間地点には…両者に取って「お金のやり取りがゼロ円の地点があるのではないか」』すばらしいです
  • 受託開発から離れた理由 - komagataのブログ

    数年前、受託開発の会社を辞めてこれから自社・製品サービスを作ってる会社で働こうと思い、会社を転々としつつ今(FJORD, LLC)に至ります。 上記のような事を思った切欠は下記の様なことがあったからです。 中規模の案件 その時、僕はコンシューマ向けのWebシステムの案件を5〜6人ぐらいのチームで取り組んでいました。データベースに保存されたデータをPHPでXMLを返すAPIを作り、Flashで表示するサイトで、時代が時代だったので「このトラフィックをPHPで構築するなんて。Javaでやるべきだ。」なんて言われてましたが今考えるとおかしいですね。 サーバーとFlashクライアントが連携するのでAPI(XMLのSchema)に関してはデザイナーとも結構密にやり取りしていたように思います。僕はガントチャートとにらめっこしながらも案件の後半になってもそれ程デスマという感じも無く、定時で帰れるメンバー

    tkawa
    tkawa 2012/03/20
    考えさせられる
  • deviseで現在のパスワード無しでuserを更新する - komagataのブログ

    deviseはデフォルトでuserの更新(Devise::RegistrationsController#update)に現在のパスワード(current_password)が要る。 ソースを見てみるとmodelにupdate_without_passwordというのがあるのでこれかと思いきや、これはpasswordとpassword_confirmation無しでupdateするものだった。 自分でupdate_without_current_passwordを作る。 # app/models/user.rb: class User < ActiveRecord::Base def update_without_current_password(params, *options) params.delete(:current_password) if params[:password].

    tkawa
    tkawa 2012/03/14
  • shouldaが死んで復活して・・・ - komagataのブログ

    tkawa
    tkawa 2012/01/22
    よかったw
  • Google製Webアプリ脆弱性スキャナskipfishを試す - komagataのブログ

    GoogleのWebアプリの脆弱性スキャナ、skipfishを使ってみました。 $ brew install skipfish $ skipfish -o log -W ~/homebrew/Cellar/skipfish/2.03b/libexec/dictionaries/minimal.wl http://hamcutlet.fjord.jp homebrewで簡単にインストールできます。結果はhtmlファイルで出るので-oで結果の格納先ディレクトリを指定します。(作っておく) -Wで辞書を指定します。まずは簡単にと思って一番手軽そうなminimal.wlを選んでHam Cutletのサイトに対して実行してみました。 ・・・。 これが滅茶苦茶時間かかる。下記のScan timeを見てください。超簡単なサイトにminimal.wlでやっただけで4時間掛かりました・・・。 skipfis

    tkawa
    tkawa 2011/10/25
  • ランダムランチメール - komagataのブログ

    毎日昼飯をどこでべるのかに業より頭を使ってる気がするので自動化した。 require 'rubygems' require 'nokogiri' require 'open-uri' require 'mail' api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' version = 'v1.0' station_ids = ['2800', '2811'] # hatagaya, hatsudai page = 1 entries = 10 total_entries = 100 restaurants = [] station_ids.each do |station_id| while page * entries < total_entries url = "http://api.gourmet.livedoor.com/#{version}

    tkawa
    tkawa 2011/08/01
  • Direct SQL in Heroku - komagataのブログ

    % heroku plugins:install git://github.com/ddollar/heroku-sql-console.git % heroku sql SQL> select * from unk; It's not psql. It's only send sql and return results.

    tkawa
    tkawa 2011/07/31
  • HerokuからさくらVPSへのDB移行 - komagataのブログ

    怖話.jpをHerokuからさくらVPS 512に移行することにしました。理由は下記です。 DB容量が無料の範囲を大幅に超えている。(一応容量オーバーしていても使える) slug(リポジトリ)のサイズが制限(100MB)を超えた。(これはオーバーしているとpushできない) ファイルアップロードが必要になった。(S3を使えば対応は可能) 回線が遅い。(us westとかなので仕方が無い) Amazon EC2にしなかった理由はまだ人気が無いのでお金をかけられないからです。もし売上が月数十万になったら移行します。 HerokuDBはPostgreSQLです。さくらVPS 512ではMySQLを使うことにしました。 現在のDB容量は37.4MB。レコード数は約2万件ぐらいです。heroku db:pullをしたら1時間たっても終わる気配がなかったので次の方法を取ることにしました。 herok

    tkawa
    tkawa 2011/07/30
    参考になる
  • 仕事の条件についてのアイデア - komagataのブログ

    僕の仕事はWeb開発者ですが、時々、 「何が仕事で何が仕事でないんだろう?」 と思うことがあります。 Webと全く関係無い趣味のコードを書いてる時、それは仕事なのか。 FacebookのEmpires & Alliesをやってる時、それは仕事なのか。レストランで事をする時、それは仕事なのか。 くだらないジョークをTweetする時、それは仕事なのか。仕事と遊びを区別することなどナンセンスだという考えもありますが、ある時、仕事の条件についてのアイデアを思いつき、以来気に入って使っています。 そのアイデアとは「URLを持ったら仕事だ」というものです。 趣味のプログラムをネットにアップロードし、URLを持ったらそれは仕事です。Empires & Alliesをプレイして感じたことをブログに書いたら、URLを持つのでそれは仕事です。 レストランで事をしてその写真をInstagramにアップロード

    tkawa
    tkawa 2011/07/30
    「URLを持ったら仕事だ」
  • HerokuでCedar Stackを使う - komagataのブログ

    Herokuの新しいCedar Stackを使う。 今までと大きく違うのはforemanを使ったprocess modelが導入されたこと。要はwebアプリもcronジョブもバックグラウンドタスクもみんな宇宙船UNIX号の仲間たち、foremanで平等に扱おうよということ。具体的にはProcfileにprocessの設定を書いてforeman経由で動かす。 # Gemfile: source :rubygems gem 'rack' # config.ru: require 'rubygems' require 'rack' class App def call(env) [200, {'Content-Type' => 'text/plain'}, ['hello']] end end run App.new # Procfile: web: bundle exec rackup -p

    tkawa
    tkawa 2011/06/23
    なんかすごそう
  • 情報収集スタイルについて - komagataのブログ

    先日の飲み会で話した自分のフィードやTwitterなどの情報収集スタイルについて。 ストック(貯めこむ)情報とフロー(流れる)情報の2種類に分ける。 ストック情報僕にとってのストック情報とは未読既読を管理し、全て読むタイプの情報です。Googleリーダー(フィードリーダー)とEchofon(Twitterクライアント)で管理します。 フロー情報僕にとってのフロー情報とは、はてブとHacker Newsです。時間が開いたとき適当に読みます。息抜きと自分のフィルターをなるべく通してない情報を得るためです。 フィードリーダーの使い方Twitterなどの手軽な発信手段が増えたので色んな人の書くブログエントリーは全体的に量は減っていますが質は上がってると思います。 月に1エントリーの頻度で書く人を100人購読しても大した負担にならないのでなるべく沢山の人を見つけたいと思っています。読みきれないフィー

    tkawa
    tkawa 2011/05/19
    自分の場合、フィードはタイトルを流し読みして興味のあるのだけ本文を読む。Twitterは全部読む(フォロワーが少ないから可能。多い場合は記事のようにリストを作るのがいいと思う)
  • ローカルのWebサーバーを簡単にネットからアクセス可能にするproxylocalが便利 - komagataのブログ

    ProxyLocal ProxyLocal could proxy your local web-server and make it publicly available over the internet. ローカルのWebサーバーに他人にちょっとアクセスして欲しい時(何かの実験中とか)に便利なgem。 # app.rb: require 'rubygems' require 'sinatra' get '/' do ' ┐(´ー`)┌' end こういう糞アプリがあったとして、まずローカルで立ち上げる。 % ruby app.rb == Sinatra/1.2.6 has taken the stage on 4567 for development with backup from Thin >> Thin web server (v1.2.11 codename Bat-Shit

    tkawa
    tkawa 2011/05/10
    おもしろい。あくまで実験用
  • Cookieセッション、BASIC認証マジパネー - komagataのブログ

    Rails検証報告書: プログラマの思索 Railsで特徴的なのは、CookieでHTTP セッションを管理できることだろう。 ここの仕組みが非常に分かりやすい。 Railsの後から付いた機能で一番素敵だと思うのがこの機能です。 「Cookieなんて仕様上は4KBしか保存出来ないんだから寧ろ弱体化してね?」 とか認識されることが多い気がしてならない。 コレ、導入時にも度肝を抜かれて、以降常に、 「ハンパねー、マジCookieセッションハンパねー!」 と脳内のアフロの人が言ってるんですが、大した利点に感じる人は少ないのか、他の言語やWAFで全面採用している例を見たことが無い。 そもそもセッションという言葉自体が複数の処理をまとめた単位という広義の意味とWebアプリケーションで複数リクエストにまたがってサーバー側に保存されるデータという狭義の意味が混在して使われているという事情があってWeb上

    tkawa
    tkawa 2010/01/05
  • 1