ゆるふわSEの日常♪

IT業界でゆるふわSE(ゆるーく楽に仕事をしたいw)になりたい人あーつまれ(*´▽`*)

【Python】Pythonに記念日を教えてもらうことにしたんだ~記念日サプライズで彼氏/彼女をびっくりさせちゃおう(*´▽`*)♪~

おはこんばんちは!ゆるふわSEの「ちょここ」です(*´ω`*)

 

誰得のソースコードをさらしていこーのコーナー第3回目が始まりました!

意外とこの企画続いてますねw

さて、記念日というと色んな記念日がありますよね?結婚記念日やらカップルが付き合ってからの記念日など・・・

今回はそんな記念日がいつなのか気になって気になって仕方がない皆さんのためにPythonちゃんに教えてもらおうっていうプログラムを作ってみましたのでご紹介です✨

 

【使用場面】

彼氏:(彼女ちゃんとのデート中に突然)ねぇ、今日は何の日か知ってる?

彼女:えーと、私や彼氏君の誕生日でもないし、付き合い始めた記念日でもない・・・初めてのxx記念日でもないし(ご想像にお任せしますw)えーと、えーと、さっぱりわかんないなぁ(´・ω・`)ごめん、彼氏君、ちょっとわかんないかも・・・(T_T)

彼氏:えー、わかんないのぉ(´・ω・`)じゃあ教えてあげるね、今日は君がこの世に生まれてなんと「10000」日目の記念日なんだよ✨はい!記念のプレゼント📦✨

彼女:(ぜ、全然知らなかった・・・これってサプライズすぎだゎ、キュン・・・💛) 

 

・・・、何言ってんだこの人という冷静な突っ込みが世界中から聞こえてきそうですが、まぁこんな感じでサプライズに記念日をお祝いできるPythonちゃんのスクリプトのご紹介ですw

 

【そーすこーど☆彡】

# coding:shift-jis

import datetime

try:
    year = int(raw_input('何年生まれですかー?(例:2000):'))
    month = int(raw_input('何月生まれですかー?(例:1):'))
    day = int(raw_input('何日生まれですかー?(例:1):'))
    mirainooiwai = int(raw_input('生まれて何日後の記念日を知りたいですか?(例:10000):'))
 
    birthday = datetime.date(year,month,day)
    kinenbi = birthday + datetime.timedelta(days = mirainooiwai)

    print('生まれて' + str(mirainooiwai) + '日後の記念日は「'+ str(kinenbi) + '」です☆彡')

except:
    print('どこか入力ミスってるよー・・・(´・ω・`)')

 

【解説☆彡】 

シェルからこのスクリプトを実行すると「何年生まれですかー?(例:2000):」、「何月生まれですかー?(例:1):」、「何日生まれですかー?(例:1):」、「生まれて何日後の記念日を知りたいですか?(例:10000):」と聞かれ、それぞれシェル上で入力し、答えると、指定した記念日の日付を教えてくれます!す、素晴らしー・・・(*´▽`*)

前回同様「try」、「except」を使ったなんちゃってエラー処理も入れているので質問にちゃんと答えないと「どこか入力ミスってるよー・・・(´・ω・`)」と教えてくれる新設設計ですw

入力値を変えれば誕生日からの起算に関わらず様々な記念日がわかるのでちょっとした小ネタ程度に面白いですよって感じですね(*´▽`*)

 

ということで、記念日のお祝いが大好きな若者カップルにおすすめプログラムのご紹介でしたぁ♪

でゎでゎ☆彡

 

【Python】Pythonに誕生日の曜日を教えてもらうことにしたんだ~あなたは何曜日生まれかな???~

おはこんばんちは!ゆるふわSEの「ちょここ」です(*´ω`*)

 

誰得のソースコードをさらしていこーのコーナー第2回目の始まりですw

今回は一体自分は何曜日に生まれたんだろう???(´・ω・`)と気になって仕方がない皆さんのためにPythonちゃんに教えてもらおうっていうプログラムを作ってみましたのでご紹介です✨

 

【使用場面】

あー、私っていったい何曜日に生まれたんだろう?お母さんに聞けばわかるかもしれないけど、この年になって聞くのもさすがに恥ずかしいしなぁ。。。

でも気になって最近よく眠れないんだよなぁ・・・

しょーがない、スクリプト書くお(´・ω・`)

 

