2018年 4月 の投稿一覧

Ruby ハッシュ値をeachで繰り返し処理してみよう

Rubyのハッシュ値のeachでの繰り返し処理について。

2通りの使い方があるのでご紹介致します。

まずは、ハッシュ値からkeyとvalueを取得するパターンです。

capitals = {
  'Japan'          => 'Tokyo', 
  'UnitedKingdom'  => 'London', 
  'Netherlands'    => 'Amsterdam', 
  'France'         => 'Paris'
}
# ここはおまけ
p capitals['UnitedKingdom'] # => "London"
p capitals['Switzerland']   # => nil (値がない場合)

capitals.each do |key, value|
  puts "国は#{key}です。首都は#{value}です"
end
# => 国はJapanです。首都はTokyoです
# => 国はUnitedKingdomです。首都はLondonです
# => 国はNetherlandsです。首都はAmsterdamです
# => 国はFranceです。首都はParisです

今回はサンプルなので、keyとvalueという名前にしていますが
countryとcapitalとかにしたほうが可読性は上がるかもしれませんね。

次は配列として処理をする場合です。
配列の0番目にkey、1番目にvalueが入ります。

capitals.each do |capital|
  puts "国は#{capital[0]}です。首都は#{capital[1]}です"
end
# => 国はJapanです。首都はTokyoです
# => 国はUnitedKingdomです。首都はLondonです
# => 国はNetherlandsです。首都はAmsterdamです
# => 国はFranceです。首都はParisです

どうでしょうか???

配列のアクセスが少し面倒な感じですね。笑

自分で実装する場合は前者のほうがいいと思います(*^^*)

 

何かの参考になれば幸いです(*^^*)

PHP 7.0.xからPHP 7.1.xの進化-連想配列編-

PHP7.0.xからPHP7.1.xの進化点として

連想配列の扱い方が新しくなったようです。

 

ポイントとしては、foeach()のas のあとの変数の扱い方が変わったことですね。

取得した配列からデータのアクセスをする必要がなくなります。

 

とても可読性が上がると思うので是非使ってみてください。

$capitals = [
  ['Japan',         'Tokyo'], 
  ['UnitedKingdom', 'London'], 
  ['Netherlands',   'Amsterdam'], 
  ['France',        'Paris'], 
];

// php 7.1.xからの対応
foreach ($capitals as [$country, $capital]) {
  var_dump('国は' . $country . 'です。首都は' . $capital . 'です。');
}
/*
string(43) "国はJapanです。首都はTokyoです。"
string(52) "国はUnitedKingdomです。首都はLondonです。"
string(53) "国はNetherlandsです。首都はAmsterdamです。"
string(44) "国はFranceです。首都はParisです。"
*/

listで取得することもできます!

// php 7.1.xからの対応
foreach ($capitals as list($country, $capital)) {
  var_dump('国は' . $country . 'です。首都は' . $capital . 'です。');
}
/*
string(43) "国はJapanです。首都はTokyoです。"
string(52) "国はUnitedKingdomです。首都はLondonです。"
string(53) "国はNetherlandsです。首都はAmsterdamです。"
string(44) "国はFranceです。首都はParisです。"
*/

どちらかというと、前者のほうが見やすいかな??という印象です(*^^*)

 

言語もどんどん進化していますね!

何か参考になれば幸いです(*^^*)

私のスキルリストと自己紹介

自己紹介

名前:よりこ

活動範囲:東京、渋谷中心

エンジニア歴:2006年〜

経験分野:組込系→現在はWeb系

スキル

私用言語,ツール, フレームワーク

言語:C/C++/PHP/JavaScript/MySQL/Solr/Couchbase/Redis/Ruby…

PHPフレームワーク:FuelPHP/Zend/CodeIgniter/symfony…

どんなところで仕事をしてきたか

SIer(組込系), スマホゲーム立ち上げ, Webサイト改修運用などなど…

仕事のスタイル

コミュニケーション重視かもしれません。

まずは、不明点を除いて行き明確化して実装を進めていきます。

また、作業フローに問題や無駄などあれば提案などもさせていただきます。

無駄は省き周りと連携しながら安定した時間で楽しく仕事を

進めていく環境を作っていくのがモットーです。

苦手分野

炎上案件。

ある程度は対応可能なのですが、高稼働すぎるものは対応しかねます。。

