onsen code monkey

個人的な日記とプログラミング備忘録です

【JavaScript】なるべくシンプルに数秒間待機させる処理

他言語で言うところの wait とか sleep とかをJSでやりたいすごくよく使うので改めてメモES2017以降なら↓ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); // 2秒待機 await sleep(2000); それより古いバージョンなら↓ function …

gcc: error: unrecognized command line option を解決する

rails で bcrypt をインストールしようとすると以下のようなエラーが出た Installing bcrypt 3.1.19 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /home/vagrant/.rbenv/versions/3.2.2/…

【Ruby on Rails】ruby-profでコードの処理速度を測定する

■やりたいこと コードの実行中にどの部分が時間を消費しているかを特定したい ■使用ツール ruby-prof※プロファイリングツールは ruby-prof の他に stackprof も有力らしい ■手順 1. gemfile に ruby-prof を追加 gem 'ruby-prof'2. インストール実行 bundle …

【Ruby on Rails】一時ファイルとして作成したファイルをブラウザに送信した後に削除する

一時ファイルとしてダウンロードしたファイルをブラウザに送信した後に削除がしたかった時のメモ結論:send_fileでなくsend_dataを使うと削除できましたルーティングの設定 routes.rb resources :hoges do get "download", on: :member endまたは get 'hoges…

【Ruby on Rails】rails s でエラーになった時の対処法

原因と対処:yarnがインストールされていなかったのでインストールしたyarnインストール(npmの場合) $ npm install -g yarnyarnインストール(brewの場合) $ brew install yarn yarnがインストールされたことを確認 $ yarn -vwebpackerインストール $ rai…

【PostgreSQL】プレーンテキストのbackupファイルをリストアする方法

お客さんにもらったポスグレのbackupファイルをPgAdmin3でリストアしようとしたらなぜかできなくて4時間くらいハマった。 調べれば解決策は何パターンか出てくるもののなぜかうまくいかず、自分と同じ状態の人の手助けになれることを願ってシェアします。手…

【Spring】Tomcatが起動できなかった時のメモ

Spring BootでTomcat立ち上げようとしたら下記のエラーが出た *************************** APPLICATION FAILED TO START *************************** Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may…

【Swift】Timer処理まとめ