【そーすこーど☆彡】※行番号は省きました

# coding:shift-jis

import datetime

try:
    year = int(raw_input('何年生まれですかー?(例:2000):'))
    month = int(raw_input('何月生まれですかー?(例:1):'))
    day = int(raw_input('何日生まれですかー?(例:1):'))
    birthday = datetime.date(year,month,day)

if birthday.weekday() == 0:
    print('あなたは月曜日生まれです☆彡')

elif birthday.weekday() == 1:
    print('あなたは火曜日生まれです☆彡')
elif birthday.weekday() == 2:
    print('あなたは水曜日生まれです☆彡')
elif birthday.weekday() == 3:
    print('あなたは木曜日生まれです☆彡')
elif birthday.weekday() == 4:
    print('あなたは金曜日生まれです☆彡')
elif birthday.weekday() == 5:
    print('あなたは土曜日生まれです☆彡')
elif birthday.weekday() == 6:
    print('あなたは日曜日生まれです☆彡')

except:
    print('どこか入力ミスってるよー・・・(´・ω・`)')

 

【解説☆彡】 

シェルからこのスクリプトを実行すると「何年生まれですかー?(例:2000):」、「何月生まれですかー?(例:1):」、「何日生まれですかー?(例:1):」と聞かれ、それぞれシェル上で入力し、答えると、何曜日生まれかを教えてくれます!す、素晴らしー・・・(*´▽`*)

今回は「try」、「except」を使ったなんちゃってエラー処理も入れているので質問にちゃんと答えないと「どこか入力ミスってるよー・・・(´・ω・`)」と教えてくれる新設設計にしてみましたw

 

あなたは何曜日生まれでしたか?

これで今日もぐっすり眠れますねwww

家族や友人、恋人の誕生曜日をさくっと調べておけば、会話の話題が増えること間違いなしなので、使ってみてはいかがでしょーか?(*´▽`*)

ちなみに単に曜日を教えてくれるプログラムなので誕生日以外にも使用できますのであの日やこの日の曜日を調べちゃってください✨

でゎでゎ☆彡

  

SEにとっての炎上について考えてみたんだ〜炎上プロジェクトから学ぶ回避策を大公開♪〜

おはこんばんちは!ゆるふわSEの「ちょここ」です(*´ω`*)

突然ですがみなさんは炎上プロジェクトを経験したことがありますでしょーか?仕様変更につぐ仕様変更、そして納期に追われ深夜まで働き、不具合や遅延が発生しよーものならクレームの嵐。だけどカットオーバーを迎えるまでは風邪を引くことも許されない。そー、それが炎上です。涙

この2文字はSEならば誰もが聞いたことがありプロジェクトにとっては恐れるべき状態だと思います(´・ω・`)

まぁ中には火消しのスペシャリストがいたりしてそーいう状態の方が燃えるという奇特な人もいるかもですが一般的にはよろしくない状態であり、これがIT業界がブラックと言われる理由の一つかも知れません。

 

今回は、そんなSEにとっての炎上について私が見聞きした経験を基に炎上させる方法w(プロジェクトメンバ起因)について考えてみたいと思いまーす!炎上させる方法を知れば逆を言えばそこに気をつければ炎上を回避できるということですからね✨下記に4つほどあげてみました!

※そんなの当然じゃん!って思うことが現実にはできてないプロジェクトの多いこと(´・ω・`)

 

【プロジェクトを炎上させる方法】

 ①技術に習熟していないPMによる見積もりの甘さ

→大抵のプロジェクトにはPM(プロジェクトマネージャー)がおり、プロジェクトの起案段階で顧客要件から予定工数などの見積もりを作成するかと思います。ただ往往にして見積もり担当者がそのプロジェクトで必要な技術に習熟しているとは限らない状況で見積もりを実施しているという場合があったりします。そしてその見積もりの妥当性を確認するのはその上位職(管理職)の人だったりします。そこで職位が高いが技術レベルが低い人がそのどんぶり勘定の見積もりをレビューし、承認が下りたものならもー大変です(´・ω・`)例えばそのプロジェクトはエンジニアから見れば10人月は必要と思われる工数なのに5人月であったり、非常に期間が短かったりしてプロジェクトの開始の段階で炎上濃厚が見えているといったヤバめのプロジェクトが始まるわけですw始まった時から炎上なんてやですよね(´;ω;`)

