基本的にぐーたら

プログラムを始めた学生の雑記

断捨離しました

いらないもの、使わないもの、古くなったものを捨てました。

全部で40着あったTシャツはお気に入りの10着を残して古着回収に。

数回しか着てなかった革ジャンやガウンはメルカリに出品。

部屋の賑やかしになっていた小物や棚の奥深くに眠っていた小道具も捨て去り。

二度と読まないだろう書籍もリサイクル。

冷蔵庫の中で暇していた調味料もゴミ箱に移動させ。

整髪剤や制汗剤も使うものだけ残し。

ずいぶん前に処方されて残ったままの風邪薬や鼻炎薬も一掃。



ついでに部屋の大掃除をして塵芥も追い出して…

ウルグアイのムヒカ前大統領ではないが、本当に必要なもの以外を求めなくなると心が豊かになった気がした。

highchartsの使いかた (2)

f:id:HutabaH:20170629103513p:plain:w600

highchartsのデモ解説その2。

今回はBasic areaの解説です。

highchartsの説明はこちら。

hutabah.hatenablog.jp

Basic area

f:id:HutabaH:20170629103513p:plain:w600

Basic areaは折れ線グラフの領域を塗りつぶしたようなグラフです。

始めにソースコード

html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>Title</title>
  <script src="https://code.highcharts.com/highcharts.js"></script>
  <script src="https://code.highcharts.com/modules/exporting.js"></script>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <div id="container"></div>
  <script src="BasicArea.js"></script>
</body>
</html>

css

#container {
	width: 600px;
	height: 400px;
	margin: 0 auto
}

JavaScript

Highcharts.chart('container', { //グラフ描画のテンプレート
    chart: { //グラフの種類
        type: 'area'
    },
    title: { //グラフのタイトル
        text: 'US and USSR nuclear stockpiles'
    },
    subtitle: { //グラフのサブタイトル
        text: 'Source: <a href="http://thebulletin.metapress.com/content/c4120650912x74k7/fulltext.pdf">' +
            'thebulletin.metapress.com</a>'
    },
    xAxis: { //x軸の設定
        allowDecimals: false, //falseで小数点以下を表示しない
        labels: {  //目盛りの数値の設定
            formatter: function () {
                return this.value; // clean, unformatted number for year
            }
        }
    },
    yAxis: { //y軸の設定
        title: { //y軸のタイトル
            text: 'Nuclear weapon states'
        },
        labels: { //目盛りの数値の設定
            formatter: function () { //1000で割った値に'k'という文字を付け加える
                return this.value / 1000 + 'k';
            }
        }
    },
    tooltip: { //マウスポインタを合わせた時に表示される詳細データ
        pointFormat: '{series.name} produced <b>{point.y:,.0f}</b><br/>warheads in {point.x}'
    },
    plotOptions: { //点の設定
        area: { //グラフの種類を指定
            pointStart: 1940, //1940年から書き始める
            marker: { //プロット点の設定
                enabled: false, //プロット点を常時表示しない
                symbol: 'circle', //プロット点を円で描画する
                radius: 2, //円の大きさ
                states: {
                    hover: { //マウスポインタを合わせた時の設定
                        enabled: true //マウスポインタを合わせた時に表示する
                    }
                }
            }
        }
    },
    series: [{ //グラフの中身(データの設定)
        name: 'USA', //各データの名前
        data: [null, null, null, null, null, 6, 11, 32, 110, 235, 369, 640,
            1005, 1436, 2063, 3057, 4618, 6444, 9822, 15468, 20434, 24126,
            27387, 29459, 31056, 31982, 32040, 31233, 29224, 27342, 26662,
            26956, 27912, 28999, 28965, 27826, 25579, 25722, 24826, 24605,
            24304, 23464, 23708, 24099, 24357, 24237, 24401, 24344, 23586,
            22380, 21004, 17287, 14747, 13076, 12555, 12144, 11009, 10950,
            10871, 10824, 10577, 10527, 10475, 10421, 10358, 10295, 10104]
    },  {
        name: 'USSR/Russia',
        data: [null, null, null, null, null, null, null, null, null, null,
            5, 25, 50, 120, 150, 200, 426, 660, 869, 1060, 1605, 2471, 3322,
            4238, 5221, 6129, 7089, 8339, 9399, 10538, 11643, 13092, 14478,
            15915, 17385, 19055, 21205, 23044, 25393, 27935, 30062, 32049,
            33952, 35804, 37431, 39197, 45000, 43000, 41000, 39000, 37000,
            35000, 33000, 31000, 29000, 27000, 25000, 24000, 23000, 22000,
            21000, 20000, 19000, 18000, 18000, 17000, 16000]
    }]
});


