スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス5期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

2020-01-01から1ヶ月間の記事一覧

【Rails】joinしたテーブルに対し、where句で特定の日付前後(以前以降)で絞り込みしたい

where句でテーブル名とカラム名両方を指定し、 文字列で条件指定すれば出来ました。 Model.joins(:join対象のテーブル名).where("join対象のテーブル名.join対象のテーブルにあるカラム名 >= ?", 日付) 例: ordersテーブルのorder_dateが、2020/01/20以降のU…

【これで完璧!】フリーランスエンジニアが、案件を獲得するための面談対策【全38選】

もしわからないことを聞かれてもビビらずに、 素直に、 「わかりません、後で調べておきます」 と言えばOKです。 取り繕っても何もいいことはありません。 そこで下手に上手くやろうとしても、 自分で傷口を広げるだけです。 素直なのが一番です。

【CSSセレクタ】超便利! chromeでCSSセレクタを1クリックで取得

手順 opt + cmd + i でchromeのdevtoolを起動します。 一番左上の角のボタンをクリックします。 CSSセレクタを取得したい要素の上で、右クリックします。 Copyにカーソルを合わせると、Copy selector という項目が出てくるのでそれをコピーします。 これで対…

【超簡単】駆け出しエンジニアが毎週100人フォロワーを増やす方法【3つ】

こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。 このブログでは、 僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、 ノウハウなどを書いていきます。 今回は、 【超簡単】駆け出しエンジニアが毎週100人フォロワーを増…

【Ruby】privateメソッドはModule#instance_methodsでの検索対象外

privateメソッドは、Module#instance_methodsの検索対象外。 Hoge.instance_methods(false).include?(:public_method) #=> インスタンスメソッドの名前が配列で返却される。

【cloud9】AWS cloud9でファイルを自動保存する方法

cloud9、 自分のPC汚さずに開発出来て便利ですよね。 ですが、 cloud9は通信状態が悪いと、 ファイルの保存が出来ない時があります。 新幹線内や、wifiが弱い所での作業は要注意です。 自分はなんども痛い目を見てきました。。。笑 「せっかく書いたコードが…

【2023年】エミリーエンジニアの評判は?高卒文系が1年でフリーエンジニアになった話【実体験】

自分はIT実務未経験から、 1年でRuby on Railsのフリーランスエンジニア になることが出来ました。 学習時間を作ったのはもちろんですが、 これはエージェントさんのサポート無しでは絶対にありえませんでした。 そこでこの記事では、 大変お世話になった、 …

【cloud9】AWS cloud9でダークテーマにする方法

手順 1. cloud9を開きます。 2. 右上の歯車マークをクリックします。 3. 開いたメニューの下から2番目の、THEMES をクリックします。 4. その中の、 Flat Theme Classic Theme Syntax Theme をそれぞれ設定します。 自分は、 Classic Theme => 黒 Syntax…

herokuで画像ファイルをassets/下に置いても認識されない

herokuではどうもassets/audios以下を読み込んでくれない。 そのため、Tempfile, Tempdirライブラリを使用し、 1. mp3ファイルをTempfileとして生成し、Tempdirに仮置き 2. S3にアップロード 3. 1のファイルを削除する という手順を取ることで対応出来ました…

【Rails】enum型でカラム名を定義すると、scopeが自動生成される

enum型でカラム名を定義すると、scopeが自動生成されます。 enumで定義したカラム名はそのまま、 モデル.enumで定義したカラム名 のようにする事ができます。 なので、 enumで定義したカラム名のscopeは自分で定義する必要はありませんし、 当然、whereを使…

【Rails】ファイルの作成日時順に、ファイルを並び替える File.mtime()

File.mtime() でファイルの作成日時が取れるので、それをsort_byで並び替える。

【Ruby】URL文字列から、相対パスを取得する手順

まず URI.parse でURI::Generic のサブクラスのインスタンスを生成します。 相対パスは、.path で取得出来ます。 自分はパスの頭の / が不要だったので、delete(‘/‘)で削除します。 これでURLから欲しい文字列を取り出す事ができました。

【Rails】viewでaタグを削除したい sanitize gem

sanitize gemを使います。 Sanitize.cleanメソッドに、オプションを渡します。 第二引数elementsの引数に、残したいタグを配列で指定することで、指定したタグ以外を削除出来ます。 # @hoge.textにはhtml文字列が入っているとします。 Sanitize.clean(@hoge.…

【Rails】配列でクエリパラメータを渡したい to_query

Railsで、 クエリパラメータを配列として渡したい場合は、 to_queryメソッドを使います。 `値.to_query(キー)` という風に使うと、 うまくクエリパラメータの形に整形してくれます。

【git revert】マージ済みのコミットを取り消ししたい

