it31415のブックマーク (44)

  • Railsプロジェクトで好んで使っている便利な処理 - alpaca-tc

    Railsプロジェクトで、自分が好んで使っている便利な処理をまとめてみました。 core_ext編 sort_byは安定ソートではないので、with_indexを組み合わせて安定ソートを行う https://gist.github.com/alpaca-tc/ed793961f2db438abaae3c00b7e303fa RSpec編 partial viewでインスタンス変数を呼び出していないことをチェックするテスト https://gist.github.com/alpaca-tc/c19f00d583234a2c73eda6d8378b8c50 モデルが変更された際に、参照元・参照先の双方に関連が定義されていることをチェックするテスト https://gist.github.com/alpaca-tc/d53dee5977746256717c7522988b13d8 テーブルが変更

    Railsプロジェクトで好んで使っている便利な処理 - alpaca-tc
    it31415
    it31415 2021/05/25
  • Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記

    を読んで思い出したのでご紹介です。 元の記事と同様に以下の関数 sum について、 function sum(nums, acc = 0) { console.log({ nums, acc }); if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } この関数sumの引数 (nums と acc) の呼び出しごとの変化を見たい場合は、所謂プリントデバッグや debugger を使うのは一般的なテクニックとしてよく知られていますが、このような関数呼び出し時の引数を知りたい場合はmonitor(function)という関数を使うことで同様の効果を得ることが出来ます。 この場合は monitor(sum)とした後に、関

    Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記
    it31415
    it31415 2021/05/03
  • Dockerfileのベストプラクティス Top 20

    文の内容は、2021年3月9日にÁlvaro Iradierが投稿したブログ(https://sysdig.com/blog/dockerfile-best-practices/)を元に日語に翻訳・再構成した内容となっております。 Dockerfileのベストプラクティスのクイックセットをイメージビルドに適用することで、セキュリティ問題を防ぎ、コンテナ化されたアプリケーションを最適化する方法を学びます。 コンテナ化されたアプリケーションやマイクロサービスに精通している人なら、自分のサービスがマイクロサービスであることに気づいているかもしれません。しかし、脆弱性の検出、セキュリティ問題の調査、デプロイ後の報告や修正など、管理のオーバーヘッドがマクロな問題になっています。 このオーバーヘッドの多くは、セキュリティをシフトレフトし、開発ワークフローの中で可能な限り早く潜在的な問題に取り組むこ

    Dockerfileのベストプラクティス Top 20
    it31415
    it31415 2021/03/11
  • React を深く知るための入り口

    Reactに対する見方をアップデートする 国内外の優れた開発者の方による React の各論の記事は枚挙にいとまがありません。しかし、React の入門を一通り終えた方に向けの浅く広い総論はあまり見かけません。 React の公式ドキュメントのトップページに掲載されている短い3つの文章があります。この React質を表現した文章を掘り下げることが、初学者のステップアップにつながるのではないかと考え、各章に対して注釈を加えました。 React について少し深く知ることで、さらに React を好きになったという方を一人でも多く増やしたい。その思いから記事を執筆しました。 記事は React の考え方を知ることで、React に対する見方をアップデートすることを目的としています。 Reactとは何か。それはUIを構築するためのJSライブラリである React公式ドキュメントの一文 R

    React を深く知るための入り口
    it31415
    it31415 2021/03/08
  • 引越し準備「やることリスト」手続き・荷造り・引越し後の流れ10ステップ【SUUMO引越し】 | 引越し見積もり

    引越しは、単に荷物をまとめて違う家へ住み替えることではありません。引越すための新居探しや業者探し、そして引越しにともなう役所や郵便、電気、ガス、水道などの手続き……。そこで引越しにかかわる「やるべきこと」をリストにまとめました。 まずはどんな記事内容なのか、動画でサクッとチェックしましょう! ■目次 ・STEP1:新居決め・引越し見積もり・諸契約 ・STEP2:引越し日が決まったら早めにやること ・STEP3:引越し2週間前までにやること ・STEP4:引越し1週間前までにやること ・STEP5:引越し前日までにやること ・STEP6:引越し前日にやること ・STEP7:引越し当日に旧居でやること ・STEP8:引越し当日に新居でやること ・STEP9:引越し後に早めにやること ・STEP10:そのほかやっておきたいこと ・必要な手続きをしっかり把握しよう ・効率よく進めたい「荷造り」のコ

    引越し準備「やることリスト」手続き・荷造り・引越し後の流れ10ステップ【SUUMO引越し】 | 引越し見積もり
    it31415
    it31415 2021/02/28
  • Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応

    GoogleORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応 SQL文を直接書かなくとも、自動的にSQL文を生成、実行してくれるORM(Object-Relational Mapper)は、プログラミングを容易にしてくれる技術としてRailsやHibernate、Springなどさまざまなフレームワークなどで活用されています。 一方で、ORMが生成するSQL文はときに複雑に、あるいは非効率なものとなり、データベース処理の遅さにつながることもあります。 このとき、SQL文の生成と実行を明示的にコードとして記述する必要がないというORMの特徴が、なぜデータベース処理が遅くなったのか、どのようなSQL文が生成され、そのどこに原因があるのか、といった調査を難しくている面があり

    Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応
    it31415
    it31415 2021/02/03
  • Webアプリ負荷試験ガイド - withgod's blog

    Webアプリ負荷試験ガイド 目次 Webアプリ負荷試験ガイド 目次 前置き 時間がない人向け要約 about me 何故負荷試験を行うのか 負荷試験ツール 負荷掛けるツール 負荷計測 負荷の可視化 負荷試験の流れ 負荷試験スケジュールについて 注目すべきポイント シナリオ作成 アカウント情報は自動生成出来るようにする DB分割を行ってる場合はDB分割を意識したシナリオを用意する。 負荷試験元 http or https サーバ1台 サーバ単体での負荷 アプリの正常性の確認 サーバ複数台 KVS Memcached Redis RDB 問題になりやすいDB キャッシュの話 大前提 注意すべき点 CDNやProxyレベル local cache or remote cache local cache or memory cache(in app cache) references 更新情報 前

    Webアプリ負荷試験ガイド - withgod's blog
    it31415
    it31415 2020/11/10
  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
    it31415
    it31415 2020/09/23
  • 『2時間スプリント』とフルリモートワークなシステム開発 - terurouメモ

    デンキヤギという会社で『2時間スプリント』が定着してきたので、その話でも書きます。 2時間スプリント? みなさん、すでにスクラムで開発してますよね! ぶっちゃけ、スクラムがよくわかってなくても、とりあえずスプリントと称して開発のメリハリをつけるために、1週間なり2週間なりで区間を区切って開発をしていくのは、普通にやってるんじゃないかと思います。 2時間スプリントとは、その期間を2時間にするという話です。 スプリントを超短期サイクルにすること自体は、47機関の人たちがオリジナルだという認識です。このあたりに家の情報がまとまっています。 kyon-mm.hatenablog.com 2018年に実際に47機関の人たちのチームに入って1時間スプリントで働くという機会があって、それ経て、デンキヤギでもパクって導入しています。家ではのちのち15分スプリントになっていったらしいんですが、うちはうち

    『2時間スプリント』とフルリモートワークなシステム開発 - terurouメモ
    it31415
    it31415 2020/09/14
  • 【Vue.js】負債を返却しながら機能追加しなければならない状況で実践したフロントエンドのコンポーネント設計 - クラウドワークス エンジニアブログ

    はじめに こんにちは! 社会人2年目を頑張っております、エンジニアの@b0ntenmaruです。 今年2月までリファクタリング専門チームにてcrowdworks.jpの技術的負債を返却するために奮闘しておりましたが、そこから現在まではユーザーの皆様に安心安全なサービスを提供するためにクラウドワークス 安心安全宣言のための施策を行っています。 リファクタリング専門チームについては以下をご覧ください。 engineer.crowdworks.jp qiita.com 施策による機能開発を行う際に直面した課題 施策では主にフロントエンドの機能追加をすることになったのですが、技術的負債によりスピードを維持しながら開発を続けることは困難な状態でした。 crowdworks.jpを取り巻くフロントエンド技術スタックはざっくり書くと下記3つに分類できます。それぞれで発生している問題を簡潔にまとめます。

    【Vue.js】負債を返却しながら機能追加しなければならない状況で実践したフロントエンドのコンポーネント設計 - クラウドワークス エンジニアブログ
    it31415
    it31415 2020/08/27
  • Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)

    今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの

    Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)
    it31415
    it31415 2020/08/13
  • LINE社内で大評判のテクニカルライティング講座で説明した内容をあらためてブログにまとめてみた

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは、Developer Contentチームの矢崎です。LINE株式会社でテクニカルライターとして働いています。今日は、私が1文を書くときに気をつけていることや手法についてお話しします。 そして、この書き出しは、6月にmochikoさんが書いた「LINEの社内には「テクニカルライティング」の専門チームがあります」という記事のオマージュになっています。mochikoさんが書いた記事ですごいpvをたたき出したそうなので、人のふんどしで相撲を取ってみようという作戦で始めてみました。 この記事ではLINE社内で私が講師を務めた「LINE社内で大評判のテクニカルライティング講座」に沿って、わかりやすい1文を書くコツを紹介していま

    LINE社内で大評判のテクニカルライティング講座で説明した内容をあらためてブログにまとめてみた
    it31415
    it31415 2020/07/23
  • Cloud RunがGitと連携して勝手にデプロイできるようになったのでやってみた - inductor's blog

    はじめに こんにちは。inductorです。 GCPのCloud Runはご存知でしょうか。世界一簡単に単一のコンテナをデプロイできるサービスだと私は考えています。 さて、以下のようなリリースノートの通知があって、Cloud RunがGitと連携して更新まで自動でできるようになったみたいです。 Continuous deployment from Git using Cloud Build まとめるとこんな感じのことが書いてあります Cloud Buildのトリガーを使用して新しいコミットがGitリポジトリの特定のブランチにプッシュされるたびにコードを自動的にビルドしてデプロイすることで、ビルドとCloud Runへのデプロイを自動化できます。 Cloud Buildトリガーを使用してコンテナをビルドすると、Cloud Runにデプロイした後、ソースリポジトリ情報がサービスのCloud C

    Cloud RunがGitと連携して勝手にデプロイできるようになったのでやってみた - inductor's blog
    it31415
    it31415 2020/07/19
  • t_wada さんの講演メモ ー 技術書の読み方を中心に - 冷めたコーヒー

    はじめに 和田さん(@t_wada)の講演が素晴らしく良かったのでメモを残しておきたいと思います。和田さんと言えば... t_wada ですね!講演では、「技術の学び方を学ぶ」ことを目的として二部構成で論が展開されました。「技術の学び方の学び」とは、メタレベルの学びのことを指しています。すなわち、効率的に新しい技術を学ぶためにはどのように学べば良いのかという話です。内容は以下の通りです。 第一部 四半期ごとに技術書を読む 手を動かしながら学ぶ 毎年少なくとも一つの言語を学ぶ 身の回りをプログラミング対象にする アウトプットを行う 第二部 毎日コードを書く 年下から学ぶ 過去から未来を見る 人のつくる渦を見る 大事なことに集中する いずれも非常に興味深い内容だったのですが、細かい事項については2017年の講演メモのエントリーがありましたので、ぜひそちらをご覧いただければと思います。(記事へ

    t_wada さんの講演メモ ー 技術書の読み方を中心に - 冷めたコーヒー
    it31415
    it31415 2020/06/26
  • 天才プログラマーの「締切に対する考え方」に、感銘を受けた。

    わたしは、ビジネスノウハウが嫌いだ。大嫌いだ。 個人で効率化できる部分なんてかぎられているのに、「お前が努力すれば成果を出せる」的なのが気にわない。 それなら先に、ムダな会議を減らせって話だ。 ……というひねくれ者のわたしだが、とあるに出会って、自分でもちょっと戸惑うくらい感銘を受けてしまった。 どうやらわたしは今まで、”2流”のビジネス書しか知らなかったらしい。 Windows95の基礎をつくった天才プログラマーが語る、3つの仕事術 わたしが手に取ったのは、『なぜ、あなたの仕事は終わらないのか』というだ。 ふだんこういったはあまり読まないけど、kindle Unlimitedで読めるし、評価が高かったから、気まぐれでダウンロードしてみた。 著者は中島聡氏。 1960年北海道生まれ。早稲田大学高等学院、早稲田大学大学院理工学研究科修了。 高校時代からパソコン系雑誌『週刊アスキー』

    天才プログラマーの「締切に対する考え方」に、感銘を受けた。
    it31415
    it31415 2020/06/15
  • 成功する実践的モブプログラミング - Qiita

    ※ https://zenn.dev/erukiti/articles/mob-programming に移動しました。この記事はいずれ消す予定です。 モブプログラミング(以下モブプロ)とは、複数人で一つの成果物(プログラムコード)を生み出すという、チーム作業のテクニックです。似たテクニックにペアプログラミングがありますが、モブプロは3人以上(4〜5人を推奨)でやるものであり、また、目的や効果も全く違うものです。 モブプロのコンセプトは、チームでコミュニケーションをして問題を解決するというチーム戦 です。これ最重要なので、あとで何回も登場します! この記事には「成功する実践的モブプログラミング」というタイトルを付けています。ここでいう成功の定義は、モブプロが実際に効率よく実践できることとします。モブプロに関する記事・情報は「イベントでお試ししてみた」とかが多い傾向があるため、ここでは実践に

    成功する実践的モブプログラミング - Qiita
    it31415
    it31415 2020/06/09
  • 銀座Rails#21で「Fat Modelの倒し方」を発表しました

    Fat Model1まずはFatステージ1。Railsというものを全然知らない超初心者が陥るステージです。ビューに何でもかんでもロジックを書いちゃう。その結果がFat Viewです。 次にFatステージ2。ある程度Railsに慣れてきた開発者が陥るステージです。Modelへのロジック分離がうまくできず、Controllerにロジックが集中する。その結果はFat Controllerです。 最後がFatステージ3。Railsを習熟したエンジニアであればModelにロジックを寄せていくのが定石です。その結果出来上がるのはFat Modelです。 このように どんなにRailsに習熟してようと最終的にぶつかる壁がFat Model です。 Fat Model対処のための3つのアプローチFat Modelを倒すためのアプローチとして、僕は下記の3つに分けて整理すれば良いのではと考えました。 Rai

    銀座Rails#21で「Fat Modelの倒し方」を発表しました
    it31415
    it31415 2020/06/06
  • ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)

    ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう ドメイン駆動設計(DDD)が近年関心を集めていますが、同時にこの設計思想は難しい、わかりにくい、という見方もあります。さまざまなプロジェクトでドメイン駆動設計を実践してきたかとじゅんさんが、サンプル課題をもとに、ユースケース分析、モデル設計といった基礎を解説します。 はじめまして、Chatworkでテックリードをしている、かとじゅん( @j5ik2o )です。 僕は2010年ころより、大小さまざまなプロジェクトでドメイン駆動設計、いわゆるDDD(Domain Driven Design)を導入した開発を実践してきました。ドメイン駆動設計を主題としたワークショップなども主宰していますが、最近では加速度的にこの設計思想への関心が高まっていると感じます。稿では、なにかと分かりにくいドメイン駆動設計の基を、架空の

    ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)
    it31415
    it31415 2020/06/05
  • Swagger UI + Swagger Editorを使ってAPI仕様書作成を効率化する【Docker】

    ツール紹介 17465 view Swagger UI + Swagger Editorを使ってAPI仕様書作成を効率化する【Docker】 最終更新日:2019/03/29 「API仕様書を書かねば、、、、」 誰もがそう思っていたのだった。 そんな思いとは裏腹に、迫りくる納期、限られたリソース、誰かが作ってくれるだろうという淡い期待。 こうしてAPI仕様書は幻と化したのだった。。。 �(完) 、、、ということにはならないようにSwaggerを使ってAPI仕様書を効率よく管理するお話です。 サンプルコード すぐに試してみたい方はこちらから Swaggerとは SwaggerとはRESTful APIを効率よく記述するためのオープンソースフレームワークです。 2015年11月にマイクロソフトやグーグルなどによって結成されたOAI(Open API Initiative)という団体によって採用

    it31415
    it31415 2019/02/14
  • レビューイは自分の成果物をどうレビューしてもらいたいか考えて伝えよう - Murga

    「言われていたものを作りました。はいレビューしてください」というレビュー依頼の出し方をしていないだろうか?それはレビューイにとっても、レビューアにとっても、多くの無駄が生じるので、止めよう。 色々と思うことがあり、考えがまとまらなかったので、箇条書きで書き出すだけにする。 何が悪いのか? レビューアがレビューしていて、成果物のある部分について「どうしてそのように書いたのか」と疑問に思った時、理由や経緯が分からないので、レビューアが調べなくてはいけない。 レビューアが調べて「多分こういう理由でこう書いたんだろうな」と推測した内容は、レビューイがそのように書いた経緯とは異なるかもしれない。そうすると、レビューイの意図が正しいかどうかを検証できておらず、思わぬところに悪影響を与えていることに気が付かないかもしれない。 レビューアが調べ直しても分からなかった場合、レビューイに「何でこういう風に書い

    レビューイは自分の成果物をどうレビューしてもらいたいか考えて伝えよう - Murga
    it31415
    it31415 2019/02/14