僕なりに考えて

うつ病。SE。心穏やかに過ごしたい。

【抑うつ状態日記】1. 抑うつ状態で休職する


こんにちは、おだゆです。

以前から、「抑うつ状態」が続いていたのですが、先日ついに休職するように心療クリニックの先生から勧められました。

病院へ行った日は休職したほうがいいのか、仕事をしつつ治療したほうがいいのかと、うんうん悩んでました。

しかし、病院へ行った次の日に布団から起き上がれず・・・なんとか電話に手を伸ばし、会社の上司に「今日は少し遅れていきます。会社に着いたら話をさせてください。」と連絡し、会社へ着いたら上司と話をし、休職する運びとなりました。


休職の手続きを行う


実際に休む場合、必要な書類を作成するため、周りに迷惑をかけないため、以下の様な手順が必要でした。
※会社によっては休職届などを自分で書くところもあるようです。

  1. 病院で診断書を書いてもらう。(診断書の発行に3000円必要です。)
  2. 診断書を上司に提出し、休職したいことを伝える。
  3. 仕事の引き継ぎをする。
  4. 勤務管理を提出する。


ここでの注意点としては・・・

  • 診断書には休職期間を書いてもらう。
  • いつまで休んで、いつ経過報告をするかを上司と決めておく。(決めてないと後々いつまで休んでいいんだっけ・・・など不安の基になります。)



ということで・・・


実は、今このブログを書いている1週間以上前の2012年8月30日(木)から休職を始めています。

この1週間は病気ということがウソみたいに元気な日もあれば、ほとんど寝たきり状態の日もありました。

元気な日にはよく言われる「やりたいこと」をやろうと思うのですが、「やりたいこと」ってなんだっけ?・・・という状態に陥っています。

それで、なんとなく「うつ」で「休職」している人のブログを見ていると・・・自分の体験したことを書いているじゃありませんか。



【休職日記】Vol.0 診断書をもらうまで - すみっこの記








20120823 | ボッチが”うつ”になりました ~オペラのブログ~








それなら、私も「抑うつ状態」のことをブログで書いてみよう!!と思い、まずは「休職手続き」について書いてみました。

次は、「休職中にしていること」などを書いてみようかなぁーと考えてみます。
それでは、また。

 

 

 

iOSアプリ(iPhoneアプリ)開発環境を整える。 - iOSアプリ(iPhoneアプリ)作りに必要なモノ・あるといいモノ -


こんにちは、yu です。

最近、重い腰を上げてiOSアプリ(iPhoneアプリ)の作成を始めてみました。

まだ環境を整えたばかりの私ですが、これからiOSアプリ(iPhoneアプリ)を作っていく中で「何が必要だったか」、「何をすべきか」などをお伝えしていこうと思います!!

今回はiOSアプリ(iPhoneアプリ)作りに必要なモノ、あるといいモノをお伝えします。

※このブログではiOSアプリって何?と思う人も中にはいると思い(以前の私のように・・・)、カッコ書きでiPhoneアプリという記述を追加しています。

iOSアプリ(iPhoneアプリ)作りに必要なモノ

 


Xcode App
カテゴリ: 開発ツール
価格: 無料



上の2つがあれば、Xcodeを使ってiOSアプリ(iPhoneアプリ)の作成 〜 Xcodeに付属されているiOSシュミレータで作ったアプリの動作確認まで可能になります。

ちなみに私のMacは自分へのご褒美として購入したMacBookAirの13インチを使用しています。



 
 

iOSアプリ(iPhoneアプリ)作りにあるといいモノ

 
  • iOSを搭載したデバイス
  • iOS Developer Program との契約(私はまだ契約はしていません・・・。)


iOSを搭載したデバイスとは、iPhoneiPadiPod touch のことです。

上の2つは、iOSを搭載したデバイスで作ったアプリを動作させるために必要です。
また、iOS Developer Program との契約は世の中の人たちに使ってもらうために作ったアプリを公開するためにも必要です。


ということで・・・

 


iOSアプリ(iPhoneアプリ)を作る第一歩を踏み出した感想を言うと、「拍子抜けするほど簡単だった」の一言です。

iOSアプリ(iPhoneアプリ)を作ってみたい!」と思い立ち手元に幸運なことにMacがある方は " Xcodeをダウンロードする " というiOSアプリ(iPhoneアプリ)作成の第一歩目を踏み出してみてはいかがでしょうか?

 

iPhoneアプリ開発塾

iPhoneアプリ開発塾

 

 



うつで休職しないために今できること


こんにちは、yu です。

私事ですが、あいかわらず「うつ状態」継続中です。

ただ、以前のような、気分が落ち込み、気力がなく、悲観的になり、食欲がなくなり、疲れた感じで・・・という状態からは抜け出し、「うつ状態」が現れるときは薬を飲み忘れたときぐらいです。

私は大きく分けて「抗うつ剤」、「整腸剤」、「睡眠導入剤」を処方されています。

