Web Developer's Struggle Memories

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

プログラミング

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円 年・月が一緒であ…

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

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

剰余を使わないFizzBuzz問題の解

本日面接を受けた企業の筆記試験に、有名なFizzBuzzが出た。 ただし、条件として剰余計算を用いてはならないとあった。 具体的には、 %はだめ modもだめ ということ。 ぶっちゃけ、かえってちょっと考え直したら、提出した回答は間違ってました。。。 という…

Riot.jsに触れてみた話 Riot.jsとは~導入まで

Riot.js 名前に「js」が入ってるから、JavaScriptのフレームワークかライブラリの1つ、とは想像が付くと思う。 Riot.jsとは、 A React-like user interface micro-library ですわ(公式より)。簡単に訳すとReact.jsに似せて作られた超軽量なUIライブラリく…

JavaScriptのobject型の+,-について

素朴な疑問 突然だが、 [] + []; これの結果が分かる、または知っとる人おる? 答えは""(空文字)なんですよ。 [] - []; これの結果はまだ予想ができる。もちろん答えは0ですわ。 やっぱり前者の+の時の結果がよく分からんので、調べてみた。 いろいろいじる …

PHPで配列の要素数と同じ数のプレースホルダを生成する方法

PHPからSQLを作る ことの発端は、PHPからDBにアクセスしデータを抽出するためにSQLを書くのだが、取得している配列の要素を全て条件に加えたい。 要素数によってプレースホルダの数も変化するので、 動的にプレースホルダを生成する必要がある。その生成方法…

タグチェッカーを自分仕様でjavascriptで作ってみた

仕事でデザイン組込みやデザイン修正をしていると、たまにデザイン崩れで引っかかるのだが、 半分以上はタグの閉じミス・閉じ忘れが原因。 これをいちいちどれか見るのがたいぎぃのでタグが閉じているかをチェックする機能を作ってみた。 ※取り急ぎで作って…