はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    ChatGPT

『MogLog』

  • 人気
  • 新着
  • すべて
  • ちゃんと理解するrbenv : (1) 概念理解

    9 users

    mogulla3.tech

    はじめに 本記事は、Rubyで開発している人にとってほぼ必須ツールと言ってよいであろう rbenv について、ちゃんと理解して使えるようになることを目指して解説・整理したものです。少し長くなるため、読みやすい単位で記事を分けるつもりです。 rbenvはとてもシンプルで洗練されたツールなので、READMEをさっと読むだけで雰囲気で使えてしまうと思います。また、仕事で使うようなケースではアプリのセットアップ手順にrbenvを使うように書かれているので深く考えず導入して使っている、というような人も多いのではないでしょうか。 こういったよくできたツールだからこそ、ちゃんと仕組みを理解して使っている人は少ないのではないかと思い、このような記事を書いてみることにしました。 本記事ではまず、rbenvの概念を理解するために「rbenvとはなにか」「rbenvがあると何が嬉しいのか(どんな問題を解決するの

    • テクノロジー
    • 2024/12/18 13:20
    • ruby
    • あとで読む
    • シェルのコマンド履歴をインクリメンタルサーチで検索して素早く再利用する方法

      5 users

      mogulla3.tech

      この記事では、シェルのコマンド履歴をインクリメンタルサーチで検索して素早く再利用する方法についてステップバイステップで紹介します。 最終的に、次のgifアニメのような操作ができるようになります。 はじめに 僕は、これから紹介するコマンド履歴探索のワークフローを3年くらい使っていますが(※ コミットログから推測)、ターミナルに触れる日はほぼ間違いなくこの機能を使っています。もはやこの機能なしでターミナル操作をすることは考えられないほどに手に馴染んでいます。 実際に使うようになって感じることは、開発作業中に行うコマンドのほとんどはこれまでに実行したコマンドの繰り返しです。全く新しいコマンドを実行することは滅多にありません。 例えば、自分はRailsアプリケーションを開発することが多いですが、bin/rails db:migrate とか bin/rails g migration Xxx..

      • テクノロジー
      • 2022/11/15 17:02
      • ちゃんと理解するrbenv : (4) shimsを理解する

        4 users

        mogulla3.tech

        はじめに 本記事は、「ちゃんと理解するrbenv」の第4回です。 ※ 前回の記事 今回は、rbenvにおける重要な概念である shims について整理します。 shimsとは shimsは rake、rubocop、rspec などといったRubyのコマンド単位で生成される実行可能なシェルスクリプトです。rbenvによって作られています。 shimsは通常、~/.rbenv/shims 以下に配置されています。筆者の環境の ~/.rbenv/shims は次のようになっていました。 $ ls ~/.rbenv/shims bundle htmldiff nokogiri rbs rubocop solargraph y2racc bundler irb racc rdoc ruby thor yard erb kramdown racc2y reverse_markdown ruby-pa

        • テクノロジー
        • 2021/10/25 17:14
        • rbenv rehashをちゃんと理解する

          5 users

          mogulla3.tech

          rbenv の rehash というコマンドについてちゃんと理解するべく調べたのでまとめる。なお調べたのはバージョン1.1.2のrbenv。 もしかすると間違っている部分があるかもしれないので、気づいた方はコメントなどいただけるとありがたいです。 rbenv rehashとは何か rbenv rehash コマンドを実行すると、大まかには ~/.rbenv/versions/*/bin/ 以下のファイルを ~/.rbenv/shims/ 以下にコピーする。 なぜコピーする必要があるかというと、通常PATHが通っているのは ~/.rbenv/shims 以下となっているからで、ここにコピーしないと rspec とか rubocop といったGemが提供するコマンドを実行できないからである。 rbenv initがやっていること ここで、「rbenvは使っているけど ~/.rbenv/shim

          • テクノロジー
          • 2021/10/04 20:12
          • ruby
          • RSpec with Railsでテスト時のデータはどのように削除されているか

            3 users

            mogulla3.tech

            RailsアプリでRSpecを使うと通常example実行のたびにデータが削除されるようになっているが、これが具体的にどのように行われているかについて。 検証環境は以下の通り。 ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin16] rails 5.2.2 rspec 3.8.0 rspec-rails 3.8.2 SQLite 3.16.0 use_transactional_fixtures RailsでRspecを使うとき、 bundle exec rails generate rspec:install を実行して初期設定をすることになると思うが、そのときに spec/rails_helper.rb という設定ファイルも同時に作られる。 このファイルにデフォルトで次のような設定が記載されている。 RSpec.confi

            • テクノロジー
            • 2020/03/01 14:24
            • RSpec
            • ruby
            • 属人化の排除と責任感のトレードオフについて

              3 users

              mogulla3.tech

              スクラムでプロダクト開発をするようになって、約1年が経過した。 スクラムは実によくできたフレームワークであり、スクラムから得られたものはたくさんある。 例えば.. 今自分がやっていることに対して納得感を持って取り組むことができるようになった 発生した問題に対して、その場しのぎではなく仕組みで解決することができるようになった 同じゴールを共有するようになったことで、"チームでやっている"という感覚が強くなった。そのおかげで心理的負担が減り、同時にメンバー間も仲良くなった(と思う) 優先順位に基いて業務を進めるようになったことで、属人化が減った などである。 その一方で、デメリットとして最近感じているのは属人化を排除することで同時に個々人の責任感も削り落としてしてしまったのではないかという点である。 スクラム導入以前は、AさんはサービスAを担当し、BさんはサービスBを担当、というように個人が持

              • テクノロジー
              • 2017/10/24 08:52
              • 『Web開発者のための大規模サービス技術入門』がめっちゃ良かった

                6 users

                mogulla3.tech

                特に興味深く読めたのは次の部分。 ハードウェアレベルの話(第2回) OS(Linux)のキャッシュまわりの話(第3回) DBのスケールアウト戦略の話(第4回) アルゴリズムの話(第7回) その中でもアルゴリズムの話が一番収穫があった。 正直苦手意識がある分野だったのでこれまで避けがちだったが、Webアプリケーションを題材にして具体的な事例や効果が合わせて書かれていたので、楽しんで読むことができた。 次のステップとして、以下の文を引用。 大規模なWebアプリケーションを運用開発しようとすると、この理論と実践、その両方をやらなくてはいけない。 この辺をバランス良くやっていくのは、はてなのような会社に求められている技術的要件です。どちらか一方ではダメです。 理論を追求していって論文を書けるくらいの知識を持っていても、いざ実装しようとすると、実装のために必要ないろいろなバッドノウハウが出てきますし

                • テクノロジー
                • 2017/01/02 00:26
                • あとで読む
                • ビルドとかコンパイルとかリンクとか

                  27 users

                  mogulla3.tech

                  「ビルド」という言葉がどんな意味を指すのか、しっかりと理解していなかった。 コンパイルと何が違うのかもよくわかってなかったし、人に聞かれたら確実に答えらないと思った。 というわけで、調べてみた。 まずは定義から調べた。安定のe-words.jp様から拝借。 ビルド (build) ソースコードのコンパイルやライブラリのリンクなどを行い、最終的な実行可能ファイルを作成すること。また、そのような作業によって生成されたソフトウェアの版。 コンパイルとは意味が違うことがまず分かった。ビルドはコンパイルをして更に「リンク」という作業をするようだ。次にコンパイルの意味を再確認の意味も込めて調査。 コンパイル (compile) 人間がプログラミング言語を用いて作成したソフトウェアの設計図(ソースコード)を、コンピュータ上で実行可能な形式(オブジェクトコード)に変換すること。..(中略)..。変換のみを

                  • テクノロジー
                  • 2015/05/08 22:07
                  • プログラミング
                  • あとで読む
                  • HomebrewでVim7.4をluaオプション付きでインストールする

                    4 users

                    mogulla3.tech

                    ただし、上のコマンドでインストールするとluaオプションがついていないため、neocompleteが使えない。 neocompleteをインストールしてvimを起動すると、以下のようなメッセージが出力される。 $ vim neocomplete does not work this version of Vim. It requires Vim 7.3.885 or above and "if_lua" enabled Vim. Press ENTER or type command to continue

                    • テクノロジー
                    • 2014/11/14 21:02
                    • Linuxにおけるメモリ管理

                      23 users

                      mogulla3.tech

                      DBサーバ上でおもむろにfree、sar、topコマンド等でメモリの使用率を見てみたところ、 メモリの空きがほとんど無くなっていることに気がついて(正確にはそう見えて)、焦りながら色々調べた結果をまとめる。 Linuxのページキャッシュの仕組み まず、メモリの使用率を正しく見るためには、Linuxのページキャッシュという機能について知らないといけなかった。 ページキャッシュとは Linuxは一度ディスクから読みだしたデータは可能な限りメモリにキャッシュして、次回以降の読み込みが高速に行われるように調整する。このメモリに読みだしたデータのキャッシュを「ページキャッシュ」と呼ぶ。 ※ CPUはディスクのデータを直接読むことができないので、一度ディスクのデータをメモリにロードしてから読み込んでる ちなみに、Linuxはメモリ領域を4KBの塊に区切って管理しており、この4KBの塊を「ページ」という

                      • テクノロジー
                      • 2014/08/14 22:34
                      • Linux
                      • memory
                      • os
                      • iTerm上で起動したvimのテキストをマウスカーソルでコピーする方法

                        3 users

                        mogulla3.tech

                        iTerm上でvimを起動して、そこに書かれているテキストをマウスカーソルを使ってコピーしたかったのだけど、どうしてもできなかった。 右クリックでコピーしたり、ツールバーからコピーしたりと色々な方法を試したけど、そもそもコピーすることが不可になっていた様子。 2013-01-22-01.png 2013-01-22-02.png Mac標準のターミナルだと普通にコピーできるので、vimの設定というよりもiTermが原因だと思われた。 色々と調べてみたけどわからないままだったので、id:tomifluに聞いた。すると、すぐ解決した。 解決方法は、「iTerm」>「Preferences...」>「Profiles」>「Terminal」の画面上にある『Enable xterm mouse reporting』という項目に付いているチェックマークを外すだけ。 2013-01-22-03.png

                        • テクノロジー
                        • 2014/08/07 15:13
                        • 【Chef】ローカルのクックブックを削除する

                          5 users

                          mogulla3.tech

                          ※ 環境 MacOS 10.7.5 Chef 11.10.4 結論:-zオプションをつけてknife cookbook deleteを実行すれば削除できる おもむろに$ knife cookbook create <cookbook-name>と打ってクックブックを作ったんだけど、cookbook-nameを間違えて作成してしまった。 削除したかったので、それらしきknife cookbook deleteコマンドを実行する。 $ knife cookbook delete <cookbook-name> ERROR: Your private key could not be loaded from /etc/chef/client.pem Check your configuration file and ensure that your private key is readable

                          • 暮らし
                          • 2014/08/01 14:52
                          • chef
                          • PHPのビルド? Phing?

                            4 users

                            mogulla3.tech

                            ビルドまわりについては 過去に調べた ことがある。 しかし、PHPに対してビルドという言葉が使われている記事などを見かけたり、聞いたりすることが多くなって、意味がわからなくなってきた。 (PHPそのものに対してであればわかるけど、多分そうではない) ビルド=コンパイル+リンクだと思っている。けど、PHPコードをコンパイルとかリンクする意味や必要があるのか。「Phing」というPHP用のビルドツールなるものがあるようだけど、一体どんな用途で使われているんだろう。 という疑問を持ったので、調べてみた。 http://www.m-takagi.org/docs/php/pocket_guide/2.3/ja/phing.html Phing(PHing Is Not GNU make)はApache Antをもとにしてつくられらたプロジェクトビルドシステムです。 PHPの世界ではソースファイルを

                            • テクノロジー
                            • 2014/05/17 18:14
                            • テスト
                            • PHP
                            • RailsのActiveRecordでLIKEを使う

                              3 users

                              mogulla3.tech

                              # 'Bob' をnameに含むUserを検索 User.where('name LIKE ?', '%Bob%')

                              • テクノロジー
                              • 2014/03/25 17:38
                              • apt-get/apt-cacheとaptitudeの違い

                                10 users

                                mogulla3.tech

                                Ubuntuの情報を調べていると、apt-getとaptitudeの両方を見かけることが多いので気になって調べてみた。 全体 apt-get/apt-cacheはコマンドラインのユーザーインターフェースのみを提供する aptitudeはコマンドラインユーザーインターフェースに加え、フルスクリーンのインタラクティブなテキストユーザーインターフェースを提供する → aptitudeの方がインタラクティブ性を持っている点で高機能 インストール・アンインストール 推奨パッケージの扱いが異なる。apt-getは推奨パッケージを表示するだけに留めるが、aptitudeは推奨パッケージもインストールしようとする 必要のなくなったパッケージ(孤児パッケージ)の扱いも異なる。apt-getもaptitudeもあるパッケージをインストールしたとき、必要なパッケージも自動的にインストールしてくれるが、インストー

                                • テクノロジー
                                • 2014/02/13 23:18
                                • linux
                                • 【Linux】ハードリンクとシンボリックリンク

                                  3 users

                                  mogulla3.tech

                                  リンク機能についておさらいをしたのでまとめておく リンク機能とは ファイルやディレクトリをコピーせずに、別のファイルまたはディレクトリのように扱うことができる機能のこと 2種類のリンク リンクにはハードリンクとシンボリックリンクの2つがある。 1.ハードリンク オリジナルファイルと新規ファイルは、同じファイル実体を指す。 オリジナルファイルも新規ファイルもファイル格納情報を各々で管理する。 2013-07-28-01.png 2.シンボリックリンク 新規ファイルは、オリジナルファイル名を参照したファイル実体を指す。 オリジナルファイル名に依存した別名という関係になる。 2013-07-28-02.png リンクの貼り方 1.ハードリンクの場合 ln [既存のパス名] [別名となるパス名]

                                  • テクノロジー
                                  • 2014/02/05 16:16
                                  • Linux
                                  • mysqlで、datetimeのカラムの年と月だけを利用する

                                    6 users

                                    mogulla3.tech

                                    datetime型のカラムには例えば 2012-09-30 12:00:00 のように値が格納されているとし、ここから 201209 のように、年と月だけを対象にして検索をかける方法のメモ。 mysqlの DATE_FORMAT 関数を利用することで、アプリケーション側でごにょごにょする必要なく検索をかけることができる。 -- 例 : created_atカラムの値が '201209' のデータを10件取得する SELECT * FROM users WHERE (DATE_FORMAT(created_at, '%Y%m') = '201209') LIMIT 10; DATE_FORMAT 関数の詳細については以下 http://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html http://ma-bank.com

                                    • テクノロジー
                                    • 2014/01/07 15:36
                                    • datetime
                                    • mysql
                                    • 【Android】TextViewにonClickイベントを付与する

                                      6 users

                                      mogulla3.tech

                                      Android4.2にて。 TextView属性にXMLファイルからonClick属性を付与したもののクリックイベントが発動しなかった。Buttonなどでは普通に動いていたので、TextViewに原因があるようだった。 <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Test" android:onClick="testToast" /> // アクティビティ public void testToast(View view) { Toast.makeText(getApplicationContext(), "Test OK!", Toast.LENGTH_SHORT).show(); }

                                      • テクノロジー
                                      • 2013/11/28 00:54
                                      • android
                                      • Railsのlink_toにパラメータを付与する

                                        6 users

                                        mogulla3.tech

                                        link_toにパラメータを付ける書き方をよく忘れる。 ググるとたくさんの書き方が出てくるし、書き方は1つではないと思われるが、個人的に一番直感的だったものをメモしておく。 # hoge_index_pathのパラメータ「para」に123、「para2」に'abc'を渡す <%= link_to 'ほげほげ', hoge_index_path(:para => 123, :para2 => 'abc') %>

                                        • テクノロジー
                                        • 2013/11/25 15:48
                                        • rails
                                        • ポートベースのバーチャルホストを設定する

                                          5 users

                                          mogulla3.tech

                                          ポートベースのバーチャルホストの設定をした時の作業メモ。 IPアドレスは同じに、ポート番号だけでリクエストを振り分けて表示するページを切り替える。 今回は、 192.168.56.101:5000 192.168.56.101:7000 192.168.56.101:9000 のようなURLにリクエストをしたときに、それぞれ異なるレスポンスを返すようにする。 apacheの設定ファイルに少し追記するだけでできた。 Listen 5000 Listen 7000 Listen 9000 NameVirtualHost 192.168.56.101:5000 NameVirtualHost 192.168.56.101:7000 NameVirtualHost 192.168.56.101:9000 <VirtualHost 192.168.56.101:5000> ServerName te

                                          • 学び
                                          • 2013/09/22 02:29
                                          • あとで読む
                                          • .vimrc、vimプラグイン管理の見直し

                                            3 users

                                            mogulla3.tech

                                            エディタにvimを使い始めてかれこれ1年半くらい経った。 にも関わらず.vimrcの設定とかプラグイン等、よくわからないままなんとなくで使っていた。 このままではいけないと思い、.vimrcの設定やプラグインを見直し始めた(今さら)。 .vimrcの整理 まず、コピペでぐちゃぐちゃになっている.vimrcを整理した。 それぞれのオプションの効果を確認しつつ、カテゴライズした。 はてなブックマークで「vim」をキーワードに検索した際にヒットした記事 を書かれたyuroyoroさんの設定ファイルがgithub上にアップされているので、参考にさせて頂いた。 https://github.com/yuroyoro/dotfiles ファイルが機能ごとに分割されてとても見やすかった。自分は記述量も少いし、とりあえず.vimrc1つに全てまとめておいた。 各種オプションの確認 それぞれのオプションの効

                                            • テクノロジー
                                            • 2013/06/25 11:30
                                            • Railsでkaminariを使ってページネーションを実装する

                                              7 users

                                              mogulla3.tech

                                              Railsでのページネーションの導入に関して とても丁寧に手順が書かれたサイト があったので、それを見ながら実装するまで。 インストール Kaminariというgemがページネーションの実装に利用できるよう。 Gemfileに「gem 'kaminari'」と追加記述し、「bundle install」。 Modelの設定 当該のモデルに、1ページあたりに出力するインスタンスの数を指定する。 とりあえず、Modelファイルの上部のほうに、

                                              • テクノロジー
                                              • 2013/04/05 19:42
                                              • dev
                                              • rails
                                              • あとで読む

                                              このページはまだ
                                              ブックマークされていません

                                              このページを最初にブックマークしてみませんか?

                                              『MogLog』の新着エントリーを見る

                                              キーボードショートカット一覧

                                              j次のブックマーク

                                              k前のブックマーク

                                              lあとで読む

                                              eコメント一覧を開く

                                              oページを開く

                                              はてなブックマーク

                                              • 総合
                                              • 一般
                                              • 世の中
                                              • 政治と経済
                                              • 暮らし
                                              • 学び
                                              • テクノロジー
                                              • エンタメ
                                              • アニメとゲーム
                                              • おもしろ
                                              • アプリ・拡張機能
                                              • 開発ブログ
                                              • ヘルプ
                                              • お問い合わせ
                                              • ガイドライン
                                              • 利用規約
                                              • プライバシーポリシー
                                              • 利用者情報の外部送信について
                                              • ガイドライン
                                              • 利用規約
                                              • プライバシーポリシー
                                              • 利用者情報の外部送信について

                                              公式Twitter

                                              • 公式アカウント
                                              • ホットエントリー

                                              はてなのサービス

                                              • はてなブログ
                                              • はてなブログPro
                                              • 人力検索はてな
                                              • はてなブログ タグ
                                              • はてなニュース
                                              • ソレドコ
                                              • App Storeからダウンロード
                                              • Google Playで手に入れよう
                                              Copyright © 2005-2025 Hatena. All Rights Reserved.
                                              設定を変更しましたx