猫になりたかった人生です。

猫になりたかった人生です。

とある情報系専門学校生の活動記録

別のチーム開発のLCDを使ってHello world!を表示させれた話

最近は教室の隅のスペースが居心地いいのではないかと思い始めている

どうも、猫さんです。胃痛がデフォルトになりかけています。

理由ですか?ここ2ヶ月ほどのストレスだと思っています。

 

さて、本日はチーム開発で挫折していたLCDでのhello worldを目の前で作業しているチームが半田付け済みLCDで挑戦していて上手くいっていなかったので乗り込んで一緒に挑戦してきました。

当時の記事はこちら

自チームはRaspberryPiに切り替えたのでやる必要はなく時間の無駄だと思いつつも好奇心が勝ってしまいました。ごめんなさい。

別チームの現状を知る

同じくArduinoで開発をしているチームです。

Lチカ云々はやらずに最初からディスプレイに挑戦していてすごいなぁと思っていました。

しかし、コードをコピペして実行させて表示されないとがっかりしていたので覗いてみたのです。

何が足りなかったのか

参考にしている記事を見せてもらいました。

[I2C] 1602 LCD ディスプレイ (HD44780 + PCF8574A)

  • 青い半固定抵抗は LCDコントラスト調整用です。「何も表示されない!」と騒ぐ前にコントラストを調整してみましょう。

......まずコントラスト調整だね!

次にコードの点検の前にライブラリ追加してないことに気づく

そしてまずIC2機器のアドレスを知らべる段階を踏んでいないことにも気づくf:id:MI_SAN_CAT:20171121113747p:plain

アドレスを調べた結果参考記事のコードとアドレスが違う

Arduino で LCD を表示させる! ( 模型・プラモデル ) - 鉄道(乗り鉄/模型鉄)&温泉&PC&電子工作 - Yahoo!ブログ

似たような記事を探しアドレスの違い時の変更する内容を探す。

f:id:MI_SAN_CAT:20171121113750p:plain

最初のアドレスだけ変更で大丈夫なようなので書き換える。

実行!

f:id:MI_SAN_CAT:20171121113931j:plain

