JavaScript

こんにちは、しきゆらです。
今回は、以前に少しだけ触れたparcelを使って開発環境を構築してみました。
また、個人的に以前まで疑問だった、JSとSCSSを用いた場合にどう管理するのか問題を解決することができたので合わせてメモしておきます。

parcelに関しては、以前少しだけ記事にしたことがありました。
=> 以前の記事:【JS】フロントエンド界隈で話題のparcelことはじめ
以前まではWebpackを利用していましたが、難解な設定や多様なプラグイン等、気軽に使うにはハードルが高い状況でした。
そんな中で、parcelは面倒で難解な設定ファイルを作成せずとも、自動で関連するファイルを監視し、変更があれば適宜処理を走らせてくれます。

そんなparcelさんですが、実際にparcelを使ったものづくりをするときにどうすればいいのかわからない部分がありました。
それは、SCSSを使った場合の読み込み方です。
HTMLからSCSSを読み込んでも、ブラウザは反映してくれません。
それをどう読み込めるようにするのかが疑問でした。
これを解決することができたので、合わせて記録しておきます。

Mac

こんにちは、しきゆらです。

今回は、(ほぼ)外部からアプリをインストールせずにデフォルトで入っているアプリだけで画像にモザイク・ぼかしをかける方法をメモしておきます。
念のために書いておくと、画像編集専用のアプリを使わずにモザイクをかける、ということを目指しているのがこの記事。
こまこまとたくさんのアプリを入れたくない!という人は是非。

今回は、以下のサイトを参考にコードを修正したりしています。

macで画像加工はプレビュー.appで決まり!文字の回転やぼかし(ガウス)加工の方法 | mac野郎なのか

http://fanblogs.jp/macyarounanoka/archive/268/0#clipboard-image-gaussian-blur

Mac

こんにちは、しきゆらです。
改めて、本年もよろしくお願いします。

 

今回は、Macでのメーラである3種類のアプリ

  • Mac純正メール
  • AirMail
  • Spark

を実際に使ってみて、個人的感想をメモしておきます。
メーラーを探している人の参考になれば、と思います。

 

なお、何度か登場していますが、私が使用しているMacのスペックを書いておきます。
参考程度に。

  • MacBook Pro Retina, 13-inch, Early 2015
  • CPU: Intel Core i5(2.7GHz)
  • メモリ:8GB DDR3 1867MHz

 

未分類

こんにちは、しきゆらです。

今回は、TeXで吐き出したPDFの目次などにアンカーを貼る方法を調べたので記録しておきます。

 

動機

ネット上からPDFをダウンロードしてくると、時々PDFないにアンカーが貼ってあるものがあります。

ページ数が多い場合はとても便利ですよね。

これを、自分の環境でも作るにはどうすればいいのか知りたくなったので調べてみました。

調べてみると、以下のページがヒット。

ハイパーリンク付きLaTeX文書 – 明治大学

ここを参考に見ていきます。

 

インストール方法

TeXは、便利なパッケージが豊富に用意されています。

ファイル内にアンカーを貼るためのものも存在するようです。

今回利用するのは「hyperref」というものです。

 

上記サイトから、hyperrefとPXjahyperをダウンロードしておきます。

TeXパッケージは、TeXがわかる場所であればどこにおいても問題ないようです。

今回は、「/usr/local/texlive/2018basic/texmf-dist/tex/latex/hyperref」に設置しました。

PXjahyperは「/usr/local/texlive/2018basic/texmf-dist/tex/platex/pxjahyper」に設置しました。

 

使い方

普通のTeXパッケージと同じように

\usepackage[dvipdfmx]{hyperref}
\usepackage{pxjahyper}

を追加するだけ。

これだけで、目次や文献参照部分には勝手にアンカーがついてくれます。

 

なお、アンカーがある部分の色に赤線が追加されます。

これに関しては、設定で好みに指定することができます。

設定項目に関しては、こちらに項目やデフォルト値が書かれていますので、適宜設定してください。

 

