2022-01-01から1年間の記事一覧

RailsのSQLite3テーブルをCSVでインポート/エクスポートする

RailsのSQLite3テーブルをCSVでインポート/エクスポートしてみました。 目次 Railsの準備 エクスポート インポート 参考にした書籍/サイト 環境 Rails7.0.4 wsl2(Debian11) Railsの準備 アプリケーションフレームワークを作成します $ rails new Library SQL…

Rails7系 + React18系 + vite.js でReactコンポーネントを動かす

目次 Vite.js とは Vite_ruby とは 環境 セットアップ コンポーネント作成 ソースコード 参考書籍&サイト Vite.js とは Vite.jsは、高速で動作するビルドツール Vue.js作者Evan Youさんが開発し、2020年に発表された 従来のビルドツールと違い、開発時に全て…

Ruby とseleniumでアマゾンの価格チェックアプリを作ったメモ

仕様 特定の商品の価格が一定以下に下がったら、LINEに通知するアプリを作りました。 環境 ruby 3.1.1 wsl2 Google Chrome 100.0.4896.127 Amazon.co.jpの商品データを取得する selenium-webdriverのインストール $ gem install selenium-webdriver chrome d…

Amazon.co.jpを題材に、クローリングとスクレイピングの利用規約と法律を確認する

Amazonの商品ページをスクレイピングしたかったので調べてみました。 クローリング クローリングとは インターネット上の膨大なコンテンツを、HTMLのリンクをたどって巡回し、機械的に情報収集することを、クローリング又はクロールと言います。 クローリン…

Power Automate Desktop でOpenWeatherAPIをたたいて現在の天気情報を取得する

OpenWeatherのAPIキー取得 https://openweathermap.org/ でアカウントを取得すると、https://home.openweathermap.org/api_keys でAPI Keyが使えるようになります。 今回は、 openweathermap.org を利用します。 PADフローを作成する フロー 1、変数の設定…

Power Automate Desktop でLINE notifyに通知を送る

LINEnotifyでTOKENを発行する https://notify-bot.line.me/my/ にアクセスして、ログイン。 "トークンを発行する"をクリック。 任意のトークン名を入力し、通知を送信するトークルームを選択 "発行する"をクリックすると、トークンが発行されるので、コピー…

RubyでLINEnotifyに通知を送ったときのメモ

環境 wsl2 ruby 3.1.1 LINEnotifyでTOKENを発行する https://notify-bot.line.me/my/ にアクセスして、ログイン。 "トークンを発行する"をクリック。 任意のトークン名を入力し、通知を送信するトークルームを選択したら"発行する"をクリックすると、トーク…

Node.jsとopenweathreAPIで都市の天気情報を取得するappを作った時のメモ

環境 Node: v16.14.2 wsl2 OpenWeatherのAPIキー取得 https://openweathermap.org/ でアカウントを取得すると、https://home.openweathermap.org/api_keys でAPI Keyが使えるようになる。 今回は、 openweathermap.org を利用する 使用したライブラリ axios …

モダンJSの基本から始めるReact実践の教科書:React v18でrenderを書き直してみた

www.sbcr.jp でReactの学習をしてます。 サンプルコードはReact v17で書かれているようで、renderでエラーが出るので、React v18でエラーが出ないように書き直してみました。 環境 React 18.2.0 サンプルコード //src/index.js import React from "react"; i…

PowerAutomateDesktop:JavaScriptを使ってアラートを表示する

PowerAutomateDesktopで、JavaScriptの組み込み関数を使ってみました。 フロー フロー2の詳細 実行結果 アラートが表示されました

プログラマ脳を鍛える数学パズルQ3:カードを裏返せを解いてみた

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問(増井 敏克)|翔泳社の本 のQ3を解いてみました。 まずは、ルールを整理してみます。 最初はすべてのカードが裏なので、初期値を-1として、表になればカードナンバーを表示す…

WSLで、bundle install 時のErrno::EPERM: Operation not permittedを解決したのでメモ

環境 状況 解決方法 資料 Gemfile エラーメッセージ 参考にしたサイト 環境 wsl2 windows10 pro ruby 3.0.2 Bundler version 2.3.5 状況 Gemfileを作成後、Bundle installしようとするとエラーになる。 Gemfile.lockも作成されない。 解決方法 Errno::EPERM:…

RubyとSinatraではじめるWebアプリケーション開発の教科書:webcal.rb

www.morikita.co.jp webカレンダーを作ってみました。 # ~/webcal/webcal.rb require 'sinatra' require 'date' set :environment, :production get '/:y/:m' do @year = params[:y].to_i @month = params[:m].to_i @table = '<table border>' @table += '<tr><th>sun</th><th>mon</th><th>tue</th><th>wed</th>' @t</tr></table>…

RubyとSinatraではじめるWebアプリケーション開発の教科書:トレーニング3.7.4.2解答

www.morikita.co.jp のトレーニング問題3.7.4.2を解いてみました。 (1..100).each do |x| print "#{x} → " y = x until y == 1 if y.even? y /= 2 else y = y * 3 + 1 end print "#{y} → " end puts 'OK!' if y == 1 end $ ruby collatz.rb 1 → OK! 2 → 1 → …

RubyとSinatraではじめるWebアプリケーション開発の教科書:トレーニング3.7.4.1解答

www.morikita.co.jp のトレーニング問題3.7.4.1を解いてみました。 require 'prime' box = [] # 素数を入れる配列を用意。配列のsizeメソッドを利用するため (1..).each do |i| next unless i.prime? box << i break if box.size == 20 end print box, "\n" …