リハビリエンジニア

エンジニアリングのリハビリ中

【読書】読んだら忘れない読書術

<この本を読む目的> 読書が行動に結びつかない・読んでも身に入ってこないという現状を変えるため <心に残ったワード> 本は汚く読め 読書はスキマ時間にする 寝る前の読書が効果的 人間の脳は、「自分の能力よりも少し難しい課題」に取り組んでいるときに活…

さくらのVPSはじめてみた(PHPとMariaDBのインストール)

Wordpressを最終的には動かしたいので、phpとdbをインストールします。 参考: https://knowledge.sakura.ad.jp/9006/ 1.remi用の設定パッケージをインストール PHP7.1はCentOSの公式リポジトリには含まれていないらしいので、 どこかのバーチャルアイドルみ…

さくらのVPSはじめてみた(Apacheインストール)

前回でCentOS7をインストールしたので、今回はApacheをインストールしてみる https://knowledge.sakura.ad.jp/8541/ 1. yumの更新 まずOSを更新する上で、 yum update -y とする 2. apacheのインストール yum install httpd 3. http/httpsプロトコルの許可 C…

さくらのVPSはじめてみた(OSインストール)

今更ながら、初めてさくらのVPSを借りてみた(というか借りてもらった)。 以下は参考サイトを見ながら進めた自分の所感をまとめただけなので、 詳細を知りたい方は以下のURLをご覧になることをオススメします。 参考: https://vps-news.sakura.ad.jp/tutorial…

複数スクロールコンテンツがあるときの、ユーザーによるスクロールの制御

タイトルがものすごいわかりづらいですね。 要は面白法人カヤックのサイトのこのページ(https://www.kayac.com/news)。 「タグ」をホバーしてスクロールすると分かるのですが、 下のメインコンテンツのスクロールは止まっていますね。 このような細かいとこ…

PSDからフォントファミリーを抽出する

デザイナーからいただく.psdファイルにGoogleフォントが含まれていれば、 Google Fontsにおもむき、埋め込みコードを用意する必要があります。 その際いちいち使用しているテキストレイヤーの情報をみていてはとても時間がかかります。 github.com githubか…

nfcopyでNFCをやってみたんだぜ(1)

実験的にNFCを試してみたく、 RC-S380とFelicaを購入し、nfcopyのexample/tagtool.pyを動かしてみました。 一部ハマったので、それをメモに残しておきます。 基本的には、以下のURLを参考に追っていくだけで、 サンプルの実行までたどりつけるはずです。 htt…

CSS - フォントサイズの指定はremでやろう

CSS

久々にHTMLとCSSを書いている僕ですが、 今までfont-sizeの指定はお恥ずかしながら、全て%(またはem)で設定していました。(下のような感じ) <html> <body> <div class='child'></div> </body> </html> html { font-size: 16px; } body { font-size: 90%;//0.9em } .child { font-size: 90%;//0.9em } このときchi…

Photoshop - Photoshop CCでの画像の書き出し

Slicyを使ってスライスをするのが一番手っ取り早いなんて思っていたのですが、 PhotoshopCCにはさらに楽になる方がありました! レイヤー名に〜.png, 〜.jpgとつけるだけ ファイル > 生成 > 画像アセットをオン。 あとはレイヤー名につけたい画像名と拡張…

いまさらBower入門

Gulpでタスクも自動化したところで、Cocoapodsのようにライブラリも管理したくなった。 そのため、いまさらBowerに手を出しました。 Bowerとは? Twitter社製のフロントエンド用のパッケージマネージャー なにができるのか? ・ライブラリのインストール ・…

いまさらGulp(4)

そんなこんなで二日間Gulpfile.jsを調整していたのですが、 どうにか自分が納得いくGulpfile.jsができました。 'use strict'; var gulp = require('gulp'); var connect = require('gulp-connect'); var plumber = require('gulp-plumber'); var notify = re…

いまさらGulp(3)

3回目に引き続き、今度はsassのコンパイルをGulpに任せたい。 scssのコンパイル scssをcssに変換するには、gulp-sassというプラグインを使用します。 インストール npm install --save-dev gulp-sass gulpfile.js var sass = require('gulp-sass'); gulp.ta…

上からマリコ、いまさらGulp(2)

さあ1回目にひきつづき、Gulpにランしてもらうタスクを書いていきます。 やりたいことはいくつもありますが、まずはJSの圧縮と結合からやってみましょう。 はじめに gulpfile.jsは都度必要なプラグインをnpm install して、 node_moduleディレクトリにインス…

上からマリコ、いまさらGulp(1)

静的サイトジェネレーターもいいが、 やはりタスクランナーのほうが今回の案件にマッチしそうだったので、 しぶしぶ、いまさらGulpについて調べてみました。 Gulp.jsとは? Node.jsのStreamAPIを利用したビルドシステム。 ローカル環境で動くサーバーサイドJ…

静的サイトジェネレーターについて調べた(1)

仕事で久しぶりにサイトのコーディングに勤しむことになったので、 最近流行っていると耳にした静的サイトジェネレーターとやらに挑んでみた。 静的サイトジェネレーターとは? 静的サイトジェネレータとは、静的サイトを効率的に制作するためのツール。 好…

Swift - Swift2.0でもstringByAppendingPathComponentが使いたい

StringをNSStringに変換してあげれば使うことができます。 NSString(string: "hoge").stringByAppendingPathComponent("fuga") => hoge/fuga 参考: qiita.com

Swift - Dictionaryを保存する

サーバーからのレスポンスをキャッシュしたい時なんぞに、 こういったことが必要になることがあります。 NSDictionaryをNSDataに変換 NSDictionaryをplistに変換しても良かったのだけれど、 何故か私が渡すDictionaryでは、writeToFileがfalseを返すばかりで…

iOS - シュミレーター内のアプリディレクトリを確認する方法

NSFileManagerなんかでアプリ内ディレクトリに保存したものを確認したい時は、 以下のディレクトリを確認すれば良い。 /Users/(ユーザー名)/Library/Developer/CoreSimulator/Devices/(シュミレーターID)/data/Containers/Data/Application/(udid) Developer…

UIKit - tintColorについて調べた

本を読んでいたら、tintColorについて発見があったのでメモ。 単にUIの色を変えるという認識でした。 親のビューのtintColorを変更すると、子のビューのtintColorが変更される let parentView = UIView() let stepper = UIStepper() stepper.tintColor = UIC…

CoreGraphics - CGRect, CGPointが短形内にあるかどうかを調べる

短形A、ポイントAが短形Bの範囲内にあるかどうか、 調べるには以下のメソッドを使うようだ。 // 短形を調べる場合 CGRectContainsRect(rect1: CGRect, _ rect2: CGRect) -> Bool // ポイントを調べる場合 CGRectContainsPoint(rect: CGRect, _ point: CGPoin…

Swift - 文字列の計算式を計算する

"3+5/2"のような文字列の計算式の答えを求めるには、以下のように書きます。 let expression = NSExpression(format: $計算式文字列$) let result = expression.expressionValueWithObject(nil, context: nil) as? NSNumber resultには、正確な計算式であれ…

UIKit - TableViewCellの高さについて

しばしブランクが合ったので、UITableViewCellの高さの設定が以前とちがっていました。 忘れないようにメモる。 UITableViewCellの高さが一定ならば、UITableViewのrowHeightプロパティに入れるだけで良い。 let tableView = UITableView() tableView.rowHei…

UIKit - オリジナル画面遷移を作ってみる(1)

とっても今更だが、オリジナルの画面遷移ができる方法をしっておきたかったので、 テストがてら簡単なものをつくって自分なりにまとめる。 今回はモーダルで開くときの画面遷移をオリジナルにしたが、 同様のやり方でUINavigationControllerのPush/PopやUITa…

UIKit - セルの選択状態を無色にしたい

忘れていたのでメモがわり。 selectionStyleを.Noneに設定すればよし。 MyCell.swift override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) self.selectionStyle = .None }

