typeof Diary

VimとかJSとか。やったことのメモ。自分のため。

9度目の基本情報

受けてきました。
この試験会場何回目だって感じで、行き慣れたもんです。
迷いがない。

午前

やはり過去問からかなり出ていた印象。
H20〜H21ぐらいを反復すれば、同じ問題多かったと思います。

個人的に「え?」ってなったのが、
問23の「Wh」求める問題で、何言ってんだこれ。ってなりました。
100Vとか10Aとか、見たのが中学以来だった気がします。

自己採点は 58 / 80 でした。

最後のストラテジが10 / 20とかいう悲惨なことになっていて、ここでかなり削られた印象。

午後

毎回午後は、
・時間が足りない ・ネットワーク苦手 ・文章読解力のなさ ・アルゴリズム... この辺りが発動して、最高59.5、0.5点足らずで落ちるとか、50点台という、
あと一歩!な感じの苦いことがここ最近は多かったです。

問1のセキュリティは、どっかで見たことあるようなないような内容の問題だった気がします。

選択は、問2,3,4,5と順にとりました。

問2のハードウェア、JKフリップフロップはぱっと見謎すぎて、正直理解できてないです。
勘で解いた感あります。 問3のプロセススケジューリング、かなり分かりやすかったんじゃないかと。
問4のデータベースはSQL基本的にできたら簡単だったと思います。

で、だ。
問5のソフトウェア設計。
これがなんだか分かりにくかった。
UML系の問題で楽かと思ってやってみたものの...。
ここは惨敗でした。

で、毎回お騒がせの問8アルゴリズム
残り15分でやって、無理のなんの。
本当に何度やっても苦手です問8。

ラスト、プログラムのとこの選択はもちろんアセンブラです。
これ以外とったことないです。
内容はバブルソートで、設問1のabcdはくっそ簡単だった印象。
設問2が全滅してますが、まぁ・・・。ね。

自己採点は

  • 問1: 5 / 5
  • 問2: 5/ 6
  • 問3: 4/ 5
  • 問4: 4/ 4
  • 問5: 2/ 6
  • 問8: 2/ 6
  • 問12: 4/ 6

単純計算で、12 + 10 + 9.6 + 12 + 4 + 6.6 + 13.2 = 67.4、
問題数が38で、26 / 38なので、一応6割は超えてる計算に。

問5と、問8が自信なさすぎて、絶望してたのですが、他で稼げていたようで、安心しました。
あくまで自己採点なので結果出るまで分からないですが、
これで基本情報の呪縛から解き放たれたら良いなと思いますし、二桁乗らないこと祈ります...。

【IE8】parseIntのハマりどころ

ちょっとハマってしまった事柄があったので、備忘録的なノリで書いておきます。

parseInt()

文字列の引数をパースし、指定された基数の整数を返します。

var num1 = '07', num2 = '08';

console.log(parseInt(num1)); // a
console.log(parseInt(num2)); // b

この場合、aは7、bは8と出力されますね。

…。
いやまて、本当にそうなのか???

これはあくまでChromeとかでの話。

一方IE8では

ハマったのは、IE8での出来事。

同じコードを実行してみましょう。

var num1 = '07', num2 = '08';

console.log(parseInt(num1)); // a
console.log(parseInt(num2)); // b

この場合、aは7、bは0が返ってきます。

ちなみにparseInt('09')これも0です。
parseInt('10')は10です。

解決方法

ここで重要なのは、

指定された基数の整数を返します。

指定された基数

こいつが犯人です。

var num = '08';

console.log(parseInt(num, 10)); // 8

第2引数を付けましょう。基数は10だよ!って付けてあげましょう。
期待に応えてくれるでしょう。

こんなことで30分〜1時間ハマってたなんて言いたくない。
むしろ、Stack Overflowでささっと調べるべきでした。

これを読んだ方はお気をつけください。。。

発表しながら簡単なDEMOをする

もう10月です。はやい...。

先日、発表をする機会がありまして、
前日まで資料に手を付けず、あたふたしておりました。
会社のPCにはOfficeあるけど、プライベートのPCにはOfficeもなく、
グーグルドライブを使うか…どうするかと考えたわけです。

結局、reveal.jsを使って資料をささっと作ってみました。

何ができるの?