→ここからの学び!

きちんとした技術レベルの人が見積もりをしなきゃ炎上に一歩近づくよ(´・ω・`)

 

②プロジェクトの引き継ぎがうまくできていない

→プロジェクトによってはそのフェーズごとに担当するチームが違うといったことがあります。そーいった場合は先行作業をしたチームが後続作業をするチームへ、背景や要件や顧客についてや仕様についてなど必要な情報を引き継ぐ必要があります。

例えばインフラチームがインフラ構築を担当し、開発チームが開発を担当するなどの場合や、コンサル担当チームからシステム導入チームへの引き継ぎの場合等が考えられます。この際に適切な引き継ぎが行われない場合…もーお分かりですねwそーです!また炎上に一歩前進です(´;ω;`)先行作業チームにお客様が伝えたこと、後続作業チームが聞いてませんとなればお客様の不信感が増大することは間違いありません。お客様にとってはチーム間の引き継ぎがどーとか関係ありませんからね。

→ここからの学び

先行作業チームはちゃんと後続作業チームへ引き継ぎをしよー!後続作業チームは先行作業チームからちゃんともれなく引き継がれているかを確認しよー!

じゃなきゃ炎上に一歩近づくよ(´・ω・`)

 

③プロジェクトの役割分担ができていない

→これが実は明確になっていないケースが多いです。プロジェクト発足時にこれは決めるものですが例えばPMはプロジェクトの推進や進捗管理と顧客への窓口、トラブル時の対応が役割。メンバはPMの指示に従い分担された作業を各々実施しPMへ報告。とか明確に役割分担されているプロジェクトはうまくいくケースが多い気がします。上位職の役割の人は下位職の仕事もできるスキルを持っている必要があるのは当然ですね。また、顧客との窓口とか、ミーティングの出席者がコロコロ変わるのも不信感を煽りNGですね。

 →ここからの学び

 プロジェクトの役割分担を明確にしよう!じゃなきゃ炎上に一歩近づくよ(´・ω・`)

 

④PMが忙しすぎてPMの役割を果たせていない

→これもたまに見かけるケースです。特に優秀なPMには仕事が集まり同時並行的に複数のプロジェクトを抱えている場合が多いです。人間1人しかいないので物理的に対応できる時間には限りがあります。

 →ここからの学び

PMは自身でできる範囲の仕事をコントロールしよー!じゃなきゃ炎上に一歩近づくよ(´・ω・`)

 

とまぁほんの一例ですが炎上の要因とその回避策をご紹介させていただきました。あるあるな体験はありましたでしょーか?

ホントはもっとプロジェクトメンバの意欲やスキルやコミュニケーションとか色んな要素が関係していると思いますが、上記がうまくいかないと高確率で炎上案件となってしまいますのお気をつけください(´・ω・`)

 

というわけで長くなりましたが、やばそーな雰囲気(火種)を感じたら早め早めにアラートをあげて改善(消化)するのが大事だよー!というお話でしたぁ♪

でゎでゎ( ´ ▽ ` )✨

 

 

 

【Python】Pythonにサイコロを振らせてみたんだ~おまけ:今日の晩御飯もついでに決めてもらおう♪~

おはこんばんちは!ゆるふわSEの「ちょここ」です(*´ω`*)

 

えーと、本日より自身が習得したスキルを使って、誰得のソースコードをさらしていこーのコーナーが始まりましたw

おもしろおかしくPythonを勉強したいという私のただの自己満ですw

前提としてのPythonのインストールとか、環境変数のパスを通すとか、シェルからのPythonスクリプトファイルの実行方法とかは詳しく書かれている初心者向けのサイトがたくさんあるんでそっちを見てねー!!!

あと、超初心者なのでわけわかんないこと書いているかもですがそこは大目に見てください(´・ω・`)

 

【使用場面】

手元にサイコロがない!でも、ボードゲームとかでサイコロ必要じゃん!

しょーがない、スクリプト書くお(´・ω・`)

 

