BigDecimalについて(Ruby)

参考URL qiita.com Rubyにおいて小数点の計算はどうなるのだろうか。 > 1.2 -0.9 => 0.29999999999999993 > 1800 * 1.08 => 1944.0000000000002 普通に計算すれば答えは「0.3」「1944 」だが、そうはならない。これはコンピュータを使った計算でよくありがち…

RailsにおけるScope

scopeとはクラスメソッドを使う際、可読性を保つためにあるものである。 例えば、あるUserのidを降順にし、かつ5つだけ表示させたい場合、以下のようなメソッドを使うことになる。 User.order(id: desc).limit(5) しかしながら、同じクエリ文が何回も出てく…

論理演算子「||」について

条件式として 一般的なORとしての利用。 if name == "taro" || name == "hanako" || name == "jiro" 代入演算子として 左辺が存在しない(偽)の場合、右辺の値が代入される。 「hoge ||= 1」の書き方は変数にデフォルト値を与えるときの定番の書き方。 # 一般…

SQLのパフォーマンスチューニングについて

そもそもパフォーマンスとは? 主に以下の3つ。 スループット 単位時間あたりの処理能力。並列処理が出来る件数が増えるほどこのスループットの値が向上する。 レスポンスタイム(レイテンシー) 処理を実行してからの結果が帰ってくるまでの時間。 1処理自体…

Railsにおけるクエリ文

Railsにおいてコンソールでクエリ文を叩くと、ログにSQL文も表示される。これもしっかりみてどのような動きをしているのか観察しよう。 参考 orderメソッド SQLのORDER BY節を作る。 指定したカラムの昇順(ASC)か降順(DESC)で並び替える。 @users = User.o…

Railsのルーティング

1つのルートの定義 get '/login', to: 'sessions#new' ここでは次のことを定義している。 GETメソッドで'/login'というURLにリクエストが来たら、SessionsControllerのnewアクションを呼び出す。また、このURLをlogin_pathというヘルパーメソッドで生成でき…

Railsにおけるenum

「Enum」は「列挙型」のこと。 この列挙型を扱う機能としてRuby on Rails4.1からActiveRecord :: Enumと言うモジュールが追加となった。 この機能は、モデルの数値カラムに対して文字列による名前定義が可能。また、データ操作用の便利なメソッドも提供して…

Enumerableのメソッドまとめ

exclude? 各要素に引数で渡された値が含まれていないか確認し、 含まれていない場合はtrue を返す。戻り値はboolean型。include?の反対。 [1, 2, 3].exclude?(5) # => true [1, 2, 3].exclude?(3) # => fals many? 条件を満たす要素が 2 つ以上ある場合に tr…

Rubyにおける配列操作まとめ

参考URL www.sejuku.net www.sejuku.net mapメソッド 処理後に戻り値で配列を作成する。 しかし、元の配列が上書きされることはない。元の配列の値を変えたいなら、再代入する必要あり。 array = ["a", "b", "c"] array.map {|item| item.upcase } # 各要素…

Rubyにおける正規表現

Rubyでも正規表現は使われるが、文字列マッチメソッドを使った方が早いので、正規表現を使うのは次なる手として考えた方がいい。 複雑なパターンを調べたい場合は正規表現を使うが、「開始文字列」「終了文字列」とのマッチを単純にチェックするだけなら、st…

Rubyのぼっち演算子

オブジェクトがnilの場合、メソッドを実行しようとするとエラーになってしまい、プログラミングの処理が停止してしまう。&.演算子(ぼっち演算子)を使用することで、エラーを制御することが出来る。 Rubyにおいてはレシーバーであるオブジェクトに対してあ…

respond_toとrespond_to?の違い

respond_to?とは・・・ respond_to?は、クラスに特定のメソッドがあるかどうかを検出するための Rubyメソッド である。 @user.respond_to?('eat_food') Userクラスにeat_foodメソッドがある場合、trueを返す。戻り値はbooleanである。ここでメソッドとは「de…

ES2015(ES6)のまとめ

今回はJavaScriptのES2015(ES6)についてまとめてみました。 そもそもES2015とは何か? ECMASCriptの6th Editionのこと。ECMAScript 6th editionの6を取ってES6と呼ばれていたが、2015年に標準化されたため正式名称はES2015になりました。 「変数(letとconst)…

入れておくと便利なvscodeの拡張機能

今回はvscodeに入れておくと便利な拡張機能、プラグインについてまとめてみました。 [HTML/CSS] CSS Peek => HTMLファイル上でclassにフォーカスをあてると、定義されたCSSスタイルをチェックしたり、class名からCSSファイルを検索したりできる。 open in br…

sshや公開鍵・秘密鍵の設定について

