WEBエンジニア奮闘記

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

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アニメーション 細かすぎて気づかないアニメーションクイズ大会 アセットのローディング、どうしてま…

Showerを使って作ったスライドをPDF化

背景 最近、人前で喋るスライドを作るツールとしてShowerを使わせていただいている。 マークダウンで作れるのは嬉しいが、困るのがスライドをSpeaker DeckやSlideShareでの共有、つまりPDF化だ。 軽くググったところ、今回は以下のライブラリを採用! github…

社内ワークショップを行った時の振り返りと反省

社内でJavaScriptに関するワークショップを行っている。 npm gulp, webpack ES2015 テスト Node.js Socket.io, Express をやる予定。 まだ全てはやっていないが、やっていく中で色々見えたこと・分かったことがあったので、忘れないようにメモする。 (※後で…

当たり前だが、ちゃんと休息をとろうよって話

この手の話は枚挙に暇がないですが、書きたくなりました。 タイトルには書いてないですが、自分がプログラマー(WEBサイト、ECサイト開発がメイン)ですので、 (広義の)エンジニア目線での休息について、の話になります。 休息の種類 文字通り休むことなん…

会社という場を利用して、良い環境を作る

ウチの会社のメンバーはあまり社長に要望を言わない人が多い。自分は逆で、ちょこちょこ要望している。 たとえば、 欲しい本があるので購入してほしい この前は発表用の自立式スクリーンを購入してほしい 本棚がいっぱいになったからなんとかしてほしい 集中…

「ピザのトッピング」と「天ぷら蕎麦」を例に「食品」に群が定義できるか?

自分の尊敬する技術者であるYusuke Saito氏が、先日Facebookで以下のようなことを呟かれてました。 www.facebook.com これがピザの話かと思いきや群の話で、驚きもあったがめっさ面白い話だったのでご紹介w ※以下、引用文の記号や字の大小などは多少変更させ…

「What the flux?」の翻訳

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

「【座談会】Web Components時代のCSSデザイン」の参加メモ

かなり面白くかつ刺激的な座談会だった!以下のメモはだいぶ雑記。間違い + 誤認もあるとは思う。(componentとコンポーネントが混在している、なども) アジェンダ ベストプラクティスを探りたい Web Componentsはこの先避けては通れない CSSデザインの過去…

読書メモ「ハッカーと画家」

だいぶ前に読了はしてたけど、会社に置いておくためにいったん手元から離すのでブログに書く。 今回読んだ本はこちら↓↓ ハッカーと画家 コンピュータ時代の創造者たち作者: ポールグレアム,Paul Graham,川合史朗出版社/メーカー: オーム社発売日: 2005/01メ…

東京Node学園祭2016のメモ

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

CodeIgniter4-dev(Vagrant, CentOS7, Nginx, MariaDB)の開発環境を作ったメモ

To. 未来の私 おそらくあなたはこの記事に再び訪れるでしょう。 そのために書き残しておきます。 過去の自分に感謝しなさい。 本題 CentOS7のインストール # boxの追加 $ vagrant box add centos71 https://github.com/CommanderK5/packer-centos-template/r…

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

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

機械学習のための数学 〜微分・偏微分の計算, 勾配降下法(最急降下法)〜

前回にも「機械学習」と書いてますが、正確には単純パーセプトロンのための数学のスライドとなります。ですので機械学習全般に通ずる数学とはいえない部分もありますので、ご了承下さいm( )m はじめに 今回はタイトル通り、今回は微分・偏微分の内容がメイン…

機械学習のための数学 〜1次方程式と線形変換, マージンの距離〜

本投稿は機械学習に必要な高校数学やり直しアドベントカレンダー Advent Calendar 2016の12日目です! 近年、機械学習が物凄く話題になっており、それに付随して数学を学ぼう!っていう流れも出てきているので、数学好きな私としては嬉しい限りです。 はじめ…

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

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

エンジニアのモチベーションについて

はじめに 2016年11月8日現在、自分がアサインされた案件がかなり大炎上している。 燃えている要因を数えだしたらキリがないが、大きなものでも5つはある。 それはお客さんにもあるが、チーム内(というか上司がデカい)にもやはりある。 そんな中(自分も含…

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

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

AWS Summit「タウンワークにおけるサーバレスアーキテクチャデザイン」に参加してきた

AWS Summit Tokyoに参加してきた記事の第五弾!今回はお二方の共同発表で、Amazon Lambdaについて色々お話があったので、 個人的には凄く楽しかったし勉強になった。会社ではマーケティング部に所属されているけど、ガッツリエンジニアのお仕事をされていて…

AWS Summit「クラウドネイティブにセキュリティを活用する!APIを連携して実装する方法」に参加してきた

AWS Summit Tokyoに参加してきた記事の第四弾!個人的にあまりインパクトがなかったらしく(過去の自分のメモなので他人として評価w)、メモも少なめ。というのも、自社の取り組みを紹介の色が強く、営業している感じがしたからかなと。 こちらにPDFの資料が…

AWS Summit「SAP&業務システムのフルクラウド化 〜3年運用してみてわかったそのインパクト〜」に参加してきた

AWS Summit Tokyoに参加してきた記事の第三弾!こちらは有名企業様の実際に導入してみた感想といった感じの発表だったが、 取締役の方の生の感想ってなかなか聞けないので、良い機会だった。内容は、「いろんな面でAWSは良いね!」といったところだったw 登…

AWS Summit「DockerだらけのFRESH!な動画配信プラットフォーム」に参加してきた

AWS Summit Tokyoに参加してきた記事の第二弾!この発表も物凄くインパクトが有り、Dockerを実際に本番環境でも使っている事例としてかなり参考になった! こちらに資料が公開されているので、詳しく見たい方はどうぞそちらにアクセスして下さいませw 登壇者…

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…

このブログのあり方について

なんとなく技術ブログは 他の人が既に書いている内容を書いてはいけない ぶっちゃけ文章だけの技術ブログなんかない 技術的な内容のもの以外は書いてはいけない めっさ短いならTwitterで十分だろ って勝手に思ってるフシがある。 「自分のブログなんじゃけ好…

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

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

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

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

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

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

AWS Summit 「ビジネス変革を実現するクラウドジャーニー ~DevOps と Microservices~」に参加してきた

だいぶ前になるが、AWS Summit Tokyoに行ってきた。 AWSの大規模な勉強会にはちょこちょこ参加しているが、今回も物凄く刺激・新たな発見があるものだった。 その中で1番感動した発表のメモを公開。(だいぶ内容は荒いですw) また、こちらにPDFで資料が公…

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)備忘録として書き残す。 開発環境な…

社内のAWS勉強会「監視について」のメモ

前回の社内のAWS勉強会(続き)のメモの続き。今回は結構実運用的な話。本日の内容はこちら。 AWSの監視 他の監視サーバとの統合監視について 監視に関連するサービスの紹介 監視事例の紹介 ※以下、価格については東京リージョンのものとします。 AWSの監視 …

社内のAWS勉強会(続き)のメモ

前回の社内のAWS勉強会(かなり基礎)のメモの続き。 タイトルにAWS勉強会と入っているが、今回はAWS周りの話は少なめ。本日の内容はこちら。 ネットワークとは VPCを作って、自分専用のクラウドネットワークを作ろう AWSにおける負荷分散の対応方法 すぐに…

PHPエンジニアの自分が感じるJavaScriptの可能性について

はじめに PHPを丸3年触った自分だが、本格的にJavaScriptの本(ニンジャ本)を買って勉強し始めて3ヶ月ちょい経った。*1 実際にフロントエンドのコードを書いたり、jQueryを使ってDOM操作を行ったり、Ajax使ってみたりした程度で、まだまだ学び中。しかし学…

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

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

社内のAWS勉強会(かなり基礎)のメモ

はじめに 最近社内で勉強会が活発に行われていて、勉強好きな俺はすげぇ嬉しい。今回はAWSについてで、 対象者は「AWSって名前は知ってるけど何ができるの?」くらいの人を対象にした内容だった。個人的には知っていることばぁだったが、 後学のためメモを書…

JAWS DAYS 2016 「エンジニアのキャリアとアウトプットを意識した成長戦略」に参加した

はじめに 今更感MAXなんだが、時間できたので書く!一切自己満! 今回はエンジニアのキャリアとアウトプットを意識した成長戦略に参加してきた話のまとめ。 いつもどおり箇条書きのメモを、ほぼそのまま載せる。(編集がめんd…) 登壇者 所属:Increments 株…

LINE BOT APIでHTTPステータスの意味を教えてくれるBOTを作った。

LINE BOT API 今巷でこちらが話題になっている。 linecorp.com 早速自分もアカウント登録し、BOTを作ってみた! 登録の仕方であったり、callbackのコードなどについては、たくさんの方が記事を書かれているので、 自分は割愛する。単に、作ってみたよってだ…

LeSS(Large Scale Scrum)のフィードバック会が行われました。

はじめに 会社の先輩にLeSSのCertifiedを持っている方がいて、その先輩がLeSSの研修会に参加されたそうで、そのフィードバックを社内で行っていただいた。 LeSSとはLarge-Scale Scrumの省略で、Scrum開発を大規模に拡張したフレームワークのこと。通常のScru…

JAWS DAYS 2016のパネルディスカッション「ユーザ企業はベンダーに何をもとめてる?」に参加したのでメモまとめ

はじめに 今年参加二つ目の勉強会として、JAWS DAYS 2016(HPはこちら)に参加してきた!ちなみに参加は今年が初めて。 本投稿は、自分がいくつか参加したセッションの中の一つ。やっぱり現場で色々苦労された生の声が聞けるのはとてもありがたいし、実際聞…

とりあえずウォーターフォールモデルをぶった切る

はじめに 先日職場の先輩とプロジェクトマネジメントについて議論してた内容の一部を抜粋。 先輩「生産性は今のところ科学的な方式で出せる方法がないってことです。 そうすると、それで管理しようとすることに無理が出てきてしまうと。」 私「定量的な基準…

いろんな技術の省略語の正式名称を見て意味を納得する

先日会社の部長(技術の方)から同僚にこんな問題が出された。 「PHPって何の略でしょう?」 同僚はJavaエンジニアなんだが、一応答えられていた。 そうしたら、次はこれ、次はこれ…と次々問題が出され、幾つかは答えられなかった。 でも正式名称を聞いたら…

転職して3ヶ月で学んだもの、得たもの、思ったこと

今週の16日で転職して満3か月が経ったので、ちょっと振り返ってみようと思う。 ※先に結論を言うと、「転職はいいよ♪」って話です。 学んだもの 主に技術のことにはなるが、このたった3カ月でたくさんの新しい技術に触れさせていただいた♪ 自分はとにかく技術…

Riot.js + Firebaseで簡単なチャットアプリを作ってみた

リアルタイムでのデータ同期が特徴のバックエンドサービスFirebaseを利用してみたく、 ちょうどRiot.jsを使ってアプリも作ってみたかったので、勢いでチャットアプリを作ってみた。 今回はトランスコンパイルではなくプリコンパイルしてるので、.tagファイル…

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

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

日本のプログラマ・エンジニアのこれからについて思うこと

最近転職したため、プログラマ・エンジニアの生き方に関するいろんなエントリを見るようになった。 その中で特に共感・衝撃を受けたものは以下だ。これらを読んでいろいろ思うところを書いてみる。(ちょっと長いです) ※主にSIerを対象としています。自社製…

1-100までの和の計算をできるだけ短く、3つの異なるプログラム言語で書いて遊ぶ

先日仕事の休憩中にこんなものを見つけて、 社内のチャットツールで「面白い記事を発見しました!」とページのリンクを貼っつけたところ、 結構盛り上がりまして、自分たちも色んなクソコードを書いてみんなで評価するという一幕があった。(←仕事しろw) 今…