かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

CSSで三日月を描く

三日月は地球の影が月に重なってできています。なので、CSSで三日月を描くには同じように月になる円形の上に背景色と同じ円形をずらして重ねればOKなのですが、これでは背景がパターンだったりすると困ります。
月部分以外が透過になっている三日月をCSSで描く方法を考えました。

サンプル

See the Pen CSS CRESCENT MOON by KIKIKI (@chaika-design) on CodePen.

1. borderを使って描く

border-radiusで作った円形の中にborderの円を作り、これをずらして不要な部分をoverflow:hiddenで隠してしまう方法

.moon
  position: relative
  display: block
  margin: 2rem
  width: 10rem
  height: 10rem
  background-color: transparent
  border-radius: 50%
  overflow: hidden
  &:before
    position: absolute
    content: ''
    display: block
    top: -20px
    left: -45px
    width: 10rem
    height: 10rem
    border: 30px solid $moon-color
    border-radius: 50%

borderの円の位置をtopとleftで調整して三日月にするのですが調整が少し難しいです。

2. box-shadow を使って描く

border-radiusで作った円形の内側にbox-shadowを使って描く方法

.moon
  display: block
  margin: 2rem
  width: 10rem
  height: 10rem
  background-color: transparent
  box-shadow: inset -12px 5px 0 3px $moon-color
  border-radius: 50%

こちらの方がシンプルで描画やアニメーションを付けるにも調整しやすい感がありました。
box-shadow サポート状況


f:id:kikiki-kiki:20170613072232g:plain
全く関係ないけど、LGTMが透過で付けれるサービスが欲しい…
練習がてら自分で作ろうかな。

おうち用 NEW マシンをセットアップしたお話。

家族が使ってるマシンが古いせいか遅すぎてストレスがあると言うことだったので、新しいマシンを見繕いました。

  1. ちょっとしたWEB閲覧くらいでしか使用しない
  2. 起動などの動作が軽快であること
  3. 持ち運びが簡単だと良い
  4. 老眼になってきているので拡大できると良い

上記の条件から、新しいiPad (第5世代) を導入してみることにしました。(新しいiPadお安いですし)
f:id:kikiki-kiki:20170530135144j:plain
こんな感じです

自宅使用でのメールなどはやはりキーボードの方が書きやすいので、Apple純正の1つ前のキーボード(MC184J/B)を導入。JIS版でもBluetooth接続でiPad (第5世代) で問題なく使用できており、英数・かな キーでiPadの入力言語を切り替えられるのでMacのUSキーに慣れて無くても使用することができます!(最新のMagic Keyboardは上下キーが打ちにくいので、使わなくなったらこのキーボードは僕が貰おうと企んでる)

また、外出時でも使えるようにSIMフリー版にして、DMM mobileの1Gプラン(月額500円程度)を入れています。
DMMのプランはその月に余った分が持ち越しできるので、ほぼ自宅使用なら1Gでも十分ですし、なによりランニングコストが格安なので助かります。
SIMフリーで使えるセルラー版はAppleのストアでしか購入できないという点だけが少しメンドーでした。

現状はiPadスマートフォン的な使い方への慣れの問題で戸惑う部分もあるようですが、起動の速さや、設定で最初から大きな文字にできたり、WEBページを拡大できたりする部分での満足度は高いようです。
それと、自宅の机上で使うときとかに高さが出せるスタンドが、覗き込む姿勢になったり、片手でずっと持っておかなくて済むので楽で良いと好評でした。
 
今回やりたい事や今までPCでやってた事を聞いて、iPadを導入してみて使っているのを見ている限り、ネットとかあまり詳しくない家族がPCでやってた範囲のことはタブレット端末で出来ることで十分なように感じました。
個人的にラップトップとかデスクトップとかは、特にマウスとかは将来的にはプログラマとか研究施設とか特殊な仕事の人が使うものになっていって、タッチペンでノートのように使えるタブレットが一般家庭や事務職とかで使われていくようになるんじゃないかなぁ〜なんて考えてましたが、改めてそうなっていきそうだなって思いました。
(それより、Facebookでよく見る人のページをブラウザでブックマークしていたのを、「Facebookでブックマークしたからアプリでもブックマークしたの見れるはずだ!」とか言い張られた時にはビックリしました。ブラウザ自体の機能と、そこに表示されているWEBページ・WEBアプリ内の機能の違いを理解してないって結構あるんだろうなぁ〜って学びになりました。  

以下 今回導入したモノのリスト。

SIMフリー版 (セルラー版) は今の所Appleでしか取り扱ってないらしい…

Apple Wireless Keyboard (JIS) MC184J/B

Apple Wireless Keyboard (JIS) MC184J/B

個人的に上下キーがこちらの方が使いやすいという理由で導入。
JIS配列の英数・かなでiPad(第5世代)の入力言語の切替可。

iPadを縦・横置きできるスタンド。
常にiPadを持っておかなくて済む・机の上において覗き込む姿勢にならなくて済むという事で好評。
付いてる粘着シートはかなり強力。粘着シート使わなくても結構安定してます。

保護シート。
シートというよりガラス板だったけど、貼る用のガイドも付いていて大きな画面でもズレずに貼ることができた。(予備シートは無し)
ただ、厚さがそれなりにあるのでタッチパネルの反応は少し悪くなってるかもしれません。

iPad (第5世代)はnano SIM。
データ持ち越しプランは凄い!
(後はDMMが2段階認証と複数の決裁カードを登録できるようになるととてもありがたいです…)

なぜかAmazonでDMMのSIMが売っていて、ここで買うと初期手数料が掛からないらしいですが… 試してないので真実や如何に?

Node.js npm 自分でインストールしたパッケージ名だけをリスト表示したい

npmでglobalにインストールしたパッケージが何だったか忘れてしまうことがよくあります。
プロジェクト毎にインストールしたものならpackage.jsonを見れば済むのですが、globaにインストールしたパッケージを見る時はコマンドでリスト表示する事が多いと思います。

globalにインストールしてあるパッケージは下記コマンドで見る事ができます。

$ npm list -g

ただ、このコマンドでは依存関係のパッケージもずら~っと表示されるので、自分でインストールしたものが分かりにくいです。

--depth 0 オプションを使う

--depth 0 オプションをつけると、依存関係のパッケージを非表示にした第一階層のパッケージ名だけが表示されるので、自分で何をインストールしたか判り易いです。

$ npm list -g --depth 0

愛の夢~リスト:ピアノ名曲集

愛の夢~リスト:ピアノ名曲集