:
ネットワークスペシャリスト試験に合格したので学習方法などを書いておきます

ネットワークスペシャリスト試験に合格しました これまでの振り返り 学習方法 受験テクニック 背景 2016年秋のネットワークスペシャリスト試験に合格しました. これで私は ITパスポート 基本情報技術者 応用情報技術者 情報セキュリティスペシャリスト ネットワークスペシャリスト に合格したことになります. せっかくなので, これまでの情報処理技術者試験を振り返って, 学習方法, 受験テクニックを書き残しておこうと思いました. ITパスポート 高校の時に対策本を1回読んで受験. 電車が苦手だった

whitespaceプログラムをc++プログラムに変換するrubyプログラムを書きました

ifを並べ立ててラベルを表現しました ワンパスで変換したかった 背景 学校で「whitespaceプログラムを実行するrubyプログラムを書け」という課題が出たので書くことにしました. whitespaceのラベルは静的なので, c++に変換できるはずだと思ったので, c++に変換して実行するプログラムを書きました. 参考 この記事はWhitespaceをC言語ソースに変換する - koturnの日記を多大に参考にしています. labelを実装する whitespaceには他の言語で言うgot

webアイコンに絵文字を使おう

絵文字 / Emoji Advent Calendar 2016 - Qiitaの12日目の記事です webアイコンに絵文字を使おう 従来のwebにおけるアイコンの表現方法 当初は素直に画像をアイコンとして配置する方法が使われていました. しかし, http/1環境では大量のファイルを配信すると非常にページが重くなるので, 様々な方法が使われるようになりました. cssが普及した後, アイコンを一枚の画像にまとめてそれぞれの場所で画像の座標を指定するというcssスプライト svgが普及した後, アイ

yesodで全てのモデルにcreatedAt, updatedAtを作りたかった話

Yesod Advent Calendar 2016 - Qiitaの5日目の記事です 私のcreatedAt, updatedAtとの戦いの記録 背景 User email Text name Text createdAt UTCTime updatedAt UTCTime のように, それぞれのモデルに生成時間と更新時間を付けたい. 役に立つことがあるかもしれない 全てのモデルにつけることで一貫性を保ちたい 問題 単純にFormを us

prologによる格子点の個数からの円周率の近似値の計算

Prolog Advent Calendar 2016 - Qiitaの3日目の記事です 2015年07月に出た数学の課題をprologを使って解いてみました これがはじめてのprologでした 未だprolog初心者です 背景 格子点の個数を求め, π\piの近似値を計算せよ. という課題が2015年07月に数学の授業で出ました. 特に言語は指定されていなかったので, せっかくなのでこれまで実用してこなかったprologで解いてみました. 提出した後死蔵されていたので, Advent Calenda

Hakyllの紹介

静的サイトジェネレーター Advent Calendar 2016 - Qiitaの2日目の記事 関連記事 ブログを作りました - ncaq hakyllのteaser設定方法が好みではなかったので自作した - ncaq 私はhakyllしかろくに使ったことはない hakyllとは Hakyllはhaskellで書かれた静的サイトジェネレーターである. このサイトもhakyllで作られている. ncaq/www.ncaq.net: ncaq website 強み pandocが楽に使える P

英辞郎は英語学習において害なのだろうか?

英辞郎 on the webの使用を禁止されかけた 背景 授業中にスマートフォンを使っていることを注意されたが, PCならOKだった, 理由が謎だったので, 何故なのか理由を推察してみた - ncaq の続編. 本来前の記事とまとめて1つの記事にするつもりだった. しかし意外と長くなったし本題が違うので分割する. 誰かを批判することを目的とするものではない. 事件 私はAdvanced English bという英語学習のための授業を受けている. 2016年11月の授業の時に英辞郎 on the w

授業中にスマートフォンを使っていることを注意されたが, PCならOKだった, 理由が謎だったので, 何故なのか理由を推察してみた

授業中の授業のためのスマートフォンの使用を注意された 何故かPCならOKだった 謎なので理由を推察してみた 背景 この文書は人間の思考と社会観念を奇妙に感じて, 私の思考と社会のズレに対して多少のおもしろおかしさを感じて書いている. 私は現在この事件に大して全く不満は持っていない. 損をしていないからだ. 奇妙さを感じているだけである. 誰かを批判することを目的とするものではない. 事件 2016年5月, 私はAdvanced English aという英語学習のための授業を受けていた. その時2回

単純なLispを実装した話