(といっても、炎上案件が好きな人は少数派ですかねw)

その他、個人的なこと

映画を見るのが好きです(*^^*)

ホラー以外ならなんでも見ますw

あと、投資関係にも興味があり勉強中!

どんな分野でもプラスになるものは少しずつ取り入れていっています!

 

不明点などあればツイッターまでお気軽にご連絡ください(*^^*)

https://twitter.com/yoriko_prog

自信をつけながら成長し続ける仕事の取り組み方

社会にでれば日々勉強と成長が必要

プログラマの仕事をしていると、

日々技術は進んでいき新しいものを知っていないとおいて行かれていきます。

 

ただ、毎日毎日新しい技術全部を学ぶのは疲弊してしまいますし

自分にあったペースでやるのが一番です。

仕事をする上でどのペースで成長するのがいいのか?

知らない分野の仕事をまるごと任せる場合

知らない分野の仕事をまるごと任せる場合、労働者側に相当な負荷がかかります。

ただ、給料を払ってるんだからやって当たり前だ!という考えの会社もあります。

 

この場合、労働者側として2つの結果に別れると思います。

  1. 全力で取り組み結果を出す人
  2. 精神的、体力的に潰れて過労状態で体を壊してしまう人

このやり方は、お互いギャンブルなやり方をしていると思います。

 

やれるところまでやらせて、体力がある人は耐えられますが

やれるところまでやって、限界に達して回復できず鬱になったりする場合もあります。

できる仕事をベースに知らない分野の仕事も織り交ぜていく場合

こなせる仕事をベースに少しずつ知らない分野の仕事も任せる場合です。

私の理想の割合は

「8割できること、2割できないこと」です。

 

この割合でやると8割はできるので達成感も味わいつつ

2割のできないことの壁にぶつかります。

 

ただ、2割のできないことができるようになれば少しずつ日々達成感を味わうことができ

自信が更についていきます。

知らないことでもやればできるという自信がつけば

自ら勉強する意欲もでてきて仕事の生産性も上がっていきます。

 

仕事を任せる側も、労働者側もお互いメリットがでてきます。

私はこのやり方はいい按配でいいなぁと思いますね。

日々成長していくIT業界

IT業界、Web業界では、日々勉強会やセミナーがあり成長が求められますが

潰れないほどのマイペースで成長していきたいですね。

 

心地よい成長と心地よい自信をつけていけるよう取り組んでいきましょう!(*^^*)

 

何か参考になれば幸いです(*^^*)

環境のせいにするな!は本当?

よく聞く「環境のせいにするな」って本当にいいことなの?

「環境のせいにするな」という言葉をよく耳にします。

 

これって本当にいいことなのでしょうか…?

実際、私は環境を変えて仕事の評価や人生がもっとよりよくなりました。

(贅沢ができるとかではなく気持ち的に楽しい時間ができるようになりました)

私が環境のせいにしなくて福岡でずっと仕事をしていたら…

昔になりますが私が福岡で仕事をしているときは

九州で一番の都市といえど、仕事の数は東京、大阪に比べれば遥かに少なく

必死にお客様にしがみつく思いで仕事をしている感じでした。

 

ということは…。

どんな仕事でも残業して対応して結果を出す。という感じでした。

 

一度、過労で体調を壊し思うように仕事ができなくなり肩身が狭くなり退職したのですが…。

そのとき、私は過労で体調を壊した自分や、我慢できなかった自分を責めました。

1年ほどでしょうか…。とても苦しかったです。

 

ただ、ふとした瞬間

「環境のせいにしてもいいじゃん!」と思ったのです。

環境のせいにして変わったこと

環境のせいにして考えるようになると

自分の居心地のいい場所を素直に探せるようになりました。

無駄に耐えるということがなくなりました。

 

それから、福岡から大阪で仕事を探し、そこでも転職に失敗したのですが環境が合わなかったんだ。と

更に、自分の生きやすい場所、生きたい場所を素直に探しました。

そして、東京に来てフリーランスになりました。

 

結果、とてもよかったと思っています!

仕事も自分がやりたい仕事ができ、更にお客様にもとても恵まれて本当によかったと思っています。

本当に辛かったら、環境のせいにしよう

本当に辛かったら、環境のせいとかにしちゃっていいと思います。

自分のメンタルが壊れるほど自分を責めるなら、逃げちゃってもいいと思います。

