えむけいのWeb Memo

iPhone、iOSアプリ開発、健康、社会に関するブログです

hugoでのWebサイト構築サイトメモ AWS S3

とある美容師からwebサイトの構築を依頼されていて、 仕事でもAWS使ってるからS3で構築をしようとしている。

静的サイトジェネレータとして、 Hugoを利用。

いろいろWebサイトを参考にしているので、 今後の自分のためにサイトリンクを貼っておきたい。

こんな感じのことがしたい。 Hugo + S3環境に移行した(インストール編) - fixture.jp

AWSのEC2から、S3へコピー。 Webサーバはapacheかな。

実際に公開するには以下のリンクが参考になりそう。

www.slideshare.net

デザインは自信ないので、 次のテンプレートを利用している。

github.com

追記 1 コマンド S3にアップロードするpublicのファイルは以下のようにして生成。

hugo server -t <テーマ> --appendPort=false -w --disableLiveReload -b <ホスト名>

オプションをつけないと、デプロイした時にうまく動作しなかった。 この辺の調査はもうちょっと勉強してから。

2 S3にAWS consoleでファイルアップロード後、ディレクトリの削除ができない。   適当にバケットを作って、「切り取り」「貼り付け」で代用。   awscliなら上手いやり方があるかも。

ハッシュから再帰的にデータを取得して配列を作るクソサンプル

こんにちは、今日はrubyやります、えむけいです。

はじめに

プライベートではiOS開発でswiftを使いますが 仕事ではJavaRubyを使います。 といってもRubyは達者なわけでも全然なく、 本は読みました程度。こんな本。

Kindle版でなければ第5版あったのか。。 この間、第4版買ってしまったわ。)

今日はタイトル通りのことが可能なツールを作ったので ソースをのっけておきます。 気をつけないとC言語みたいに手続き的に書いてしまうので 自分が思うRubyらしく、できるだけ1処理ワンライナーで書いてみました。

ソースコード

部署名に上司部署名を追加していくクソコード

私的コーディングポイント

  • メソッドを定義して再帰的に呼び出している
  • map, injectなど配列操作のメソッドを利用している。ここがRubyらしいところと思っている!
  • file操作はクローズ漏れがないようブロックの中で実施

おわりに

思うところがあり、今後もRubyで作ったソースは順次のっけて ポイントを解説することにします。 やっぱ最初はなれず手続き的に書いてしまいますが、 できるだけ載せるときはリファクタリングして紹介します。 それでは!

参考URL

Illustratorでイラストを書く際ためになる良記事の紹介

はじめに

こんばんは。絵心持っていません、えむけいです。

iOSアプリを開発する際、自分でVector系アプリのSketchで 絵を描いたりしますが、すっごく苦手です。

というか、ぐぐってもよく分からない。 用語が。。

そんなことを漏らしたところ、 ありがたい情報をいただきました。

覚えておきたいのでメモ。

参考情報

すべて以下のリンクに書いてます。

Illustratorによるイラスト制作の基本操作

うーん、結構大変そうだ。

以下、大事な点なので引用。

基本の幾何学図形ツールで図形を組み合わせで大半のイラストを描くことができます。

おわり

基本的な書く流れはわかりました。 まあけどアプリ開発が主体なら、 もうちょっと簡単に図形の組み合わせで描けるレベルでまずスタートですね。

徐々に複雑な絵を描けるようにしていきましょう。

大丈夫。

パワポで絵は結構書けるし、 それよりはましやろw

それでは。

Swiftの数値 -> 文字列0埋め変換が簡単

はじめに

プライベートではiOS開発しております。 またまたタイマー関連のアプリを作っているのですが、 時間表記に数値を文字列に変換して、固定のフォーマットになるよう 0埋めすることが多々あるので、メモします。

実現方法

let startTime = NSDate.timeIntervalSinceReferenceDate()

//3秒待つ
NSThread.sleepForTimeInterval(3)

let time: Double = NSDate.timeIntervalSinceReferenceDate() - startTime

let hour :Int = Int(time)/3600

let min :Int = Int(time)/60

let sec: Int = Int(time)%60

let msec: Int = Int((time - Double(sec)) * 100.0)

let timeStr = NSString(format:"%02d:%02d:%02d:%02d", hour, min, sec, msec) as String

実行結果はこんな感じ。

"00:00:03:01"

おわり

このメソッドはformatのあとで指定している"02d"みたいなところで 他の用途でも利用できそうなので、またちょっと調べてみます。

MarsEditではてなブログにMarkdown記法で投稿する方法

Markdown記法、最高です。えむけいです。

はじめに

最近、Markdown記法を始めました。 きっかけはQiita + kobito。

Qiitaの方にも記事を投稿することがあるのですが、 kobitoを利用してMarkdownで投稿してみました。

なにこれ。。すごい書きやすい。。

なにがって、H1タグ、H2タグが#や##で利用できるところ。 見出しは今まで利用するの面倒で利用してきませんでしたが、 やはり段落分けすると読みやすいし、 書き手も理解しやすい。 ということでMarkdown記法に絶賛はまっております。

