Tagbangers Blog

藤岡 大輝

【Swift】オプショナル型とクロージャ

こんにちは、藤岡です。 今週は、初めてフローチャートという「処理の流れなどを表現するために記号を用いて表した図表」を作成しました。 今回作ったのはiOSのSwiftで書かれたコードだったのですが、文法や構文がわからないところがあって、つまずいてしまったので、わからなかったところを調べて軽くまとめてみました。 オプショナル型について Swiftで採用されている「オプショナル型」という型は、僕が今まで学んできたJavaやJSにはないものだったので、少し新鮮でした。 このオプショナル型は普通の型とどう違うのかというと、変数にnilを代入することができるというところです。 では、具体的にどのように使う...

NativeScript 触ってみたよ

こんにちは、藤岡です。 Angularを使ってNativeScriptでアプリを作りました。 まずはNativeScriptのホームページを参考に環境構築をし、チュートリアルに沿ってアプリを作ってみました。 完成したものは、このようになりました。 機能としては「ログインしてページを遷移させ、リストを追加し表示させる」だけのものですが、多くの要素が詰まっています。 ちなみに、実機にインストールして起動してみましたが、うまく動いていました。 ソースコード: https://github.com/hiroki0976/NativeScriptTutorial NativeScriptの最大の魅力は、...

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

こんにちは、藤岡です。 今週はユニットテストについて学びました。 ユニットテストとは、プログラムを構成する個々のメソッドが正しく機能しているかを確かめるためのテストのことです。 ユニットテストのメリットは、全体でテストをするよりも細かく分けてテストをした方が、バグの原因がどこにあるのか突き止めやすいことと、テストを意識してプロダクションコードを書くことで結合度を低く保てるため、互いに影響を及ぼしにくくなるところです。 一方で、これは開発者によって実施されるため、開発者にかかる負担が大きくなりやすいというデメリットもあるそうです。 今回僕がやるのは、今まで作ってきたプログラム(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コマンドに近づけるために、パスを渡してそのディレクトリ配下のファイル(ディレクトリ)名を表示させるということを実装しました。 具体的には、絶対パスが指定された時と、相対パスが指定された時で処理をわけました。...

Javaでlsコマンドを作る

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

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

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

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

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

JavaScriptの基礎学習

初めまして、藤岡です。 先週の木曜日から、タグバンガーズでインターン生として勤務することになりました。 というものの、プログラミング歴はほとんどないため、学びながらお仕事をさせてもらっています。 そこで、学んだことを備忘録も兼ねてこのブログに書き留めることにしました。 学ぶときに役立つサイト 今週は、主にJavaScriptについて学びました。 勉強するにあたって、参考になるサイトは MDN jsfiddle CodeAcademy です。 まず、MDNは初級者から上級者まで幅広く読まれているJavaScriptの定番リファレンスです。このサイトの読み方をマスターして、使いこなせるようになれば...