まずは、自分の精神的な健康が大切です。

環境のせいにするときの注意点

環境のせいにして、自分のメンタルを救うのは賛成です!

ただ環境のせいにして周りの人に対して嫌な思いをさせるような言動は

やめたほうがいいです。

 

度が過ぎると、周りの人に対して喧嘩腰になったりする可能性もあります。

それだけは注意してください。

 

自分の心の中で

「環境のせいだ、仕方ない。自分は頑張ってるしこのままでいいんだ」と

優しくしてあげてください。

 

仕事をするにも周りの人を幸せにするにも

自分の心と体の健康がいちばん大切です。

たまには自分に優しくしてあげましょう(*^^*)

 

何か参考になると幸いです(*^^*)

リモートワークを初めて良かったこと、悪かったこと

初めてリモートワークを初めて2週間ほどたちました

リモートワークと言えばツイッターなどを見ると

 

サボりたい人がやりたがる。

会社にいないから誠意が見えない。

 

などなど意見をよく見ます。

 

疑問なのですが会社に行くことが誠意なのでしょうか…。

個人的には満員電車で読書もできない、時間の有効活用もできない時間を毎日消費することに

何も生産性もなく疲れて仕事をすることが誠意なのでしょうか。

 

できれば、そんな労力を省いて仕事に力を使いたいというのが私の考えでした。

リモートワークで良かったこと

休憩が好きな場所で取れる

これって大きいですよね。

私は基本的にお昼ごはんは食べず、午後からの仕事のために仮眠を取ります。

 

職場ではデスクでうつ伏せになるしかないんですよね。

体は痛いし、深く休憩が取れません。

 

それがリモートですとしっかりと休憩が取れて脳の疲労回復ができるのが大きいです。

満員電車のストレスがなくなる

これは都心部に住んでいる人はそうだと思います。

読書ができるほど隙間がある満員電車なら良いのですが

骨折しそうなほどの圧迫、本も開けないほどの混雑、夏場は痴漢の危険。

何のメリットもないです…。

それがなくなるだけでとても気が楽になります。

通勤時間がなくなることで勉強など自己投資に時間を使える

通勤時間がなくなり好きな環境で自己投資ができるようになります。

勉強もできるようになりますし、大きなメリットだと思います。

パフォーマンスが一番でる時間帯に仕事ができる

私は完全に朝型なので、早く仕事を初めて早く終わらせたいと思っています。

一番パフォーマンスが上がる時間帯に仕事をやりたいので

通勤をしてヘトヘトになって仕事をスタートするより断然効率が良くてとても助かっています。

リモートワークによるデメリット

水道光熱費、PC環境構築が実費

会社で勤めているととパソコンもデスクも支給されます。

また、エアコンもしっかり完備されています。

それが実費になります。

 

客先常駐をしていてリモートワークを開始する際その経費の計算をしていかないと

同じ単価では前より実質単価が下がる可能性もあります。

 

そこも含めて仕事を決める必要があります。

運動不足になりがち

通勤がなくなるため、歩く機会が減ったりします。

特に私はインドアが好きなので以前より運動の機会が減ったので

意識的に散歩をしたりする必要があります。

コミュニケーション面で支障はあるか?

正直私はあまり感じません。

客先常駐で仕事をしていた際も、他部署に渡って仕事をするため

基本的に客先に言ってもチャットでのやり取りで仕事を進めていました。

 

家にいても同じです。

 

なので、コミュニケーション面で支障は感じません。

直接話したければ今はハングアウトなどもありますし、それで全然問題ないと思います。

 

あくまで個人的な意見ですが、初めてリモートワークをしてみた感想です。

 

 

もっと広まって働きやすい、パフォーマンスが上がりやすい環境で

効率的に仕事ができたらいいなと思います。(*^^*)

いい人を演じなくてもいい

短めのブログ。

今日、本を読んでいていい文章があった。

人それぞれいい面悪い面があって当たり前。

いい人を偽らなくていい。いい面だけを周りに見せていけばいい。

少し自分の言葉に変換はしているけど、なんだかこの言葉いいなぁ。

このままでいいんだなぁとほっこりした言葉。

Ruby 繰り返し処理をやり直したいときに使えるredo

Rubyの便利な書き方だなと思って記事にしました。

 

まずは、行ったことがありますか?の回答に「ある」となるまで処理を繰り返します。

