何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

[Railsメモ] delegateメソッドとwith_optionsを使ってフラグごとにバリデーションを書く

お仕事でこの書き方をみたとき何も分からなかったので整理する意味でまとめてみました。 前提知識 with_optionsメソッド delegateメソッド バリデーションのサンプルコード 前提知識 with_optionsメソッド 共通しているオプションをまとめられる便利なやつ h…

[随時更新]ぼっちアドベントカレンダー 2020

記事一覧 12/1 www.takayasugiyama.com 12/2 www.takayasugiyama.com

[Ruby on Jets] DynamoDBのO/Rマッパーのライブラリを標準でインストールされているdynomiteの代わりにdynamoidを使って置き換えてみた。

概要 試してみる テーブルを準備する dynamoid gemを追加する dynamoidを使う設定をinitializerに追加する dynomiteを使っているControllerやModelをdynamoidに置き換える 結果 わかったこと 概要 Ruby on Jetsを使用してDynamoDBにクエリを飛ばすようなアプ…

[VSCode拡張] Ruby Test Explorerを導入して視覚的にRSpecを把握できるようにしてみた

Ruby Weeklyで特集されていたVSCodeの拡張機能を使ってVSCodeをIDEにしようみたいな記事を読んで、特集されていたRuby Test Explorerという拡張機能を 試してみたのでメモに残します。 www.driftingruby.com github.com 環境 導入してみる 試してみる 全体の…

おうちをプチスマートハウスにしてみた

手が出る範囲でおうちのプチスマートハウス化にチャレンジしてみました。 家の鍵をQrio Lockを使ってスマートロックにしてみた Nature Remo MiniとAlexaを使って声で家電を操作できるようにしてみた 家の鍵をQrio Lockを使ってスマートロックにしてみた 鍵を…

Vue CLIでの環境変数の使い方

プロジェクトでちょっと詰まったので、メモに残す. 例) staging環境で開発したい場合 VUE_APP_NOT_SECRET_CODE=some_value 立ち上げる時は yarn run serve --mode stgという風に.env.[mode]のmodeを--modeオプションにつける. ビルドしたい時も yarn build…

Ruby on Jetsを使って天気予報を通知してくれるSlack Botを作ってみた

今回はRuby on Jetsを使って天気予報を通知してくれるSlack Botを作ってみました。 仕様 毎朝7:00にその日の天気がslackに通知される仕組みにします。以下の情報をAPIから取得するようにします。 最高気温(daily.temp.max) 最低気温(daily.temp.min) 日中の…

Ruby on Jetsを使ってゴミ出しの情報を通知してくれるSlack Botを作ってみた

Ruby on JetsというRubyのサーバーレス専用のフレームワークのJob機能を使ってゴミ出しの情報を通知してくれるslack botを作ってみました。 仕様 私の住んでいる地域のゴミ出し情報は以下のようになっているので、以下の曜日の6:30にslackに通知する仕様にし…

SQL 第2版 ゼロからはじめるデータベース操作を読んだ

SQL 第2版 ゼロからはじめるデータベース操作を読んだので備忘録として残します。 第0章 イントロダクション 第1章 データベースとSQL DDL ( データ定義言語 ) DML ( データ操作言語 ) DCL ( データ制御言語 ) データ型の指定 第2章 検索の基本 第3章 集約と…

A Tour of Go 練習問題(Methods and interfaces)を解いた

Exercise: Stringers package main import "fmt" type IPAddr [4]byte // TODO: Add a "String() string" method to IPAddr. func (ip IPAddr) String() string { return fmt.Sprintf("%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]) } func main() { hosts := …

リモートワークでの作業環境を紹介する

元々は作業場所には折りたたみ机と折りたたみ椅子しかない部屋に住んでいたのですが、例のウィルスの影響で部屋をリモートワークに対応させざるおえない状況になってしまいました。オフィスに出勤した方が集中できるし、必要なリソースが揃っているので便利…

[iOS] Install claimed to have succeeded, but application could not be found on deviceが発生する

iOSのアプリを実機で動かそうとした時、Install claimed to have succeeded, but application could not be found on deviceというエラーが発生した時のメモです。 環境 実現したいことは何か 解決法 試したこと 環境 macOS Catalina バージョン 10.15.5 Xco…

A Tour of Go(Basics)のExerciseを解いてみた

今回はA Tour of GoのBasicsの章のExerciseを解いてみたので、メモ代わりに残します。 Exercise: Loops and Functions https://go-tour-jp.appspot.com/flowcontrol/8 package main import ( "fmt" ) func Sqrt(x float64) float64 { z := 1.0 for i := 0; i …

Goの文法まとめ(Testing)

最近、個人的な趣味でGoを勉強しているのでメモ代わりに残します。 今回はGoの標準テストを試してみます。 fizzbuzzを実装して、fizzbuzzが無事に動いているかを確かめるテストを書いていきます。 ディレクトリ構成は以下のようにします。 . ├── main.go └──…

Goの文法まとめ(if文、for文、range、switch文、deferなど)