Swift4でのTimer処理関連を調べたメモ メモリー解放に気をつけるまずはTimer処理 final class ViewController { private var timer: Timer? // Timerを保持する変数 private(set) var timerTotalDuration: TimeInterval = 0 // 総秒数を保持する変数 func st…

【Kotlin】スコープ関数 apply の使い方

例えば以下のようなコードがあったとする val hoge = Hoge() hoge.aaa = 0 hoge.bbb = 1 hoge.ccc = 2 hogeを4回も書くなんてナンセンスですね そんなときはスコープ関数「apply」の出番です val hoge = Hoge() hoge.apply { aaa = 0 bbb = 1 ccc = 2 } 2回…

【Kotlin】Null対策(Null Safety)

KotlinではNull Safetyという言語仕様があり、Null参照による実行時エラーを防ぐための仕組みがいろいろあるらしい例えばnon-null変数(null不可)にnullable変数(null許可)を代入しようとするとコンパイルエラー val nullable: String? = null val nonNul…

たまにしか更新しないといろいろブレる

まず一人称はなんだったか。私?俺?僕? ですます調だったか。くだけた適当な感じだったか。 技術ブログ?趣味ブログ?ただの日記?いろいろ忘れてしまうけどいちいち過去記事読み返して確認したりするのが面倒くさくて更新しなくなってしまうんだなぁ急に…

【Kotlin/Java】0時0分0秒を取得する

UnixTimeStampでデータを管理することが多いのだけれど とある日の0時0分0秒を指定したい時に毎回しばらく調べてしまうのでメモする。Javaの場合 Date now = new Date(); // 2019-09-08 07:28:36 Date year = DateUtils.truncate(now, Calendar.YEAR); // 20…

ユーザーを騙して少しでも多く金を毟ろうとする悪質サービス

いつのまにか登録されているメルマガ いつのまにか自動更新設定にされているサブスク 退会申請がやたらわかりにくいサイト 等々...ユーザーを騙して少しでも多く金を毟ろうとする悪質デザインを ユーザーの意図しないアクションを誘導する悪質なデザインを「…

【JavaScript】タイマー処理のメモ

<html> <head> <title>SPA</title> <style type="text/css"> body { width : 100%; height : 100%; overflow : hidden; background-color : #777; } #spa { position : absolute; top : 8px; left : 8px; bottom : 8px; right : 8px; border-radius : 8px 8px 8px 8px; background-color : #fff; } .spa-sl…</head></html>

【Java】ファイルロックで排他制御

よく使うのでメモ File lockFile = new File(fName + ".lock"); lockFile.deleteOnExit(); try (FileOutputStream fs = new FileOutputStream(lockFile)){ FileChannel ch = fs.getChannel(); FileLock lock = null; for (int i = 0; i < (TIMEOUT / WAIT); …

【JavaScript】タイマー処理のメモ

>|JavaScript| <html><head> <title>SPA</title> <style type="text/css"> body { width : 100%; height : 100%; overflow : hidden; background-color : #777; } #spa { position : absolute; top : 8px; left : 8px; bottom : 8px; right : 8px; border-radius : 8px 8px 8px 8px; background-color : #ff…</head></html>

【C#】WPFでマルチモニタの作業領域情報を取得する

C#

WPFでマルチモニタ対応をしたのでメモ。 モニタの数に応じてフォーム表示位置を調整したりしたい。ManagementObjectSearcherでモニタ数を取得 シングルの場合 ⇒ SystemParameters.WorkArea.Width マルチの場合 ⇒ SystemParameters.VirtualScreenWidth で横幅…

【Java】カレントディレクトリのパス等、システム設定値を取得する

System.getPropertyでシステム設定値の一覧を取得する Properties props = System.getProperties(); props.list(System.out); システムプロパティを指定して値を取得する (例)カレントディレクトリのパスを取得する場合 String dir = System.getProperty("…

【C#】シングルトンサンプル

C#

using System; using System.IO; using System.IO.IsolatedStorage; using System.Diagnostics; using System.Collections.Generic; using System.Threading; using JWS.Com.Model; namespace JWS.CWS.FW.App { /// <summary> /// キー値クラス /// 内部クラス /// </summary> p…

【Java】try-with-resourcesを使ってファイルの読み書き

try-with-resourcesを使えばいちいちCloseやDisposeしなくてもリソースを自動で解放してくれるC#のusing的なやつ条件 ・JavaSE7以降 ・クラスがAutoCloseableインターフェースおよびCloseableインターフェースを実装していること import java.io.FileInputSt…

【C#】分離ストレージにXMLファイルを作成する

C#

昔書いたプログラム漁ってたら何かに使えそうなものが出てきたので記録しておく。 Button1で分離ストレージにXMLファイルを作成し、Button2でそれを読み込んだ後消している模様。 System.Xml.Linqを使っている。 using System; using System.IO; using Syste…

【Java】ループの中で+を使用して文字列を連結してはいけない

ループの中で+を使用して文字列を連結するとループの度にStringを生成するので回数が増えるほどOutOfMemoryしたり処理が遅くなる可能性が高くなる。 public static void main(String[] args) { String hoge = ""; for (int i=0; i<10; i++) { hoge += "(^q^…

【React】Reactの基礎知識を学習した④(ライフサイクルメソッド)

前回 hitoto28.hatenablog.com コンポーネントの状態の変化(ライフサイクル)により発火するメソッドをライフサイクルメソッドという。Reactのライフサイクルメソッドには以下の7種類がある。 componentWillMount() コンポーネントがマウント(配置)される…

【React】Reactの基礎知識を学習した③(イベント)

前回 hitoto28.hatenablog.com イベント入力したテキストをonClickイベントで反映させるサンプル import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import registerServiceWorker from './reg…

【React】Reactの基礎知識を学習した②(Props/State)

前回 hitoto28.hatenablog.com PropsとState Reactコンポーネントがデータを受け取ったり表示したりするための方法。Props・・・コンポーネント利用時に属性として設定できる値 State・・・コンポーネントが持っている状態Propsは不変、Stateは可変のデータ…

【React】Reactの基礎知識を学習した①(JSX/Babel/コンポーネント)

Reactの環境構築とデプロイの方法までは理解できたのでいざコーディングを開始しようと思ったのだが想像以上にわからないことだらけだった。心を入れ替えて基礎から学習したのでメモ。 JSXとは JavaScript内に書ける特殊なルールのHTMLみたいなもの <script type="text/babel"> ReactDO</script>…

【React】Firebaseでデプロイしてみる

Firebaseを使えばある程度は無料でWEBアプリを公開できる。 とりあえずデプロイできたのでログを残しておく。1、デプロイしたいアプリのディレクトリに移動する $ pwd $ /Users/username/projects/ReactTest/helloworld 2、npmでfirebaseのパッケージをイ…

【Linux】ログファイルへの追記を監視する

最近よく使うのでメモxxxxx.logの追記状況を監視 $ tail -f xxxxx.log半角スペースで複数指定することもできるらしい(未確認) $ tail -f /etc/file1 /etc/file2ワイルドカードも使えるらしい(未確認) $ tail -f *.log 参考サイト様 tailコマンドについて…

【Java】メッセージダイアログを表示する

一番シンプルなやつ JOptionPane.showMessageDialog(null, "メッセージだよ"); 第一引数・・・ダイアログのFrame。nullの場合はデフォルトのFrameが使用される 第二引数・・・表示するメッセージ いろいろ弄りたい場合は以下参考 import javax.swing.*; impo…

【HTML】IEでHTML5の機能が使えなかった件

HTMLファイルをIEで開くとレイアウトが崩れていたりonInputやpattern等のイベントが発火しなかったりで謎だった。丸一日ハマってしまったが、IEのドキュメントモードがIE7(HTML5非対応)に設定されてたことが原因だった。対策は非常に簡単で以下のメタタグ…