やった!できた!!!悔しかったことが消化された!(*´▽`*)

まとめ

多分ちゃんとLチカとかやって何をやってる処理を書いているのか理解した方がいい

あと、シリアルモニタに出力してるのに気づくの遅かった自分がいる

 

お腹鳴りすぎだよ自分←

 

 

さて、明日は秋葉原に行って空薬包の通過判定する用の光電センサといろんなパーツを見てきます。

初めての秋葉原楽しみだなぁ......

そろそろアドベントカレンダー用に下書き書きます。

でも内容的に先輩をディスってしまいそうで怖い

チーム開発という名のタッグ開発

自分のスパゲティコードに勝てませんでした。

土日に頑張って暗号化のアルゴリズムを読み解こうとしたのですが、致命的な欠陥に気づいてしまいやる気を失ってしまいました。

それならば新たな暗号化のアルゴリズムを作った方がいいなと思いつつ個人開発の時間は終わりです。

本日からはチーム開発となります。

旅のお供

といってもメンバーは一人なので相方のようになっています。

今回の相方のブログはこちら。可愛い才能あるドラマー兼プログラマ(lv.2)です。

私もプログラマ(lv.3)と名乗っていいのかわかりませんがきっとプログラマだと思いたい。

manami1533.hatenadiary.jp

そしてまだ記事はないけどチームとしてのブログはこちら

デザインとかこれから変えていきます。

時代が早かった件

※とてもつたない絵や字が出てきます。

最初の議題

ぬいぐるみと会話させたい、便利なコンシェルジュみたいなもの

敗因:世の中に出回りすぎてる。f:id:MI_SAN_CAT:20171024114217p:plain

次の議題

お薬を管理できるタイマー、1週間分のお薬をアラームと共に1回分のお薬を出してくれる。

敗因:求める機能以上の物が出ている。(タカラトミーの商品URL)

f:id:MI_SAN_CAT:20171024114352p:plain

大手会社と同じものは出せない(確信)
発売は2016年12月なので一,二年早ければなぁ...
スマイルメディくん可愛い

その他

鍵や携帯の紛失防止ICタグとかの利用(既にいくつかあるURL)

ICタグによる老人や子供の徘徊、外出の検知(やはり大手であったURL)

最終的に

まだ商品化されていないものをと考えるとまだ触れられていない隙間なアイデアを見つけなければならないなとなりました。

あと思いついても医療じゃなかったりする以下例え

レシートの写真による管理、新幹線切符を交通系ICにまとめる(新幹線座席連携)とか面白そうだけど今回はまだ医療でいたい!

ってな感じで別の機会に作るべきだなと思いました。

 

今日の記事のHTMLは特に弄っていません。

夢の中でプログラム書いているのは相変わらず続いてるのでそろそろ夢の中で猫カフェに乗り込みたいなぁ......

個人で何か作ってみよう③

猫さん は 力尽きてしまった!
めのまえが まっくらに なった!
............おや?猫さんの様子が...

どうも瀕死で立ち上がりました猫さんです。

今日はまだあがきます。

コマンドを選択

▶たたかう

 技術者召喚
▶Logger.logでデバック
 出直す
 優先度変更
 別の環境での作成

猫さん の こうげき

昨日動かしたときは最初に起動時間が長いと怒られました。

 というわけでコードを見直して所々にLogger.logをぶち込んでみます。

エラー の こうげき

3時間後に気づきました。復号の処理がうまくいってない。

夏にも復号で悩まされたので、とりあえず公開鍵、秘密鍵の計算は諦めて旧式暗号による暗号化を先に実装しなおしです。

つまり、学祭の私の展示の危機なので土日に自宅で発狂しながら作り直します。

猫さん は ちからつきた

MTGやバンドの練習があるので本日の開発時間終了のお知らせです。

コンティニューは明日にして進捗報告があげにくくなりますが、鍵生成の式をちゃんと見直してのレベリングをしてきます。

お気付きでしょうかスクリプトが許可されていれば<h>タグの行の後ろで▼が点滅しています。

あまり使いすぎると重くなりそうだなと思いつつHTMLは軽く遊ぶ程度でのんびり知っていきます。

あとはトップページのURLをarchiveに飛ばすようにも設定していました。

他の生徒が見ているか分かりませんがこういったカスタマイズも面白いと思います。

www.ituore.com

それでは、棺桶からの復活まで...(。・ω・)ノ゙<bye!

個人で何か作ってみよう②

ラーメン1人前食べて更に半チャーハンが余裕で入る位の消化器官が欲しい(訳:ブログのデザイン変えました。)

おはようございます。友人からラーメンの画像による2連続爆撃を食らって朝からお腹が鳴っている猫さんです。

この記事では昨日分の進捗をまとめています。

やろうとしてたこ

ボタンを生成し、onclickでスクリプトを実行させる

スクリプト実行させるのが苦手なようで全然進んでいないのです。

jsファイルのスクリプトを実行させるために"google.script.run.RSA()"とonclick属性に設定した

f:id:MI_SAN_CAT:20171020101449p:plain作りたかった物は赤で書いてあります。

結局返すのは簡易的な計算結果なので直接値を指定してもいいのかなと思いつつ

又、先に文字列を暗号化させる方を実装させてしまうかなと思いつつ学園祭に間に合わない事を理解しました。

因みにスプレッドシートでやっていた方はどうなったか

f:id:MI_SAN_CAT:20171020105000p:plain

f:id:MI_SAN_CAT:20171020105006p:plain

暗号化と復号化の所に鍵作成シートで作成した鍵の数値を取得して入力する処理を追加しました。

試しに動かしたところ、鍵の処理は成功しているのですが...

弄っていない処理である復号化がエラー吐くようになった

アイエエエ!エラー!?エラーナンデ!?

変数名も被らないようにしているのに?

次回予告

「起動時間の最大値を超えました」

「undefined」

「暗号化した数値すらも怪しく思えてきた」

▼猫さん は ペットボトルの蓋 が 開けられない!

▼更に Lチキ を 食べよう としたら 袋 を 破いてしまった!

なんでGASにこだわっているのかわからなくなる私、エラーとサシの勝負......お楽しみに?

個人で何か作ってみよう①

Hyperって付くと何でもかっこよくなる気がする......

どうも、来週に迫った学園祭の前日や当日の仕事量を考えると某ゲームの桜セイバーのように「こふっ…!?」となるんじゃないかなぁとお八つ時に思った猫さんです。

突然のあらすじ

10/18から5日間ほど個人での開発をしていきますよー

......と言っても突然作れと言われても思いつかないしやる気も出ないので以前記事にした文字列の暗号化もどき

 

mi-neko-maple.hatenablog.com

こいつをGoogleAppScriptでHTMLとJavascriptの組み合わせで入力画面と出力画面を作りWebアプリケーションとして動作できるようにする

まあ2年次に上がる前に実装できればいいので、まずはのんびりHTML勉強して画面作って別ファイルのスクリプト関数の処理ができればいいや

本日の進捗

 HTMLの本を読んで便利なタグをいくつか知った。<font>や<title>

実際に入力してみてどうなるかを試してみた(下記画像)

画像じゃわかりにくいけどexitの後ろで_が点滅してます。

f:id:MI_SAN_CAT:20171019022300p:plain

HTMLの本は2日目の時の進捗上げにタイトル載せておきます。

コマンドプロンプト風大好き

てかutf-8とかDOCUMENT!?とかよくHTMLファイルで見かけるのを書いてないけど平気なのかな

GAS側ではボタンを生成させて実際にjsファイルの関数を指定する直前まで来ています。

まだ鍵生成のところの入力欄ですね、doGetとdoPostが悪夢に出てくるレベルで最近疲労がキてる気がします。あの夢は二度と見たくないものです......

(悪夢の中で作ろうとしていた処理はどこかのアヒルの気配がしました)

明日の予定

jsファイル側からのhtmlのフォームの値取得及び処理結果のreturn先を考える

冬イベの曲も考えて休憩を無理やり挟んで自分を休ませる

シフト表云々まとめ

コマンドプロンプトでの面白い遊びを調べる(昨日はcolorの指定、今日は無線を飛ばさせようとした)

 

半分頭が寝ているので気の抜けた文ばかり思いついてしまうので本日はここまで、調べものじゃないから久々の1000文字超えはなさそう

PCメンテナンス用語を調べる⑥

金曜日の筋肉痛が日曜の夜に訪れる仕様です。腹筋が痛いです。

雨用の靴でもあるスニーカーは雨水が浸み込んでくるので替え時かなって思っています。

本日も幾つかの用語を調べつつGASのAPIのバグをつぶしていきます。

電子メール

LINEの普及によって若者ではあまり使用されなくなった電子メール、しかし社会に出ると当たり前のように使用するので今日は改めて電子メールのあれこれについて調べてみました。

宛先

f:id:MI_SAN_CAT:20171016094639p:plain

私がよく使用しているメーラーの画面です。

宛先欄に送りたい相手のメ-ルアドレスを複数名入力すれば、同じメ-ルを一度に複数名に送ることが出来ます。

今回は宛先と表示されていますが本来は、TOとなっています。

全ての受信者の宛名欄に、宛名に入力されたアドレスが表示されます。
送られた相手からは他の宛先も見ることが可能なのです。

TOに入力した宛先に送ったので念のため見てくださいねという意味で送るのがCCです。基本確認の為に送り、返信はしません。

他の受信者にアドレスが見えないように連絡する場合に利用するのがBCCです。BCC欄のアドレスは、他の受信者に表示されません。一斉送信の際に用いられることもあります。

マナー

プライベートなアドレスは会社や学校等では基本使用しない。当たり前だと思いますが、プライベートなものだと内容が読まれないこともあります。

メールの件名は必ず記入します。件名が機械的だと迷惑メールと判断している人もいますが件名は必ず書くようにしてください。また、メールの内容が大体分かるような件名を書くのが良いと思います。

本文末に署名(自分の名前、所属)を記入します。
誰から送られてきたメールなのかを証明します。自分の名前や、所属(大学名、学部学科名など)を記入しますが、電話番号は記入しないほうが良いそうです。

機種依存・環境依存文字は使わない様にしましょう。機種や環境によっては表示されない若しくは別の意味の表示になる文字があります。

メールの添付ファイルは何であるのかを本文で記載しましょう。また、添付ファイルのウイルス検査も忘れないように!

容量の多いメールは事前に知らせておきましょう。

コピー・転送されて困るような内容は送らないようにし、また、自分に来たメールを無断で第三者に公開するようなことはしてはいけません。

f:id:MI_SAN_CAT:20171016102316p:plain

共有PC利用時の注意

会社、学校、家族、公共施設あらゆる場所で使用されている共有PCの利用時の注意について

共有PCを使う際は各自ユーザアカウントを作成することです。ユーザアカウントの種類は3つあります。

  • Administratorと呼ばれる管理者アカウントは、ソフトのインストールや削除、システムの管理など、パソコン利用に関するすべての権限を持っています。管理者として実行等のことです。
  • 標準アカウントは、パソコンを日常的に使用する際の権限を持っています。家族や社員は、このアカウントを作成すると良いでしょう。
  • Guestアカウントは、ユーザアカウントを設定していない人が一時的に使用する場合に使用します。

作成したアカウントの1つは必ず管理者になるので注意が必要です。

アカウントを作成しない場合は

  • Googlechromeにはログインしない
  • 「次回からIDパスワードの入力を省略する」は行わない
  • ログアウトは必ず行う
  • ブックマークは不用意に開かない、見ない
  • 個人情報の入力には注意する
  • HttpsやSLH等暗号化されたサイトを極力使用する

思いつくだけでもこれだけあります。また、マルウェアに感染していないとも限らないのでUSBメモリなど接続する際は注意して下さい。

HDD等メディア機器の廃棄時

どうしてJSONが返ってこないんじゃぁぁぁぁぁと内心焦っています。

さて、HDDの廃棄方法と注意点について調べつつ書いていきます。

廃棄するにはまず、ソフトウェアで内部のデータを消す(フォーマット)して物理的に破壊します。もちろんハンマー等で殴っても丈夫ですし破片による怪我の恐れもあります。

分解して、磁気ディスクに傷をつけるのが一番安全でしょう。

しかし、ネジが特殊ドライバーがないと外せないものもあります。

その後は粗大ごみとして出したり、買取店や、リサイクル業者に頼むのがメジャーです。

f:id:MI_SAN_CAT:20171016105836p:plain

マルウェアの種類

よくウイルスと呼ばれていますが本来はマルウェアというものでウイルスはその一種になります。

  • ウイルス

他のプログラムやファイルの一部を書き換え潜伏、感染、自己複製のどれか1つでも機能を持つもの

  • ワーム

自己増殖するが、ホストプログラムを持たず、単体で存在するプログラム

一見無害なファイルやプログラムに偽装した上でコンピューターに侵入し悪意のある振る舞いをするもの

情報収集をするもの、コンピューターの内部情報を外部に勝手に送信するソフトウェアで、ユーザーが気づかないうちにパソコンにインストールしているものが多い

キーボードからの入力を記憶するプログラム

コンピューターをロックしたり重要なファイルを暗号化して読めなくするなどして,身代金を払えば元に戻すと脅迫するマルウェア

ユーザの望まない広告を勝手に出すソフトウェア

  • ボット

攻撃者から命令を受け取り、命令に応じてDDoS攻撃スパムメール送信などを行うマルウェア

f:id:MI_SAN_CAT:20171016113705p:plain

インターネットトラブル

ここではいくつかのインターネットトラブルについてあげていきます。

  • 有料の認識がないままサイトを進んだところ、料金の請求画面が表示された
  • アダルトサイトの請求画面がパソコンの画面に張り付いて取れない
  • 無料と思い自分の携帯電話を使わせたら、高額な請求がくる
  • 無料オンラインゲームで知り合った人から勧誘される、会おうと言われる
  • SNSや掲示板で悪口や個人情報を書き込んだ
  • LINEのグループでとある人だけを入れず、罵っている
  • オンラインショッピングサイトで頼んだものが何時まで経っても届かない

一度書き込んだものは完全に消去できません。また、匿名と言われつつも正式捜査になれば特定することは可能です。実際に逮捕者もでています。

また、オンラインショッピング等では販売者情報もきちんと確認しましょう。偽物が出品されていたり、入金後姿を眩ませることもあります。

SNSでは投稿時に位置情報も一緒に投稿してしまう設定になっていることがあります。個人情報を迂闊に書き込まないことはもちろん初期設定の確認もしておきましょう。

よくわかりやすいサイトはこちら

大分県消費生活センター

国民生活センター

警視庁

 

 

開発環境のあれこれ

朝から眼鏡を忘れたことに学校の最寄り駅まで気づかなかった位軽い現実逃避から帰ってこれていない程ツイてないことが多いこの頃

猫さんって名乗るよりセンセって言った方がしっくりくのではないかと疑問になっている猫さんです。

本日はアプリ開発環境について調査をしてみました。

アプリといっても様々なものがあります。今回はアプリごとの環境一例をあげていきましょう。

種類別アプリ開発

iOSアプリ

iPhone,iPadなどApple製品全般のOSであるiOS、操作が簡単であることからシェアも多いですがそんなiOSアプリ開発XcodeというAppleが提供しているIDEで画面の自動表示、コードの編集機能など直観的な開発が行いやすいものとなっています。

Object-CSwiftというプログラム言語で行っています。SwiftはAppleが開発した言語でRubyPHPなど最新の設計思想を盛り込んだ、スクリプト言語のように簡単にアプリを開発することができるものです。

f:id:MI_SAN_CAT:20171012112609j:plain

Androidアプリ

昔のAndroidアプリ開発はEclipsというJavaを扱ったIDEとADTとよばれるツールの組み合わせで行われてきましたが2015年末にサポート終了しています。Eclipsを昔挑戦しようとしていましたが重くて起動に一苦労していたのが懐かしいです。

現在のAndroidアプリは2014年冬にGoogleからリリースされたAndroidSutudioというIDEに切り替わっています。これもJavaが主になっています。

コード編集機能やテストが行いやすいなどメリットがあります。

f:id:MI_SAN_CAT:20171012114101p:plain

Webアプリ

主にHTMLCSSJavaScriptを扱います。

私はGoogleAppsScript、通称GASを扱ったWebAppにのんびりと挑戦していますが如何せんHTMLが苦手なのであまり進んでいません。

f:id:MI_SAN_CAT:20171012112541j:plain

ゲーム開発

有名どころをあげるとUnityRPGツクールWolfRPGエディターです。

Unityはゲーム開発プラットフォームで、スマートフォン向けゲーム開発のデファクトスタンダードになっています。3Dで動くゲームは大体このUnityを使って開発されています。

f:id:MI_SAN_CAT:20171012112559j:plain

その他

VisualStudio

Microsoftさんが提供しています。Visual BasicC++C#等複数のプログラミング言語の開発が可能なスイートパッケージです。

フォームアプリケーションやWebアプリ、AndroidiOSアプリまで様々な開発が行えます。

f:id:MI_SAN_CAT:20171012112603j:plain

Atom

GitHubの開発者が作成したオープンソースエディタです。

使いやすいUIやパッケージによる機能追加で開発の幅が大きく広がります。

f:id:MI_SAN_CAT:20171012112535j:plain

TeraPad

Windows上で動くフリーのテキストエディタです。HTMLファイルのタグが自動色分け表示、行番号表示、ブラウザでのプレビュー機能などWindows標準のメモ帳よりも便利なものです。

他にもMySQLRuby on Rails、Docker等があります。まだ自分の言葉で説明できないの今回は省略させていただきます。

ソース管理

開発をしていく時に「ああ、あの時のコードのほうが良かったわ」と過去に戻りたいと思ったことありませんか?

また、チームで開発しているときに共有するのが難しいことはありませんか?

そんなものたちを解決するのはGitと呼ばれるバージョン管理システムです。有名なのはGitHubとよばれるサービスです。

今や必要不可欠とも言われていますが、私はまだ使いこなせていません。

コードだけじゃなくWordファイル等も管理できるのでプログラム開発ではない場面でも使用して慣れていきたいと思います。

 

f:id:MI_SAN_CAT:20171012112546p:plain

まとめ

いくつか思いつく開発環境について調べてみました。

VisualStudioはC#でフォームアプリケーションを作ったり、Cの勉強で使用しました。

UnityやAtom等は授業で少し触れていますがまだ完全理解には至っていないので気まぐれに何か作りつつ理解したいと思います。

コマンドライン状のものが個人的には好きですね。多分ドット絵なども気にいるタイプだと思います。

本日はここまで、携帯がちゃんと修理できて返ってくるといいなぁ...