2016年02月に単純なLispを実装した 面白みはない 背景 48時間でSchemeを書こう - Wikibooksを見たら案外簡単そうだと思って手を動かしてみたようだ. 継続とレキシカルスコープの実装が難しく, やらねばならない課題などがあった(これは課題でも何でもない)ので, これ以上実装は進められなかった. かと言って教材をそのまま丸コピペするのも面白くなかった. フィボナッチ数を計算してそれで満足した. ソースコード Parsecを使うのは初めてだった. それどころか, 抽象構文木を作る

MathJaxはCommonHTML出力で使うべきである

MathJaxはそんなに遅くない MathJaxのCommonHTML出力は速い 基本的にSVG出力よりも良い 背景 このサイトに数式表示を導入したかった. MathJax の存在は数年前から知っていたが, 数年前から知識をアップデートしていなかったため, 「MathJaxは遅い」という認識だった. そこでKaTeXKaTeXを使おうと考えていたが, 調べ直した所, 今のMathJaxMathJaxはさほど遅くなかったので, MathJaxを導入した. CommonHTML CommonHTML

haskellプログラマ向けのモノイドの解説

半群とモノイド 数学のモノイドとhaskellのモノイドの差異 背景 私は高校2年生(2012年)頃に, すごいHaskellたのしく学ぼう!を読んで, haskellを使い始めた. その中にはモノイドの解説もあり, 当然haskellのコードでもモノイドを使っていたが, haskellのモノイドが何処からきた概念なのか, どうしてこういう設計になっているのか, それをさっぱり理解していなかった. 2014年頃に大学の授業で半群, モノイド, 群を学習して, 多少は理解が深まった. しかしその頃はアウ

箱のようなものは鶏肉みたいな味のようなもの

このページは鶏肉みたいな味 - Wikipediaのパロディです クリエイティブ・コモンズ 表示-継承 3.0 非移植ライセンスの下で利用可能です 皮肉です 箱のようなもの(はこのようなもの)とは, 日本語圏においてプログラミングにおける概念を比喩するときによく使われる表現である. 但しあまりにも頻出するため, 一種のクリシェ - Wikipediaのようになってしまっている. その結果, この言い回しは実際には関係のない概念やふさわしくない状況にも現れ, 不条理な笑いをはらむこともある[要出典].

hakyllのteaser設定方法が好みではなかったので自作した

hakyllのteaser設定方法が好みではなかったので自作した twitterがopen graphに対応していたことを知った 背景 twitterにdescriptionを設定したかった. hakyllのteaser設定方法 hakyll公式のteaser設定方法はmoreをmarkdownに書くものである. We use <!--more--> for this to mimic the WordPress convention: Hakyll - Using teasers

LLVMでフィボナッチ数を計算する

2016-05にLLVMでフィボナッチ数を計算するプログラムを書いた LLVM Language Reference Manual — LLVM 4.0 documentationを参考にした 人間が書く言語ではない 背景 自作のプログラミング言語をLLVM対応させて, ネイティブコンパイルしたくなった. なので, まずLLVMの内部言語を知ろうと考えた. そのために, とりあえず, フィボナッチ数を計算するプログラムを書いた. そういう記憶がある. なお, 肝心の自作プログラミング言語は放置されてい

wcのrubyによる簡易的な移植

wcのrubyによる簡易的な移植 wc (GNU coreutils) 8.23を参考にした ファイル引数のみの出力のエミュレート utf-8のみサポート 背景 学校の課題で2016-10に作成した. k-takata/Onigmo: Onigmo is a regular expressions library forked from Oniguruma.のunicodeプロパティ指定を知らなくて結構悩んだ. ソースコード テストコード parallel 'wc {}; ruby

google driveをlinuxで利用した話

dropboxからgoogle driveに移行した grive2がdaemon機能をもたないのでやっつけスクリプトを書いた 背景 google photosが便利そうなのでdropboxに写真アップロードする方法から移行したかった. ついでにファイル同期機能もgoogle driveに移行してdropboxを使うのをやめた. grive2 google driveには公式linuxクライアントがないので, vitalif/grive2: Google Drive client with supp

stack buildがout of memoryした時の対処法

Home - The Haskell Tool Stackでstack buildやstack installしたとき, out of memoryでプログラムがビルドできないことがある. 他の人のPCやTravis CIで起きた. その対処法を書いていこう. --jobsオプションを使う stack --jobs 1 build こうすると並列にビルドが走らないため, メモリが足りなくなることが減る. virtualboxのメモリ割り当てを増やす virtualboxのデフォルトメモリ割当量は少

pixivにメールアドレスを「使用できません」と弾かれていたのが解決した話