Swift - 自作クラスをEquatableプロトコルに準拠させる

自作クラスである、以下の様なMemberクラスがあったとします。 class Member { let id: String let name: String init(_ id:String, _ name: String) { self.id = id self.name = name } } 同一人物かどうかを判断するために、 以下のように「==」や「!=」で…

UIKit - AutoLayoutを利用した高さ可変のTableHeaderViewをつくる

表題通りUITableViewのHeaderに高さ可変のHeaderViewをつくります。 TableHeaderViewの中にラベルか何かを表示させていて、 その文字列をレスポンスから引っ張ってきたりして設定するために、 高さを変えなければならない。そんな人向けの記事です。 まずTab…

UIKit - topLayoutGuide, bottomLayoutGuideとは

実はあんまり分かっていなかったので確認。 だいぶはしょって説明すると、 topLayoutGuideは、ステータスバーやナビゲーションバーなどの上部のUIを考慮してレイアウトするもので、 bottomLayoutGuideは、タブバーなどの下部のUIを考慮してレイアウトするも…

Swift - didSetでgetter,setterがシンプルに

willSet, didSetをあまり使っていなかったが、使ってみたら便利だった話。 「currentIndexはgetできる」 「currentIndexはsetすると、その数字を内部で保持し、あるViewの色が変わる」 というようなものを、willSet, didSetを知らない間こんなふうに書いてい…

Swift - クロージャを利用して初期化をすっきりする

viewDidLoadが肥大化するのは、可読性が悪くなるのでもう嫌だ。 そしてStoryboardを使うのはもっと嫌だ。 ということで僕も最近では流行りに習って、クロージャを利用してプロパティを初期化しています。 下のような感じ。 class ViewController: UIViewCont…

Swift - UIFlowLayoutに関するおさらい

UICollectionViewはよく使うんですが、 毎度毎度UIFlowLayoutクラスの「この値ってなんだっけ?」状態になるので書きだした。 layout.itemSize// セルの大きさ layout.minimumLineSpacing // 垂直方向のアイテム同士の間隔の最低値 layout.minimumInteritemS…