HTMLと、Markdownを使ってかっこいいスライドが簡単に作れます。
非常に便利できました。

資料中にコードを書きたいときにも、<pre><code></code></pre>で囲ってやれば、
それなりに見えますし、Markdownならば、```で囲えばなんのもっと楽に書くことができます。

コードの実行結果

SlideShareなんかを見ていても、技術系のスライドには、
コードが書かれていることが比較的多いと思います。

大体、実行結果とかのキャプチャが貼り付けてあるか、
別でDEMOとして見せるかの2択ですよね。

発表しつつ、ページの移動なく、その場で実行結果をDEMOできたら…

こんなことをふと思ったわけです。
既出かとは思いますが…。

さて、reveal.jsはあくまで、revael.jsを<script>で読み込んで、
HTMLとかで書いていくことになります。

今回の発表はD3.jsの発表をしたのですが、
ここでreveal.jsと一緒に<script src='d3.min.js'></script>をしたら、
簡単なDEMOしながら、資料書けるんじゃ?

やってみよう!

f:id:lisia:20141006012626g:plain

できました。

方法

Markdownで書いている時には上手くいかず...。
かなり面倒な書き方で実現してますが、何かもっと良い方法があるかもです。

<section>
<pre>
  <code class='javascript'>
    var svg = d3.select('#demo').append('svg')
      .attr({ width: 200, height: 100 });
    // 見せたいコードを書いておく
  </code>
</pre>
<div id='demo'></div>

<script>
var svg, circle;
// 実行するコードを書いておく
svg = d3.select('#demo').append('svg')
  .attr({ width: 200, height: 100 });

circle = svg.append('circle').attr({
  cx: 50,
  cy: 50,
  r: 10,
  fill: 'orange'
});
</script>
</section>

見せたいコードと同じことを、scriptで書いておけば良いです。

HTMLなので、<button id='transition'>Start</button>みたいに、ボタンを作っておいて、 ↑と同じ感じで、

// 例えば作った円を移動させる
d3.select('#transition').on('click', function () {
  circle.transition().duration(1000)
    .attr({
      cx: 100,
      fill: 'steelblue'
    });
});

とかしておけば、ボタン押下で動作なんてことも。

気づき

気づけば、ああそうか!確かに!
となりましたが、reveal.jsでささっと資料作る時、
さらにjs系の発表なら、使えるテクニックかなぁと思ってます。

特に、簡単なサンプルを〜となると、初心者向けだとか、
基礎的なところとかを説明するのにはなかなか使えるのではないでしょうか。

AngularJSリファレンス

先日発売しました、AngularJSリファレンスを購入しました。

f:id:lisia:20140906182506j:plain

やらないと...

最近は便利なAPIが増えてきているおかげもあって、
APIからデータとってきて、何か作るということが増えてきているわけで。

むしろこれから機会も増えそう。

そこで使う言語って何よってなると、JavaScriptです。
APIからもらったデータをクライアント側で加工してごにょごにょ。

だけど、機能が増えて、ページが増えて...ってなるとかなり面倒。
(直面中)

SPAなんて言葉も出てきているし。

触っておくと

どこかで便利できそうなので、買ってしまった。
4000円超えちゃう辺りが、ネックですが、ちょいちょいやっていこうかと思います。

Osaka.vim #2に参加した話

記事書くのがかなり遅れましたが、参加したので書きます。

時間も場所も前回#1と同じです。
前回はお昼をご一緒したのですが、今回はそんなこともなかったので、大阪駅を出た時に
何か食べようかと思っていました。

まぁ、大阪で自分が食べる物といえば、ルクア大阪行って、
安定の「スープストック」なわけです。

お昼時なこともあり、人がそれなり多く...。
カレーセットにしました。

だがしかし、待てど待てど出てこない。
注文通ってなかった...。
間に合うか間に合わないか分からん状態になりましたが、なんとか間に合いました。
間に合い力。

と、前置きはここぐらい。

本編

自己紹介

今回は13名。
まさかの女性Vimmerもいたりしたので、これからどっぷりVimに浸っていってもらいたいですね。
大半は#1の参加者だったり。

回数重ねる毎に、顔なじみになりそう。

初心者講座

iyuuyaさんによるVimの初心者講座。
資料はこちら

ちょっとずつ理解するというのは本当で、
Vimやってみよう!と思っても、挫折する人の大半は、一気に使えるようになろうとするのも、
一つの原因かもしれません。

正直、自分なんて全然で、.vimrcは汚いは、コピペで意味分からずやってる...
ってのが多く、そろそろ本腰入れて、覚えていかないとなぁ(ずっと言ってる)と思ってるわけです。

真似しちゃいけません。

実は知らないことが結構あって、「ほー」と思いながら聞いてました。
REPLACEモードなんて、あるのは知ってましたが、使ったことなかったです。

もくもく

前回はやること決めずに行ったのがまずかったので、今回はVimスク本の写経してました。
感想でも書きましたが、サンプルが面白いので、写経してても飽きない不思議。

途中は、Kinesisの試用会みたいになってました。
写真では見たことがありましたが、実物を見るは初めてで、正直感動。
実際に使っているところを見ると、本当に腕が動いてなくて、慣れたらこれは便利できそうだと感じました。
試すにはちょっと値段的リスクが大きいですが。。。

そんなこんなで、もくもく終わり。
前回は時間ギリギリでしたが、時間通りに片付けも終わり。
良い感じ。

懇親会

近くのお店で懇親会。

サバの煮付け美味しかった。のは良かった。

ここで、約数名はミスをした...。
定食を頼んでしまった。

生姜焼き定食美味しかったです!!

3テーブル確保して、1テーブルが完全に飲み状態、他は早めにお冷-!な状態でした。
その1テーブルの話題がなかなか濃くて、
話題としては、Pマークのこととかいろいろ。

「例えば100万あげるから、やりたいことやって良いと言われたらやる?」
こんな感じの話題とか。

反射的には、「やらない」に向きますが、
「なぜやらないのか」を考えると、「ミスしたときのリスク」これしか浮かばなかった。

でも、別に失敗しても成功しても、予算もらえて、やりたいことできるなら、
やってみる方が良いかもしれない。

プログラマに迷惑かけないデザイナ

あと、「プログラマに迷惑かけないデザイナになりたい」というニュアンスのことを言っていた方がいて、
これについては、自分たちも同じで、「デザイナに迷惑かけないプログラムしなきゃ」となるので、
なかなか大切なことです。
デザインって、色味とかのセンスもいるし、フォントとか、配置とか...。
大体、これでいいわ!ってなりがちだけど、後のことを考えるとそれじゃいけないよなと思ったり。

デザインも少しかじっておくと良さそうですね。

恒例?トランプマジック

iyuuyaさんのトランプマジックのタネを見破る会。

結果、種明かしまで見破れない。
明かされても見えない。

Kinesis撮影会

終わりかけに、Kinesisの撮影会みたいな...。
様子は写真で。

f:id:lisia:20140823223722j:plain

f:id:lisia:20140823223733j:plain

Karaoke.vim

今回はお酒も飲んでいたし、次の日もちょいとやりたいことがあったので、帰らせていただきました。。。

感想

3回目のVim勉強会参加でしたが、やはり同業他社の方との交流は良いですね。
これもずっと言ってますが、あくまでテキストエディタの勉強会なので、やってることが本当に様々。

Osaka.vimは入力への拘りがある人が多い印象。
今回はKinesis、前回は無連想式漢字直接入力

次回は何が出てくるのでしょうか。

あと、思ったのがRubyやってる人が多いなと感じます。
Rubyも機会あれば触りたいところ。

それでは、#3でお会いしましょう。

OpenLayers3用のリポジトリ

OpenLayers3用のリポジトリを作った。

ol-sample

印象

OpenLayers2と比較して、なんだかとっつきにくい印象。
まだ深く触っていないからというのもあるけど…。

前にQuickStartだけ触った記事を書いたけど、完全に内容忘れてた。

OpenLayers3をここからダウンロードして始めるのが正解。
こっちをやると、ファイル多すぎてうわあああってなるので、注意。

実際やったんですけどね!w

とっつきにくいとは言ったけど、OpenLayers2に関しても、
慣れるまでは時間がかかったから、3も慣れるまでの問題だとは思います。

ちょいちょい触りながら、exampleも沢山あるので、サンプル追加していけたらと思います。
探してみると、まだまだOpenLayers3関係の記事は少ないようで、
OpenLayers3と検索すると、ここのしょーもない記事が引っかかるような状態。

今なら間に合う!!