今回はRubyのコードがどのような流れで実行されるのかをまとめます rubyコマンドを実行してからコンソールに結果が出力されるまでに下記の手順を行います それぞれの手順を細かく見ていきます 字句解析 字句解析とはソースコードを読み込んで、トークン列へ…
ブログを更新できておらず、間が空いてしまいました..... 今年がもう2ヶ月経っているこのタイミングで去年の振り返りと今年の目標を書こうと思います 去年の振り返り 去年の大きな変化としては、モバイルアプリエンジニアからバックエンドエンジニアになった…
今回はRailsのアソシエーションについて記載します。 アソシエーションとは? Railsでは、アソシエーションという機能が存在し、モデルとモデルを関連付けすることによって他モデルのデータも合わせて操作することができます。 例えば、userの投稿したpostを…
今回はRailsでの中間テーブルについてまとめます。 中間テーブルは、多対多の関係を持つ2つのモデル間に配置されるテーブルのことを指します。これは、あるモデルと別のモデルの間に多対多の関係が存在する場合に使用されます。 今回は一例としてユーザーと…
今回はRspecについてまとめようと思います。 RSpecは、Rubyで書かれたアプリケーションの挙動・機能をテストするために利用されます。(テストフレームワーク) 導入 まずはRspecを使えるようにします。 group :test do gem "rspec-rails" end Gemfileにrspec-…
今回はVue.jsでのhistoryモードについて記載しようと思います。 というのも、vue-routerを使ってページリロードしたときに404になることがありました。(historyモードの設定をしていました) 調べてみるとhistoryモードが関連しているようでした。 vue-router…
CSSでdisplay: flexを使用するときに、flex: 1;の記載を見かけることがあるかもしれません この記事では、何気なく書いてしまう「flex: 1;」について解説しようと思います。 flexとは? まずこの場合の flex は、display: flexを指定した要素内にある子要素…
今回は、Route53でドメインを管理する方法をまとめます。 Route53とは? Route53は、AWSが提供するDNSサービスです。 Route53を使用することで、AWSで開発したWebサービスを任意のURLで公開することができます。例えば、EC2でWebサービスを提供するときに、…
今回はVue.jsでのFormの送信について記載します。 自分で実装する中で想定通りにはいかない部分もあったので備忘録としてまとめようと思います。 @submitとは? まず、@submitとはなんでしょうか? <template> <div> <form @submit="handleSubmit"> <label for="username">ユーザー名:</label> <input type="text" id="username" v-model="username" /> <label for="password">パスワード:</label> </form></div></template>
今回はiOSでのWebViewについてまとめます AndroidのWebViewについては下記まとめていますので、気になる方はみてください!! kumaskun.hatenablog.com ※今回はUIkitです。SwiftUIはこの記事に追加するか、別で記事にします Webページを表示させる Webページ…
今回は小ネタです。しかも、iOSの開発している人しか発生しないかもしれないです。 rbenvを使って別のバージョンのRubyをインストールしようと思ったら下記のエラーが発生しました。 $ rbenv install 3.1.2 Downloading openssl-3.0.5.tar.gz... -> https://…
今回はMySQLで「Access denied for user ‘root’@’localhost’」というエラーが発生した場合の対処法についてです。 $ mysql -u rootを実行すると「Access denied for user ‘root’@’localhost’ (using password: NO)」というエラーが表示されました。 rootユー…
今回はWebブラウザを使うときによく耳にするCookie/Session/キャッシュについて記載します。 Cookie、Session、キャッシュってWebでよく聞く、似たようなものじゃないの?と思うかもしれませんが、違うものなのでそれぞれ紹介していきます。 ちなみに、今回…
今回はAndroid13のプッシュ通知について変更点があるので紹介していきたいと思います。 Android 14 ベータ版がリリースされる時期ですが.....見ていってください! Android 13(targetSdk 33)から、アプリ通知を送るのにユーザーの事前許可が必要になりました…
今回はstaticについて記載しようと思います。特に、static変数とstaticメソッドについて解説します。 static変数 static変数とは、クラスをインスタンス化せずにその変数にアクセスすることができる変数です。 static変数はクラス名.static変数のように記述…
今回はRailsでDBのテーブル追加や更新などの手順をまとめようと思います。 テーブル追加 まずはテーブルを追加する際の手順です。 基本的には下記のようにして実行します。 $ rails model モデル名 属性名1: データ型 属性名2: データ型 属性とデータ型はカ…
今回はプログラムの計算量について触れていこうと思います。 計算量とは、大まかにはプログラムの計算効率を測る指標のようなものです。 プログラムの処理には計算や、繰り返し、比較などの様々な処理がありますが、これらの処理はデータがどれぐらい増えた…
今回は凝集度(cohesion) について記載しようと思います。 凝集度とはプログラムのひとつの関数・メソッド・クラスなどのモジュールの中に含まれる機能の純粋度を表す尺度です。 1つの関数の中でいくつもの機能が混ざり合っているよりも、機能と関数が1対1…
今回はdevise_token_authを使っての認証機能について解説しようと思います。 devise_token_authとは? トークンベースの認証を行いたい場合devise_token_authというGemを使います。 トークンベースの認証とは、ユーザー情報を確認し、代わりに一意のアクセス…
今回はRailsをAPIモードにしてフロントエンドとバックエンドを分ける方法についてまとめます。 Railsの環境構築については下記記事を参照してください。 kumaskun.hatenablog.com 今回はAPIモードで環境構築された状態から進めていきたいと思います。 また、…
久しぶりの投稿になってしましました。 今回はAndroidのideaフォルダのファイルについてまとめようと思います。 コミットする際にideaフォルダ内のファイルが変更ファイルとして表示されたときにどうすればいいか迷ったことはありませんか? まずはどんなフ…
今回はCSSのdisplayについてまとめようと思います。 displayはCSSのプロパティの1つです。大まかには、要素(主に子要素)の表示形式を決めるものです。 displayには3つ覚えておきたい値があります。 block、inline、inline-blockです。 それぞれまとめていき…
今回はVue Routerについてまとめようと思います。 Vue Routerはルーティング機能を提供するライブラリです。 ルーティングはクライアントから要求されたURLに応じてコンポーネントを決定する仕組みです。 導入 まずはVue Routerを使えるようにライブラリをイ…
今回はAndroidアプリのApplicationクラスについてまとめます。 場合によっては使う必要はないのですが、たまに必要になる場合もあるので知っておいて損はないと思います。 Applicationクラスとは? Applicationクラスは大まかにはアプリ全体のことと捉えてく…
今回はDockerでVue.jsの環境構築を行います。 前提として以前記事にしたRailsプロジェクトをDockerで作成する手順を確認した上で続きとして読み進めてください kumaskun.hatenablog.com 今回は、バックエンドをRailsでフロントエンドをVue.jsで合わせて1つ…
今回はAndroidでの色についてです。 Androidではカラーコードは色の値(16 進数の色コード)を使用します。 そして、RGB値とアルファ値で指定します。 カラーリソースやコード上で表現します。 値は常に#で始め、その後に次のいずれかの形式で Alpha-Red-Gre…
今回はXcodeで自分で設定したテンプレートファイルを選択できるようにします。 例えば、ViewControllerを作成するときに毎回同じ内容をコピペしてクラス名を変えるということをしていませんか? 自分は似たようなことをしていたのでテンプレート化の方法を探…
今回はiOS・AndroidでのFirebase関連の設定についてです。 Firebaseのサービスを使ってアプリを開発することは多いと思いますので、この機会にまとめようと思います。 プッシュ通知 プッシュ通知はFirebase Cloud Messagingを使うと思います。 プッシュ通知…
Githubでいきなりプッシュできなくなったのでメモに残します。 ここ最近発生している場合には同じ事象の可能性はあるので参考にしてみてください。 エラー内容 プッシュしようとしたら以下のエラーメッセージが表示されました。 @がたくさん表示されるとビ…
今回はRails環境をDockerで構築する方法についてです。 Docker Compose V1が非推奨となり、Docker Compose V2が推奨となることも踏まえてV2で行おうと思います。 Docker Desktopはインストール済み、アプリケーションを格納するフォルダは作成済みの状態で進…