Tagbangers Blog

Blog

templateタグについて

結構昔からあったようなのですが知らなかったので、、 templateタグというものがありまして、素敵だったのでご紹介 templateタグ ページがロードされるときはレンダリングされず、javascriptでアクティベートする必要があるタグ。 テキストではなく、HTML要素として存在しています。 document.importNode() を使って.content のクローンを作ることで、アクティベートできます。(importNodeはデフォルトはシャロークローン) .content プロパティはテンプレートの中身を持つ読み込み専用の DocumentFragment のため、ブラウザでこのプ...

ユニットテストを実装してみる

こんにちは、藤岡です。 今週はユニットテストについて学びました。 ユニットテストとは、プログラムを構成する個々のメソッドが正しく機能しているかを確かめるためのテストのことです。 ユニットテストのメリットは、全体でテストをするよりも細かく分けてテストをした方が、バグの原因がどこにあるのか突き止めやすいことと、テストを意識してプロダクションコードを書くことで結合度を低く保てるため、互いに影響を及ぼしにくくなるところです。 一方で、これは開発者によって実施されるため、開発者にかかる負担が大きくなりやすいというデメリットもあるそうです。 今回僕がやるのは、今まで作ってきたプログラム(cat、ls、ch...

Basic認証をJavaで導入する2

こんにちは、藤岡です。 四苦八苦して、やっとJavaで作ったWebサーバアプリにBasic認証を導入することができました。 このプログラムの概要については、前回の記事で説明してあります。 完成したものは、GitHubにあげておきました → https://github.com/hiroki0976/Server2 このプログラムを作る中で、Socketの使い方と、Threadの性質、Input(Output)Streamクラスの性質がよく理解できました。 特にInput(Output)Streamクラスについては、流れの概念を表すクラスで、一度使用すると消えてしまう特徴があったので理解しにくか...

Basic認証をJavaで導入する

こんにちは、藤岡です。 今週は前回作ったWebサーバアプリの改良をしていたのですが、Basic認証の機能を追加するところでつまずいてしまったので、あまり進められませんでした。 しかし、考え方として多くを学び得ることができたので、共有していきます。 Basic認証とは? 僕はこのサイトでBasic認証の概要を掴みましたが、大まかに説明すると、その名の通り簡易的な認証機能のことです。 ブラウザでこの機能が実装されたURLにアクセスすると、このような画面が出てきて、UserNameとPasswordが正しければ先に進めるというものです。 今回は、これをJavaで作ったWebサーバアプリに組み込んでみ...

サーバ関連の技術をJavaで実装する

こんにちは、藤岡です。 先週はブログの更新ができなかったので、その内容と合わせて共有していきたいと思います。 先週と今週で、出していただいた課題がほとんど終わったので、達成感がありました。 どういう内容のものを作って、何を学ぶことができたか、それぞれ紹介していきます。 lsコマンド 先週、長い間格闘していたlsコマンドが完成しました → 完成版 前回でほぼ完成していたのですが、より本来のlsコマンドに近づけるために、パスを渡してそのディレクトリ配下のファイル(ディレクトリ)名を表示させるということを実装しました。 具体的には、絶対パスが指定された時と、相対パスが指定された時で処理をわけました。...

AWS Trusted Advisor

Trusted Advisor、ここ最近までほとんど見ることがなかったのですが便利そうですね。 使用しているAWSアカウントにおけるセキュリティの問題を指摘してくれたり、リソースのパフォーマンス状況を教えてくれるようです。  ダッシュボードでサマリーが表示され、デフォルトでは下記の項目についてチェックしてくれます。 問題ない場合は緑色になりますが、問題があると思われる場合は黄色や赤で警告してくれます。 例えばセキュリティグループですが、下記の基準を満たさない場合はアラート表示(黄色または赤)となります。 こんな感じで一目で問題のセキュリティグループが分かるので管理者の方には見やすいのではないで...

Javaでlsコマンドを作る

こんにちは、藤岡です。 今週も、先週に引き続き「ターミナルのlsコマンドをJavaで作る」ということをやりました。 ようやく完成に近づいたので、それを共有したいと思います。試作品はこちらです。 このプログラムを作るに当たって、ポイントとなったのは オプションが指定された時にそれをどう受け取るのかということ オプションが指定された時にそれぞれどう場合分けして処理させればいいのかということ ということです。 それぞれどう対処したのかを解説します。 1. オプションをどう受け取るか これが最初の難関でしたが、Character型の配列に指定されたものを追加していくという方法で解決しました。 具体的に...

ターミナルのコマンドをJavaで作る

こんにちは、藤岡です。 今週も学んだことを共有していきたいと思います。 今週はパソコンの受け継ぎを行ったので、MBAからMBPにグレードアップしました。 いつの年のものかは知りませんが、明らかにPCの解像度が綺麗になっていたので、時代の進歩を感じました。 また、キーボードもApple純正の「Magic Keyboard」になり、ディスプレイも2画面から3画面となったことで、作業がかなり快適になりました。 自分にはもったいない環境だとは思いますが、是非とも活用していきたいです。 さて、今週は主にJavaについて学んだのですが、以下の2つの課題を出していただきました。 javaでcatコマンドを作...

Alibaba Cloud 触ってみたよ

こんにちは。並木です 今日はアリババクラウドを触ってみたのでその感想等。 アリババって漢字だと「阿里巴巴」こうなんですね。 俺の中ではアリババって↑の人なんですが、この人はシンドバッドで、アリババとは別人?とのこと。まぁ、どうでもいいですね。 さてログイン画面 選択できるサービスの数はまだ少ないです。 良く言えばさっぱり。(VPCが二つあるのはそういう仕様なんだと理解しました。) 後、アバターが選べます。デフォルトで選択されていたままですが、いくつか種類があるようです。 こちらもまぁ、あまり。。。 ECSを作っていきましょう。 サービスのページに行くと、今稼働中のインスタンスが一覧で見れます。...

JS、Javaでサンプルプログラムを作ってみる

こんにちは、藤岡です。 今週も、先週に引き続きJavaとJavaScriptの勉強を進めました。 今週の課題として出していただいたのは、以下の3つです。 JSで四則演算を行うプログラムを作る JSで電卓を作る Javaで誕生日を入力し、年齢を算出させるプログラムを作る それぞれ、説明していきます。 四則演算プログラム(JS) このプログラムは、単純に「掛け算」、「足し算」、「引き算」、「割り算」を計算させるものです。 注意しなければならないのは、足し算を行う時です。というのも「+」を用いて計算させているため、数値が文字列として扱われてしまう危険性があるということです。そのため、「parseIn...