読者です 読者をやめる 読者になる 読者になる

mura632’s blog

自分が学んだ知識や考えをアウトプットする場として使っていきます。

対話でのロジカルシンキング

学校の課題と就活が忙しい今日この頃…
ようやく学校の課題の山場が超えた?のかもしれないのでちょっとメモ程度に書いておきます(^O^)

ロジカルシンキングを人と話すときに用いる方法を記します。


まずロジカルシンキングとはそのまま論理的思考のことであるのですが、これができるとなんと人を説得するときに理詰めができるので説得力が生まれます。
人からの相談を受けて適切な答えが返せるようになります。

最初から論理的に答えることはできないと思うので、まずは紙に書いてみましょう!
まず、質問を書いてそれに対する答えをとりあえず何個か見てみましょう!

ex.どうやったら頭がよくなるか?
・勉強する
・計画を立てる
スマホを見る時間を短くする

このように書くことで、さらに勉強をするにはどうしたらいいか?計画を立てるのにはどうしたらいいか?などさらに深く考えていくことで自身でも思ってもなかった答えが出てくることがあります!


さらにこれを人とのコミュニケーションにおいて使っていきます!

誰とコミュニケーションをとるにしてもその人は何かしらの目的をもってコミュニケーションをとります。
その時に「相手がなにを目的としているのか」を先のロジカルシンキングの疑問にしていきます。

こうすることで相手が相談してくる場合であれば、本当に解決法を求めているのか、後押しして欲しいだけなのか、などいろいろ予測することができ、なにを言えばいいのかわかります。