MarsEditは昔、wordpress触ってた時に購入しましたが、 やめたあと、ずっとインストールされっぱなしでもったいなかったので ひっぱりだしてきました。

この時のために眠っていたんやで。

設定の概要

そんなこんなで本題です。

そのままMarsEditを利用していると、 Markdownでは記載してもプレビュー機能使えないし、 投稿してもMarkdownが反映されません。

ということでMarsEditとはてなブログ側の設定が必要です。

はてなブログの設定

はてなブログの管理画面で設定を選択します。

f:id:runmk:20160130002515p:plain

Markdownモードを選択して、更新します。

f:id:runmk:20160130002533p:plain

おわり!これでMarkdown記法で記載した内容ならその通り反映されます。

MarsEditの設定

MarsEditのメインの画面から上部メニュー - Blog - Edit Settings...を選択します。

f:id:runmk:20160130002552p:plain

Editingタブ - Preview Text FilterでMarkdownを選択し、OKボタンをクリック。

f:id:runmk:20160130002602p:plain

設定はこれで終わりです。

最後に

設定後は必ずDraftを最初に投稿して、 ただしく送信できているか、Markdownが表示できているかを確認してください。

現在わかっている注意点としては、 画像のアップロードはMarsEditからはてなブログ方向がものすごく遅いです。

全然待っても終わらなかったので、 手間ですが、一度Draftでアップロード後、 用意した画像をはてなの管理画面で貼り付けるというめんどうなことをやっております。

ちょっと画像は難儀ですが、 テキストは書きやすいのでしばらくこれで進めます。

それでは。

資料の納品前にかならずチェックしたほうがいい4点

エンジニアらしくmarkdown記法ではてなブログを書きはじめました、 えむけいです。

背景

1月末に一つ仕事が納まります。 具体的に言うと、一つのシステムの要件定義が完了します。 それに伴い、資料を客先に納めるのですが、 気づきがあったのでメモ。

納品前に確認すべき点は4つです。

表記揺れ

いろんなところで同じ意味の言葉なのに 言い回しが変わっている点です。

たとえば、業務サーバといったり、 業務用サーバといったり。。

こういったところは統一するようにしましょう。

改ページ

Excelの話です。 改ページが不自然な箇所で行われていることがあります。 たとえば、最終ページなのに最後の1行のみ次のページになっていたり。

少なくともExcelの場合は、改ページの箇所は見直すようにしましょう。

表の罫線

Excelで表を作成することは多いと思いますが、 改ページ+罫線を利用していると、 改ページの青いラインで罫線の見落としがあることがあります。

改ページプレビューから標準に変更して チェックしましょう。

印刷して全ページの確認

納品物は全て印刷して確認しましょう。 顧客によっては印刷して利用することもあり、 印刷しないとわからない間違い(ヘッダーフッターの文字など)は 事前に修正できるはずです。

またPDF化した場合は特に印刷して確認しましょう。

ExcelからPDFにした際に 少し印刷範囲が変更されることがあります。 (今回私はこれでやられました。。)

最後に

地味な作業ですが 納品前の最後の作業として時間をとって確実に行いましょう! しょうもないことで顧客の信用を失うのは とてももったいないです!

それでは。

Amazon Prime Nowのいけてないところ4点

Amazon大好きっこのえむけいです。

最近話題のAmazon Prime Now。
なんと注文してから1時間で配送してくれるというすごいサービス。

http://www.amazon.co.jp/b?node=3907674051

プライム会員なのでちょっと使ってみよう!と思いましたが、
結局やめました。

いけてない点を4つご紹介。

iphoneアプリでのみ利用可能

iPhoneのみに最適化されたアプリで利用できるようです。
つまりiPadiPhone用のアプリを利用することになるため、
画面サイズが大きすぎて見づらい。。

androidamazonはユーザではないので分かりません。

配送エリアが限られている

2016/01/23 現在東京都8区2市・神奈川県川崎市4区の地区でのみ利用可能だそうです。
他のエリアにお住いの方は利用不可です。

商品が少ない

これは予想外でした。
ただアプリを利用した感じで予想するとこのような流れで1時間配送を実現していると
考えられるため、しょうがないかも。

1. アプリ使用時に郵便番号入力
2. Amazonアカウントでログイン
3. 買い物開始

おそらく、配送センターが上記配送エリアにそれぞれ存在していて
ユーザはその配送センター内の商品から選択可能という予想。

そのため、普通にAmazonで検索するよりも選択できる商品が少ない。

私の場合、Amazonでビール箱買いをしたかったのですが、
ビールの24ケースは売っていませんでした。
これは痛すぎるPrime now!

2500円以上まとめ買いをしないと購入不可

1時間配送 + Prime会員だと配送料無料のため、
この金額以上のみ対応しないと元がとれないのでしょうか。

ビールだと1個や6個なら売ってましたが、
それだけだと2500円には届きません。。

えむけいはこう思った

Prime Nowで利用できるシーンとしては
日常の細々したものを配送してもらうパターンでしょうか。
日用品、乾きものをまとめて注文する場合は、
Prime Nowは良さそうです。

寒いけど、スーパーいってビール買ってこよう。。

おわり。