2018-01-01から1年間の記事一覧

データを保存できるWebAPIを作ったら楽になった

php

最近は無料で使えるナントカ as a serviceが増えてきて、サービスを簡単に作れるようになって楽しい 例えばロジックはheroku + javaで堅牢に作れるし、定期実行はgoogle apps script(以下、GAS)でできる あと足りないのはデータストア てことで自分の身の回…

PHPで1970年からのミリ秒を取得する

サーバサイドをPHP + SQLiteにしてフロントをjavascriptで作るなら、日時はlong型で1970年からのミリ秒にしておいた方が良さそう でもPHPの標準関数でその値を取得する方法がなかったのでメモ 使えそうなものが2つ見つかった 現在日時から取得 $t = (int)flo…

【問題】ゼロ埋め

入力エリアのTODOの部分にプログラムを書いて、下記にある入力に対する出力条件を満たすようにしなさい function zerofill(a, b) { // TODO 実装する。returnするのをお忘れなく } 入力に対する出力条件 入力a 入力b 出力(return) 3 1 '3' 4 2 '04' 5 3 '005…

【問題】サイクルする数字

入力エリアのTODOの部分にプログラムを書いて、下記にある入力に対する出力条件を満たすようにしなさい function exec(num) { // TODO 実装する。returnするのをお忘れなく } 入力に対する出力条件 入力(num) 出力(return) 0 0 1 1 2 2 3 0 4 1 5 2 6 0 7 1 …

javascriptでHello World

新年度が始まって「プログラミングが勉強したい!」て話をよく聞くので、javascriptを書いて実行するまでについて書きます エディタを用意する おすすめはVisualStudioCodeかatomです 好きな方を選んでください Visual Studio Code - Visual Studio Atom コ…

Springのcomponentをライブラリとして公開する方法

最近ライブラリ作りをたくさんやってます そこで作りたくなるのがcomponentのライブラリ 今日はその作り方を紹介します 以下、gradleで作ることを前提で話します 辛み:普通に作ると問題がサイレントに起きる ライブラリを作る上で少し注意すべきことがある…

mavenリポジトリにローカルディレクトリを指定する

repositories { mavenCentral() // maven { url 'file://path/to/maven/dir' } } しらなかったー。

仕様書の表をそのまま書くenumテーブルパタン

最近のenumはただ値を列挙するだけでなく、フィールドやメソッドを持てることが多いです そうゆう機能を最大限にいかす方法としてenumテーブルパタンを紹介します たとえば各商品の原価に対して値段を決める仕様があるとします 仕様書はこんな感じ 商品と値…

github projectsからバーンダウンチャートを作る 調査編

自力でバーンダウンチャートが作りたいなと思ってAPI仕様書を読んだのでメモ GitHub API v3 | GitHub Developer Guide 認証 方法はBASIC認証と認証トークンの2種類ある BASIC認証 もはやcurlの使い方だけどとりあえずメモ curl -u "username" https://api.gi…

スクロールするとメニューがでるやつ作った

最近のサイトでよく見るやつ ライブラリが欲しかったけど、検索ワードがわからなかったり、jquery依存だったりでイイのが当たらなかったので自作しました コード ある要素が画面外に出たら通知するスクリプトです 使い方と動作 See the Pen menu by なおしむ…

IF仕様書にない値を受け取ったときに耐えるデザインパターン

外部とシステム連携する場合、必ずIF仕様書を作成します そこでよくあるのがenum値 例えばアンパンマンに登場するパンだったらIF仕様書には パン: アンパン | 食パン | カレーパン と必ず書いてある ただ先方から急にIF仕様書に無い値が連携されてくることが…

【gradle】デフォルトのjarを自作のjarに差し替える

自分で設定をカスタマイズしたjarを生成したい 公式ドキュメントによると、自作jarのタスクを作って、それをartifactsで登録すればOKのようですが、それだとデフォルトのjarも作られ、成果物が2つになってしまう... なのでデフォルトのjarは削除するようにし…

【js】FetchAPIってのがあるらしい

ajaxといえばXMLHttpRequest でも直接触りたくないからそれを使うためだけにjqueryを入れる でもそれだけのためにjquery入れるのは辛いのでaxiosを入れてみる でもaxiosはまだv0.18だしなぁ じゃぁXMLHttpRequest直接触る? うーーん いつも↑このループに入…

silexをインストールする方法

php

どうも このブログもHTTPS化されました! よかったよかった 今日はsilexのインストール方法についてのメモです 毎回ググってやってるので、いい加減メモを残します composerをDLする プロジェクトディレクトリ配下でこれを実行 curl -sS https://getcomposer…

ServiceWorkerでsvgを書き換えるメモ

twitterLiteのようなプログレッシブウェブアプリが作りたいのでServiceWorkerを使ってみました 面白いけど、ちょっと癖があるのでメモ とりあえずProxyが面白そうなので今日はそのサンプルを載せます そもそもServiceWorkerて何? 正しい説明はググってくだ…

【英語】pythonのlen()の説明

英語でドキュメントがかけるようになりたい そんな人のための練習課題です 問題 下記はpythonのlen()をgoogle翻訳で日本語にしたものです 日本語を英語にせよ オブジェクトの長さ(アイテムの数)を返します。 引数は、シーケンス(文字列、バイト、タプル、…

jsonschemaジェネレータを作ろうと思った

jsonschemaはつらいよ たとえばapiのレスポンスがこんな感じだとします 正常 { "status": { "code": 200, "message": "ok" } } 異常 { "status": { "code": 500, "message": "internal server error" }, "errors": [ { "error_type": "unknown_error", "erro…

ブログ内にmermaidの画像を表示する実験

markdownで <div class="mermaid"> graph LR A --> D B --> D C --> D </div> て書いたらこの部分がmermaidで表示されてほしい デザインのフッターでmermaid.jsを読み込むだけ 意外に簡単だった 結果 graph LR A --> D B --> D C --> D ↑ちゃんと出てる あーースマホだとでないー

mermaidを非同期で読み込む

UMLを書くツールのmermaidがすごくいいのですが 使ってると共通部品を別ファイルとして外だししたくなってきます そうなるとajax等で動的に読み込む仕組みがほしくなります ただmermaidのデフォルトだと HTMLがreadyになったタイミングでパースとかの処理が…

UMLを書くならmermaidがおすすめ

UMLを書くときはPLANTUMLを使っているのですが レイアウトを思ったように配置してくれなくてイライラします

糖質制限に飽きる

2月に入ってから始めた「お昼だけ糖質制限」は今でも続いてます 基本的には弁当を持参してますが 弁当がない日はコンビニやスーパーに買いに行きます 商品を糖質の少ない食べ物に絞ると、レパートリーが少なくなってしまって苦労してます 今日も弁当がない日…

vavrからEitherだけ抜き取りたい

サーバサイドkotlinを始めました 今まではjava8 + lombok + vavrだったのをkotlinに変更 サンプル作ってみたけど、変なハマりポイントもなく快適に開発できた 個人的にはjava界の黒魔術ことlombokを撲滅できたことに満足していますw ただし、vavrについては…

Optionalを使うとカバレッジ率が上がる!

カバレッジ率について実験してみる カバレッジ率が微妙なコード まず例題としてこんなコードがあるとする Hoge.java public class Hoge { public static String getOrNull(String str) { if(str == null) { return "null"; } return str; } } HogeTest.java …

型をoptionalに変えてバグった

テストのないコードに変更を加えたら動かなくなった あるある感があったのでメモ javaは「型があるから安心」ではない 元のコードはこんな感じ public class SampleEntity { LocalDate date; ... } EntityがLocalDateを持ってる これを仕様変更でOptionalに…

コードレビューをパタン化した

いくつかのプロジェクトを掛け持ちでコードレビューをしていると レビューにムラがでるので自分なりにパタン化しました レビュー観点に従ってレビューする レビュー観点 機能の目的が正しいこと 実装が機能を満たすこと デグレがないこと 今すぐリリースして…

考えたこと毎日記録に残す

年末くらいから自分が今までやってきたことを振り返って体系化しようって機運が高まってます そのためにまず普段考えてることを毎日記録しようと思って年明けから続けてます 今日はそのやり方を共有します 記録の仕方 google docsに適当なファイルを作り、そ…

一度手に取ったものを戻すのが嫌いおじさん

低糖質な商品を探すのが結構辛いなと感じたのでメモ スーパーにおける低糖質おじさんの思考プロセス 糖質制限をするには商品に含まれる糖質を確認する必要がある そのために手に取って商品の裏側に書いてある表記を確認する そこで糖質を確認して多かったら…

糖質の低い昼飯を探す

糖質目標30gの昼飯を探しにイオンいってきた。 pascoの低糖質ブレッドブランのパッケージに「糖質11g」て書いてあるから買ってみた。 あと飲むヨーグルトも。 で、食ってる最中に気づいたのがパッケージの表記はパン1個分の量だってこと。 買ったのは2個入り…

糖質制限をしてみよう

アラフォーになって太り始めたので糖質制限でもしてみようかと。 その前に今の摂取量を計算してみた。 ある日の食事 朝: 食パン+ジャム = 27g + 13g = 40g 昼: 和幸のロースカツ弁当 = ご飯多め + カツ = 55g x 1.5 + 10g = 92g 夕: クリームパン 30g 夜: ご…

【問題】コメントアウト

プログラミング言語になくてはならないのがコメント。 たとえばjsの場合はこんな感じ。 今日はこれを実装してみましょう。 問 スラッシュではなくパイプ(|)を使った独自のコメントアウト機能を実装せよ。