SIerエンジョイ勢の雑記

日々の業務で学んだプログラミング知識や、Androidアプリ開発について書く予定です

「初めてのAndroidプログラミング」を読破しました (Android本1冊目)

目次

本の紹介

Androidアプリの開発は初めてだったので、初心者用のサンプルコードがたくさん載っている本を探していました。

「初めてのAndroidプログラミング」は評判も良かったので最初の1冊としてとりかかることにしました。

本の良かったところ(学べた所)

 ・Kotlinの基礎的な部分が学べる
 ・順序立てて8個のアプリ作成に取り組める
 ・画像などサンプル素材が用意されている

この本では学べないこと

 ・プログラミングのアルゴリズム
 ・オブジェクト指向の考え方

 

こんな人におすすめ

◎プログラミング初心者の人

プログラミング初心者の人におすすめな理由として、
いきなりJavaC#などを学習してみても「結局どう活用すればいいか」ということに悩んでしまうのかと思います。
サンプルコードを見ながらプログラミングをするだけで、Androidアプリとして実際に動かすことができるので、難しい部分は置いておいて、「まず何となく理解する」ということがやりやすいかなと感じました。

◎他の言語を学んでいて、自分1人で動くものを作ってみたかった人

逆に他の言語で基礎を学んだ人であれば、本書で端折りがちな「クラスの考え方」「オブジェクト指向」についても理解できると思うので「自分で独自アプリを作るならここを参考にしよう」というところまで考えられるのではと感じました。

 

こんな人にはあまりおすすめできないかも

×すでにAndroidアプリの本を持っている人

正直初心者用レベルの本なので、別の本を持っていればこのレベルの本は2冊もいらないかなと思いました。

×IT企業に就職が決まり、学習1冊目の本としての購入

未経験でIT系に就職が決まったレベルの人の場合も、会社によって使う言語が違うので、最初の1冊は会社で使う予定の言語を素直に学ぶ方がいいと思います。

 

Javaの勉強をするなら

学べないことで前述していますが、プログラミングの構造やアルゴリズムについてなどはあまり学べません。私がJavaを学習した時に使った本を紹介します。オブジェクト指向をちゃんと知りたいならJavaの勉強も必要だと思います。
JavaとKotlinは非常に似ているので、片方学べば学習コストは低いです。)

本書では配列、条件分岐などのプログラミングの基礎から
イメージの付きづらい「クラス」とは何なのかをRPGゲームのキャラクターに例えられて学ぶことが出来ます。
 
 今後もおすすめの本があれば紹介していきます!

【Androidアプリ開発】初めてのAndroidアプリ開発

目次

暇すぎてアプリ開発をやってみた

会社の研修でJavaJSPを勉強したはいいものの、自分個人で何か作ってみたいと思ってAndroidアプリ開発を始めてみました。

iOSアプリではなく、Androidアプリにした理由

理由は大きく下記の3つ

  • 持っているPCがwindowsだったから
  • 開発言語が自分のスキルとマッチしていたから
  • リリース費用が安い

 

使う言語がJava or Kotlin(ほとんどJavaと文法が一緒)であり、入りやすかったということと、リリース費用がiOSと比べて明らかに安いからですね。

※参考費用

  iOS:$99/年間(年に10,700円くらい)

  Android:$25/初回登録(2,700円くらい)

 

上記の理由を総括すると(導入、学習、継続)コストが低いからということになりますね。

必要なもの

当然なものばかりですが、自分の開発している周りの物を紹介します。

 

PC

使っているノートPCのスペックは下記の通り

OS:Windows10

CPU:Intel Core i5

メモリ:8GB

SSD:128GB

学生時代から使っていたパソコンですが、開発においては全く不満なく動作しています。

2020年7月時点で同じようなスペックの端末を探してみましたが、安いメーカーなら8万円程度ですね。

iOSアプリを作りたい方はMacの端末が必要です。

Android端末

アプリを作成するうえで、動作確認などをする必要があります。 PC上のAndroidエミュレータ(仮想的な画面)でも確認できますが、実際の端末は必須と考えてよいでしょう。

筆者はiPhoneユーザなのでAndroidスマホを持っていませんでしたが、AmazonのFire HDを持っていたので活用しました。

 
アプリ開発のためだけにAndroidスマホを買っても持て余すと思うので、安く買えるタブレットというのはとてもおすすめです。

いまどき本なんて買わなくてもネットで調べればいいやと思っていましたが、必要な情報を検索しながら勉強するというのはかなり大変なので、本を買った方がいいですね。

 

 

さらに良かった点として、こちらの本をkindleで購入して前述のFire HDで見るということが出来たので、買ったものを色々有効活用できました。

最後に

今後自分でリリースできるところまで頑張る予定なので、作成出来たら過程を含めてブログに書きたいと思います。

