くま's Tech系Blog

基本的には技術で学んだことを書き留めようと思います。雑談もやるかもね!

Route53でドメインを管理する

AWS

今回は、Route53でドメインを管理する方法をまとめます。 Route53とは? Route53は、AWSが提供するDNSサービスです。 Route53を使用することで、AWSで開発したWebサービスを任意のURLで公開することができます。例えば、EC2でWebサービスを提供するときに、…

Vue.jsでのFormの送信について

今回は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について

今回はiOSでのWebViewについてまとめます AndroidのWebViewについては下記まとめていますので、気になる方はみてください!! kumaskun.hatenablog.com ※今回はUIkitです。SwiftUIはこの記事に追加するか、別で記事にします Webページを表示させる Webページ…

rbenvでうまくバージョンアップできない場合の確認(あまりないパターン)

今回は小ネタです。しかも、iOSの開発している人しか発生しないかもしれないです。 rbenvを使って別のバージョンのRubyをインストールしようと思ったら下記のエラーが発生しました。 $ rbenv install 3.1.2 Downloading openssl-3.0.5.tar.gz... -> https://…

MySQLのアクセス権限エラーの解決方法

DB

今回はMySQLで「Access denied for user ‘root’@’localhost’」というエラーが発生した場合の対処法についてです。 $ mysql -u rootを実行すると「Access denied for user ‘root’@’localhost’ (using password: NO)」というエラーが表示されました。 rootユー…

Cookie/Session/キャッシュとは?Webブラウザの重要な要素を解説

今回はWebブラウザを使うときによく耳にするCookie/Session/キャッシュについて記載します。 Cookie、Session、キャッシュってWebでよく聞く、似たようなものじゃないの?と思うかもしれませんが、違うものなのでそれぞれ紹介していきます。 ちなみに、今回…

Android13のプッシュ通知について

今回はAndroid13のプッシュ通知について変更点があるので紹介していきたいと思います。 Android 14 ベータ版がリリースされる時期ですが.....見ていってください! Android 13(targetSdk 33)から、アプリ通知を送るのにユーザーの事前許可が必要になりました…

staticについて

今回はstaticについて記載しようと思います。特に、static変数とstaticメソッドについて解説します。 static変数 static変数とは、クラスをインスタンス化せずにその変数にアクセスすることができる変数です。 static変数はクラス名.static変数のように記述…

RailsでのDBあれこれ

今回はRailsでDBのテーブル追加や更新などの手順をまとめようと思います。 テーブル追加 まずはテーブルを追加する際の手順です。 基本的には下記のようにして実行します。 $ rails model モデル名 属性名1: データ型 属性名2: データ型 属性とデータ型はカ…

プログラムの計算量について

今回はプログラムの計算量について触れていこうと思います。 計算量とは、大まかにはプログラムの計算効率を測る指標のようなものです。 プログラムの処理には計算や、繰り返し、比較などの様々な処理がありますが、これらの処理はデータがどれぐらい増えた…

凝集度について

今回は凝集度(cohesion) について記載しようと思います。 凝集度とはプログラムのひとつの関数・メソッド・クラスなどのモジュールの中に含まれる機能の純粋度を表す尺度です。 1つの関数の中でいくつもの機能が混ざり合っているよりも、機能と関数が1対1…

devise_token_authで認証機能を作成する

今回はdevise_token_authを使っての認証機能について解説しようと思います。 devise_token_authとは? トークンベースの認証を行いたい場合devise_token_authというGemを使います。 トークンベースの認証とは、ユーザー情報を確認し、代わりに一意のアクセス…

RailsをAPIモードで使用する

今回はRailsをAPIモードにしてフロントエンドとバックエンドを分ける方法についてまとめます。 Railsの環境構築については下記記事を参照してください。 kumaskun.hatenablog.com 今回はAPIモードで環境構築された状態から進めていきたいと思います。 また、…

Androidのideaフォルダについて

久しぶりの投稿になってしましました。 今回はAndroidのideaフォルダのファイルについてまとめようと思います。 コミットする際にideaフォルダ内のファイルが変更ファイルとして表示されたときにどうすればいいか迷ったことはありませんか? まずはどんなフ…

CSSのdisplay要素について

今回はCSSのdisplayについてまとめようと思います。 displayはCSSのプロパティの1つです。大まかには、要素(主に子要素)の表示形式を決めるものです。 displayには3つ覚えておきたい値があります。 block、inline、inline-blockです。 それぞれまとめていき…

Vueのルーティングについて