最近、個人的な趣味でGoを勉強しているのでメモ代わりに残します. if 文 for文 range Switch文 defer if 文 func fizzbuzz(num int) string { if num%5 == 0 && num%3 == 0 { return "fizzbuzz" } else if num%5 == 0 { return "buzz" } else if num%3 == 0…

Ruby on Jetsでdeleteメソッドが上手く動作せずにハマった

www.takayasugiyama.com 概要 前回、DynamoDBを使うパターンのjetsをscaffoldで作成したものの、今回scaffoldに頼らず自力で実装してみたところdelete アクションでハマったのでメモに残します. (adsbygoogle = window.adsbygoogle || []).push({}); 状況 …

Goの文法まとめ(型・配列・スライス・配列・Map・クロジャーなど)

最近、個人的な趣味でGoを勉強しているのでメモ代わりに残します. Hello World Import 変数宣言 const 数値型 文字列型 論理値型 型変換 配列 スライス make Map Byte 関数 クロージャー (adsbygoogle = window.adsbygoogle || []).push({}); Hello World p…

[ReactNative] pod install に失敗する

React Nativeの環境構築中になぜかpod installに失敗して詰まり、今後も同じようなエラーに遭遇しそうだなぁと思ったので残します。 環境 react native 0.61.5 ruby 2.6.5 pod 1.9.3 エラーログ $ pod install Analyzing dependencies Fetching podspec for …

Redux入門してみた

Redux Tutorialをやろうとしたのですが、ちょっとレベルが高く理解しにくと思ったので最小限のカウントアプリを作りながらReduxについて自分なりにまとめてみました。 用語の整理 redux react-redux store reducer action Provider connect 試す プロジェク…

[React] PropsTypesを使って型チェック

Reactに久しぶりに触って忘れていたことをメモとして残します。 Reactのバージョンは16.13.1 を使いました。 前提 PropsTypesを使った型チェック データの値を不正な値にした場合 propsの値を必須にする Personのコンポーネントのnumberを必須にした場合 (ad…

「社会を根底から変えるシェアリングエコノミーの衝撃! 仮想通貨ブロックチェーン&プログラミング入門」を読んだ

最近、ブロックチェーンに興味が出てきたので読んでみました。 前半はブロックチェーンについての解説が書いてあって、中盤はGethでプライベートネットワークを作って送金してみたり、独自コインを作ったり、いろんなハンズオンが書いてあります。 後半は読…

go-ethereumでethereumの送金を体験してみた

最近暗号通貨に興味が出てきて勉強し始めたので、メモ代わりにブログを書きました。 Ethereumとは 体験してみる はじめに go-ethereumって何? go-ethereumをインストールする プライベートのネットワークを構築する アカウントを作成する コインを獲得する …

Ruby on Jets入門してみた (DynamoDBを使うパターン デプロイまで)

前回でローカルでDynamoDBを使うパターンのJetsアプリケーションを作成出来たのでLambdaにデプロイして見たいと思います。 www.takayasugiyama.com AWS CLIの設定が必要です。 DynamoDBのテーブルを作成 DynamoDB関連のIAMポリシーの設定を追加 デプロイ 動…

Ruby on Jets入門してみた (DynamoDBを使うパターン ローカルで動かすまで)

www.takayasugiyama.com 前回の記事をRDSを使ったJetsをデプロイするところまで試したので、今回はDynamoDBを使うパターンを試してみたいと思います。 そもそもDynamoDBとは dynamodb-localとdynamodb-adminをインストールする dynamodb-localとdynamodb-adm…

Ruby on Jets入門してみた (RDSを使うパターン)

Jetsとは 試してみる 環境構築 gemをインストール プロジェクト作成 webサーバーを起動 scaffoldしてみる AWSにデプロイしてみる ポリシーとユーザーの作成 AWS CLIの設定 RDSの作成 .env.development.remoteの作成 デプロイ 詰まったところ mysql2 gemがイ…

jets deployした時にbyebugとpumaのlambda gemsのコンパイルエラーが発生した時の対処法

概要 実行環境 解決法 参考にしたissue 概要 qiita.com 上記の記事を読みながらjetsを試していて、jets deployする時gem関連のエラーにハマったのでメモに残します。 実行環境 ruby 2.5.0 jets 2.3.16 byebug-11.1.3 puma-4.3.5 mac OS Catalina 10.15.4 解…

Leafletを試してみた

お仕事で地図のJSライブラリについて調べる機会があったので、メモ代わりに残します. Leafletとは とりあえず地図を表示させてみる headタグにCSSライブラリとJSライブラリを読み込む 地図の中心部分とタイルを指定する ピンを立ててみる まとめ (adsbygoog…

GitHub CLIを試してみた

GitHub CLIがリリースされて半年くらい経っているに触ったことがなかったので触ってみました. 公式ドキュメントはこちらです. cli.github.com GitHub CLIのインストール リポジトリの作成からpushまで ブランチを切って、PRを作成してみる CLIからPRにコメ…

[Rails] Action Textを試してみる(2)

前回の記事の続きです. www.takayasugiyama.com 概要 セットアップ 動作確認 概要 前回、ActionTextを試してみましたが画像をアップロードしようとすると以下の画面のようになってしまうのでこの現象を解決しようと思います. Action TextのRails Guideに以…

[Rails] Action Textを試してみる(1)

Rails6がリリースされて結構時間たったのにも関わらずActionTextに触ったことがなかったので、ActionTextを試してみました. 環境構築 モデルやコントローラーを作る モデルを作る コントローラーを作る routingの設定をする Viewを書く Action Textに必要な…