【JavaScript】チェックボックス、ラジオボタンのクリアはなぜ「checked=false」を設定するのか

はじめに

HTMLとJavaScriptを開発をしている人なら何となくわかると思うが チェックボックスやテキストボックスの値をクリアする機能を作成したとする。

その時にチェックボックスラジオボタンに対して「value=""」と実装するのはコーディング誤りとなってしまう。

サンプル画面

氏名

男性女性

学生

サンプルコード

下記ソースをローカルで「拡張子:html」などで保存して、試してみる。

〜
<!DOCTYPE html>
<html lang="jp">
<head>
<meta charset="utf-8"/>


<p>氏名<input name="textbox_name" type="textbox" /></p>
<p>男性<input name="radio_gender" type="radio" value="1" />女性<input name="radio_gender" type="radio" value="2" /></p>
<p>学生<input name="checkbox_student" type="checkbox" value="123" /></p>
<p><input id="clear_button" name="clearValue_button" onclick="clearValues()" type="button" value="クリア" /></p>


<script type="text/javascript">// <![CDATA[
function clearValues() {
                alert("testmesseage");
                document.getElementsByName('textbox_name').item(0).value = "";
                document.getElementsByName('radio_gender').item(0).checked = false;
                document.getElementsByName('checkbox_student').item(0).checked = false;
                                document.getElementsByName('checkbox_student').item(0).value = "";
};
// ]]>
</script>
〜

なぜcheckedに設定するのか

チェックボックスラジオボタンは「属性:checked」によって選択されているかどうかを判断しており、 「checked=true」のときに設定されている「属性:value」を送信するようになっている。 そのため、

テキストボックスのクリアに対しては「value=""」の設定で良いが、

チェックボックスラジオボタンに対して「value=""」を設定しても動作しないということになる。

⇒自分の体験だが、IEチェックボックスにブランクを設定すると、チェックオンのときの送信値がブランクになってしまい 見た目上はチェックできているのに、値を送信できていないように見えてしまうということがあったので注意したい。

Redimineの構造についての自分まとめ

はじめに

進捗管理などでよく使われるであろうRedmineだが、プロジェクトやらバージョンやらカテゴリやら何がどう違うのだかということを理解するのに時間がかかったので、
自分なりに特性をまとめてみた。

Redmineの構造

Redmineは「タスク=チケット」として作業状況を管理するものですが、
チケットの管理場所や検索用フィルタとして使える用語について表を作ってみました。

Redmineのチケット管理分類
Redmineのチケット管理分類

またこれらの分類をどのように使えるのかということを表すために、もう少し特性につい説明します。

Redmineの分類方法ごとの特性
Redmineの分類方法ごとの特性

プロジェクト、サブプロジェクトはフォルダのようなものですが、
エクスプローラと大きく違うのは、「配下のサブプロジェクトのチケットをすべて見れる」という点です。
また、その他の分類に関して気にするべき点は「開始日」「期限」が設定できるかどうか。
という点はガントチャート表示にしたときに影響があるので事前に使い方は考えておきたいです。

便利機能

チケット閲覧形式

主に下記の方法でチケットを閲覧することが出来る。

  • チケット一覧
     ⇒チケットを一覧形式で確認が出来る。クエリを設定することで表示項目を可変にできる
  • ガントチャート
     ⇒チケットを「開始日」「期限」に基づきWBSのように表示できる。
  • かんばん
     ⇒チケットのステータスごとに列を変えて表示。承認状況の可視化などに使える。

wiki

恒久的に利用できるものとしてwikiがある。自分が使った方法としては下記の通り。

  • チケットの凡例
     ⇒進捗率70%の意味合いとか、忘れてしまう人がいるのでルールなど。

  • 各種クエリ使用状態のサブプロジェクトへのリンク
     ⇒wikiをブラウザのお気に入りに入れることで、Redmine移動のスタート位置として活用する。

最後に

結局はRedmineもツールに過ぎないので、どう利用していくかは設定する人次第です。
シンプルで使いやすいルール設定が必要ですね。

はてなブログを開設しました

ブログを書いたことなどなかったので、テストもかねてMarkdownで初投稿してみます


自己紹介

日系SIerでアプリSEをしています。
基本的にエンジョイ勢なのであんまり固有の趣味はないが割とアウトドアが好き。

はてなブで書いてみたいこと

  • 自己学習のoutput
    Markdownも勉強したのに使いこなせていなかったのでoutputの場が欲しかった+備忘や気づきを残す場としての活用
    先人の技術ブログで助けられたことが多くあったので、あわよくば自分も誰かの助けになったらいいなと思ったり。

  • その他
    →自分が使ってみたツールの紹介とか買った本とか紹介するかも。

次回は文字以外の情報も入れて投稿してみようかな。