タグ

tatsu_toraのブックマーク (1,462)

  • JavaScriptのコメントは不要か? | POSTD

    コード中にコメントを書くべきでしょうか? 是が非でも避けるべきでしょうか? それとも控えめに書けばいいでしょうか? 開発者たちはそれぞれ、ソフトウェアを開発する際にどのように、そしてどんな時にコメントを書くかについて、独自の考え方を持っています。この記事では私の意見を述べますが、これが誰にも当てはまるというわけではありません。 なお、関数型プログラミングまたはオブジェクト指向プログラミングの原則に則ってJavaScriptで書かれたソフトウェアに絞った上で、私の意見を述べることにします。 コメントと保守性 この記事では、保守性のあるコードを書く場合について考えます。つまり、以下のようなコードです。 簡単に理解できる 簡単に拡張できる 簡単にデバッグできる 簡単にテストできる 保守性のあるコードには、大量のコメントが必要でしょうか? 明確に書かれたコードであるならば、大量のコメントは不要だと

    JavaScriptのコメントは不要か? | POSTD
  • ActiveRecordのincludes, preload, eager_load の個人的な使い分け - Money Forward Developers Blog

    マネーフォワード福岡拠点の責任者をしております 黒田 です。 普段はRailsエンジニアとして マネーフォワードクラウド経費 の開発を担当しています。 普段Railsを使って開発されている方であれば、N+1問題に悩まされた経験は大抵の方がおありではないでしょうか。 N+1なクエリの発見には bullet を使うと良いですね。 bulletを使うとN+1なクエリを発見してくれ、さらに、具体的にここにincludesを追加しなさいと指摘までしてくれるので大変助かります。 しかし、先日bulletに言われるがままにincludesを付けてみたところ、N+1は解消したものの、スロークエリに見舞われることとなったので、includes,preload, eager_loadについて改めて調べてまとめてみることにしました。 (ソース調査したRailsのバージョンは 6.0.0.beta3 です。) i

    ActiveRecordのincludes, preload, eager_load の個人的な使い分け - Money Forward Developers Blog
  • Rails Can Can Canで権限管理 とてもgood! - happy_teeth's 忘備録

    CanCanCanという権限管理できるgemを利用してみる。 WEBの業務アプリで権限といえば、必要ないものはない!と言えるくらい大切なものです。 参考サイト 1000万以上のダウンロード すごい! cancancan | RubyGems.org | your community gem host 家サイト GitHub - CanCanCommunity/cancancan: The authorization Gem for Ruby on Rails. gemのインストール gem 'cancancan', '~> 2.3' 1. Abilitiesのモデルをcancanを利用して作ります。 このクラスが大切になります。 モデルで管理するので安心です。 rails g cancan:ability 生成された、Abilityモデルで定義していきます。 alias_actionで、

    Rails Can Can Canで権限管理 とてもgood! - happy_teeth's 忘備録
  • ページメニューの作り方

    ページメニューの作り方 ブログというより、どちらかといえばこのページはWiki的に使いたいので、Wikiのサイドバーのようなメニューの作り方を調べた。 参考 jekyll/docs.yml at jekyll/jekyll Data Files - Jekyll jekyll/docs_contents.html at jekyll/jekyll Using Jekyll _includes as custom liquid functions jekyll/docs_ul.html at jekyll/jekyll Collections - Jekyll Templates - Jekyll jekyll/docs/_docs at jekyll/jekyll Liquid for Designers - Shopify Jekyll & Liquid Cheat Sheet 家Je

  • 次世代デザインツールはどこへ向かうのか 中編

    実装を考えながら作れなかった従来のツール 6年前になりますが、 web のデザインは枠のない世界であると説明したことがあります。様々なスクリーンサイズのことを考慮して作らなければならないと頭で分かっていても、デザインツールでそれを実現するのが困難でした。10年以上大きな変化がなかったデザインツールに対して、実装側はどんどん進化し続けていました。Web だとフロントエンド技術とワークフローに大きな進展がありましたし、ネイティブアプリも 1 年おきに OS と周りの開発環境がアップグレードしています。 開発は目まぐるしいスピードで変化しているのに対して、デザイン環境は大きく変わっていなかったことが、今私たちが抱えているデザインと開発の溝の根源ではないかと考えています。2010年代はデザインツールの革命期と呼んでも良いくらい様々なデザインツールが出てきていますが、今まで遅れていた分を取り戻そうと

    次世代デザインツールはどこへ向かうのか 中編
  • コードレビューを受けるのがつらくなったときは - めるノート

    そういうときがよくあります。 コードレビューがある会社は今が初めてだけど、きっとこれから先もコードレビューがある限りは、なくならない気持ちなんだと思います。 だから、そんなときに振り返れるようなものを残しておきます。 「コードレビュー つらい」でググってみると、はてな匿名ダイアリーのこんな記事が見つかりました。 anond.hatelabo.jp さすがに、ここまでヒドいケースを経験したことはないし異常だと思ったけれど、以下のくだりは自分の胸にすごく刺さりました。 私はプログラマに向いていないんじゃないかと思う。よいプロダクトを作る上で強い言葉を交えた議論が必要不可欠ならば、それに強いストレスを感じてしまう私はプログラマとして適正がないのでは? 刺さったのですが、それでも自分はここでやっていかなくちゃならないと思っているので、つらくなったときにいつでも読み返せるよう、見つけた記事・資料をま

    コードレビューを受けるのがつらくなったときは - めるノート
  • Migrate Rails Devise Users to Firebase Authentication

    My goal for my SaaS gixtra.com (a tool to book and organize concerts) is to delegate as many non-core-business features to external services, so I can focus on the important music business stuff. One milestone to reach this goal is to get rid of doing authentication myself in Devise. Since I find Google’s Firebase offering very appealing, I want to migrate my existing users to Firebase Authenticat

    Migrate Rails Devise Users to Firebase Authentication
  • VuexのStoreはNuxt.jsのマニュアルを見るとすぐ理解できる - Crieit

    最近のJavaScriptのフレームワークを勉強したての人の場合、Vue.jsなどはすぐ理解できても、Fluxの概念やVuexのStore等でわからなくなってしまうことはありませんか? そういう場合、Nuxt.jsを触りつつNuxt.jsのマニュアルを見ると非常に簡潔で理解しやすいです。 具体的には下記のページです。ここを参考にしながら説明していきます。先にリンクの説明を見たい場合は「モジュールモード」の方を見るとより分かりやすいと思います。当記事の内容もそちらをベースに進めていきます。 Vuex ストア - Nuxt.js そもそも何に使うものなのか? Storeはアプリケーション全体の状態を管理してくれるものです。具体的にはログインしているユーザーの情報などが一番わかり易いと思います。 具体的にどうやって使うのか Nuxt.jsの場合、まず store/index.js に状態の定義を

    VuexのStoreはNuxt.jsのマニュアルを見るとすぐ理解できる - Crieit
  • Nuxt.js で Vuex を使う | mintsu's blog

    Nuxt.js で Vuex を使う 目次 Nuxt.js で Vuex を使う 目次 Vuex とはなにか Flux Fluxの要素 Dispatcher Store Action View Vuex Vuex のデータフロー Vuex Store の機能 Action Mutation State Getter Vuex機能の処理の流れ Nuxt.js で Vuex を利用する 今回作るアプリ Store ファイルの作成 stateの実装 mutationの実装 actionの実装 getterの実装 Viewの実装 感想 参考 Nuxt.js で Vuex を使ってみたので使い方、Vuexとはなにか、自分なりに理解したことをまとめます。 Vuex とはなにか Vuex は Vue.js アプリケーションのための 状態管理パターン + ライブラリです。 これが Vuex の背景にある基

    Nuxt.js で Vuex を使う | mintsu's blog
  • redux-thunkを学ぶ - 豆腐とコンソメ

    Reduxに慣れ始めたのであらためてredux-thunkをちゃんと理解しようと思う。 redux-thunk まずは基 非同期処理 middlewareを使う redux-thunk redux-thunk github.com redux-thunkは以下のように非常にシンプルなコードでつくられている。 魔法のようなredux-thunk function createThunkMiddleware(extraArgument) { return ({ dispatch, getState }) => next => action => { if (typeof action === 'function') { return action(dispatch, getState, extraArgument) } return next(action) } } const thunk

    redux-thunkを学ぶ - 豆腐とコンソメ
  • [React] Ducks というデザインパターン [Redux]

    Ducks というデザインパターン Reduxのファイル構成は『Ducks』がオススメ – Qiita The Ducks File Structure for Redux – S.C. Barrus – Medium erikras/ducks-modular-redux: A proposal for bundling reducers, action types and actions when using Redux Redux Way React + Redux で構築する際のディレクトリ構成としてよく知られるのは、redux-way と呼ばれるやつです。Reduxの登場人物であるところの、container, reducer, action(action creator) それぞれについてディレクトリを分けてファイル単位で分割します。ディレクトリ構成はこんな感じになります。 s

    [React] Ducks というデザインパターン [Redux]
  • Nuxt.jsでログインをどうやるか、そしてCookieからlocalStorageへ - DJ lemon-Sour's diary (prod.hisasann)

    🦑 まえがき Nuxt.js でいわゆる basic なログインの仕組み (ユーザーID・パスワードを入れる系)を作ろうとすると、なかなか大変で、これは Cookie が SSR 時と CSR 時に API サーバーまで勝手に送信するしないの話などあり、結構気にする箇所は多くなります。 Cookie を使ったパターン では、 Cookie はあくまでも Nuxt.js 側のみで使用し、 BFF との通信は、リクエストヘッダーにログイントークンをのせて送信しています。 また、ログイン処理後はレスポンスヘッダーからログイントークンをもらい、それを Cookie に保存します。 それについての考察は以下にまとめております。 Nuxt.jsを使ったログイン周りの仕組みについて · hisasann/typescript-nuxtjs-boilerplate Wiki また、 OAuth 版ではあ

    Nuxt.jsでログインをどうやるか、そしてCookieからlocalStorageへ - DJ lemon-Sour's diary (prod.hisasann)
  • Docker + Rails + Mailhogでメールを送信せずにブラウザで確認できる開発環境を作る - ココナラよもやまブログ

    MailHog使ったきっかけ MailHogって何? MailHogを使えるようにする MailHogサーバーを立ち上げる RailsからMailHogにメールを送信する 送信したメールを確認する さらに便利にする コンテナを停止してもメールが消えないようにする コンテナを削除してもメールが消えないようにする 最終的なDockerの設定 まとめ はじめまして。開発グループでエンジニアをしている石塚です。 今日はDocker + Rails + Mailhogでメールを送信せずにブラウザで確認できる開発環境の作り方を紹介したいと思います。 MailHog使ったきっかけ Ruby on Railsでアプリケーションを開発している方なら letter_opener と letter_opener_web を使ったことがある人も多いかと思います。 letter_opener はメールを送信せずに送

    Docker + Rails + Mailhogでメールを送信せずにブラウザで確認できる開発環境を作る - ココナラよもやまブログ
  • The Pragmatic Studio

    Using Rails Session Cookies for API Authentication September 05, 2018 In preparation for our next course, we’re building a Vue.js front-end web application (an SPA) that uses a Rails 5 API backend with authenticated endpoints. The web app and the API are two separate applications: No part of the web app is rendered by Rails. The Rails app is strictly a JSON API. And the web app is a standalone bun

  • DBMSをGoで実装してみた - Sansan Tech Blog

    こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかのやサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そしてブログでは、上記の講義

    DBMSをGoで実装してみた - Sansan Tech Blog
  • How to separate frontend + backend with Rails API, Nuxt.js and Devise-JWT

    I’ve been a huge fan of Ruby on Rails since the early days, and although the web world has moved on a lot since then, Rails still has a place in this landscape, for rapid app development with clean, maintainable code. But the web world has changed. The rise of Progressive Web Apps (and mobile apps before them) has led to a world where users want a strong interactive interface from their web apps:

    How to separate frontend + backend with Rails API, Nuxt.js and Devise-JWT
  • [Rails] APサーバの比較検証(Puma, Unicorn, Passenger) - Tech Log - s21g

    仕事Railsを使うことになり、APサーバの選定にあたってPuma, Unicorn, Passenger の比較検討を行いました。方法としてはJMeterでAPサーバにデプロイしたRailsアプリケーションに対して負荷をかけられるだけかけるというやり方です。 試験環境 試験の環境としては下記の構成です。 Ruby2.0, Rails4 アプリケーションサーバ:1台(VM) JMeterサーバ:3台(VM) JMeterクライアント:1台(通常の作業PC) サーバ構成 hostanameCPU仮想コア数(Per CPU)MemoryDisk用途 loadtest01248192MB20GBAPサーバ loadtest02114096MB20GBJMeterサーバ loadtest03114096MB20GBJMeterサーバ loadtest04114096MB20GBJMeterサーバ

  • 【速報】Slackの神・新機能「ワークフロー」使ってみた!これは仕事が超効率化する予感…! | SELECK [セレック]

    Slackが一昨日(2019年10月15日)に発表した新機能「ワークフロービルダー」! みなさま、もう使いましたか? 結論から言うと、この機能は最高です。いますぐ使うべし! 公式サイトによると、ワークフロービルダーとは、下記のような機能とのこと。 定型的なアクションやコミュニケーションを自動化するワークフローをわずか数分で作成。 ということで早速ためしてみたのですが、これ、めちゃくちゃ使える…!用途としては、下記のようなものが考えられると思います。 入社後の手続きや、オンボーディングのフローを自動化 年末調整や健康診断といった、総務系オペレーションの効率化 会社・チームの目標管理や更新 チームの朝会のような、アジェンダの決まったMTGSlack上で実施 bot的に使って遊ぶ(おまけ。あとで紹介しています) 弊社では、早速ワークフローがじゃんじゃん生成されています! 実際のワークフローの中

    【速報】Slackの神・新機能「ワークフロー」使ってみた!これは仕事が超効率化する予感…! | SELECK [セレック]
    tatsu_tora
    tatsu_tora 2019/10/18
    フリープランでは使えないか... 公式で出るとは、Kyberも近しい事できるけど、どうなるんだろう
  • “フロントガラス叩き割り男”逮捕…女性が運転する車を突然壊し始める「体調不良でイライラした」(東海テレビ) - Yahoo!ニュース

    16日午後、愛知県豊明市で女性が運転する車のフロントガラスを叩き割るなどしたとして28歳の無職の男が逮捕されました。 (ガラス割ってくる男に対し…) 女性:「やめてやめて!」 逮捕されたのは愛知県豊明市の無職・木崎喬滋容疑者(28)です。 木崎容疑者は16日午後1時前、豊明市前後町の路上で名古屋市内の女性(51)が運転する車のフロントガラスを叩き割ったほか、ボンネットをへこませて壊すなどした器物損壊の疑いです。 木崎容疑者は逃走していましたが、事件のニュースを見た親に連れられて17日午後5時ごろ、近くの交番に出頭したということです。 調べに対し、木崎容疑者は「体調不良でイライラしたのでやりました」と容疑を認めています。 ※画像と動画の一部は撮影者提供

    “フロントガラス叩き割り男”逮捕…女性が運転する車を突然壊し始める「体調不良でイライラした」(東海テレビ) - Yahoo!ニュース
    tatsu_tora
    tatsu_tora 2019/10/18
    リアルでGTAの真似事するな、ゲームだけにしろ
  • S3 + CloudFrontでSPAサイトを提供する設定 - のんびりSEの議事録

    最近、普段アプリケーションの開発ばかりをやっており、久々にAWS関連の構築をやろうとすると、結構忘れてる事あるなーと思い今回備忘録として残しました。 特にドメインやCDN周りの設定等、頻繁にはやることはないかと思うので、また忘れたときに見直せればいいかなと 設定項目 以下の順に設定することを推奨します。 ドメイン登録 Route53設定 S3バケット作成 AWS Certificate Manager(ACM)証明書リクエスト CloudFrontディストリビューション作成 CloudFrontにSSL証明書を登録 S3バケットのポリシーを確認 Route53にCloudFrontのドメインを設定 S3にアップロード 構成 ドメイン登録 すでに他のドメインでも利用しており、支払いの関係上、今回はお名前で登録しました。 ここに関しては、説明は省きます。各サービスの手順通りに進めていくだけなの

    S3 + CloudFrontでSPAサイトを提供する設定 - のんびりSEの議事録