Basic Lineとあまり変わらないですね。

新しい所だけ説明していきます。


chartsのtypeは当然areaです。

highchartsのtextではhtml表記で書けるので、ソースコードのサブタイトルのようにリンクを埋め込むことも出来ます。

他にも、javacriptらしくfunctionで関数を埋め込んでやることも出来ます。


xAxisのallowDecimalsはfalseにすると小数点以下を表示しなくなります。yAxisでも使えます。

labelで何をしているかはぶっちゃけ分かりません。正しい形式じゃない値を除外している?分かる人教えてください...


tooltipはマウスポインタを合わせた時に表示される詳細データの設定です。

{series.name}がserieaで指定したデータの名前、で囲っている文字は太文字表記になり、{point.y:,.0f}はy軸の値を小数点以下切り捨てで表示するということ、
は改行、そして{point.x}はx軸の値です。



こんな感じで。

ほんとにx軸の関数は何の意味があるのかわからないのですが、他のところは分かりやすいものしかなかったですね。

これでBasic areaはおしまい!


hutabah.hatenablog.jp

hutabah.hatenablog.jp

休日こそ体を酷使する

インドア派のHutabaHです。

休日は、朝早から起きて思いっきり遊びます。家の中でですけど。

昔は昼過ぎまで寝て、ぐーたらと残りの時間を過ごしていましたが、そんな無駄な時間は辞めて有意義に時間を使うようにしました。

休日は「仕事を」休む日であって、「体を」休める日ではないということを知ったのです。



少し前の僕は、毎日徹夜で働いていました。

学生なので、正確には研究していました。

一週間ごとに成果出さないと教授がうるさいし、気づいたら教授からお願いという追加労働を課せられるし、「今日も徹夜か」が口癖になってました。

でも、徹夜すればノルマは達成されるので、ある意味徹夜を信仰していたといいますか、

徹夜すればいいやっていう意識になっていたんだと思います。

むしろ、「徹夜している僕は偉い」と錯覚して、定時に帰る別研究室の学生を見下ていたこともありました。

そして、休日出勤を除けば、土日は昼過ぎまでぐーたら寝て過ごすのです。

今思えば無駄で無意味で非効率な日々を送っていました...。


hutabah.hatenablog.jp



徹夜前提で昼間を過ごすことが、そして休日を睡眠にあてることが本当にもったいないことだと気づいたのは最近のことです。

とある一冊の本に出会ったのです。