これで私は話しやすいだとか相談しやすいだとか言われるようになり、誰とでも仲良くなれるようになりましたヽ(´▽`)/

やっと最初だけわかったナイーブベイズ…

データマイニングを頑張って勉強している今日このごろですが、ナイーブベイズについてあまりやってきませんでした…

というわけでナイーブベイズを理解するついでにこのブログで数式をうつ練習でもしようかと思います笑


ナイーブベイズとはベイズの定理を利用して予測するものです。

ベイズの定理とは
{ \displaystyle
P(Y|X)=\dfrac{P(Y)P(X|Y)}{P(X)}
}
で表される確率を示すもので、これだけだと意味がわかりません。

元々私はP(Y|X)は確率P(X)のもとでP(Y)が起こる確立とだけ理解していました。
これを次のように言い換えます。

ある特徴Xの集合を特徴としたときに結果がYである確立

このようにすることでにわかに機械学習を勉強している方ならわかると思います←

つまりXを参考にした時にYである確率ですね
そしてこのP(Y|X)が最大である時のものを結果として予測します


正直、こういったことを理解するときにうまくアウトプットできません…
自分がわからなかったらとりあえずアウトプットする練習をするようにしていますが今回はまだまだ理解が追いついていないところが多かったのかもしれません。
でもこれでわからないところが理解できた気がします!

完全に独りよがりなアウトプットでメモ程度の存在のブログですが、誰かの役にたったらラッキーです笑

企業でやりたいこと(就活)

友達にアウトプット頑張ろうと言われたので一度は飽きましたが、もうちょっと頑張ります笑

ESや面接をしていて毎回思うのですが、企業でやりたいことはなんですか?って質問大嫌いです。
何も企業のことをわかってないからと言われることもあるとは思いますが、よっぼど思い入れのあることじゃないとこんなん思いつかないと思います。(まぁそういうことがすぐに思いつけば熱意が伝わるとは思うのですが…)

というわけで企業でやりたいことを考える方法を考えていきました。

とある面接で「将来企業に入ってやりたいこと」を聞かれました。その時にその面接官はその直後に「夢ないの?」と問いかけてきました。
そこから「将来企業に入ってやりたいこと」というのが「夢」と問いているということに気がつきました。

しかし、私は「夢」がぱっと出ませんでした。そこからその面接は捨てて、どうやって具体的に考えることが出来るのかを考えるために面接官の人に「夢は何か?」「それはどうやって見つけたか」を教えてもらいました。それからは座談会でもたくさん聞きました。

その結果…人それぞれ過ぎてわからないんですね…

そこで自分がなにをしたいのか考えました。結構考えました。でも何もおもいつかない。ありきたりのことしかおもいつかない。

なのでもっと具体案を出すのではなく、抽象的にこんなことをし続けたいと考えるようにしました。具体的な例であれば、ITを使って人の生活をよくしたい(全然具体的じゃない…)みたいなことがありますね。抽象的な例であれば、なんかやってたい(雑すぎる…)。みたいなできるだけ抽象的に考えます。私の場合であれば、達成感を味わい続けたいです。こっからその企業がやってることを調べて具体的なことをいえば完璧と思います!


こうすることで具体的で自身の希望と関連付けられます。
ちなみにですが、抽象的なことをやりたいことを伝えても興味がないように思われるので、できるだけ具体的な案を考えていくのがベストです!

かなり当たり前のことかもしれませんが、これができれば大体の受け答え困らなくなりました笑

サイトを参考にしてプログラミングをするときの注意点

ひさびさのプログラミングの更新です。
最近は以前から入れていたライブラリのAChartFreeがうまく扱うことができずに苦戦しておりました。

そこで先ほど解決したのでそこをふまえて、ほかの方がブログなどに載せているプログラムに加えて注意する点などを記していきます。
当たり前のことを書く事もありますが超絶初心者なのを考慮して、温かい目で見守ってください。

まずレイアウトのxmlをコピーするときの注意
Android Studio1.4からレイアウトについてはactivity_main.xmlとcontent_main.xmlとなりました。元々はactivity_main.xmlのみだったので古い記事を参考にしているときは注意です。
ちなみにactivity_mainの方が背景や画面の元となっているイメージでそこに詳しい情報を加えるときにはcontent_main.xmlに書き込むことが主流です。
なのでサイトからコピーし、レイアウトファイルがひとつの時にはactivity_mainの方に書いたほうがいいと思います。

それから注意することとしてはレイアウトエディタのスマホ画面が画面上に表示されない時があります。これはレイアウトコードのバグかAPIレベルが対応していない可能性が高いです。なので、画面上に表示されない時にはAPIレベルを下げることをおすすめします。私はこれで表示されました。

あと私が失敗したのもをあげるとpackage名の書き換え忘れがありました。レイアウトのコードをそのままコピペするときにライブラリの時は特にあるようですが、com.の後を自分のものにしないまま実行してしまい、参照エラーが起こることがしばしばありました。注意しましょう!


最後に解決方法がわからないのですが、エミュレータのエラーです。まとめるとエミュレータを別のものにしろってエラーでしたが、ほかのものにしても実機にしても実行されない…
ここで今回かなりの時間を使いました。これの解決方法(完璧ではないです)は実機で一回実行してその実機からアプリを選択して実行する方法です。これでなぜか実行できました。後に解決方法がわかったらメモします。


などなど、基本的なところからわけわからないところまでたくさんありました笑

次からはdatファイルなどの外部ファイルをサイトから取得してandroid内の計算に使えるように頑張りたいと思います!

就活してて思うこと…なにをやりたいのか…

以前からAfreechartを使ってグラフを表示させる努力をしているのですが、エミュレータのエラーが表示されてしまいます。
ググったりいろんな方法を調べていますが、なんだかレイアウトの部分がダメみたいです。
Gradleがエラーをはいていないのですが、実行するとエミュレータに完全にシカトされます笑なので、今はレイアウトの点での解決を考えています。

就活の片手間にこんなことをしていますが、最近将来どんな自分になりたいかを固められるようになってきました!しかし、具体的にやりたいことを問われるとなにをしたいのかわけわからん…

そんで今回は将来、具体的にやりたいことを考える方法を考えていきます。

まず考えるにあたって何事も情報の整理をしなければなりません。これは自分のもってるごちゃごちゃになった情報を整理するという意味です。

そんで実際に整理します………そこで私は思いました。

何も知らない…笑

今回の例だと何も具体的に知らないんです。将来の職種とかは分かってもそれがどのくらい辛いことでどのくらい楽しいのか。どれだけインターンとかに参加したとしても実際に働くとなったら全くわからないのです。その職場にいる人と自分がどれだけ合っているかもわからない…

というわけでここでそんな解決方法をメモしておきます。

マイナス要素を取り除くことです。

マイナスを取り除いてとりあえず挑戦することです。どうしてもファーストキャリアとなる新卒の就活では失敗したくないという気持ちから行動や視野がこわばってしまいます。なのでまずはプラス要素を羅列させてそれらが一番多いところ(これがその人自信が大切にしたい、希望などを表すと思います)を選択して抽出することこそが重要と思います。

どう頑張ってもマイナス要素は出てきます。しかし、それは許容範囲の問題だと思います。自分がどれだけ許せるかを決めておけばいいのです。例えば、年収が低いのが嫌だといったとしてそれはどれだけ低いのがまずいのか、年収400万でも低いという人もいれば1000万でも低いという人はいると思います。なので事前に自分のそれぞれの下限を設定しておきましょう!


なので結果として自分が列挙できる限りの具体的にやりたいことに対してそれぞれプラスの要素、マイナスの要素をかきだし、そこからプラスがとにかく多いものを選択してあげるのがいいと思います。


以上、考えがブレやすい自分のためにメモしておくべき内容でした。

作ってる時に起きたちっちゃいミス(1)

このブログは私が勉強するためにつくっているものなのでかなり基礎的なことでもミスはメモさせてもらいます。

今回は設定のミスとソース上のミスです。

症状は
1.Android Studioのレイアウトエディターでスマホ画面が出てこない
2.GradleはOkしてるのに実行すると強制終了になる
の二つです。

1は設定していたAPIのレベルのBuild-toolがインストールされていないことでした(前まではAPIレベルの種類もたくさんあったので実行できたのですが…)

解決方法はSDK Manegerからレイアウトエディターで設定しているAPIレベルのBuild-toolをインストールすることです。

2は前回のNumberPickerウィジェットの選択された値を取得するgetValue()がint型でありTextViewに値を直接代入したことにあります。

解決方法はint型からString型に直すString.valueOf()を用いてString型にすることです。

textView.setText(NumberPicker.getValue());

textView.setText(String.valueOf(NumberPicker.getValue()));


簡単なミスと解決方法ですが、再発しないように注意したいです。
また、Gradleは正しくできたとしても実行した時に強制終了したならjavaプログラムを疑うようにしましょう。

以上、情けないミスです笑

リストから選択した数値をプログラム内で活用する方法(Android)

使い手がリストから選んだ数値を使うにはNumberPickerというウィジェットがおすすめらしいです。視覚的にかっこよくて直感的に使いやすいから実際これが一番いいと思います。

ウィジェットとはTextViewのような画面を構成する部品です。

使用方法はレイアウトとソース内で登録することが必要となります。

レイアウトとはアプリの画面の設計の時に使うものでここでそれぞれのウィジェットの幅や高さ、位置などを設定する。Webプログラミングで言うところのCSSと同じようなものです。

書き方は他のウィジェットと同じように

みたいに書きます。他のウィジェットのTextViewのように名前を書いてからそれぞれの設定を書き込みそれらをカッコで囲むイメージです。

上の例だとNumberPickerというウィジェットの設定を行っています。
以上でレイアウトの説明は終了です。


次からはjavaプログラム内(ソース内)の説明をします。

選択された数値を使うには結論から言うとgetValue()を書けば終わりです笑

NumberPickerを使うには他のウィジェットと同じようにフィールドで宣言を行い、選択するリストの最大値と最小値を設定します。
ここまでをコードで示すと

NumberPicker num1;
num1.setMaxValue(10)
num1.setMinValue(0)

というように設定します。これで0~10までの数値を選択できるようになりました。

最後にgetValue()で数値を取るのですが、注意することとして
そもそも選択してもらわないと使用できません笑

なので選択された状態で使わなければなりません。そこでお馴染みのOnClick()です
選択された状態でボタンを押してもらって使用できる形にします。
ここでは匿名クラスを使ってやっていきます。

Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new Viwe.OnClickListener(){
public vid onClick(View v){
//実行したいコード
}
});

この実行したいコードの中に先ほどのgetValue()を使うことで完成です。


実際のコードをぽんっと貼って解説してくれてるブログはたくさんありましたが、そもそも基礎的な書き方とかがまだおぼつかない人にもわかりやすいように書きました。(自分のことです笑)