手順 1、 git logなどで、取り消ししたいコミットNoを特定する。 2、 revert実行。 $ git revert 対象のコミットNo 以下のエラーが返って来たら、 error: commit 16f46cdcdcf2c16136eb501d7d757f28eaeba60f is a merge but no -m option was given. fatal: r…

【safari】safariでclickイベントが動かないのは、非対応であるWebSpeechAPIのコードが残っていることが原因だった

音声合成を使うため、WebSpeechAPIを使っていました。 が、safariは非対応だった。 WebSpeechAPI Web Speech API - Web API | MDN そのため、safariの場合は Amazon Polly を使って音声合成を実現しようとしました。 Amazon Polly https://docs.aws.amazon.c…

【Rails】SymbolとStringの違いとenumについて

シンボル オブジェクトidが一意に振られる。一つのシンボルは常に同一のオブジェクト。なのでメモリの節約になる。 変更が加えられない(イミュータブル) class Symbol (Ruby 3.0.0 リファレンスマニュアル) ・文字列 オブジェクトidが毎回変わる。別のオブジ…

【Rails】audio_tagのsrc属性の値に + を含めるとエラーになる

調査していくと、srcの値に + が含まれているとエラーになることがわかった。 DateTimeにはタイムゾーンの +09:00 に +が含まれているのでエラーになる。 Dateには + が含まれていないので実行出来る。

【table】table要素のtdやth内テキストの周囲に、余白を持たせる方法

【table】table要素のtdやth内テキストの周囲に、余白を持たせる方法 【table】table要素のtdやth内テキストの周囲に、余白を持たせる方法 手順 手順 下記の記事を参考にしました。 文字の周りはある程度の余白(padding)をとる事です。 テキストの周りに余白…

【Git】GitHubのgui上での、複数ファイルのコンフリクト解消について

複数ファイルにコンフリクトが起きていると、gui上では全てのファイルのコンフリクトを解消しないと、その解消は保存されない。 1つのファイルだけ解消して、 Mark Resolvedボタン を押しても、1つのファイルのコンフリクト解消は保存されていない。 Commit …

【Railsチュートリアルでエラーが出た時のチェックリスト】

1. 文章を読み飛ばしていないか? 2. 応用問題を解いたままの状態で進めていないか? 3. サーバーを再起動 4. コマンド実行しているディレクトリ、gitのブランチは正しいか? 5. ifのend抜け、インデントの位置 6. その日は諦めて潔く寝る 7. こまめにコミット…

【Rails】htmlタグを削除する strip_tagsメソッド

ApplicationController.helpers.strip_tags(対象のhtml) を使えばOKです。

【Ruby】論理演算子 &&= について

【Ruby】論理演算子 &&= について 左辺がtrueと見なされる値なら、右辺を評価し、結果を左辺に代入するという挙動をします。

【Vue.js】computedとmoment.jsで日時をフォーマットする

手順 1、computedに、moment.jsでフォーマットする処理を記述 // component.vue computed: { // 開始日時 startParse: function() { return moment(this.task.start).format('YYYY-MM-DDThh:mm') }, // 終了日時 endParse: function() { return moment(this.…

【Rails】コントローラーから、status204(no_content)を返す方法

head :no_content でOK。 head: :no_content ではないです! headにシンボルいりません。 つけてしまってて、ハマりました。。

【Rails5】viewでflashメッセージを動的に表示させる方法(コピペでOK!)

以下のコードを、application.html.erbのbodyタグの一番始め に設定すればOK。 " align="center"> bootstrapを導入していれば、alert-〇〇〇〇の部分に動的にcssが当たります。 bootstrapでcssを適用出来るflashの種類は、以下の4つ。 flash[:info] flash[:s…

【Rails5】form_withでhidden_fieldを使って、値を配列で送信したい

hidden_field_tag を使うことで対応出来た。 第一引数: name属性 第二引数: 送信したい値 例. = form_with url: '/articles' do |f| = hidden_field_tag 'hoge_item[]', 1 = f.submit '送信' これは下記のように送信されます。 #=> "hoge_item"=>["1"]

【レスポンシブ】table要素がスマホで横幅がはみ出る場合

【レスポンシブ】table要素がスマホで横幅がはみ出る場合 【レスポンシブ】table要素がスマホで横幅がはみ出る場合 背景 手順 背景 PCでは問題ないが、スマホだとtableが横にはみ出してしまう。 調べていると、この記事で以下のように書かれていました。 htt…

【Vue.js】checkboxでclickイベントが反応しない

checkboxをチェックした時のイベントについて checkboxをチェックした時のイベントは、 change イベントで発生する。 clickでは反応しないので注意。 hogefuga

【Rails5】自作のディレクトリを、autoload_pathsに追加して自動読み込みさせる

application.rbの編集は、サーバーを再起動しないと反映されない。 Rails5から、本番環境でのautoloadが無効化されている。 Rails5のproduction環境でlib/配下のクラス読込みがNameErrorになるのはautoloadが無効化されたからだった - Qiita 若干厄介なのは…