areas = ['東京', '北海道', '沖縄']
areas.each do |area|
  # sampleでランダムに選択
  answer = ['ある', 'ない'].sample
  puts "#{area}に行ったことありますか?#{answer}"
  redo unless answer == 'ある'
end
# => 東京に行ったことありますか?ない
# => 東京に行ったことありますか?ない
# => 東京に行ったことありますか?ない
# => 東京に行ったことありますか?ある ★次に行く
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ある ★次に行く
# => 沖縄に行ったことありますか?ある ★次に行く

「ある」となったときに次のareaに移っていますね。

次に上記の書き方だと永遠と続く可能性もあります。
回数制限を設けたのが以下の例になります。

areas = ['東京', '北海道', '沖縄']
count = 0
areas.each do |area|
  count += 1
  answer = 'ない'
  puts "#{area}に行ったことありますか?#{answer}"
  redo if answer != 'ある' && count < 2 count = 0 end # => 東京に行ったことありますか?ない
# => 東京に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 北海道に行ったことありますか?ない
# => 沖縄に行ったことありますか?ない
# => 沖縄に行ったことありますか?ない

「ある」とあるまで処理をやり直すのですが2回未満までとなっているので

2回ずつ処理をして終わっていますね。

 

何か参考になれば幸いです(*^^*)

私の転職失敗談とその対策〜その1〜

残業ばかり!疲れてヘトヘト…転職したい

IT企業に限らず残業三昧で朝は早朝から家を出て帰るのは深夜。

土日も仕事。

そういう方は少なくないと思います。

 

毎日眠たくて重い体を起こして満員電車に揺られ…。

何なのだろう。

 

このような自問自答をする毎日でした。

そして、過労で体調を壊したタイミングで転職することを決意しました。

安定して働ける会社に転職しよう!

安定した稼働で働きたい!と思った私は転職活動をしました。

といっても前の会社が40時間残業が当たり前のような風潮だったので

それくらいだったらOKかなと思っていました。

当時25歳位でした。

 

ただ、福岡に住んでいた私は福岡の企業を探すも前の会社より給料が安い…。

これだと生活が確実に苦しくなると思い、地元からなるべく近い都市から攻めることに。

 

そういうことで、大阪に転職活動に行きました。

 

当時はお金もなかったので夜行バスで行って、とんぼ返りしてすぐ当日また働いて。

という感じを繰り返していました。

いざ面接!

とある中小企業で面接することとなり、提示された金額が40時間残業代込みの場合の年収でした。

その金額は前の仕事と差異があまりなく希望のWebの仕事ができるということで納得して入社しました。

ここからたくさんの失敗ポイント

面接での40時間残業込みの年収提示

これが結構ネックでした。

以前、40時間の残業が当たり前だった私はどこも月40時間くらい残業があるものだと思っており

面接時に提示された年収が貰えるものと思ってしまったのです。

 

が、それが誤算でした。

残業が無く、かなり年収が低くなってしまったのです。

 

福岡から大阪に引っ越す際、提示された年収を基準に家賃を決めていたので

かなり生活も苦しくなってしまいました。

Web系の企業なのにWebの仕事をやらせてもらえない

私はもともとも組込系で家電とかができる前の基盤にソフトを載せるというような仕事をしていました。

Web系の仕事がしたく入社が決まりワクワクしていたのですが

入社すると組み込み系の客先に常駐することになりました。

 

面接時はWeb系の仕事ができるということは聞いていたのですが

話と全然違う結果となりました。

 

内心、何しに大阪まで着たんだ…。という感じですね。

給与面で節約が続き体調が悪化

年収が想定より低かったことにより削れる部分の生活費はいろいろ削りました。

 

保険、光熱費、食費、交際費などなど…。

まず、友達なんて作っている資金の余力がなかったですね。

めちゃくちゃ孤独でしたw

 

食費を削った結果、体が弱っていっていたように感じます。

食事をしっかり取っていなく免疫が下がっているのか

蕁麻疹がでたり今までなかった症状が出て病院に行く頻度が増えました。

 

ちなみに、フリーランスになり食事をしっかり取れるようになり今は元気です!!

食事って大事!!\(^o^)/

転職を考える方におすすめする転職の事前準備

企業側が面接でいい顔をしていても、実際入社するといい会社とは限りません。