今日はsshや公開鍵・秘密鍵の設定についてまとめてみました。 クライアント側(接続する側)での公開鍵・秘密鍵の生成 公開鍵・秘密鍵を生成する時は、「ssh-keygen」コマンドを使います。 ssh-keygen -t rsa . (省略) . The keys randomart image is: +--[ …

herokuコマンドのまとめ

herokuコマンドについてまとめてみました。 アプリを作成する(名前は自動生成) heroku create >Creating app... done, fathomless-beyond-39164 >https://damp-fortress-5769.herokuapp.com/ | >https://git.heroku.com/damp-fortress-5769.git アプリを作成…

Railsにおけるバリデーション(validation)

今回はRailsにおけるバリデーション(検証)について見ていきましょう。 バリデーションはモデル(Model)についた機能であり、ユーザーから渡されたデータをDBに保存する時に必ず実施される重要なステップです。 テーブルのレコードを作成・更新する時、「…

Railsにおけるシンボルの概要と利点

Railsでコードを組んでいるとよく「:cat」のようなものを見かけると思います。これは「シンボル」と呼ばれ、名前を示すオブジェクトです。見た目は文字列ですが、実際バックでは整数として扱われます。Raislではよく登場し、使いこなせるようになるとコード…

Ruby、Railsで使われる主要なメソッド

久しぶりにブログを更新しました。今日はRuby、Railsでよく使われるメソッドについてまとめてみました。いずれもユーザーが定義しなくてもすでに準備されているメソッドです。 Railsでは、Ruby単体では利用ができない特殊なメソッド(present?など)があるの…

Tweet With Image, Using Python / Pythonで画像ツイートをする

In this time, let's try posting tweet with image. To tweet with image, you need Twitter API, so first you have to apply API toTwitter(https://developer.twitter.com/). Previously it was hard to get Twitter API, it took about 10days, but in …

PythonでYouTubeの音楽を複数ダウンロード

今回はPythonでYouTubeの音楽を複数ダウンロードするということを行います。おおまかな流れとしては①エクセル(youtube_url.xlsm、pythonファイルと同じディレクトリに置く)にダウンロードしたいYouTubeの音楽のURLを記載 ②ダウンロード先を指定 ③Pythonフ…

JavaFXで簡単なメモ帳

今回はJavaFXで簡単なメモ帳を作ってみます。JavaFXは、JavaでGUIを作成時に使うSwingを進化させたような機能です。eclipseにscene builderというツールをインストールして、ドラッグアンドドロップでGUIを構築できるのがJavaFXの強みと言えます(ここではそ…

ExcelのVBAで複数のWordファイルをPDF化する

VBA

今回は複数あるWordファイルを自動でPDF化する処理を実装してみます。 1つのファイルをPDFにする時はエクスポートするだけで済みますが、何十個もファイルがある時は大変です。そこでVBAによって、PDF化を自動で行います。 シート上のボタン「Officeファイル…

Selenium IDEで図書館サイトに自動ログインし、自分の貸出状況画面をスクリーンショットで取得する(python)

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング作者:Al Sweigart発売日: 2017/06/03メディア: 単行本(ソフトカバー)今回は、 図書館サイトに自動アクセスし自分の貸出状況画面をスクリーンショットで取得する とい…

Javaの文字列操作

Javaでの文字列操作についてまとめておきます。 「文字列の調査」 //文字列の調査 String s1 = "FIRE"; String s2 = "fire"; //内容が等しいか判断1。大文字、小文字を区別する。 s1.equals(s2) →false 返すのはboolean型 //大文字、小文字区別せず内容の判…

PStoreにデータの読み書き

今回はrubyのPStoreにデータを読み書きを行います。 PStoreはrubyプログラムで作成したインスタンスをファイルに書き込むことができます。PStoreで保存したファイルはPStoreデータベースと呼ばれます。 PStoreを使う時は、ライブラリの「pstore」を読み込む…

Javaの例外処理について

今回はjavaで、例外処理についてあやふやな箇所があったのでまとめておきます。 javaでの例外処理の基本パターンは次の通りです。 try{ 通常の処理 }catch(例外の型 変数名){←catchは複数記述できる 例外発生時の処理 }finally{ 必ず最後に行う処理(省略可…

gmailを使ってフォームから質問文を送信

今回はJavaScript(以下、js)で、gmailを用いてフォームから「送信」ボタンを押して質問文を送信するプログラムを構築します。 ★開発環境 OS → Windows10 開発環境 → visual studi code コードは以下のようになります。 // gist.github.com jsはフロントな…

swingでタイピングゲーム

★開発環境 OS → Windows10 javaのversion → 1.8.0_161 開発環境 → pleiades(e4.5_StdEdi) 今回はswingで、タイピングを行ってコンポーネントのラベル文字を変えるという、ゲームを作ります。「first」という単語と7つの単語があり、「first」以外の7つの単語…

ノートパソコン内蔵のカメラを使って、写真を撮る(python)

今回はノートパソコン内蔵のカメラを使って、写真を撮ることを行います。 ★開発環境 OS → Windows10 pythonのversion → 3.7.0 エディタ → Visual Studio Code ブラウザ → chrome ソースコードは以下の通りです。 ノートPC内蔵カメラで写真撮影(python) cap…