pixivにメールアドレスを「使用できません」と弾かれていた MXレコードを設定していないせいだった 規格では設定しなくて良いらしい 独自のバリデーションには気をつけよう 背景 私はメールサーバを独自に運用している. そのメールアドレスがpixivで使えないトラブルがあった. どうでもいいやと放置していたけれど, 丁度pixivのidが変更出来るようになった. その機会にtwitterで愚痴ったら, pixivのエンジニアから返答を頂いた. そう言えばpixivのメールアドレス「このメールアドレス

Google カスタム検索を導入して, その進化に驚いた

Google カスタム検索を導入した 今のカスタム検索は進化していてwebサイトに統合できる 背景 ブログ記事からタグデータを削除した, そもそもブログにタグは不要 - ncaqに書いてあるように, このサイトにタグだのカテゴリだのの区分けはない. 要するに, テキストが主体のサイトなのだから, 全文検索すればいいだろと考えている. しかしgoogleの検索クエリにsite:www.ncaq.netを付ければ, 私のサイトだけを検索することが出来るということを知っている人は多くはないだろう. なので,

linux上のfirefoxでNoto Color Emojiを使う

Linuxでもカラー絵文字は普通に表示できる さまざまなフォントが利用できる Noto Color Emojiを使うときはビットマップを取り除かないようにする 追記 firefox 53からNoto Color Emojiを使うとサイズが異常に巨大化するようになりました. 今の最新版のfirefoxでは組み込みの絵文字が利用できます. 指定するのはやめておきましょう. 背景 FreeTypeがcolor emojiに対応していたことは知っていた. しかし, 私がそれを知ったのは数年前で, その時点

PageSpeed Insightsに従ってサイトを最適化してみた

PageSpeed Insightsという, googleが提供する, webサイトのパフォーマンスを測定して, 速度上昇の提案をしてくれるツールがある. 今回はそれに従って, パフォーマンスの向上を目指してみた. まあ, 元々そんなに重いwebサイトではないのであまり最適化する必要はないのだが(早すぎる最適化), webの学習の一環として最適化を試みることにする. 改善前 スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する このサイトで

デジゲー博に行ってきました

デジゲー博 | 同人&インディーゲームオンリー展示・即売会に行ってきました. tweet [悲報]デジゲー博の開始時刻を10時だと間違える — エヌユル (@ncaq) 2016年11月13日 デジゲー博で展示してたからやってみたけど合理的で面白かった / “#rogue-hex” https://t.co/jFIFHtqR2r — エヌユル (@ncaq) 2016年11月13日 デジゲー博でlinux対応ゲーム2つ買いましたlinux対応してることを書いておけばlinux対応要求男

強力なフィルタリングであるThe Spamhaus Project - ZENをpostfixで使って, スパムメールを拒否する

dovecotとspamassassinと限界を感じるGoogleAppsを契約してクラウドの民になろうか…面白みは全くないが、実用を考えると仕方がないんだよね — エヌユル (@ncaq) 2016年6月7日 @ncaq spamassassinの限界どこらへんです? — 武藤スナイパーカスタム🔫🕵🏻 (@__tai2__) 2016年6月7日 .@__tai2__ いろいろあるけれど、画像中心のメールに弱い — エヌユル (@ncaq) 2016年6月7日 こんなことをつぶやいて

gulpもgruntも使わずにbootstrap4をカスタムビルド

bootstrapのカスタマイズのメリット bootstrap4はsassで作られているので, 変数を設定することでフォントを変えたり, デフォルトの文字色を変えることが出来る. 他のcssを用意して上書きするのに比べて, この方法には以下のメリットがある. cssファイルが1つにまとまる ルールが1つになるため, どのルールが優先されるか気にする必要が無くなる デザインに統一感が生まれやすくなる bootstrapがsassで定義したマクロが使える デメリットは public CDNを使うことがで

xmonadでgimpを普通に動かす

xmonadの初期設定でgimpを使い, ウインドウを開くと荒ぶり操作が不可能になる. これを解決するにはmanageHookを以下のようにカスタマイズする. myManageHook :: ManageHook myManageHook = composeAll [ isDialog --> doFloat ]

gnome-shellを使うのをやめた

1年前ぐらいからxmonadからgnome-shellに移行して, 気に入って使っていた. しかしディスプレイマネージャでxmonadを起動 - ncaqでわかるように, 私はxmonadに戻って, gnome-shellを使うのをやめた. 使うのをやめる機会に, gnome-shellについてレビューする. gnome-shellの良い点 gnome-shellは言われているほど悪くない gnome-shellは自分の周りではよくボロクソに言われていると感じる. 特に日本ではその傾向が強く, それがc