年収が低い企業に入ると辞めようとしても転職する資金の余力もなくなっていきます。

精神的な余裕もなくなってしまいます。

 

できれば、もう一回転職できるほどのお金を準備しておいたほうが良いと思います。

そんな貯める時間なんてないよ!という方は仕方ないのですが

何ごとにもAプラン、Bプランを考えておいたほうが良いですね。

 

ぜひ、転職の際は面接の話が全てではない…可能性がある。

というのも覚えておくと良いかもしれません。

 

何か参考になれば幸いです(*^^*)

NO残業!定時で帰る秘訣

毎日残業、残業…人生=仕事じゃん

毎日、残業で帰りは夜の遅く。

一人暮らしの場合は、家の家事もやっていたら自分の時間なんてありません。

 

こんな日々、仕事を頑張ってこなして将来幸せになるのだろうかと不安にもなります。

残業をなくす秘訣は5つのポイント

ワークフローがおかしい場合

私はこのケースを多く見てきたのですが、

納期が先に決まって作業担当者が見積もりができないケース。

 

これは確実に定時で帰れる可能性が低くなります。

 

よくあるケースが上司が部下の見積もりをして納期まで決めてしまって

作業が降りてくるケースもあります。

 

ただ本来は作業者が見積もりをして納期を決めるべきです。

 

作業をするのは誰でもない本人なんですから…。

 

でも、この認識が上司にないと結構残業から脱出するのが厳しいかもしれませんし

炎上案件になりがちかと思います。

ミーティングが多い場合

毎日のミーティング、毎週のミーティング。なんとなくやっていませんか?

作業片手間にミーティングをするくらいの内容であれば

私はやらなくていいと思っています。

 

真剣にみんなで向き合って意見を出して合意をする場だと思っているので

それを放棄するようであれば時間を削ってその場に居る意味は無いかと思います。

 

任意参加で議事録をあとで確認とかでもいいかと思います。

ただ、とりあえずミーティングしたがる人って結構多いんですよね…。

 

あと、定時前ギリギリのミーティングや定時後のミーティングを開くケースは

手のつけようがないかもしれません…。

わからないことを抱え込んでしまう場合

技術職ではありがちなのですが技術的にわからないことを調べ始めて

時間をどんどん費やしてしまう場合です。

 

もうこれは方法は1つしかないです。

調べてみて、あー!わからない!と思った瞬間に周りに聞きに行っちゃいましょう。

 

意外と社内ルールとかで聞くとすんなり解決することも多いです。

それに、嫌な顔されてもそんなこと関係ないですw

他の人を巻き込む作業のときは前もって調整をしておく

これはプログラマではよくあるのですが、レビュー依頼を突然する人がいます。

突然「コード出来たのでレビューお願いします。」

 

相手も

え!ってなりますよね。

相手も仕事の段取りがありますし、すぐレビューできる環境ではないかもしれません。

 

忙しい人の場合、明日とかになることもあります。

その場合、待つ時間が発生しますよね。

このような時間は非常にもったいないです。

 

だいたい目処がたって来た時点で数日の誤差があってもいいので

「◯日までに終わりそうで、レビュー依頼できそうです。」と伝えておきましょう。

 

そうすると、コーディング→レビュー→レビュー修正→完成までがスムーズに進みます。

残業をしないと決意する

残業をしないと決意して定時で帰るようにしないとついつい今まで通りダラダラしてしまいます。

時間内にどうやってこなしていくかがポイントになると思うので

周りからどう見られようと定時で帰ることからはじめてもありかと思います。

 

このように私が考える残業をなくすポイントは以上になります。

  1. ワークフローがおかしい場合
  2. ミーティングが多い場合
  3. わからないことを抱え込んでしまう場合
  4. 他の人を巻き込む作業のときは前もって調整をしておく
  5. 残業をしないと決意する

おそらく1番の「ワークフローがおかしい場合」この比重はかなりを占めると思っています。

なかなか発言して変えていくのは難しいですが変える可能性はゼロではありません。

 

少しずつ「ここおかしいな?」と思うところを探していってみてください。

そして小さいところからでもいいので周りの人に伝えてみてください。

そうすると同意してくれる人が仲間になって協力してくれる人も出てきます。

 

きっとどこか解決の糸口が見えてくるはずです。

 

何か参考になれば幸いです(*^^*)