『気力より体力』吉越浩一郎(KADOKAWA


f:id:HutabaH:20170626222511j:plain:w600


面白いことが山ほど書かれていましたが、僕が一番注目したのが先述した「休日の過ごし方」でした。

例えば、それまでの僕は日中の業務をグダグダと行って、終わらなかった分を徹夜で補い、睡眠不足や疲れの溜まった状態で次の日を迎え、そしてその疲れから日中の業務をグダらせる、という悪循環に陥っていました。

また、徹夜をしなくて良い日も、夜遅くまで起きていることが習慣になっていたため、帰宅後にテレビを見たりパソコンしたりとグータラ過ごし、深夜まで起きている生活を続けていました。

その疲れを癒すのは休日しかなく、ストレスを溜めるばかりの生活です。



そこで、休日の休み方を変えるのです。

体の疲れをとる日にするのではなく、心の疲れをとるための日にするのです。

朝早くに起きて日光を全身に浴び、1日中思いっきり趣味に遊びに打ち込めば、1週間の精神的な疲労やストレスが吹き飛び次の1週間を迎える準備が整います。

じゃあ体の疲労はどうするのかといえば、その日のうちに癒し、次の日に持ち越さないことが重要です。

平日は22時30分までに寝て、疲労を完全にリセットするのです。

同時に、平日の朝早くに起きることでその日の予定を再確認し、よりよいスケジューリングが出来るようになるでしょう。

また、徹夜をせず、残業も殆どしないのであれば、日中でその日のタスクを全て終わらせなければいけません。

緊張感を持って仕事に取り組み、効率よく仕事に取り組めるようになるのです。



僕は研究室を移動してからこの生活を続けています。

今までの鬱屈した心が嘘みたいに晴れやかに生活できるようになり、研究室とプライベートのメリハリがついてより活動的になりました。

体の疲れを持ち越さないことと、休日にストレスを発散させることで、有意義な日々を過ごせるようになったのです。

どうしても夜遅くまで作業しなければならない時があれば、その分違う日に早めに帰宅して溜まった疲れを癒すのです。



多くの人は時間を無駄に浪費しているのではないでしょうか。

仕事との付き合い方を見直して、有意義でクリエイティブな生活を送りましょう。



全く反対のことを書いている記事。

hutabah.hatenablog.jp

ネット無料マンションの罠

一人暮らしのHutabaHです。

大学入学から今のアパートに移ってきてもう5年目。

それなりに快適でお気に入りのマイハウスになっています。

ただ一つ不満があるとすると、インターネットが無料であるということです。



大学入学とともに移り住んだ我が家は、大学生協の管理する物件です。

大学から非常に近く、スーパーやコンビニに囲まれる好立地で、新築かつ値段の割に広い一室は僕にドンピシャでした。

残り2部屋だったこともあり勢いで契約し、良い買い物だったとその時は満足していました。

入居2日目に天井から水漏れしたり、角の壁にひびが入って隙間風が吹いたりと、本当に新築か?と思わず疑ってしまうほどガバガバな手抜き工事物件ですが、それらに目をつぶればとても住みやすい快適(?)空間を提供してくれます。

インターネットが無料であることを押しの一つにしていたみたいですが、当時の僕からしたら回線工事や手続きの手間が省けて「ラッキー」程度の気持ちで、住居選びにネット無料のサービスをそれほど重視していませんでした。



後悔し始めたのは移り住んで1週間後。

新生活も落ち着いてきて、久しぶりにパソコンを立ち上げ遊んでいると、いきなり

「インターネット接続がありません」

の表示が…


f:id:HutabaH:20170626211846p:plain


ケーブルを確認しパソコンも再起動して診断ツールを使ってみるも原因は分からず、何も出来ずに呆けているといつの間にかネット回線は復活していて、普通に利用できるようになっていました。

いったい何だったんだろうと不思議に思いつつも、そういうことがあるのかもしれないと思い直しネットを続けていると、その1時間後にはまた接続されなくなる。

今日は調子悪いのかなと心配に思うも、この現象は一時間おきに発生し、それから毎日続きました。

YouTubeは途切れ、ブラウジングは中断され、ネットゲームは回線落ちするのです。



ついに耐えきれなくなった僕が生協に相談しに行くと、専門の業者に連絡してくれと投げ返され、業者に電話した時に限って断線が起きない不条理を味わいました。

断線が起きた時を見計らって再度連絡すると、同じアパートの住民が何人も同時にネット回線を使っているために通信容量の上限を超えて一時的に回線が使えなくなっていると回答を受けました。

無料という言葉の裏にはこんな闇が隠れていたんだな、と痛感しました。



僕の家に導入されている回線はマンション向けの共同回線で、いわば一つの道路を何人もの人が一緒に使っているような状態だったのです。

道路をネット回線、車を通信データに例えると、道幅が決まっている道路に一人が何台もの車を走らせていたら、他の人の車を走らせる余裕がなくなります。

それでも無理して車を走らせようとすると、道路が対応できなくなり使えなくなっていしまうのです。

僕のマンションは一棟に6部屋あり、お隣さん6人と回線を奪い合っていた状態でした。

言われてみれば、早朝に回線落ちは殆ど起きず、夕方や深夜には頻繁に起きていました。

6人とも大学生なので、ネットを使う時間帯が重なっていたことも原因の一つでした。

f:id:HutabaH:20170626215749p:plain:w500


満足にネットを楽しむことが出来ず、こんなことなら個人でプロバイダ契約すればよかったと悔み、何度も個別に回線を引こうと思いました。

生協も一度だけ注意喚起してくれましたが効果はなく、いまもよく回線が落ちる状態です。

この記事を書いている間にも一度落ちました。

スマホアプリの影響でサービス無料が当たり前になった」なんて記事をたまに目にしますが、マンションのネット無料も当たあり前になりつつあるように感じます。

しやし、やっぱり無料には訳があり、充分なサービスを受けるには相応のお金が必要になります。

その点をよく考える必要がありそうです。

これから引っ越しを考えている方は、無料という言葉に騙されず、しっかりとサービスを見極めてもらいたいと思います。

エイリアスを設定してコマンドを省略する【Ubuntu】

f:id:HutabaH:20170621110225j:plain:w600

ubuntuに限らず、Linuxmacを使っていると操作は基本的にコマンドになります。

cd(ディレクトリ移動)やmkdir(ディレクトリ作成)のような基本的なものは全然問題ないのですが、中には数単語組み合わさったとてつもなく長いコマンドもあるわけです。

そんなコマンドを何回も打っていくのはとても面倒くさい...

そんなときのために、エイリアスというものが用意されています。



エイリアス(alias)を設定することで、長々としたコマンドを省略することができるのです!

これ知った時は感動しました。

これを用いることで、例えば、

$ java -jar Minecraft.jar

と打たなければならなかったマインクラフトも、

$ mic

と打つだけで起動するようになるのです!

いや、まぁUbuntuでマイクラすることも殆どないんですけどね...



使い方はとても簡単で、.bashrcというファイルに元のコマンドと省略形のコマンドを記入するだけです。

$ nano ~/.bashrc

で.bashrcを開いて以下の記述を追加します。

エディタはvimでもgeditでもなんでもいいです。個人的な好みでnano使ってます。

alias mic='java -jar Minecraft.jar'

これで登録完了。

省略形は自分のお好みで作れます。


あとは省略形を使いたいときに毎回、

$ source ~/.bashrc

を打ってあげれば使えるようになります。



...いやいや、使うたびにsource打つのなら省略しても手間があまり変わらないじゃないか。

なので、ターミナルが起動すると読み込まれる.profileに、.bashrcも一緒に読み込むよう設定してあげます。

ちなみに、ubuntu以外のlinuxmacは.bash_profileって名前っぽいです。

$ nano ~/.profile

で開いて、以下を記述。

source ~/.bashrc

これで終了。

$ source ~/.profile

で変更を反映させたら、使えるようになります。



ちなみに、上の書き方はmainecraft.jarをhomeに置いている場合ですね。

Minecraft.jarを/home/user/Documentsに置いている場合は、

alias mic='java -jar /home/user/Documents/Minecraft.jar'

にすれば問題ないです。

残業は必要

f:id:HutabaH:20170621110225j:plain:w600

昔、システム開発のアルバイトをしていたHutabaHです。

働いていた職場は一部上場企業で、僕が東京を旅行したとき提供するサービスを至る所で見かけました。

それなりに成功しているのにさらに新しい技術を開発している姿を見ると、これがIT産業なんだなーと意識させられます。


残業すること

守秘義務契約が切れてないので詳しくは話せませんが、僕が雑用として関わったシステムは、他のどの企業も実現出来てなく、完成すればその分野の人なら誰もが欲しがる革新的サービスでした。

AIや機械学習をフルに活用し、素人の僕はその構想を聞いた時「へぇぇ~、こんなことできるんだ!」と感心しっぱなし。

GoogleApple、Microsoftnoの三強ばかりに注目しがちですが、人知れず新たな技術を生み出す企業はたくさんあるんですね。


そんな職場でしたが、アルバイトはもちろん、派遣社員もたくさんいました。

むしろ本社と離れた開発支社でしたから、社員さんよりもアルバイトや派遣社員が中心となってシステムを作り、社員さんがそれを統括する、といった形になってました。

勿論、社員さんも別の案件を多量に抱えていて常に忙しそうでしたが。

ここで触れておきたいのが、派遣社員は23時くらいまで残業するし、社員さんは23時以前に帰っているところを一度も見たことがない、ということです。

8時や9時といった朝早くから、深夜遅くまで働き詰めなのです。

これが所謂ブラック企業なのかな?と考えていました。

しかし、給料はいいですし休憩時間もしっかり用意されていて、タイムカードは分単位で計算されています(当たり前?)。

残業さえなければ優良企業なのに、なんてもったいなく思いつつ社員さん同士の会話を聞いていると、それも仕方ないことなのかなと思い直しました。


どこよりも早く

知っての通りIT分野は日進月歩で常に進化し続けています。

毎日新しい技術が開発されている現状です。

そんな世界で生きていくには、とにかく新しい技術をどこよりも早く、高クオリティで生み出さなければなりません。

ライバルは世界中にいますし、開発途中の技術を他所に先に発表されたらそれはもう売り物にならないからです。

そして、それを実現するためには優秀な人材はもちろんですが、何よりも時間が必要となります。

社員さんは僕からしたら何でもできる超人ですが、それでも時間をかけなければ良いものは作れません。

残業してでも、時間をとらないといけないのです。

「残業して早く完成させないと、他所に先を越されちゃいますからね」

とはその社員さんの言です。

ちなみにその時は繁忙期で、社員さんは三徹だったそうです。


おわり

朝から晩までプログラムを書き、部下を統括し、外部との交渉に出かける社員さんは、仕事を楽しんでいるようにも見えました。

新しいものを作ることが天職だ、といわんばかりに働いています。

ですが、派遣社員の方々はどうなのでしょうか。

自分の会社でもないのに、夜遅くまで働き詰めで納得しているのでしょうか。

そこはプロ意識で分別しているのか、新しい技術の開発に携われて満足しているのか、詳しくは分かりません。

ただ一つ言えることは、僕は絶対にやっていけないということです。

世界と戦う企業に残業が必要だということは理解していますし、納得も出来ますが、僕はその環境に耐えられないでしょう。

世界を相手にした業界に身を置く人は、その覚悟が必要なのだと実感させられました。



hutabah.hatenablog.jp

料理のさしすせそ

f:id:HutabaH:20170620204434j:plain:w600


ある日の友人との会話。


僕「料理のさしすせそってあるじゃん?あれ、『そ』だけ仲間ハズレで可哀想だよな」

友人「は?」

僕「だって、味噌だけ頭文字じゃないんだぜ、『そ』じゃなくて『み』じゃん」

友人「それなら『せ』のほうが違うだろ。醤油のどこに『せ』があんのよ」

僕「!?」


ということで、料理の『さしすせそ』について調べてみました。

Wikipediaで30秒で調べ終わりました。

さしすせそ (調味料) - Wikipedia


ここに全てが書かれてます。

料理のさしすせそ


日本人なら一度は聞いたことがあるだろう言葉、料理の『さしすせそ』。

その正体は、料理の味付けの基本となる5つの調味料の順序を覚えるための語呂合わせだそうです。

ですが、『さ』『し』『す』の3つは知っていても、『せ』『そ』を知らない人は意外と多いのではないでしょうか。

僕も最近知りました...


それぞれ、

  • 砂糖
  • 醤油
  • 味噌

を指しています。

どうして使う順序がこの順番なのか、ということはWikipediaを見てもらうとして、そもそもどうして醤油が『せ』なのかというと、


昔の日本語では、「せうゆ」と書いて「しょうゆ」と読んでいたからなのです。


なるほど~

高校の古文で習ったやつですね。

凄く納得出来ました。

でも、それだけなんだ。

ちょっと拍子抜けというか、もっと壮大な理由を期待していたので残念です。

酒やみりんは?

調査しているうちに、純粋な疑問が湧いてきました。

これ、酒とかみりんとか、胡椒とか七味とかオリーブオイルとかその他諸々の調味料はどうなるんだろうって。

本当の仲間外れは彼らだったんですね。醤油や味噌は『さしすせそ』に加えられているだけましだったんですね!

料理初心者の僕としては酢や味噌より使用頻度高めな胡椒を加えてあげたいところですが...