あえて強調したくない場合は、以下のような設定にしておくと良いかと思います。

\hypersetup{
setpagesize=false,
 bookmarksnumbered=true,%
 bookmarksopen=true,%
 colorlinks=true,%
 linkcolor=black,
 citecolor=black,
}

 

 

まとめ

今回は、TeXで作成したPDFにアンカーを設置する方法を調べてみました。

親切な人に感謝です。

 

 

おわり

Ruby

こんにちは、しきゆらです。

今回は、タイトル通りmysql2のインストールに失敗したのをなんとかする方法をメモしておきます。

 

環境としては、

  • Mac
  • Ruby2.6.0
  • Rails5.2.2
  • MySQL8.0.13

という状態。

 

普通にbundle installすると、エラーが。

Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/user_name/path/to/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/ext/mysql2
/usr/local/Ruby/bin/ruby -I /usr/local/Ruby/lib/ruby/2.6.0 -r ./siteconf20181231-27997-6j2jh2.rb extconf.rb
--with-ldflags\=-L/usr/local/opt/openssl/lib\ --with-cppflags\=-I/usr/local/opt/openssl/include
checking for rb_absint_size()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/Ruby/bin/$(RUBY_BASE_NAME)
/usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:552:in `try_link0'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:570:in `try_link'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:782:in `try_func'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:1069:in `block in have_func'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:331:in `open'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:331:in `open'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:357:in `postpone'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for'
    from /usr/local/Ruby/lib/ruby/2.6.0/mkmf.rb:1068:in `have_func'
    from extconf.rb:25:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/user_name/path/to/vendor/bundle/ruby/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/mysql2-0.5.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/Users/user_name/path/to/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2 for inspection.
Results logged to
/Users/user_name/path/to/vendor/bundle/ruby/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/mysql2-0.5.2/gem_make.out

An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  mysql2

mysql2のインストールに失敗したようです。

調べてみると、以下のような解決方法がいくつも提示されていました。

 

以下のコードを打ち込む。

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include

RailsにMySQLを導入したらかなりハマった件について – 大学生Webエンジニアの記録

 

調べてみると、どうやらbundlerにはgemをビルドするときにフラグやオプションを渡すことができる機能を持っているようです。

上記コードは、mysql2のビルドオプションを渡すコードのようです。

Build Options

You can use bundle config to give Bundler the flags to pass to the gem installer every time bundler tries to install a particular gem.

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config

Bundler: bundle config – Bundler Docs

 

似たコードが書かれています。

オプションを追加し、再びbundle install。

・・・エラー直らず。

 

途方に暮れていると、こんな情報が。

ログ見たら –with-cppflags オプションに対応してないとのこと。
ldflagsのみで実行してみる

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"

mysqlのbundle installに失敗する – Qiita

 

なんと、cppflagsはいらないようです。

実際、上記の設定後にbundle install すると問題なくインストールできました。

$ bundle install
...
Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Fetching pry 0.12.2
...

 

 

先人たちの体験談には頭が上がりません。

感謝です。

 

 

今回はここまで。

おわり

Electron,JavaScript

こんにちは、しきゆらです。

今回は、electron-builderというものを触ってみます。

 

私は、よく使うサイトをElectronアプリとして書き出して使っています。

ビルドはelectron-packagerというものを使い、時々Electronをビルドしていました。

先日久々にビルドしていると、エラーが出て動かなくなっていました。

正直、NodeやElectronについてはにわか程度の知識しかなく、更新情報なども追えているわけではありませんでした。

調べてみると、electron-builderというものもあるということで、今回はこっちの方を使ってみました。

 

簡単ではありますが、記録として残しておきます。

といっても、参考サイトをほぼそのままやっただけ。

参考サイトは以下です。

electron-builderでElectronアプリのビルド

https://qiita.com/nanairo24/items/73356574b0dc65c0e617

 

日記

こんにちは、しきゆらです。
今回は、BluetoothヘッドホンCOWIN E7を買ったので紹介します。