処方されている薬に「整腸剤」と「睡眠導入剤」が含まれているのは、「うつ状態」を治すためには「体の調子を整える」必要があるからです。

体調と精神は連動する


経験のある方も多いと思いますが、大事な発表の前になると腹痛になったり、面接の前に限って熱が出たりと、精神的なストレスによって体に反応が出ることがあります。
 
その逆に、下痢や睡眠不足などが「うつ」を引き起こす要因の一つになることがあります。
 
まさに私がこの状態で、「うつ状態」になった要因の一つに下痢が数ヶ月続いていたこと、そしてもう一つが眠りが浅くなっていたことにありました。
うつ状態が先か、体調不良が先か、どちらかは分かりませんが・・・)
 
つまり、下痢が続くということや睡眠不足ということが自覚のないストレスになり、そのストレスが積み重なり限界を超えて「うつ状態」を引き起こすことがあるのです。
(もちろん仕事などの日々のストレスも要因の一つです。)
 

食べて、出して、よく眠る。


下痢や睡眠不足が「うつ状態」を引き起こす要因となるならば、下痢や睡眠不足を改善することが「うつ状態」を避ける一つの方法となるのです。

そこで、いかに下痢や睡眠不足を改善するかですが、私は薬に頼ることをオススメしたいと思います。

もちろん下痢や睡眠不足を改善する方法として生活リズムを改善し、その結果として体調も良くなるというのが一番だと思います。

ですが、残念ながら生活リズムの改善は即効性はありません。

ですから、下痢や睡眠不足が長期に渡って続くようであれば、薬を頼って、体の不調から「うつ状態」に陥るのを避けるべきだと思うのです。

ということで・・・

 
私は「うつ状態」になるまでは、体調不良は薬に頼らず、生活リズムを改善したほうが良いと思っていました。

その考えは今も変わっていないのですが、「うつ状態」を経験してみて、薬の副作用などを考えるよりも体調や精神の不良を放置するほうが、ずっと体に悪いということを身を持って自覚しました。

最近体調が悪いなぁというときは生活リズムを整えるのと同時に薬も頼ってみてはいかがでしょうか?

 

大正製薬 新ビオフェルミンS錠 540錠 [指定医薬部外品]
 

 



Androidプログラミング

 

 

こんにちは、yu です。

前回に引き続きAndroidアプリUIデザイン&プログラミングで学んだ内容を書きたいと思います。
本日はAndroidのプログラミングについて。

時間差、繰り返し処理

 
時間差で処理を実行する方法 / 時間差で処理を繰り返し実行する方法
 
・Threadでsleepさせる / ループとsleepを使う。
・Handlerで遅延させたメッセージ送信やpostを使う。 / 実行時に次の実行のための遅延させたメッセージ送信やpostを設定する。
・Timerを用いる。 / 繰り返すように設定する。
・AlarmManagerを使う。  / 繰り返すように設定する。
 

データの管理方法

・ファイルに保存する。
 特徴:画像など大きなサイズのデータ読み書きやストレージへの書き出しに使う
 バイナリデータ:対応
 保存先:デバイスの内部メモリ、SDカードなどの外部メモリ
・プリファレンスを用いる。
 特徴:設定用のフラグや数値、文字列など小さいデータを扱うことに適している。
 バイナリデータ:非対応
 保存先:デバイスの内部メモリ(データディレクトリ内のshared_prefsディレクトリにxmlファイルとして保存される)
・データベースを利用する。
 特徴:SQLによる条件の指定による記録や削除、読み込みの条件付けやソート処理が可能。
 バイナリデータ:対応
 保存先:デバイス内部メモリ(データディレクトリ内のdatabaseディレクトリに保存される)
・ContentProviderを使う。
 特徴:異なるアプリ間でデータSQLに基づいたアクセスが可能
 バイナリデータ:対応
 保存先:デバイスの内部メモリ(ContentProviderコンポーネントを持つアプリのデータディレクトリに保存される。)
 

ということで・・・

 
プログラミングはアプリの機能を実現するための手段です。
アプリ開発が目的であって、Androidの機能を動かすことが目的にならないように注意する必要があります。
バージョンが変わることでシステムにバグが入ることもあるので、プログラム作業はアプリ作成後も継続することが重要です。
 

 

 

Androidアーキテクチャ設計

 

Androidアーキテクチャ設計


こんにちは、yuです。

前回に引き続きAndroidアプリUIデザイン&プログラミングで学んだ内容を書きたいと思います。
本日はアーキテクチャ設計について。


■機能構造を考える

一般的な観点からAndroidには以下のような基本機能があります。

  1. UI(音楽を再生、画像を表示など)
  2. バックグラウンドによる処理(GPSのデータを記録するなど)
  3. 何らかのイベントを受けて動作する。(日付の変更時にデータを更新するなど)
  4. 他のアプリからデータを得る、共有する。(ブックマークを共有するなど)
  5. タイマー起動(指定した時刻に通知するなど)
  6. 通知機能(指定した時刻に通知するなど)
