コンパイラかく語りき

import { Fun } from 'programming'

2015-12-01から1ヶ月間の記事一覧

JavaScriptで競技プログラミングを解く際のテンプレをつくった

これの続きです。 chuckwebtips.hatenablog.com JavaScriptで競技プログラミングを解く際の、ある程度のテンプレを作成しました。 ※ 筆者はまだ競技プログラミングを2回しか受験していません。今後テンプレには手が加えられる可能性があります。 こちらです…

競技プログラミング問題の共通点や課題感

競技プログラミングの過去問を2つこなした。 これまで見えてきたことを軽くリストアップしてみる。 ちなみに使用言語はJavaSciptです。 共通点 問題形式はIOである。 入力されたデータは文字列型として得られる。 最初の入力が「設定情報」である。 何度か…

【CSS】text-overflowとはなんなのか

2015年もいよいよ佳境。そしてこのタイミングで出会った”text-overflow”というCSS。 ちょっと深掘りしてみたいと思います。 Try it いじくり回して理解したい人は、こちらがオススメ。 http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_js_text-…

CSSだけで文末に「…(三点リーダー)」をつける方法

CSS

今日デザイナーさんから良いこと聞いちゃいました。 CSSだけで、文末に…が付与できちゃうんですって! やり方はスタイルを3つ指定するだけ。 overflow: hidden; white-space: no-wrap; text-overflow: ellipsis; 以上です。 これで、文字列がはみ出てしまう…

セマンティックバージョニングとは

今日初めてセマンティックバージョンというものを知りました。 軽く調べたのでメモ。 参考: セマンティック バージョニング 2.0.0 qiita.com セマンティックバージョニングとは カンタンに言うと、バージョンの付け方のようです。 1.2.6というバージョンが…

JavaScriptで数値ソートする場合

JavaScriptで配列の内容をソートするとき、sort関数を使います。 ただし、sort関数はデフォルトで文字列比較を行ってしまうんですね。 数値比較をするには、引数に比較関数を渡してあげる必要があるんですね。 すっかり忘れていました。 サンプルコード gist…

配列よりもオブジェクトを使う局面があると学ぶ

競技プログラミングで初めて制限時間に引っかかりました。 対処法を考えているうちに、データ構造について1つ学びがあったのでメモします。 ちなみに、重くなった原因はユニーク判定の仕方でした。 最初に書いたコードがこちら。 gist9b15f1b88ba817838fc7 …

ダブリのある冗長な条件分岐はマッピングできると気づいた

例えば、以下のような2重のswitchがあるとします。 gist2f786f89069acd1edce1 まず、主語が何であるかによって分岐します。次に、時間帯によって分岐して、行動をalertします。 そんな2重の条件分岐があるとします。 でも、これってマッピングできるなあと…

【JavaScript】文字列としての数値を加算する関数を書いた。

今回は独自に作成した加算関数を紹介します。 これの続きです。 chuckwebtips.hatenablog.com 加算関数をつくる目的 JavaScriptのルールでは、'5' + '10'は'510'となります。 見た目的には数値なのに、クオーテーションで囲まれているために、文字列の結合が…

JavaScriptで「'6000' - ('40' + '10') * '50'」の答え分かります??

競技プログラミングで3分ほどハマった。検証が楽しくてさらに10分ほどハマった。 '6000' - ('40' + '10') * '50' の結果です。 パット見で分かりますか??? ' ' は文字列を表します。 ふつうに数値として計算したら、3500ですよね。 ところが答えは -19…

【JavaScript】splitとjoinで不純物探知

stringクラスのsplitとarrayクラスのjoinを使えば、不純物探知ができるよねというお話。 以下のコードを例に取ります。 gist2676ae0c57f3323742be 最初にhelloがたくさん並んだ文字列があります。一見、すべてhelloに見えますね。 次に、split('hello').join…

競技プログラミングはじめました

会社の人に誘われて競技プログラミングを始めました。 競技プログラミングとは? 与えられた問題を、素早く性格に解くプログラミングのイベントです。 競技プログラミング Wiki* Webプログラミングではなく、コンソール上で行えるIO(入出力)プログラミング…

スクレイピングした情報をRailsアプリケーション上で表示する

これの続き。 chuckwebtips.hatenablog.com データが取得できたので、ビュー側に表示をしてみます。 ビューとコントローラの作成 ちょっと表示するだけですが、のちのちのことを考えてMVCを採用しました。 いつもの↓ maeharin.hatenablog.com コントローラで…

Rubyでスクレイピングしたらencoding error : input conversion failed due to input error

トラブルシューティング。 Nokogiriを使ってHTMLを取得した際、文字化けしてしまうエラーについて。 encoding error : input conversion failed due to input error が出た場合の対処法。 以下のページを参考にして解決。 http://route477.net/d/?date=20110…

JavaScriptのsplitを自分で書くとこうなる

車輪の再発明です。 区切り文字列を配列にしたいとします。 それをいちいちfor文で走査して配列化してしまいました。でも、splitを使えば一瞬だよねというお話。 例えば、以下の変換をしたいとき、 var str = 'abc de fg'; var ary = ['abc', 'de', 'fg']; i…

Rubyでスクレイピングに挑戦してみた

こちら読み始めました。 vsanna.sakura.ne.jp 前々から興味があったスクレイピング。ついにデビューしちゃいました。 スクレイピングとは あるサイトのあるページからHTMLを取得して欲しい情報を取得することです。 やったこと ローソンの公式サイトから、販…