タグ

ブックマーク / qiita.com (72)

  • シニアフロントエンド開発者みたいにChromeデベロッパーツールを使おう - Qiita

    開発環境にChromeを選ぶなら知っておきたい12のテクニック Photo by Morning Brew on Unsplash さて、何らかの理由で、開発ブラウザとしてChromeを選んだとします。次は、デベロッパーツールを開き、コードのデバッグを開始します。 Consoleパネルを開いてプログラムの出力を確認したり、Elementsパネルを開いてDOM要素のCSSコードを確認したりします。 でも、Chromeデベロッパーツールを当に理解していますか?実は、パワフルだけど知られていない機能がたくさん用意されていて、開発効率を大幅に改善できるのです。 ここでは、最も便利な機能を紹介します。お役に立てたら嬉しいです。 ChromeのCommandメニューから始めましょう。ChromeのCommandメニューは、LinuxのShellのようなものです。コマンドを入力してChromeを操作で

    シニアフロントエンド開発者みたいにChromeデベロッパーツールを使おう - Qiita
  • Mastodonを支えるgems - Qiita

    Mastodonのコードを読んでみることにしました。 知らないgemが一杯あったのでまずは調べてみることにしました。標準添付ライブラリ、Railsにデフォルトで含まれているものは除きます。また、group :developmentとか、group指定ありのは疲れたのでまた今度。 今回確認したGemfile 実際のコードに目を通しながら調べましたが、勘違いなどあればご指摘頂けるとうれしいです。 hamlit-rails hamlit-rails provides generators for Rails 4. Railsのジェネレータが生成するビューテンプレートをHaml化するhaml-railsのhamlit版のようです。Hamlという点では同じですがhaml gemへの依存をなくせますね。 pg Pg is the Ruby interface to the PostgreSQL RDB

    Mastodonを支えるgems - Qiita
  • Railsの設定ファイルはYamlよりRubyの方が良いと思う - Qiita

    Railsアプリケーションで設定値をまとめるためのgemとして次のようなものがよく使われています。 Setting Logic Rails Config Figaro 上記3つのgemは細かい違いはあれど、基的に Yaml ファイルに設定値を記述しておけば Ruby のコード内でグローバル定数のように扱えるというものです。 これらの gem はよく出来ていて、私も何度か使ってきたのですが、だんだんなぜYamlで頑張っているのだろうかという気持ちになりました。 例えば、 次の Yaml を見てください。

    Railsの設定ファイルはYamlよりRubyの方が良いと思う - Qiita
    deeeki
    deeeki 2017/04/28
  • https://qiita.com/yukihiro_matz/items/13e96561df42d0105dd4

  • 中の人に聞いたGitHub flowの本当の使い方 - Qiita

    背景 今日GitHubの中の人のLTを聞く機会があって当のGitHub-flowを聞いてきたので 忘れない間にメモ GitHub-Flowのお約束 Masterにあるものは即座にデプロイ可能な状態に保つこと ブランチの上で必ず作業し、その生存期間を短くすること すぐにPRを作り、フィードバックやサインオフを求めること マージしたらすぐにデプロイすること 当のGitHub-flow 中の人曰くよくマージしてからデプロイすると言っている人がいるらしい。 だが当のGitHub-flowは違う。 当のflowは PR作成 ⇩ 修正 ⇩ デプロイ ⇩ フィードバック ⇩ マージ らしい。 マージ前にデプロイすることでさらにユーザーに近いところでフィードバックを受けることができるとのこと。 ダメなら直ちにmasterに戻す。なので決まりごとの中にmasterは直ちにデプロイできる状態にあること

    中の人に聞いたGitHub flowの本当の使い方 - Qiita
  • 初心者エンジニアにおすすめしたい「進捗どうなった?」と言われないための仕事の進め方 - Qiita

    はじめに 初心者エンジニアのあなたは、 **先輩エンジニアに「進捗どうなった?」や「なんでこの作業にこんな時間かかってるの?」**といったことを言われたことはありませんか? また、 作業見積もりやタスク分解をちゃんと行なわないで、いきなりコードを書き始めているということはありませんか? 勝手にコードを書き始めて、ほとんど手戻りになって1からコードを書き直しになるという経験もあるかと思います。 僕は徹底的に仕事のやり方を叩きこまれましたが、周りの話を聞いていると、こういったことができていない人もいるのかなと思い書こうと思った次第です。 またエンジニア向けには書いていますが、どんな仕事にも普遍的に使える考え方だと思っているので参考になれば幸いです。 アジェンダ 以下のとおりです。どこから読んでもらっても大丈夫ですが、上から読んでいったほうが流れが分かりやすいと思います。 ツールはGithub,

    初心者エンジニアにおすすめしたい「進捗どうなった?」と言われないための仕事の進め方 - Qiita
    deeeki
    deeeki 2015/11/25
  • 最強のSSH踏み台設定 - Qiita

    追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだったエントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de

    最強のSSH踏み台設定 - Qiita
  • npm で依存もタスクも一元化する - Qiita

    タスク管理 package.json にはパッケージの依存を書いて npm install するのが基だけど、 タスクの管理をどうするかというのは、別途また考えないといけない。 自分は gulp が良いと思っているが、 grunt や jake や make を使う人もいる。 また、たくさんオプションをつければほぼ一つのタスクが実行できてしまう browserify, jsh/eslint, mocha などのコマンドを提供するツールもある。 そして、 npm にも一部それらをサポートする npm run 機能があるので、そこに Unix ワンライナーを書くこともできる。 今回は、「どのタスクツールが最良か」みたいな話ではなく、それらをどうやって実行するか、または npm との棲み分けとか構成の流儀について、最近良いと思っているやり方について書いておく。 各方針で問題点を書いていくが、

    npm で依存もタスクも一元化する - Qiita
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
    deeeki
    deeeki 2015/09/29
  • 実用的な新機能が盛りだくさん!RSpec 3.3 完全ガイド - Qiita

    はじめに 2015年6月12日にRSpec 3.3がリリースされました。 APIが大きく変更されたり、派手な新機能が追加されたりはしていませんが、うまく活用するとテストを効率よく書いていけそうな実践的な新機能がたくさん導入されています。 この記事ではそんなRSpec 3.3の新機能を紹介していきます。 新機能一覧 RSpec 3.3で追加された主な新機能は以下の11個です。 これから各新機能の内容を紹介していきます。 特定のエクスペクテーション群をまとめて検証できる(aggregate_failures メソッド) グループやexampleをID指定して実行できる 失敗したテストだけを再実行できる(--only-failures オプション) 失敗したテストを1件ずつ修正できる(--next-failure オプション) テストが増減しても seed を指定したランダム実行が同じ順序で実行

    実用的な新機能が盛りだくさん!RSpec 3.3 完全ガイド - Qiita
  • production db の内容を staging db に import する雑なスクリプト - Qiita

    開発環境のデータをできるだけ番に近づける - クックパッド開発者ブログみたいなことをやりたかったが、レプリケーション組むとなると大変なので、雑な mysqldump ベースのデータ移行スクリプトを書いてみた。 仕組み mysqldumpmysqldump -uroot -T /tmp/ --fields-terminated-by="\t" --fields-optionally-enclosed-by="\"" --lines-terminated-by="\n" --fields-escaped-by="" #{database} #{table} のようにして production db のデータを TSV として吐き出して、LOAD DATA LOCAL INFILE #{tsv_file} INTO TABLE #{table} で TSV ファイルを読み込んで stag

    production db の内容を staging db に import する雑なスクリプト - Qiita
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
  • 趣味で作っている「Annict」というRails製サービスのGemfileを晒す - Qiita

    1人Webサービス開発で使っているGemfileそのまま公開 - Qiita 完全に↑の記事の人気に乗っかろうとしています。当にありがとうございました。 上記記事で紹介されている「photoll」というスポット写真共有サイトのはてブ数が記事公開後に大きく増えたようなので、僕のサービスでも同じことが起こるのでは…!? と目論んでいます。必死なんです!! Annict | アニクト - 観ているアニメをシェアしよう 僕が趣味で開発しているWebサービスです。アニメの視聴内容が記録できたり、感想などをTwitter/Facebookにシェアできるサービスです。 これもRailsで作っているサービスなので、そのGemfileの中身をご紹介したいと思います。 Gemfileの内容 各gemについてはこのあと書いていきます。 source 'https://rubygems.org' ruby '2

    趣味で作っている「Annict」というRails製サービスのGemfileを晒す - Qiita
    deeeki
    deeeki 2015/05/09
  • Using RxJS for data flow instead of Flux with React - Qiita

    Update: I posted this as a Gist if the Qiita stylesheet bothers you: https://gist.github.com/justinwoo/08f9f8fcdcf865025f18 For almost a year now, I've been using this "flux" architecture to organize my React applications and to work on other people's projects, and its popularity has grown quite a lot, to the point where it shows up on job listings for React and a lot of people get confused about

    Using RxJS for data flow instead of Flux with React - Qiita
  • ActiveRecordを速くしたいだけの人生だった - Qiita

    Help us understand the problem. What is going on with this article? Rails3.2からRails4.2に上げたらActiveRecordが遅くなったので、どうやって調査して、どのように対処したかを語ってみたい。 とても長いので、ダルい人は最初と最後だけ読めばよいです。 TL;DR 環境: Ruby 2.1.5 ARオブジェクトを大量に(ざっくり750kくらい)loadするバッチ処理 3.2系での実行時間は約480sec、 4.2系では約2900sec 約6倍の性能劣化 原因: preloadで性能劣化してた CollectionProxyの生成周りで遅くなってた Rails4からARオブジェクトの1attribute毎にObject生成するので遅い GCの時間も増えた 調査方法: Githubのcommit、Issueを

    ActiveRecordを速くしたいだけの人生だった - Qiita
  • SwiftからiOSアプリ開発を始めた人に読んでほしいテスト系リスト - Qiita

    格的なテストを行うまえに 情報収集したものを備忘録として残しておきます。 外部サービス appium 名前から分かるとおりseleniumのようなテスト自動をアプリで行うことが可能。必要条件は「Mac OSX 10.7以上、XCode 4.5以上 」となっているがSwiftも対応しているかは実際にコードを書かないとわからない。 saucelabs https://saucelabs.com/ seleniumやappiumのテストを高速実行。実行時のビデオも残してくれる。 Remote Test Kit リモートによる実機テストができる。 機種依存ポイントとなるセンサ周りのテストがしづらいのは残念。 OSS Quick Swiftが発表された2日後にGithubにコミットされた、世界で一番最初のSwiftのテストフレームワーク。RSpec, Specta, Ginkgoの影響を受けている

    SwiftからiOSアプリ開発を始めた人に読んでほしいテスト系リスト - Qiita
    deeeki
    deeeki 2015/03/02
  • [iOS] AppDelegateを綺麗に保つ4つのテクニック - Qiita

    AppDelegateはアプリ全体のライフタイムイベントを管理するためのクラスですが、その性質上、様々な処理が書かれやすいです。 しかし、あらゆる処理が書かれ肥大化していくと、見通しが悪くなってメンテナンスがしづらくなったり、チームで開発してる場合はコンフリクトが起こるなど開発速度に支障をきたすようになってしまう場合があります。 そこで、この記事では、そんな膨れがちなAppDelegateを綺麗な状態に戻すための方法をいくつか紹介します。 1. AppDelegateの責務外の処理は他クラスに移す AppDelegateの主な責務はライフタイムイベントの管理です。具体的には「起動」「停止」「バックグラウンド状態の切り替わり」などなどUIApplicationDelegateで定義されているような処理です。 にもかかわらず、例えば全Controllerから触れる値を定義したいなどの理由で、責

    [iOS] AppDelegateを綺麗に保つ4つのテクニック - Qiita
    deeeki
    deeeki 2015/02/28
  • Swift時代のおすすめXcodeワークスペース設定 - Qiita

    先日書いたSwift紹介記事の中でSwiftベースのライブラリSwiftyJSONとAlamofire、その2つをラクに扱うAlamofire-SwiftyJSONのご紹介をしました。 これらのライブラリは十分成熟しており現状でとても便利に使えるのですが、現状、CocoaPodsがSwiftベースのライブラリに正式対応していないこともあり、導入時は手でワークスペースに追加する必要があります。(CocoaPodsもSwift対応が進められている様で、あと数ヶ月すれば状況は変わるかもしれませんね。) 来iOSアプリのビルドプロセスは非常に複雑です。そして外部のプロジェクトをライブラリとして追加するにはiOSアプリのビルドプロセスに手を突っ込む必要があります。Objective-CベースのライブラリではCocoaPodsに頼り切っていたゆるふわプログラマの自分にはとても大変でした。 という訳で

    Swift時代のおすすめXcodeワークスペース設定 - Qiita
    deeeki
    deeeki 2015/02/28
  • rubyのmecabバインディングnattoを使う - Qiita

    背景 macでmecab-rubyをビルドせずにインストールするでは、mecabの基的な言語バインディングを用いました。 このバインディングはSWIGを用いてMeCabと密に結合しているため、mecab gemのバージョンとMeCabのバージョンを合わせる必要がありました。 今回はmecab gem以外の選択肢を使ってみます。 納豆 今回はrubyからmecabを利用するためにnattoというgemを使用します。 nattoは、FFI(foreign function interface:外部関数インタフェース)を使用して、RubyとMeCabを繋ぐgemです。 nattoはC言語拡張ではないためコンパイルは必要ありません。 そのためCRuby(MRI / YARV)でもJRuby(JVM)でも実行できる利点があります。 (jruby 1.7.4 (1.9.3p392) 2013-05-

    rubyのmecabバインディングnattoを使う - Qiita
    deeeki
    deeeki 2015/01/18
  • 大晦日〜正月にiOSでCircleCIを試したので振り返ってみた - Qiita

    はじめに 皆様、新年あけましておめでとうございます 今年も不定期に思いつきで記事をあげていくのでよろしくお願いいたしますm(_ _)m 昨今TravisCIに代表されるCIサービスが流行ってますね。 Rettyでは内製JenkinsでCIを頑張っているのですが、CircleCIでiOSのBetaできるよって公式ドキュメントを見つけたので、大晦日〜正月にかけてトライしてみました。 だいぶ記事が長いので「結論から知りたい」という方はこちらのまとめから御覧くださいませ。 CircleCI事始め アカウントの作成 まずはアカウントを作ります。 アカウントはGithub認証を利用したものになるため、Githubアカウントがないと登録できません。 CircleCIのアカウント作成はこちらからどうぞ。 対象リポジトリの選択 登録したらまずはCI対象にするリポジトリを選びます。 アカウントにOrganiz

    大晦日〜正月にiOSでCircleCIを試したので振り返ってみた - Qiita
    deeeki
    deeeki 2015/01/18