1〜4については、Androidで設けられた次の4種類のコンポーネントを用いることで実現ができます。
  1. Activity
  2. Service
  3. BroadcastReceiver
  4. ContentProvider
5はシステムのAlarmManager、6も同じくシステムのNotifactionManagerを利用することで実現ができます。

Androidアプリを作る基本の4コンポーネント

Activity

UIを持つアプリは「Activity」を基に作ります。
Activityは開始、終了、割り込み、他のアプリの起動などにより状態が変化するため、
それに応じた処理を実装する必要があります。

Service

バックグラウンドによる処理は「Service」コンポーネントで行われます。
Activity以外のコンポーネントはUIを持つことはできません。
ただし、ServiceはActivityコンポーネントからの開始や終了の処理を受けたり、
データのやり取りをしたりすることでActivityと連携が可能です。

BroadcastReceiver

「Intent」オブジェクトを用いて予め登録していおいたイベントをシステムやアプリが発生したときに動作する仕組みを提供します。
Intentはクラスやパッケージを指定し、データを運ぶ役割を持っています。

ContentProvider

「ContentProvider」コンポーネントはアプリ間のデータ共有を実現します。
データベースを操作するSQLと同様の方法でデータを扱うことができます。

Androidでは上記の4つのコンポーネントをベースにしたクラスを組み合わせてアプリを作ることになります。
その際に下記の3つの項目を理解する必要があります。

 

コンポーネント構成

UIを持つアプリは「Activity」で作成

ActivityはViewオブジェクトによって構成されるUIを表示します。
また、操作時に発生するユーザーイベントを処理します。
 
UI画面が複数にわたる場合はActivityから別のActivityを呼び出すことで画面毎に異なる
Activityで構成することが可能です。
※単一のActivityで複数の画面を呼び出すことも可能です。
 
Activityは必ず画面を表示させなければいけないわけではなく、画面を透明にすることも可能です。
 
10秒以上かかる処理は禁止されているため、時間がかかる処理はメインスレッドではなく別スレッドをたてて実行する必要があります。
 
バックグラウンド処理、特定のイベントや条件による指導、他のアプリとのデータ共有を行わない場合、Activityのみでもアプリは作成可能です。
 

バックグラウンド処理は「Service」で作成

Serviceコンポーネントはバックグラウンドで実行し続けることが可能です。
ただし、メモリ不足で停止される場合があるため、リソースを消費するため連続動作は避けるべきです。
 
C2DMを用いることで必要なデータを送信し、サーバ側で処理することも可能です。
 
ServiceはUIを持っていませんが、WindowManagerを用いることでServiceからでも画面表示を行うことは可能です。

 

イベントによる始動処理は「BroadcastReceiver」で作成

特定のイベントや条件によ始動に関しては、システムやアプリからBroadcast送信されたIntentを受信して動くBroadcastReceiverコンポーネントを用います。
 
受信するIntentの種類の指定はManifestの「intent-filter」に記述します。
ActivityやServiceにより動的にBroadcastReceiverオブジェクトを生成して使う場合はregisterReceiverメソッドでIntentの種類を指定します。



データ共有は「ContentProvider」で作成
 
他のアプリとのデータ共有はContentProviderコンポーネントを基に作ります。
 
 

コンポーネント間の連携とIntent

ユーザーがホーム画面でアイコンを選択したときやタイマー通知でアプリを起動するとき、起動・連携処理は全てIntentオブジェクトを介して実行されます。
 

Intentを扱う上での注意点

・Activity からActivityを開始する場合はUI操作により行うため問題なし。
・Service Broadcast receiver によるActivity呼び出しは突然画面を奪われることになるので避ける。
・直接Activityを呼ぶのではなくNotifactionを経由してユーザーへの通知に留め、ユーザーが選択した場合のみActivityを起動させる。
 

Intent の設定

Intentによる対象アプリの選択は、以下の2通りが存在する。
 
  • 一意となるClass名やパッケージ名、カテゴリ名で選択する明示的な方法。
(例:ブラウザを見るためにはブラウザアプリケーションを指定する必要がある。)
 
 
  • 目的から手段(アプリ)を選択するためにアクション名、カテゴリ名やURIによるデータ("http", "https" など)とmimeType("text/html", "application/xhtml+xml", "image/png" など)を指定する暗黙的な方法。

 

(例:ブラウザを見るためにはブラウザを見るという動作を指定するのみでOK。)
 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

Androidマニフェストの設定

システムが対象となるクラスを見つけられるようにするためにAndroidManifest.xmlに以下のような記述を追加する必要があります。
・明示的に選択に必要なパッケージ名やクラス名。
・暗黙的に選択に必要なアクション名やスキームなど。
 
Manifestには上記以外にもアイコンやアプリ名、利用権限などアプリに関する情報を記述します。




■ということで・・・

Androidアプリ開発全般の流れ、Androidアプリのアーキテクチャ設計について
 知りたい方は以下の本をゼヒ読んでみてください。