RubyでGUIアプリ(デスクトップアプリ)を作るための環境構築

最近C/C++にハマっておりGUIアプリ(デスクトップアプリ)を作っているが、RubyでもGUIアプリを作りたくなってきた。 そこで今回は、RubyでGUIアプリ(デスクトップアプリ)を作るための環境を構築したので、その方法を解説していく。 RubyでGUIアプリを作る…

WindowsのMinGWでdxlib(DXライブラリ)を使う手順を紹介する

WindowsのMinGWでdxlib(DXライブラリ)が使えるようにしたので、その手順を紹介していきます。 また、今回の手順は公式ドキュメント「DXライブラリ置き場 使い方説明」を参考にしています。 開発環境 WIndows 10 (2019/ 05/ 15時点) MinGW Thread model: wi…

JavaScriptで配列の要素やハッシュ(連想配列)のバリューを変数に変換する方法

JavaScriptを使うときに、配列の要素の1つ1つをバラバラにして変数に渡したい、という場合がある。 let array = ["tarou", 19, "Japan"]; const name = array[0]; const age = array[1]; 上記のように書くのも良いが、配列の要素数が増えればその文だけコ…

JavaScriptでHTMLを表示・非表示の選択をしたい時の良い感じの書き方

JavaScriptでHTMLの表示・非表示を操作したい時には、今まで以下のように書いていた。 if(isDisplay) { let dom = `<div id="sample">hoge</div>`; } else { let dom = `<div id="sample" style="display:none;">hoge</div>`; } 上記は、isDisplayがtrueの時は表示して、falseの時は非表示にすると言うもの。上記のようにシンプル…

Nuxt.jsでnpm run devをした時に「SyntaxError: Invalid regular expression flags」というエラーが出た時の対処法

Nuxt.jsでローカルサーバーを立ち上げるためにnpm run devをした時に、「SyntaxError: Invalid regular expression flags」というエラーが出たので、この対処法を紹介していく。 開発環境 Nuxt 2.4.0 Node 8.9.4 Mac NodeのバージョンはNodeBrewで管理 具体…

jQueryの代替ライブラリとして「min.js」がオススメなので紹介する

jQuery不要論が出て久しいですが、趣味でWEBサイトを作っていると、Vue.jsを使うまでもないけど素のJavaScriptで書きたくない、かといってjQueryを使いたくない、という場合があります。 ボク自身もこのような状況にモヤモヤしていましたが、色々漁っている…

素のJavaScriptでappend,prepend,after,beforeが実装されていたので紹介する

すでに「jQueryはオワコン」と言われて久しく、僕自身もjQueryを使わずに素のJavaScriptでゴリゴリ書いていますが、たまにappendとかprependなどのjQueryのメソッドが使いたい時があります。 色々調べてみると、JavaScriptの方でappendとかprependを実装でき…

Mojoliciousで文字化けが起こった時の対処法2つ

PerlのMVSフレームワーク「Mojolicious」を使っていて、$c->renderでHTMLを表示した時に日本語が文字化けしたので、その対処法を2つ紹介していきます。 そもそもPerlで文字化けが起こる原因とは? そもそも、Perlで文字化けが起こる原因とは何でしょうか? …

PerlのDBIで新規レコードを作成(INSERT)した時にレコードのIDを取得する方法

PerlのDBIでINSERT処理をした時に、新たに作成したレコードのIDを取得したい時がある。 INSERTしたレコードのIDを取得する方法 もし、あなたがDBI::mysqlのモジュールを使っている場合は、以下のように$sth->{mysql_insertid}を使えば新規レコードのIDを取得…

Mojoliciousで「[error] Role::Tiny 2.000001+ is required for roles」のエラーが出た時の対処法

PerlのMVCフレームワーク「mojolicious」を触っている時に、以下のエラーが発生した。 [error] Role::Tiny 2.000001+ is required for roles 上記のエラーは、with_rolesメソッドを使おうとする時に発生したものだが、解決策はRole::Tinyというモジュールを…

perlで正規表現で文字列を置換したり、新しい変数に格納する方法

Perlを使っている時に、正規表現にマッチした文字列を新しい文字列に直したり(置換)、その置換した文字列を新しい変数に格納したい時がある。 Perlで正規表現にマッチした所を置換する方法 Perlで正規表現にマッチした所を置換するためには、以下のようにす…

perl(Mojolicious)をレンタルサーバーXserverを使って公開する手順まとめ

perlのMVCフレームワーク「Mojolicious」をレンタルサーバーのXserverを使って公開する方法を紹介していきます。 基本的には、WEBアプリはVPSやAWSのサーバーを借りて運用すべきですが、個人の遊びとして格安のレンタルサーバーを使いたい場合があります。 …

perlで「Can't locate Sample/Module.pm in @INC」と言うエラーが起こる原因と対処法3つ

perlを扱っていると、よく以下のようなエラーが出ることがあります。 Can't locate Sample/Module.pm in @INC 今回は、このエラーの原因と「これをやったら解決するよ」と言う対策法を紹介していきます。 Can't locate Sample/Module.pm in @INCの原因とは?…

perlでファイルの中身を全て読み込みたい時の方法

perlを使っている時に、ファイルの全ての内容を変数に格納したい時がある。例えば、こんな感じで。 my $data = read_file; 今回は、そんな方法を紹介していくよ。 ファイルの全ての内容を変数に格納する方法 結論から言うと、以下のように書けばファイルの中…

perlでファイルの読み込みとか作成とか削除のまとめ

perlでファイル操作をする方法をまとめていきます。 なるべく分かりやすさ重視で説明するので、厳密には違うと言う部分が多々あるかと思いますが、詳細は公式ドキュメントをみてください。 perlでファイルを読み込む方法 perlでファイルを読み込むためには、…