【そーすこーど☆彡】※わかりやすい?ように行数を振ってます

1:import random

2:saikoro = [1,2,3,4,5,6]

3:saikoro_choice = random.choice(saikoro)

4:print(saikoro_choice)

 

【解説☆彡】 

1:import random

 ⇒randomモジュールをインポート

2: saikoro = [1,2,3,4,5,6]

 ⇒リスト型の変数「saikoro」に1~6をそれぞれ代入 

3:saikoro_choice = random.choice(saikoro)

 ⇒「saikoro_choice」へ「saikoro」から数値をランダムに抽出し

4:print(saikoro_choice)

 ⇒ 画面に出力♪

 

なんとたったの4行のコードでサイコロいらずです!

これでわざわざサイコロを買う必要がなくなりましたねw

 

【おまけ:今日の晩御飯をラーメン、カレー、牛丼で迷った時は・・・】

1:# coding:shift-jis

2:import random

3:bangohan = ['ラーメン','カレー','牛丼']

4:bangohan_choice = random.choice(bangohan)

5:print(bangohan_choice)

 

1行目は日本語をコード内で使うための記述です。

よくあるじゃんけんプログラムなんかもこれで作れそーですね!

とまぁこんな感じで皆さんもランダムに何かを決めたいときは使ってみてはいかがでしょーか?(*´▽`*)

 

でゎでゎ☆彡

Pythonはじめました♪~「Pythonスタートブック」を読み終えて~

おはこんばんちは!ゆるふわSEの「ちょここ」です。

Pythonはじめましたぁ♪ということで夏も近づいてきたので冷やし中華始めました♪的なノリでお送りしますが・・・w

皆さんプログラミング言語の「Python」ってご存知ですか???

今回は、「Python」をちょいと覚える必要が出てきたため「何で勉強しよかなぁ(´・ω・`)?」とネットサーフィンしていたら、「Pythonスタートブック」なるもののレビューが初心者向けとしてはかなりよかったので購入してみましたー(*´▽`*)

 

Pythonスタートブック

Pythonスタートブック

 

【内容】※amazonより抜粋

GoogleなどのWebサービスで人気のスクリプト言語Python」は、現在の言語に共通する、美しく模範的なプログラミングの学習に最適な言語です。本書は、プログラミングの知識がゼロの方でも理解できる、いちばん簡単なPythonの学習書です。プログラミングの基本の基本から、データ型を駆使した本格プログラムまで、豊富なイラストとサンプルを使って、Pythonならではのプログラミングのノウハウを楽しく解説します。

 

【感想】

Pythonに関する事前知識はほぼゼロというところから始めましたが、およそ2週間程度で本書を読了することができました!読みながら実際に記載されているPythonスクリプトを実行し処理を確認するという流れでしたが、そもそものプログラミングに関する初歩的な説明などもわかりやすく記載されており、順々にレベルアップが感じれる内容でサクサク読み進めることができました。本書の構成はとてもよかったですね(*´ω`*)

プログラミングの本は初心者向けと書いていても意外と説明が不足していたり、最初らへんで意外と難しい内容が記載されていて挫折してしまうってことが多々あったりするのですが、本書ではおそらく挫折してしまう人はかなり少ないんじゃないかなぁと思います。他の言語をある程度マスターしている人にとっては多少冗長な部分はあるかもしれませんが、初心者にとっては良書かと思いました。ちょっと残念なのが誤字が多いこと。内容が良いだけに修正すればいーのに(´・ω・`)と思いました。

個人的におもしろいなぁと思ったとこは「Python」って蛇なのにturtleモジュールの亀で絵を描くんだなぁというとこでしたw

正直この本1冊で業務で使用できるレベルのPythonの知識/技術が身につけれるか?というと微妙かもしれませんが、初心者のとっかかりにはもってこいかもしれません。

 

まだ、1回通しただけなので、理解の浅い部分があったり、本書のコードを見本なしでは書けなかったりもしますが、これをとっかかりにPythonに関するレベルをあげていけたらなぁと思っております。(*´▽`*)

 

でゎでゎ☆彡