ブログ記事からタグデータを削除した, そもそもブログにタグは不要

このブログでは, 今までタグデータをyamlに書いていて, そのうちhakyllのタグクラウド機能でタグ検索を出来るようにする予定だった. しかし, それはやめて, 記事データからタグデータを全て削除した. 理由は以下. タグを書くのが面倒くさい 記事からどのタグを抽出するか タグの表記ゆれの対処 新しいタグの追加 これらは私が楽しくやれる作業ではない. 他の人のブログでタグ機能を使ったことがない qiitaのような多人数投稿サイトならともかく, 個人のブログでタグ機能を使ってまで検索しなければい

ディスプレイマネージャでxmonadを起動

デスクトップPCなどでは.zloginにexec startxを書いて自動でXが起動するようにしても良いが, ラップトップPCでは流石にロック機能などが欲しいので, lightdmなどのディスプレイマネージャ(ログインマネージャ) を使いたい. セットアップに少し詰まったのでメモ. 新しいセッション設定を書く必要はない /usr/share/xsessions/に新しいセッションを追加するのは, 私の環境では必要なかった. 何故ならば, 私のxinitには/usr/share/xsessions/Xses

XPS 13 9360(2016年発売)にgentooをインストール

パーティションの切り分け 本の虫: LenovoのWindows 10 Signature Edition PCにLinuxのインストールを妨害する機能が発覚 みたいな話があったので少し不安に思っていたが, 案の定そのままだとSystemRescueCdではSSDを認識できないことが発覚した. しかし, DellはLenovoとは違い, RAIDモードをちゃんと無効化出来るようにUEFIを設定している. 多数の警告を無視しつつ, UEFIでRAIDモードをAHCIモードに切り替えると, ちゃんとSSDをn

XPS 13 9360(2016年発売)を購入した

到着したので書く. 購入理由 これまで使っていたXPS 13 L322X(2013年発売)にあまり不満はなかったが, ファンがぶっ壊れたのか, 少し負荷をかけると異音を放ち, 静かな場所だとかなり気まずい CPUをケチってCore-i5でオーダーしたため, ビルドが遅い 新しいPCは全体的に昔のより軽いと聞いて魅力的に感じた ため新しいPCを探した. USキーボードのものを発注できて軽くてそこそこの速度を持つPCが結局XPS 13しかなく, 丁度15%セールの最終日だったのでつい購入してしまった.

lightdmに引っ越したら, nvidiaドライバがkernel panicを引き起こす原因がgdmだったことがわかった話

問題 数年前から, PCを起動するとたまにnvidiaドライバが発狂して, linuxがkernel panicを引き起こして電源を落とすしかない状況になることがあった. NVidia/nvidia-drivers - Gentoo Wikiや nvidiaのフォーラムを見ても, 似たようなログを出してpanicになる現象はあったが, その解決方法を試してみても, 全く改善しなかった. しかし, 全く起動しないというわけではなく, 50%ぐらいの確率でkernel panicになるという状況だったので,

highlight.jsを全ての言語に対応させる

このブログのシンタックスハイライトにはhighlight.jsを使っている. 膨大な言語に対応し, また多くのスタイルに対応しながらも軽量なフレームワークである. このライブラリをセットアップするときに多少ハマったので, 問題点と手順をメモしておこうと思う. 最終的な方法だけ知りたい人はbrowserifyの項まで飛ばして良い. CDNは少数の言語にしか対応していない おそらく大半の人は, Getting highlight.jsに載っているように, <link rel="styleshe

edコマンド世界ではwqは1文字?

謎 ちょっとedを実装してたら謎を見つけました GNU 'ed' Manual より引用. All ed commands are single characters 全てのedのコマンドは1文字です (1,$)wq file Writes the addressed lines to file, and then executes a 'q' command. (1,$)wq file ファイルに指定した行を書き出し, 'q' コマンドを実行する wqは1文字だった…? そんなことはない

:
ブログを作りました

ブログを作る理由 月並みな話だが, アウトプットをしないと成長が鈍るからである 数カ月前の記憶を消失することがよくあるのでメモを取っておきたい 思考を文章化することによりストレスが減少するかもしれない 自分にとって価値のないと思う情報でも, 他の人にとってはそうではないこともある なぜQiitaではダメなのか Qiitaはきわめて便利なサイトであるし, 私も記事を投稿したことはあるし, よくコメントなどはする. なぜこれをそのまま使わないか Qiitaを使いたい理由 優れたmarkdownで投稿