COWIN E7 ワイヤレス Bluetooth ヘッドホン 密閉型 高音質 内蔵マイク NFC搭載 ケーブル着脱式 30時間再生 ハンズフリー通話可能 iphone X PC Mac などに対応 ヘッドフォン

・・・今年の頭に、別のヘッドホンを買い紹介しました。
しかし、頭の部分にヒビが入ったことや、イヤーパッドの皮がはがれ始めたため、ひどくなる前に新しいものを購入した感じです。
1年ほどで買い換えるのとても大変・・・。
どう保存するのが正解なんだろうか。

それでは、見てみましょう。

Mac,Ruby

こんにちは、しきゆらです。

毎年、この時期はRubyの最新版リリースが熱いですよね。

ということで、早速環境を作っていきましょう。


Rubyは、Ruby3x3という目標のもと、高速化のための改良が続けられています。

今回は、高速化のための変更としてJITコンパイラが導入されました。

オプションとして–jitをつけると、JITを使って動作するようです。

詳しい更新内容については、以下を参照して下さい。

高速化以外の変更でよく使いそうなものとしては、「終端なしRange」の追加でしょうかね。

あとは、何気にCSVファイルの扱いも高速になっているようです。

さて、それでは実際にコンパイルしてみて、どのくらい早くなったのかを、簡単なベンチマークを取りながらみてみましょう。

Windows,日記

こんにちは、しきゆらです。

久しぶりの投稿ですね。気がつけば、11月が終わっていました。

今回は、サブノートPCのWindows機をHDDからSSDに換装したのでメモしておきます。

 

大学入学に伴って買ったWindows機。

今ではすっかり家でネットサーフィンや音楽再生、ゲーム機等、我が家の雑用機となっています。

単純な雑用ではほぼ不満はないが、ゲームやソフトのインストールなどをしようとすると、途端に不満が。

そう、遅いのである。

まぁ、すでに6年ほど前のPCですからねぇ。

HDDとしては、もう使い倒したと言ってもいいくらいではないでしょうか。

 

ということで、今回はHDDをSSDに換装してみます。

ちなみに、Windows機はこれ。Corei7を積んでいる方です。

 

今回購入したSSDはこちら。キングストンの 120GBです。

 

 

では、換装していきます。

 

Mac,環境構築

こんにちは、しきゆらです。

今回はGithubを使うための下準備の部分をメモしておきます。

 

主な内容は、以下の通り。

  • Githubとの連携のための公開鍵作り
  • 公開鍵の登録方法
  • ssh/configファイルの設定

 

公開鍵づくり

この部分は、Githubに限らずSSH接続するような場合によく行う作業なので、覚えておきたい内容ですね。

以下、全てMac環境で行っていきます。

 

以下コマンドで、鍵の生成を行います。

ssh-keygen -t rsa -b 4096

最低限rsa指定は必要です。

「-b 4096」部分に関しては、鍵のbit数になります。

このサイズは、簡単に言えば鍵の強度の部分になります。

参考

SSHでリモートホストに接続する前にやっておくと便利なことは? ssh-keygenコマンド – @IT

2017年版 SSH公開鍵認証で使用する秘密鍵ペアの作り方 – Qiita

 

今は2048bitがデフォルトで生成されるようですが、計算機性能が上がっているので高めに指定しておくと良いかと。

 

実行したときの流れは以下の通り。

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザ名/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

「Enter〜」の部分は入力を求められます。

面倒であれば3回何も入力せずEnterを押すと終わり。

 

重要なのは、一番はじめのファイル名。

デフォルトでは「/Users/ユーザ名/.ssh/」という場所にid_rsaとして生成されます。

しかし、複数の鍵を生成する場合は名前をつけて分けておく必要があるでしょう。

ということで、今回はファイルを「github_rsa」として生成しました。

 

これにて、公開鍵づくりは完了です。

 

次からは、作成した鍵をGithubへ登録していきます。