シェルと環境変数とパスについて

概要 会社の先輩にシェルのパスの通し方について教えて頂いた。 より理解を深めるために自分でも調べてまとめた。 教わったこと コマンドを実行する=シェルがパスを使って実行ファイルを検索し、見つかったら実行する which <コマンド名>でそのコマンドに通…

Web-CABのコツについて

この記事はフィヨルドブートキャンプ Part 1 Advent Calendar 2022 - Adventarの4日目の記事です。昨日はksmさんのRubyとRailsのデバックとコンソールと仲良くする話でした。 フィヨルドブートキャンプの今年のアドベントカレンダーはこちら。 フィヨルドブ…

正規表現忘備録

はじめに Ruby技術者認定試験の例題に触ってみたところ、正規表現について見事にど忘れしていることがわかった。 忘れてしまった時用のメモ。 正規表現リテラル /で囲むことによって正規表現オブジェクト(Regexpオブジェクト)を生成できる regexp = /foo/ …

DevOps時代のセキュリティ事情に参加しました。その感想。

感想 まだ実務に携わっていないので、ピンとこないお話も結構あったけれど、多くの学びがあった。 箇条書きにすると、以下のようなことを知った。 開発手法が変わることにより、開発者の関わる範囲、責任が増している DevOps時代の今、セキュリティについて…

Intellij系のIDEと.ideaディレクトリについて

はじめに 私はエディタにrubymineを使っているのだが、新規にプロジェクトを作成しようとすると、.ideaというディレクトリが勝手に生成させるのが気になっていた。 前に少し調べたとき、「.ideaディレクトリ配下にはIntellij系のIDEのIDE情報が入る」という…

gitについて理解を深めた

はじめに rubygemにのせるコードが大体できたので、いざ作成だ!と思ってgithubにリポジトリを作成し、ローカルのリポジトリをpushしよう…としたとき、参考に見ていたサイトに気になる単語を見つけてしまった。 「pushに-uをつけることで、上流ブランチを設…

自動化大好きエンジニアLT会 - vol.9に参加しました。その感想。

感想 さまざまなエンジニアの方達の「自動化」に関するお話が聞けてとても興味深かった。(発表の半分ぐらいはわからなかったけど、いくつかキーワードを聞けただけでも参加してよかった。例えば、キーワード駆動テストなんて初めて聞いた。) 中でも、mihos…

Selenium+ChromeDriverでスクレイピングをしてみる

はじめに Nokogiriについて学ぶ \- らせんびよりで、Nokogiriでは情報の取得が難しいサイトがあることを学んだ。 今回は、そういったサイトにも対応できる「Selenium+ChromeDriverでスクレイピングをする方法」について学んでいく。 SeleniumとChromeDriver…

Nokogiriについて学ぶ

はじめに webスクレイピングについて調べたところ、「nokogiri」というgemの情報が出てきた。 そこで、nokogiriに実際に触って理解を深めた。 できること 公式:https://nokogiri.org/ 公式のhow toの冒頭に「Nokogiri is a large library, and so it's chal…

rubygemのインストール先と、requireでどのように呼び出して使っているかを調べた。

概要 rubygemを作って公開しよう!と意気込んでいろいろ情報を集め、さあ作るぞ!ってなったときに、ふと、 「いままでrailsプロジェクトでさんざん使ってきたけど…gemってどこにインストールされて、どういう仕組みで読み込んで使ってるんだ?」と疑問が湧…

(若手?)エンジニアもくもく会 vol.55に参加しました!

作業内容 rubygem作成のための情報集め+アイデア出し 就活の情報集め 感想 現役エンジニアのmasciiさんと宮田さんから得難い話を聞けてとても楽しかった。やっぱりエンジニアとして活躍している人たちって、ちゃんとアウトプットしてきてるんだなと実感。 …

りんどく.rb #83に参加しました!

学習内容 パターンマッチ ピン演算子 感想 rubyのパターンマッチの存在を初めて知った。 ただ、なんとな〜く概念は理解できたけど、使い所がまだピンとこない。 とりあえずcase/whenを書くときに「case/in使えるかも??」ぐらいに思っておくと使うときがく…

Amazon RDS+postgreSQLでデプロイしたアプリのデータベースの中身を確認する方法

はじめに ec2にデプロイしたアプリのデータベースの中身を見てみようと思ったのだが、なかなか思ったようにできなかった。 その忘備録 経緯 最初、ec2上でpostgreSQLにアクセスしてデータベースを確認しようとしていたのだが、できなかった。 それは当たり前…

postgreSQLについて理解を深めた

はじめに これまでにちょいちょいと触ってきたpostgreSQLだけど、その使い方がいまいち理解できていないと感じていた。 なんとなくデータベースを作って、 なんとなくユーザーを作って、 なんとなくデータベースにアクセスして...で使ってきた感覚があり、そ…

うつメイトをデプロイしてあるec2に手元のmacからssh接続する

はじめに 前に設定したうつメイトをデプロイしてあるec2へのssh接続ができなくなっていた。 ssh utsumate としてもssh: Could not resolve hostname utsumate: nodename nor servname provided, or not knownというエラーが出てしまう。 そもそもなにをどう…

Ruby on Railsのファイル読み込みについて調べた