Mojoliciousでディレクトリの場所を変数(属性)として格納する方法

Mojoliciousでとあるディレクトリの場所を保存しておきたい、と言う時がある。例えば、「気軽にmyapp/public/htmlのディレクトリにアクセスしたいな」と言う感じの場合。 その時は、/lib/MyApp.pmで以下のように書けば良い。(一応、mojo generate app MyApp…

perlの$_[0](デフォルト引数)とか@_(引数リスト)について気になったので調べた

とあるperlのコードを読んでみると、下記のような書き方をしていて気になったので、調べてみました。 sub on { push @{$_[0]{events}{$_[1]}}, $_[2] and return $_[2] } @_(引数リスト)とは? @_(引数リスト)とは、サブルーチン(関数)やfor、foreachなどの…

MacでGitHubのSSH接続をするための設定3ステップ

パソコンをMacに乗り換えたので、今回はMacでGitHubのSSH接続をする方法を紹介していきます。 一応、すでにGitHubアカウントを作っていると言う前提で説明をしていきます。 今回は、以下の公式ページを参考に設定したので、詳細は以下のリンクを読む事をお勧…

Mojoliciousで「Can't use string ("Controller") as a HASH ref while "strict refs" in use」のエラーが発生した時の対策

Mojoliciousを使っている時に、「Can't use string ("Sample::Controller::Post") as a HASH ref while "strict refs" in use」と言うエラーが出てハマったので、その対処法をメモしておく。 結論:メソッド名を変更したら上手くいく まず結論からだけど、僕…

Mojoliciousで静的ファイル(html)を読み込ませるための設定法

Mojoliciousを使っていると、動的ファイルではなくて静的ファイルを読み込ませたい時があります。(errorページみたいなやつで) そこで今回は、Mojolicisouで静的ファイルを扱うための知見がたまってきたので、備忘録がてらまとめておきます。 Mojolicious…

perlでは何がtrueで何がfalseと判定されるのか

perlでMySQLをいじっていた時に自分の予想と反する動きをして混乱したので、この機会にperlのtrue/falseについてまとめていく。 perlでは何がtrue/falseと判定されるのか? 公式ドキュメントに書かれている様に、perlでは以下の5つがfalseと判定されて、他は…

perlモジュール「Exporter」の使い方

便利なperlモジュールとして「Exporter」が挙げられるが、今回はExporterの使い方を紹介していくよ。 Exporterの使い方 Exporterの使い方は公式ドキュメントを読めば一発で分かりますが、一応解説。 例えば、以下の様なモジュールを作ったとします。 package…

Mojoliciousでの設定ファイル(Configプラグイン)の使い方とか一例を解説する

Mojoliciousでの設定ファイル(Config)の使い方とか一例をまとめていくよ。 Mojolicious::Plugin::Configとは? Mojolicious::Plugin::Configとは、Mojolicious(以下、mojo)に最初から入っているプラグインの一種で、設定ファイルを簡単に使えるようにしてく…

perlでIO::Socketを使う時に「permission deny」と言うエラーが出た時の対処法

perlで以下の様なコードを書いた時に、permission denyと言うエラーが出てきた。 use IO::Socket; $sock0 = new IO::Socket::INET( Listen => 5, LocalAddr => 'localhost', LocalPort => 80, Proto => 'tcp', Reuse => 1 ); 原因は単純で、ポート番号を80と…

Mojoliciousを使う時のMojo::Base -baseとかの使い分けのまとめ

perlのフレームワークである「mojolicious」を使っていると、use Mojo::Base -base;と書かれていたり、use MojoBase "Controller";みたいな書き方があるけど、これらはどの様な違いがあるのか気になったので調べました。 use Mojo::Baseの使い方 公式ドキュ…

perlのcpanmでDBI::mysqlをインストールする際に「Configure failed for DBD-mysql-4.050. See build.log for details.」と出た時の対処法

perlでmysqlを使いたくなったので、cpanmでDB::mysqlをインストールする時に以下のエラーが出たので、その対処法をまとめていきます。 ! Configure failed for DBD-mysql-4.050. See /Users/user/.cpanm/work/1553132323.14373/build.log for details. ボク…

Perlモジュール「Moo」(Moose)の使い方をまとめてみる

便利なPerlモジュール「Moo」の使い方についてまとめていきます。 日本語情報はもちろん、英語でも中々情報が転がっていないので、必死にまとめた情報を備忘録として書きます。 MooとかMooseとかMouseの違いって何なの? Mooの事を調べているとMouseとかMoos…

phpのextract関数の使い方とか逆のことをするcompact関数とかの解説

PHP

phpで使えるextractとは、ざっくり言うと、配列(連想配列)の1つ1つの要素を変数に変換できる関数のこと。 例えば、以下のようなコードを書くと、連想配列のkeyが変数として扱われ、valueがその変数の値になっている事がわかる。 'tarou', age => 20]; e…

phpの開発環境用のローカルサーバーはビルトインウェブサーバーを使うと良い

PHP

最近までphpで遊ぶときは、apacheの設定を色々いじっていたのですが、公式ページにも書いている通り、ビルドインウェブサーバーを使うと良さげです。 RubyでいうWEBLICK的なやつですね。 参考:ビルトインウェブサーバー ビルドインウェブサーバーとは? 簡…

phpの__autoload関数とかspl_autoload_registerについて理解したのでまとめておく

PHP

phpの__autoload関数やspl_autoload_register関数について、ようやく理解ができたのでまとめていくよ。 spl_autoload_register関数の役割や使い方について まずは、php5.1以上でよく見られるようになったspl_autoload_register関数から解説していく。 spl_au…