WEBエンジニア奮闘記

日々の業務から思ったこと、学んだことを書き連ねていきます。

プログラミング

Presentation about PWA at study group

はじめに A new way to deliver amazing user experiences on the web. とGoogleが提唱しているように、PWA とは、 より素晴らしいUX(ユーザ体験)を実現する新しい手法です。 主な特徴は次の3つ「Reliable(信頼性)」「Fast(高速)」「Engaging(エンゲ…

日記:2018-06-13 inputとthinkingとtranslate

今日やったこと PWAの勉強会用資料の作成 MDNの翻訳 詳細 1. PWAの勉強会用資料の作成 supporterzcolab.com まだ10%くらいなので、しっかり 6/28に間に合わせる。今回は20人越えそうな勢いなので、いつも以上にしっかりと準備していきたい。(いや、毎回やれ…

日記:2018-06-11 アルゴリズム問題にチャレンジ

今日やったこと 「【CTO meetup】UI/UXデザイン×フロントエンド開発」に参加 Hacker Rankの問題を解いた 詳細 1. 「CTO meetup】UI/UXデザイン×フロントエンド開発」に参加 flexy.connpass.com 懐かしい顔も何人かいたが、今日は全く知らない人3, 4人と話し…

日記:2018-05-28 小さくても1歩

今日やったこと riotjsの公式サイトの日本語ページのリリースノートを更新 詳細 リリースノート · Riot.js 所感 twitterでもつぶやいたが、久しぶりに「スキル不足」「技術力が足らない」「教えるリソースがない」とか言われた(3つ目からなんの話かは察し…

日記:2018-05-19

昨日(5/18)の日記は、仕事以外はホンマに書くことがなかった。強いて言うなら、移動とYYPHPの懇親会に参加したくらい。 なので書かなかった。 今日やったこと 5/20のIonic Meetupのスライド見直し rxjsの勉強 詳細 1. 5/20のIonic Meetupのスライド見直し …

日記:2018-05-17

昨日の日記のリンクを「所感」の終わりに移動してみた。そして、今夜のGoogleの勉強会だが、案件リリースのため泣く泣くキャンセルした。。行きたかった。 今日やったこと Flux, Reduxのお勉強 RiotControl の routing_demo を riotjs v3 で動作させた 5/22 …

日記:2018-05-16

←昨日の日記 今日やったこと node-sassでちょっとハマった nodejs の readline について勉強 riotx 詳細 1. node-sassでちょっとハマった github.com これ。macで docker 使って開発環境を建ててたんだが、node-sass のバインディングがおかしくてコケてた。…

日記:2018-05-14(遅刻)

←昨日の日記 遅刻ではない。大遅刻だ。 次の日の15時を超えとる。 まだ習慣になっていないということだな。 今日やったこと riotxの勉強 詳細 Riotx 紹介 · Riotx ひたすら↑見つつ、plunker で手を動かしていた。 所感 今日はちょっとぼやっとしすぎた。本読…

日記:2018-05-09

←昨日の日記 今日やったこと cmd-ranking バグ修正 v0.2.5 リリース riot-ecosystem の続き 詳細 1. cmd-ranking 昨日の日記でも記載した以下のパッケージ www.npmjs.com の「1つのコマンドにセミコロンが2つ存在すると、そのコマンドが取得できない」という…

日記:2018-05-08

今日からエンジニア 日記なるものを書いていこうと思う。 「ブログ」という枠で書こうとするから、続かなかったりハードルが高く感じるので、「日記」くらいに思えば続くのではないか。その日この人が何をしたのかもよく分かるし、後から振り返りやすい。マ…

SwiftでDB触るならRealmが無難そうかも

今まで一応本でも写経しながら手は動かしてきたが、とりあえず一つアプリを作ってみようと思い、 2018年になってやっと本格的にSwiftを触り始めた。 で、iOSアプリを作るのだが、「データの永続化」をするにはどうするか軽く調べたところ、 それ用のDBライブ…

Practices of directory composition using expressjs

せっかく仕事でNode.js(というかExpress)使ってるので、そこで実現場での使い方の例を参考にメモする。(そのまんまだとあれなので、加工済み) あと英語の勉強のため、何気にタイトルやらヘッダやらを英語にしています。 Anyway, directory structure ./ …

PHPでSimpleXMLElementをセッションでは保持できない

こんなXMLを受け取ってパースし、$_SESSIONで保持するとしよう。(分かりやすさのためインデントあり) <ROOT> <CUST>000123456</CUST> <BAITAI>hoge</BAITAI> <SHOHIN_MST> <SHOHIN> <NAME>ほげ</NAME> <CODE>55555</CODE> <PRICE>2500</PRICE> </SHOHIN> </SHOHIN_MST> <TAX_RATE>8</TAX_RATE> </ROOT> 1. simplexml_load_stri…

DIST.15 「アニメーションで差を付ける演出とデザイン」に参加してきたメモ

本日のお題 メインセッション マルチデバイス時代を生き残る演出術 インターフェイスとアニメーション 文字とアニメーションの幸せな関係 LT 実例で学ぶSSアニメーション 細かすぎて気づかないアニメーションクイズ大会 アセットのローディング、どうしてま…

「What the flux?」の翻訳

本投稿は以下の記事を日本語に翻訳したものになります。 (筆者の@jcreamer898氏に許可は頂いてます) jonathancreamer.com この記事は、Fluxについて物凄く分かりやすく書かれているので、「Flux難しい!」って言う方の助けになれば幸いです(*^^)v 以下、本…

東京Node学園祭2016のメモ

例によって例のごとく、今更投稿する。しかもほぼ編集なしのメモ。 今回(は?も?)海外の方が多数来られていて、物凄く刺激のある1日だったし、Node.jsって楽しい!と再確認できた勉強会だった。 Famicom programming with JavaScript 当時のスペックではf…

Riot.js(v3)のeachメソッドによるループ速度を計測してみた

はじめに Riot.js(以下riot)は非常にシンプルかつ軽量で敷居も低く、とても書きやすいコンポーネント指向のUIライブラリです。(ここまでテンプレート) v3がリリースされ、速度も改善されたとのことでしたので、検証してみました。 計測方法は、各ループ…

今年1年真剣にRiot.jsと付き合ってきたので振り返ってみた

Riot.js Advent Calendar 2016の1日目です!(初トップバッター!) 今回はあまりテクニカルなプログラミングの話はせず、基本ばかりなので、その点ご了承ください(笑) qiita.com はじめに Riot.js(以下riot)は非常にシンプルかつ軽量で敷居も低く、とて…

Riot.jsでデータバインディングっぽい実装方法

はじめに Riot.js(以下riot)は非常にシンプルかつ軽量で敷居も低く、とても書きやすいコンポーネント指向のUIライブラリです。(ここまでテンプレートにしたい) 今年の夏にv3.0.0が出てきたことで、さらに熱いので皆さん是非触ってみてください! ここか…

JavaScriptの即時関数の便利な使い方のいくつかをメモ

今まで使ってはいたが、こんな使い方もあるのかと感動したのでメモ。 ※そんなの当たり前じゃい!って内容だと思いますので、どうぞスルーしてくださーい 以下使い方例の一覧! 名前を強制させる jQueryとかprototype(もう使われることはないかな…)とか、い…

IEでliタグをドラッグしながら下にスクロールさせる小技

以下のようなhtml, cssがあったとき、任意のhogeをクリックしながら下の枠外までスクロールすると、Google ChromeやFirefoxだとスクロールしてくれますが、Internet Explorer(以下IE)だとスクロールしません。 実際には、liタグにmousedown, mouseupイベン…

webpack + Riot.js + jadeで開発環境を作った話

はじめに 今までgulpを使って自動で.jsやら.scssをコンパイルするようにしていたが、今回はよく耳にするwebpackを使って開発環境を作ってみたお話。(最近触り始めてかなり気に入っている) もちろんgulp-*モジュールをフルに使えばできることだが、webpack…

続・ブラウザで別タブ・別ウィンドウを開いたことを検知する方法の問題点

はじめに(完全に余談) 本投稿は、ちょっと前に書いたブラウザで別タブ・別ウィンドウを開いたことを検知する方法という記事の続きと言うか補足になる。実際の現場では、前回書いた内容だけではほぼ使えないと思う。具体的には、ブラウザ(IEとかSafariとか…

おそらく業務で使うであろう正規表現集め(※JavaScriptを使用)

はじめに ちょこちょこ正規表現を業務で使う(例えばバリデーションチェックのためとか)が、 そのたびに勉強しないとなーと思って特に何かしたわけではなく、気付いたら数年経ってしまったので、 一応勉強したという実績を残したかったのでこんなブログを書…

ブラウザで別タブ・別ウィンドウを開いたことを検知する方法

前置き 今やっている案件(既存ECサイトのリプレイス)で実装した機能に ユーザがブラウザで別タブ・別ウィンドウを開いて商品を検索 各タブ・各ウィンドウでの検索条件を維持 (つまりそれぞれの画面でのセッションを維持) 今の画面の複製も同様に維持 と…

Riot.jsのタグのライフサイクルについてのメモ

公式ページにタグのライフサイクルについてこう書かれている。 A tag is created in following sequence: Tag is constructed Tag’s JavaScript logic is executed HTML expressions are calculated and “update” event is fired Tag is mounted on the page…

Riot.jsで変数の値によってhtmlタグに別のクラス名を付与する方法のメモ

まえおき 分かりにくいタイトルじゃの(笑) 例えばmount時に渡された変数の値を取得したり、ajaxでAPIから何らかのデータを取得し、 その結果の値によってpタグのクラス名を別々に付与したい時ってあると思う。あるよね? ほいで、それをRiot.jsだとどう書…

Riot.jsでAjaxを使った非同期通信について

はじめに 現在あるプロジェクトで、JavaScript界隈では一時期話題になった(*1) Riot.jsで開発をしている。DBとのデータのやり取りを全てAPI化しているため、APIに非同期に通信しているのだが、ちょっとコケたので(*2)備忘録として書き残す。 開発環境な…

CodeIgniterを約半年使ってみた感想など

@sakaki さんにハッパをかけられたので、約束通りCodeIgniterについて書く! @sakakiさんのブログ記事にも自分の拙い投稿を取り上げていただいた(その記事はこちら)ので、 ちゃんと約束は果たさんとね(*^^)v ※タイトルの「約」の文字は半年過ぎたら消しま…

アルゴリズム問題 ~本の延滞料金~

問題 今回の問題はこちら。 本の返却日と返却期限から延滞料金を計算する というもの。 ルールはこちら。 返却日と返却期限の文字列配列を渡される 日付の文字列はdd mm yyyyの形式(半角スペース区切り) 返却期限を過ぎていなければ、0円 年・月が一緒であ…