サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16e
kinoppyd.dev
実行すると、認証に必要なモデルやコントローラーを一通り作成してくれます。パスワードリセット用のActionMailerとかも作成されますね。 素も素なこのユーザー認証機能は、UserモデルとSessionモデルを提供してくれます。それぞれこんな感じのマイグレーションが実行されます。 class CreateUsers < ActiveRecord::Migration[8.0] def change create_table :users do |t| t.string :email_address, null: false t.string :password_digest, null: false t.timestamps end add_index :users, :email_address, unique: true end end class CreateSessions <
ちょうど3年前に86という車を買って、今日売却した。 車を買うまで自分がこんなに運転が好きだと知らなかったので、かなりさみしいお別れになってしまった。手放した理由は子供が産まれたからで、2ドアのスポーツカーでは後部座席に取り付けたチャイルドシートに子供を乗せ入れするのが凄く大変だったからだ。そしてそれを自分でやるならまだしも、後部座席で子供の面倒を見る妻の負担が大きかったので、仕方なく乗り換えることになった。次はKINTOで借りた新型プリウスに乗ることになる。 なんとかして家族用の車と自分の趣味の車を二台保持できないかどうか考えたが、どう考えても普通のサラリーマンの給与では現実的では無かった。無理すればできるけど、その無理を強いるのは自分だけでは無く妻や子供だ。それは普通に嫌だろう。家の遠くに駐車場を借りたとしてもどうせ頻繁に乗らなくなるのは目に見えているし、都内の駐車場は高い。スポーツカ
このエントリは、SmartHR Advent Calendar 2023 の1日目です。 Turbo、使っていますか? Rails7から追加された新しいフロント用フレームワークで、思った以上にくすぐったい動きをして僕は結構好きです。今年のKaigi on RailsでもTurboに関するいくつかのセッションが発表され、その注目度が伺えます。しかしその注目度とは裏腹に、あまり周囲に使っている人を見かけません。まあたしかに業務に使うにはちょっと物足りないかなぁという気持ちもわからない事も無いのもありますし、また同時に現代ではReactやVueなどが主流になりすぎて使う気が起きないという理由もわかります。 とはいえ、使ってみないと海の物とも山の物ともつかぬままです。なので、とりあえずTurboを使ってみるのはいかがでしょうか? なんなら、TurboはRailsなしでも動きますし、とりあえず体験し
半年くらい子育てしてみた感想 posted at 2023-07-22 00:50:00 +0900 by kinoppyd 2022年の年末に子供が生まれて、おおよそ半年くらい子育てをしたので、感想を書いておく。特に時系列は意識していないが、だいたい生まれたときから記憶を遡りつらつらと書いているので、おおよそ時系列になっていると思う。 真面目な感想の前に全くしょうもないことを最初に言うと、実際に自分の子供を育ててみてものすごく思ったのは、人間の赤ちゃんは生物として弱すぎるのではないかということ。Wikipediaによると、ヒト属とチンパンジーの分岐が200万から1000万年前、ホモサピエンスとホモエレクトロスの分岐が20万から180万年前。ジャレド・ダイアモンド曰く人類が大躍進と呼ばれる変化をしたのが約5万年前。ってことは、5万年前の時点ではもうだいぶホモサピは自然界でだいぶ強い奴だった
大急ぎでRails+Reactのアプリケーションを作るときにやったこと前編 posted at 2020-12-01 05:04:09 +0900 by kinoppyd このエントリは、SmartHR Advent Calender 2020 の1日目です ある日突然、大慌てでWebアプリを作らなくてはいけなくなった 先日、勤め先のSmartHR社である奇妙な福利厚生制度が爆誕し、盛り上がった。この福利厚生制度に関してはちょっとした理由で詳しく書けないので、ぜひSmartHR社にカジュアル面談という形で話を聞きに来て確かめてほしい。 で、その福利厚生制度は、あるルールで複数の従業員の組み合わせが条件を満たしたときに効力を発するものだった。その組み合わせの条件はそんなに大変ではないが、自分から能動的に制度を利用しようと思う人でなければなかなか面倒というか、とにかく誰もかもが「制度を使うため
APIがカオスってたプロダクトでOpenAPI対応やってみた posted at 2019-12-01 03:10:09 +0900 by kinoppyd このエントリは、 SmartHR Advent Calendar 2019 1日目の記事です こんにちは、SmartHRでエンジニアやっているppydです。いま会社では、SmartHRに蓄積されたデータを可視化して分析する簡易BIツールを開発するチームに居て、フロントエンドとバックエンドとインフラのエンジニアをやっています。それくらい人手が足りてません、みんなSmartHRにきてください。助けて。 カオスったAPI いまのプロダクトには途中参加なので、先人たちの名誉のために言っておきますが、そもそものAPIの設計がカオスっていたというわけではありません。グラフを描写するフロントライブラリのAPIの都合や、検索フィルタの条件が複雑すぎる
技術書典7で、「ActiveRecord完全に理解した」という本を出します。 posted at 2019-09-21 13:10:08 +0900 by kinoppyd 免責事項 本書のタイトルにある「完全に理解した」とは、ActiveRecordを完全に理解することではなく、あくまで社会通念上相当のActiveRecord「完全に理解した」であり、本書はActiveRecordを完全に理解することを何ら保証するものではありません。 技術書典7 ドワンゴを退職してSmartHRで働き始めそろそろ一ヶ月のkinoppydです。技術書典に出ます。場所は「◎貴サークル「トレイリア学園」は、 か01C に配置されました。」です。ブックマークはここからどうぞ。今回は、ActiveRecordのソースコードリーディングの本を出そうと思います。500円です。前回はメタプログラミングRubyの解説本で
株式会社ドワンゴを退職します(5年2ヶ月ぶり1回目) posted at 2019-08-30 23:44:49 +0900 by kinoppyd 2019年8月末で、株式会社ドワンゴを退職します。これは主に社内の友人に向けた文章ですが、一応自己紹介は書いておきます。 誰 私はkinoppydという名前で、2014年にドワンゴへ入社し、Scala/Rubyエンジニアをやっていました。最初に配属されたプロジェクトはニコニコ生放送のScala化プロジェクトで、ニコ生のScala化、ニコ生のHTML5化のお手伝い、公式生放送の老朽化した機能のマイクロサービス化などを行いました。その後はチームを異動し、ニコナレのバックエンド開発に従事しました。 他にも、社内でSlack芸人やBot芸人をやっており、なんか記事にされたりしたこともありました。 【bot、暴走中!】「Slackは福利厚生」と言い切る
IoTしてますか? 難しいですよね? でもお手軽にWxBeacon2を使って室内環境監視ダッシュボードとか作れますよ? posted at 2018-12-21 01:00:22 +0900 by kinoppyd このエントリは、 dwango Advent Calendar の二十一日目です TL; DR WxBeacon2を使って、簡易室内環境モニタを作ります どこでも確認したいので、DBとフロントはWebに置きます WxBeacon2 + Python + Fluentd + InfluxDB + Grafana + DockerCompose お手軽に室内環境を監視したい 世の中IoTとかMakerとかいう言葉が流行り始めて数年が立ちましたが、Raspberry Piは買ったものの特に何を作るわけでもなく完全に腐らせている方は、私の他にも多いのではないでしょうか。電子工作の本とか
アイディアが閃いた? それすぐにSlackBotにしましょう。秒で。 posted at 2018-12-01 00:11:37 +0900 by kinoppyd この記事は、Slack Advent CalendarとMobb/Repp Advent Calendar 共通の1日目の記事です Slack Bot を秒で作る方法 日常生活を送っていると、突然身の回りで何かが流行ることがありませんか? 私はよくあります。例えば、ある日突然絵文字をシャッフルすることが流行ったり、ちょっと昔には「Yo」と言ったら「Yo」と返すのが突然流行ったりしました。 何かが流行ったとき、それはbotを作るチャンスです。幸いあなたはプログラマで、流行った何かを更に面白くするアイディアとロジックは一瞬で頭に浮かびます! けれど、そのロジックを実装するのは簡単ですが、実際にその機能をbotとしてSlackの野に
Rubyのサンドボックスを作って、evalするBotを作った posted at 2018-07-10 01:04:56 +0900 by kinoppyd 注意:安全じゃありません RubyのSnadbox環境 Sansbox環境とは、外部から入力されたプログラムを安全に実行する環境のことです。任意のコードを入力可能な場所で、いきなり system(“rm -rf ~/) とか入力されて、それが本当に実行されたら困りますよね? 自分は困ります。ですが、外部から入力されたコードを安全に実行する環境というのはそれなりに需要があり、最もわかりやすいところではJavaScriptを実行するブラウザ、わかりにくいところでは今回作ろうとしているeval用のbotです。 ブラウザに関しては、インターネットという非常に治安の悪い場所から送られてくるコードを自分の環境で実行するので、サンドボックスが必要で
app.rbで、サービス名にslackを指定しているため、環境変数SLACK_TOKENにBot用のトークン文字列を渡しておいてください。シェルで試しに動かすだけであれば、 set :service の行を削ると自動的にシェルで起動します。 現状では、渡された文字列か正規表現にマッチするとブロックを実行する on と、そのエイリアスの receive しか機能しませんが、徐々に機能追加して、 cron 的な役割を果たす every や、特定の日時に発火する at などを実装していく予定です。 Repp Repp は、Rackの影響を100%受けて作られた、Botフレームワークとサービスのインターフェイスです。 とりあえず、今はv0.1.0ということで、ドキュメント化された仕様もないし、そもそも頭の中で固まっている仕様もありません。 というのも、Bot Framework の場合は、 Web
RubyKaigi2018のCFP落ちたので後学のために置いておきます posted at 2018-03-25 22:03:49 +0900 by kinoppyd タイトルの通り、RubyKaigi2018のCFPに送ったプロポーザルがリジェクトされたので、内容を公開して後学のためになればと思い、自らの反省点込で残しておきます。 送った内容 Title Reading Sinatra to build Sinatra-ish application Abstract Reading Sinatra code is the best way to learn how to write minimal daemon program by Ruby. Sinatra was made only of about 2000 lines Ruby code. However, the codes
Gitをバックエンドにしたタスク管理bot posted at 2017-12-04 00:00:10 +0900 by kinoppyd この記事は、ドワンゴ Advent Calendar 2017 の4日目の記事です。 TL; DR すごい簡単なゆるいタスク管理のバックエンドに、内容アドレスファイルシステムとしてのGit使うのもまあいいんじゃないの? とおもってGemを作った。 ゆるいタスク管理システムが必要だった 通常、仕事のタスク管理はJIRAとかRedmineとかGithubとかTorelloとかなんかそういう専用のやつを使うと思います。とはいえ、「もう今日は帰ってるけど、明日こののプルリク見てください」とかSlackで伝えたり、「このプルリクレビュー通ってるんで、明日マージしといて」とかSlackで伝えたり、その程度のことをチケットにするのも妙な感じです。デイリーミーティング
会社で闇LT大会を開催しました posted at 2017-07-10 01:39:59 +0900 by kinoppyd 数週間前の話ですが、勤めている会社で闇LT大会を主催し、なかなかの好評を得たのでみんなもやってみてくださいという情報共有です。 TL;DR 普段とちょっと違うLT大会をやることで、社内の交流の促進に繋がりますよ、という話です。 闇LT大会 闇LT大会の開催要項は、次のとおりです。 ルール1:エンジニアリングの話題を話してはならない ルール2:エンジニアリングの話題を話してはならない ルール3:発表は1人10分/質問時間なし 大会のタイトルは「闇LT」ですが、なにもアングラな闇の話や、人生や仕事の闇の話をしてほしいわけではなく、単に普段の会社やITイベントでやるLTとは違い、エンジニアリングではない自分の趣味の話をしてほしいというつもりで開催しました。また、エンジニ
今年買って良かった入力デバイス posted at 2016-12-19 01:26:59 +0900 by kinoppyd このエントリーは、「ドワンゴ Advent Calendar 2016」の19日目です 今年買って良かった入力デバイス といってもまあ、2つしか無いですが。 今年買ってよかったなぁ、と思った入力デバイスは、バーコードリーダーとErgodoxです。バーコードリーダーはとっても便利で、Ergodoxは生活の質が変わるくらい良いものです。 バーコードリーダー 自宅には、漫画と技術書を始めとする様々な本が2000冊くらいあります。小学生の頃から、基本的に買った本は売ったり捨てたりせずに本棚を増やし続けたので、蔵書の管理とか全然出来てなくて困ってました。それだけでなく、大人になって下手に可処分所得が増えると、本屋の新刊コーナーに行って「あれ、この本買ったっけ」とか思いながら
この記事は、「ConoHa Advent Calendar 2016」の15日目です。 Chaos Monkey クラウド時代の耐障害性という話題の中で、必ず話題に上がる非常に有名なNetflix製のOSS、Chaos Monkeyというものがあります。いまは、いろいろなツールを詰めあわせてSimian Armyという名前になっているらしいですが、非常に有名でユニークなプロジェクトです。 Chaos Monkey でググるとだいたいどのようなものかはおわかりいただけると思いますが、かいつまんで説明すると、AWS上に構成されているプロダクション環境のEC2インスタンスを、定期的にランダムに落とすというものです。混沌の猿が、AWSのデータセンターの電源でも抜いてるイメージなのでしょう。とにかく、日常的に意図的にマジな障害を発生させることで、普段から耐障害性のあるサービスやインフラストラクチャを
この記事は 『Slack Advent Calendar 2016』2日目の記事です。 昨日はru_shalmさんの「Slackで業務チャンネルの平穏を維持するbot、そして人間のトークンをbotに与える話」でした。 Slackで何が起こっているか、知ってますか? Slackはいつでもそこにいるわけですが、実際に自分が観測しているSlackの世界は意外と限定的です。自分がjoinしているチャネルで何の発言がされて、自分がどんなリアクションを付けられ、またあるいはアットマークを付けて呼び出される、くらいの情報しか通常は知る方法がありません。 しかし、Slackにはあなたの知らないたくさんのチャネルがあり、そのたくさんのチャネルでは沢山の人達が会話を楽しみリアクションを付けたり、また新しいチャネルを作ったりチャネルをアーカイブしたりしています。もしかしたら、新しい絵文字を追加しているかもしれな
blink(1)を買ったので、雑にGemを作ってSlack監視botを作った posted at 2016-05-03 12:46:35 +0900 by kinoppyd blink(1) http://blink1.thingm.com/ プログラマブルなLED。同僚が社内の有志を募って共同購入して遊んでいたのを見て面白そうだったので、余ったものを売ってもらった。 たくさんの言語用のライブラリが用意されていて、大抵の人は好きな言語を使って開発できると思う。 用途 面白いなぁとおもって購入し、とりあえず一通りチカチカさせて遊んだけれど、特にこれといって用途が思いつかない。 同僚の人たちは、HTTPサーバーを立てて、リクエストに応じてLEDを光らせるAPIを社内公開するというよくわからない遊びに興じていた(しかも攻撃されてすごいことになっていた)が、とりあえず自分はSlackに新しいメッセ
S3クローンMinioを使って、自前MicroServices用データストレージを構築する posted at 2016-03-07 03:40:27 +0900 by kinoppyd Minio Minioという、S3のクローンサービスがある。Goで書かれたAWSのS3のオープンソースクローンで、API互換のあるすごいプロダクトだ。Minioの起動時のヘルプに書かれている説明が非常にわかりやすいので、そのまま引用する。 Minio - Cloud Storage Server for Micro Services. S3は使いたいが、個人プロダクトだからそんな派手な利用をするわけではないし、そんなちまちましたことでS3の料金をシミュレーションしてわざわざ胃を傷めたくないので、何かしらいい感じのクローンが無いかと思って探していたところ、普通に[s3 互換][検索]でぐぐったら上の方にこの
ゲームプラットフォームとしてのSlack posted at 2015-12-19 04:28:39 +0900 by kinoppyd この記事は、 Slack Advent Calendar の19日目です。 Slackは、ゲームプラットフォームだ 最近、よくSlackをチームのチャットツールだと誤解されている方をお見受けしますが、皆本質を見誤っていると言わざるを得ません。Slackがチャットツールではなく、ゲームプラットフォームだという理由は、次の点から明らかです。 Emojiという美麗なグラフィックのアセッツ、しかもどれだけ登録しても無料 Emojiのサイズが統一的で、ドットとしての役割も果たす テキストベースの複雑なコマンドも入力可能なコントローラ ユーザー識別も可能なので、複数のコントローラでマルチプレイも可能 画面描写がシンプルなので、難しいことを考えずにただ更新前と更新後の
Deep learning で、全ニコ生番組をリアルタイムで監視するシステム作ってみた posted at 2015-12-15 03:57:28 +0900 by kinoppyd この記事は、ドワンゴAdvent calendar(表)の15日目の記事です ドワンゴでエンジニアをしている @kinoppyd です TL;DR ニコ生を監視し、新しく始まったユー生を定期的に視聴し続け、Deep learning Framework の Caffe を使って画像認識し、何が放送されているのかをリアルタイムに知るシステムを作りました。 注意:この記事の中で使っているニコ生へのアクセス方法に関しては、すべてGoogle検索で分かる範囲の情報を使っています。開発者として知っている情報は一切使っていないことを明言しておきます。また、そこそこの数のリクエストを飛ばすので、真似してニコ生側から垢BAN
Chinachu + Ruboty = 超便利 posted at 2015-10-16 03:01:33 +0900 by kinoppyd ruboty-chinachuプラグイン作ったよ Rubotyという、Rubyで実装されたbotエンジン用のChinachuプラグインを作った ruboty-chinachu Chinachuは、Nodeで実装されたLinux用の世界一キュートな録画サーバーだが、キュートなだけではなくAPIが完備されていて、プログラマフレンドリーでサイコーな録画サーバーでもある。前に導入用のエントリも書いた。 導入 ruboty-chinachu使い方は、既に動いているRubotyのプラグインにruboty-chinachuを追加して、環境変数としてCHINAHU_API_ENDPOINTを追加する。(BASICログインを有効にしているならば、それも環境変数に追加
YAPC::Asia Day2 行ってきたよ posted at 2015-08-23 00:51:04 +0900 by kinoppyd 行ってきたよ 毎度おなじみ、ブログを書くまでがYAPCだと骨の髄までたたき込まれたので書くよ。 訂正:所々スピーカーの方の名前を間違えていたので修正しました Mackerel開発におけるScalaとGo、そしてPerl ScalaとGoが主流のチームで、いかにPerlを含むそれ以外の言語が使われているかという、songmuさんのセッション。 Mackerelのチームでは、サーバーサイドにScala、Forward用のAgentにGoを使用しているチームで、その中で他の言語がどのような目的で使用されているのか、という話だった。 最初はScalaの話。型素敵、Option素敵、コンパイルが重いというのは、やはり誰もが思うことだけど、songmuさんのチー
クリスマスに安心して一日中アニメを見るために録画鯖を作る技術 posted at 2014-12-15 01:03:09 +0900 by kinoppyd このエントリは、ドワンゴ Advent Calendar 2014 - Qiita の15日目のエントリです。昨日はkokuyouさん、明日はsaitenさんです。 要約 Ansibleを使って、Chinachuがインストールされた録画サーバーを自動でセットアップするPlaybook作りました。 安心してアニメが観たい。 世の中の大抵の人は、安心してアニメが観たいはずです。そして世の中の大抵の人は、普通のテレビと普通のBDレコーダーを使い、安心してテレビを観たり録画しているはずです。よっぽど変なテレビやレコーダーを買わない限り、普通にアニメを観てアニメを録画できる機能が備わっています。安心ですね。 しかし世の中には、宗教的な理由や金銭
かかってこいよ、クリスマス。そうです、私がkinoppydです。 この記事は、SmartHR Advent Calendar 2024 Day1 のエントリーです Rails8の認証機能 Rails8では、新たにユーザーの認証機能のジェネレーターが追加されています。これは何かというと、これまで多くのユーザーがdeviseやrodauthというGemを使って実現してきたユーザーの認証機能を、Railsの標準機能として生成できるものです。とはいっても、もちろんdeviseやrodauthのようにユーザーの認証に関わる広く高度な機能を提供するわけではありません。提供されるのはユーザー名とパスワードの組み合わせでログインセッションを作成するための一通りの機能のみです。例えば、MFAであったり、データの認可機能、テストヘルパーの提供などはありません。なんなら、ユーザーを新たにサインアップする機能すら
このページを最初にブックマークしてみませんか?
『kinoppyd.dev』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く