今回はVue Routerについてまとめようと思います。 Vue Routerはルーティング機能を提供するライブラリです。 ルーティングはクライアントから要求されたURLに応じてコンポーネントを決定する仕組みです。 導入 まずはVue Routerを使えるようにライブラリをイ…

AndroidアプリのApplicationクラスについて

今回はAndroidアプリのApplicationクラスについてまとめます。 場合によっては使う必要はないのですが、たまに必要になる場合もあるので知っておいて損はないと思います。 Applicationクラスとは? Applicationクラスは大まかにはアプリ全体のことと捉えてく…

DockerでVue.jsの環境構築を行う

今回はDockerでVue.jsの環境構築を行います。 前提として以前記事にしたRailsプロジェクトをDockerで作成する手順を確認した上で続きとして読み進めてください kumaskun.hatenablog.com 今回は、バックエンドをRailsでフロントエンドをVue.jsで合わせて1つ…

Androidでの色について

今回はAndroidでの色についてです。 Androidではカラーコードは色の値(16 進数の色コード)を使用します。 そして、RGB値とアルファ値で指定します。 カラーリソースやコード上で表現します。 値は常に#で始め、その後に次のいずれかの形式で Alpha-Red-Gre…

Xcodeのテンプレートファイルを設定する

今回はXcodeで自分で設定したテンプレートファイルを選択できるようにします。 例えば、ViewControllerを作成するときに毎回同じ内容をコピペしてクラス名を変えるということをしていませんか? 自分は似たようなことをしていたのでテンプレート化の方法を探…

Firebaseの主要サービスの設定まとめ

今回はiOS・AndroidでのFirebase関連の設定についてです。 Firebaseのサービスを使ってアプリを開発することは多いと思いますので、この機会にまとめようと思います。 プッシュ通知 プッシュ通知はFirebase Cloud Messagingを使うと思います。 プッシュ通知…

Githubでいきなりプッシュできなくなったら

Githubでいきなりプッシュできなくなったのでメモに残します。 ここ最近発生している場合には同じ事象の可能性はあるので参考にしてみてください。 エラー内容 プッシュしようとしたら以下のエラーメッセージが表示されました。 @がたくさん表示されるとビ…

DockerでRailsアプリケーションを動かす

今回はRails環境をDockerで構築する方法についてです。 Docker Compose V1が非推奨となり、Docker Compose V2が推奨となることも踏まえてV2で行おうと思います。 Docker Desktopはインストール済み、アプリケーションを格納するフォルダは作成済みの状態で進…

Google Mapを使ってみよう

今回はGoogle Mapをモバイル開発で使う流れをまとめようと思います。 AndroidとiOS両方説明しようと思います。 AndroidとiOSでできることにはほとんど差がないのでコードの書き方が少し違うだけだと思います。 iOSでGoogle Mapの対応を行う 最初にマップを表…

KotlinのCoroutineについて

今回はCoroutineについてまとめようと思います Coroutineは並行実行のデザインパターンです。 そして、特定のスレッドに束縛されない中断可能な計算インスタンスです。 非同期処理で用いられますが、Threadよりも軽量で、実行途中で処理を中断・再開すること…

iOSのカメラについて

今回はiOSのカメラ機能についてまとめようと思います カメラ権限設定 最初にカメラと写真のライブラリーを使用するため、アクセスの許可をする必要があります。 プロジェクトのinfo.plistを開いて、アプリのアクセス許可を表示させるように設定を追加します …

RxSwiftのSubject・Relayについて

今回はRxSwift(RxCocoa)のSubject・Relayについてまとめようと思います Rxについては以前記事にしたので読んでみてください! kumaskun.hatenablog.com Subject まずはSubjectについてです Observableはイベントを検知するためのクラスですが、Subjectと後述…

Webサイトが表示されるまで

今回はWebサイトが表示されるまでに行われることやネットワークの基礎中の基礎をまとめたいと思います URLについて 皆さんは、URLを入力してWebサイトに接続すると思います URLにはアクセスしたいファイルやドメインの情報が含まれていてブラウザはURLを解析…

Closuresのドキュメントを見る前に

Swiftのクロージャーについてですが、クロージャを細かく説明するわけではありません。 Swiftのクロージャーの公式ドキュメントを見ると単純に和訳するだけでは理解するのが難しい用語があります(個人的にかもしれませんが・・・) docs.swift.org 今回はドキ…

Swift API Design GuidelinesのConventionsについて

今回はAPIのデザインガイドラインのConventionsについてまとめようと思います 前回の命名についてのまとめは↓↓下記みてください!! kumaskun.hatenablog.com 英語も個人的にわかりにくく計算量など聞きなれない用語も出てきていたのでまとめます Convention…