はじめに Ruby on Railsを触っているうち、ふと、そういえばファイルによってrequireしたりしなかったりするけど、そのへんどうなってるんだろう?と疑問に思い、調べた。 前提 通常、Rubyプログラムのクラスは、依存関係のあるプログラムを明示的に読み込む…

うつ病の人の家族、パートナーのための記録アプリ「うつメイト」をリリースしました

はじめに こんにちは。naomichi-hと申します。 この記事では、私が所属するFJORD BOOT CAMP(フィヨルドブートキャンプ)の最終課題として作成し、リリースした「うつメイト」というアプリについて紹介させていただきたいと思います。 うつ病の人の家族、パ…

RSpec + capybara + selenium + chromedriverで印刷ボタンの絡むシステムスペックを書いた

概要 自作webサービスのシステムスペックで、印刷ボタンが絡むテストを書くのに苦労したので、その忘備録 やりたかったこと 印刷ボタンを押させる -> キャンセル or 保存ボタンを押下させる 解決策 ヘッドレスブラウザではなく、バックグラウンドでchromeブ…

RubymineでCorruptedException: PersistentEnumerator storage corrupted が出た時の対処法

概要 Rubymine使って作業中、新しくファイルを作成しようとしたら、CorruptedException: PersistentEnumerator storage corrupted と出てしまい、新しいファイルを作成することができなかった。 対処法 どうやらキャッシュの問題らしい。 file > invalidate …

rails scaffold時にscaffolds.scssを作成しないようにする方法

やりたいこと rails scaffoldすると、自動的にapp/assets/styleesheets/scaffolds.scssが作成され、デザインに影響を及ぼしてくる。 これが起きないようにしたい。 方法 config/application.rbに以下の記述を追加する。 config.generators do |g| g.styleshe…

XMLについて調べた

ちょいちょい聞くxml。htmlは知ってるし、馴染み深いけど、xmlっていったいなんなんだ? ということで調べてみた。 概要 マークアップ言語の一つ 見た目はhtmlにそっくり…というか「xmlをホームページ専用にしたものがhtml」と理解すると簡単。(この説明は…

CSVとは

概要 一般的なアドレス帳のCSV形式の例 "姓","名","生年月日","郵便番号","住所","電話番号" "山田","太郎","2001/1/1","100-0002","東京都千代田区皇居外苑","03-1234-5678" "山田","次郎","2001/1/2","251-0036","神奈川県藤沢市江の島1丁目","03-9999-99…

railsでcssフレームワークを使うときのイメージ

大まかな流れ cssフレームワークをマニフェストファイルで読み込む viewからマニフェストファイルから作成されるマスターファイルを読み込む viewでcssフレームワークのclassが使えるようになる 例)webpackでbulmaをバンドルする場合 https://ytnk531.haten…

push --force ではなくpush --force-with-lease を使おう。その理由。

forceは、同じブランチ内で他の人が行った変更を削除してしまう 共有ブランチ内でforceを使うのはng --force-with-leaseは、同じブランチ内で、誰も変更をpushしていない場合のみ、強制pushを許可する 参考: qiita.com

コンフリクト修正について

Git コンフリクト解消手順 - Qiita 概要 プルリク送ったときにconflict起きてるとgithub上で教えてくれる。 手順(mergeで解消する方法) git co main git pull origin main で、mainブランチを最新にする。 git co [PRしてるbranch名] git merge main で、最…

フィヨルドブートキャンプのプラクティスを見直してみた

はじめに こんにちは。これは フィヨルドブートキャンプ Part 2 Advent Calendar 2021 - Adventarの9日目の記事です。フィヨルドブートキャンプ Part 1Advent Calendar 2021もあります。 8日目はsadanoraさんのRailsのローカル開発環境についての記事でした…

Vue.jsのコンポーネントについて

はじめに Vue.jsのコンポーネントについて学習した。その忘備録。 Vue.js入門 基礎から実践アプリケーション開発まで | 川口 和也, 喜多 啓介, 野田 陽平, 手島 拓也, 片山 真也 | コンピュータ・IT | Kindleストア | Amazon Vueコンポーネント Vue.jsは、 1…

async/awaitを使ってPromiseの評価値をやりとりする方法

はじめに async/awaitを使ってPromiseの評価値をやりとりする方法がよくわからなかったので、理解を深める目的で調べてまとめた。 JavaScript Primer - 迷わないための入門書 #jsprimer async/awaitを使ってPromiseの評価値をやりとりする方法 Promiseとthen…

非同期なメソッドを直列に動作させる書き方

はじめに 昨日npmを作成していて、非同期処理メソッドを狙い通りに動かすことができずに苦しんだ。 特に、3つ以上のメソッドが出てくる場合にどう記述したらいいのか混乱した。 そこで、Promiseおよびasync/awaitの復習をした。 三つ以上の非同期処理メソッ…

配列展開初めて使った話

配列から取り出してなんやかんやしたいとき、律儀に、 num = [1, 2, 3] p num[0] p num[1] p num[2] ってやってたんだけど、配列の中身を全部出して使いたいなら、配列展開を使った方がシンプルに書けると教わった。 num = [1, 2, 3] p *num これで中身全部…