損しない アマゾンで待てば安くなる可能性がある商品を見抜く方法
その商品、今買いますか
もしかしたら、少し待てば安くなるかもといった商品を見抜く方法をご紹介します。
モノレートを使う
モノレートというサイトを使ってアマゾン商品の価格の推移を調べることができます。
サイトを開くと以下のような検索欄があると思います。
ここに購入したい商品を入力してグラフを見るボタンをクリックします。
すると、以下のように商品が表示されます。
こちらの商品を見てみると価格が九千円くらいになっている時があると思います。
これはアマゾンのセールや在庫処分など様々な理由で値下げされています。
これを見て、次のセールの日程などを調べれば、かなりの確率で価格が安く購入できます。
ぜひ、購入前にモノレートを使って商品分析を行ってみてください
時間よりお金を優先する
お金より時間を優先するという選択肢をする人が増えていると思います。
しかし、本当に時間が欲しいなら、まずお金を優先するべきです。
今回はその理由を説明します。
時間よりお金を優先する理由
時間はお金で買える
例えば、通勤に徒歩で15分かかるとします。往復で30分です。
少しお金を払って、自転車を1万円ほどで購入すれば、5分ほどで通勤できるかもしれません。1万円ほどで1日あたり20分の時間を買ったことになります。
もっとお金があればタクシーで通勤できるかもしれません。
徒歩15分なら往復で2000円かかるかもしれませんが時間は大幅に節約できます。
他にも毎日働いて1か月で30万ほどの稼ぎだったら毎日働かないと、生活が厳しいかもしれません。
しかし半月で30万円稼げる仕事をすると、半月は働かなくても生活できる可能性があることになります。
このようにお金を稼げないということは時間という命を使わなければならないことになります。
お金がないと時間は減っていく
お金がないと、どうしても栄養が偏ってしまいます。
栄養が偏ると、風邪になったら病気になりやすくなります。
病気の時間を欲しがる人はいません。
実際に収入と寿命の関係で収入が低い人の方が寿命が短い傾向があるという研究結果も出ています。
和訳して読めるくらい簡単に書かれているので、ぜひ読んでみてください。
http://news.mit.edu/2016/study-rich-poor-huge-mortality-gap-us-0411
どうお金を稼げばいいのか
長期的に無理なく稼ぐこと
無理して稼ぐことも可能ですが、休みなく働くことや精神的に負荷が強い状態になってしまうことが多いです。これは続きません。
ブラック企業でいつまでも働けないのと一緒です。
長期的に無理をするより時間を決めて短期的に無理をすることをお勧めします。
何かの資格が必要なら、短期的に無理をして取得します。
厳しい企業に入って、1〜3年くらいあらゆることを経験することも手です。
そうして、普通の人が10年かかる力を短期的に取得することで、収入に繋がるかと思います。
TeraTermで技術質問に回答してエンジニアとしてレベルアップ
TeraTailというITエンジニア向けの知恵袋サイトがあります。
これはIT系の事で分からないことを質問すると、他のサイト利用者のかたが答えていく形式で成り立っているIT版のyahoo知恵袋です。
今回はTeraTailを使って、質問者の質問に答えていくことで、幅広い事柄に取り組めるのではないかという事を話していきます。
TeraTailのメリット
TeraTailにはいくつかメリットがあります。
今回はご紹介していきます。
1 分からない事の回答が得られる
こちらは当たり前ですが、プログラミングの学習や実務に就いていると、
分からないことが出てきます。
問題によっては、上司も分からなかったりなど解決できない問題にぶち当たります。
TeraTailに具体的に問題を質問すれば、解決できる可能性が上がります。
2 他の質問者の質問から知見が得られる
TeraTailを見ると、様々な質問が出ています。
例えば自分が学んでいる言語や技術などに対しての質問もみられます。
そういうのを見つけて、自分も分からない内容の質問が出ていたら、技術力や知見を広めるチャンスです。
3 回答者になる事で、分からない人向けに説明する技術がつく
サービスは一人では作れません。
仕事上、デザイナーさんがいたり、エンジニア、営業、企画など様々な業種があります。
ある程度、仕事に慣れてくると部下がついてきます。
部下がつくと当然分からない事などの相談や質問を受けることになるかと思います。
その時にTeraTailの回答している経験は大きくなります。
周囲を巻き込み問題を解決できるエンジニアは強いです。
CordovaとAngular8でハイブリットアプリを始める手順
その前は1年ほど、Androidアプリのエンジニアだったり、PHP、JavaなどのサーバサイドエンジニアだったりLinuxが主体のインフラエンジニアだったりしましたが、
最近は主体の業務をハイブリットアプリにおいています。
ハイブリットアプリとは1ソースでIOS,Android,Webサイトなどを作れてしまうアプリケーションの開発スタイルのことで、慣れると圧倒的に工数削減ができます。
デメリットとして、ネイティブのアプリ(swiftやjava)と比べると速度が落ちるなどのデメリットもありますが、1ソースで開発ができるメリットの方が高いという判断などもあり、導入される企業なども少なくありません。
今回はAngular 8とCordovaを用いてハイブリットアプリを作る基盤を作っていきます。
実際にエミュレータ上でiOSアプリとしてAngularのコードを動かすところまで作成していきます。
- 環境
- 【手順 1】Cordovaのインストール
- 【手順 2】Angularのインストール
- 【手順 3】 Angularプロジェクトの作成
- 【手順 4】Angular プロジェクトの中にCordovaプロジェクトを組み込む
- 【手順 5】iosビルドをできるようにする
- 【手順 6】 Angularビルドを行う
- 【手順 7】 Cordova を使って実際にiOSアプリを動かす
環境
以下の物を揃えてください
- Node JS ((https://nodejs.org/ja/からインストール))
- Visual Studio Code (JavaScriptの開発はこちらを使うと便利です)
- Mac端末
【手順 1】Cordovaのインストール
以下のコマンドでApache Cordovaをインストールします。
npmコマンドはNode JSのインストールが完了していれば自動的に使えるようになります。
-gオプションはcordovaをグローバルにどこでも使えるようにインストールするためのオプションです。
npm install -g cordova
【手順 2】Angularのインストール
同じようにAngularをインストールします。
以下を行うことにより、Angularを使うためのコマンド(ng)が使えるようになります。
npm install -g @angular/cli@8.3.9
【手順 3】 Angularプロジェクトの作成
以下のコマンドでAngular プロジェクトを作成します。
フォルダが作成されるので、ソースコードを置きたいディレクトリで行ってください。
ng new MyApp
【手順 4】Angular プロジェクトの中にCordovaプロジェクトを組み込む
AngularプロジェクトとCordovaプロジェクトは別です。
Angularプロジェクトでは、アプリの動きの部分を担って
Cordovaプロジェクトではアプリのネイティブプラグイン(カメラやプッシュ通知など)やネイティブの設定をしていきます。
cd myApp
cordova create CordovaMobileApp example.com "CordovaMobileApp"
【手順 5】iosビルドをできるようにする
cordova platform add ios
【手順 6】 Angularビルドを行う
いよいよ、アプリを動かすためにAngularビルドをしていきます。
Angularで何もソースコードを書いていないと思うかもしれませんが、
Angularにはデフォルトで動くソースコードがあらかじめ入っているので、それを使って動かしていきます。
ビルドしたファイルはCordovaのwwwフォルダに出力します。
こうすることによって、CordovaプログラムがAngularで作成したhtmlやjsを使ってアプリを起動するよ雨になります。
ng build --prod --base-href . --output-path CordovaMobileApp/www/
【手順 7】 Cordova を使って実際にiOSアプリを動かす
最後にエミュレータを使ってアプリを動かしてみます。
以下のコマンドを入力して、実際にエミュレータにアプリが起動すれば完了です。
今後はAngularのコードを修正して手順6と手順7を行うことでアプリを更新していくことができるようになりました。
cordova run ios
IT系ブラック企業で学んだこと
はじめに
仕事を早く終わらせて遊びに行きたい
チームの力をフルに使いたい
と誰でも考えると思います。
私はITの業界にいますが、リーダになり、一人で仕事を抱え込んでしまったり、
ひたすら忙しい仕事について泊まり込みで仕事をして月の稼働が300や400近くの経験があります。
その経験した1社ははっきり言ってブラック企業でした。
もう1社経験しました。
その会社は限りなくホワイト企業でした。
そこでの一番大きな違いは、会社の仕組みでした。
今回はブラック企業を働いてメリット、デメリットなどを共有しようと思います。
ブラック企業
まずブラック企業について説明します。
ブラック企業はデメリットばかりですが、メリットもあると思います。
ブラック企業のデメリット
ブラック企業のデメリットを説明します。
デメリットは解消させていくものですが、ブラック企業のデメリットは正直解決しずらいと思いました。
会社自体の仕組みの話になっていくので、経営者ではないレベルで、そこの問題を根幹から解決するのは難しいからです。
まじで忙しい 土日一切なし
ブラック企業は、社員を搾取することを前提とした仕組みで
忙しくなった時に、一定の搾取できる人間に仕事が終わるまで働いてもらう傾向があります。
残業代を払わないことを前提としていることや、採用による費用などを極力かけないからです。
私も1ヶ月土日が一切なく、帰りが毎日終電を超えていた時があります。
これに加えて精神的な追い込みがあることや、忙しくなると退職に向けた動きや仕事以外の他人と関わることが少なくなるので、普通というものがわからなくなり、今の現状に気付きにくくなります。
つまり頭が働きにくくなり、正常な判断ができなくなることで生産性が悪くなり忙しさに加速がかかります。
私も本屋で本を取ろうとして前かがみになると、頭の重さから倒れそうになり、やっと疲れていることがわかったなどの経験もあり、疲れ自体に気付きにくくなる経験もしました。
給料が最低賃金を割っている
基本給は少し高く見えます。見込み残業という概念があり、残業代がすでに支払われているからです。給料は初任給で21万円だとしても見込み残業分を減らしたら16万円くらいだったりします。
また残業がバカみたいに多いので、時給換算すると最低賃金割っているねという話題にもなっていました。
残業代は基本出ない
"自分の実力が伴わなくて仕事に遅れが出ている場合、残業代は出ないのがルール"
と言われました。
これはよくよく考えると、どの場合でも"自分の実力が伴わない"に当てはまります。
例えば見積もりが甘くて、仕事が遅れているという状態があります。
見積もりをしたのは自分ではありません。でも言い換えると、見積もり時点で関わって来なかった自分が悪いので今回は頑張るしかないという趣旨のことを言われます。
会社の立場が弱すぎて基本言いなり
ブラックな企業では独自に営業をかけて1次受けの案件を取っていることや、基本的に投資をしないので革新的なサービスを自社開発できるなどほとんどありません。
自社開発でサービスを作る話は結構ありますが、仕事も減らないし必ず無料の労働力を
使おうとするので、良いものが作れないのです。
なので仕事も基本的に逆らえない会社が上にいて、ものすごい弱気な営業や顧客対応をしなければならず、顧客の依頼のシステムがどんなに拡張性のないものでも必ず実装しなければなりません。
そのため導入したサービスに無理出て人気サービスとはなり得ないので、お金が回りません。
将来的に収入大丈夫?
退職金などはもちろん出ません。
今の給料もそこまで高いわけではありません。
将来的な給料も明らかに低いです。
上役の人の給料も大手の同じ役職の人の−200万円くらい
定年まで働くと危ない予感がしました。
ブラック企業のメリット
ブラック企業でもメリットはあります。
仕事に対する耐性が強くなる
ホワイト企業と比べると明らかに残業時間が多いです。
ホワイトな企業では残業が2時間で多いと言われて月40時間の残業があろうものなら
病院の診察が必要だったりなどフォローがすごいですが、
ブラック企業は80時間の残業が平均的にあったりします。
そのため、仕事に対する疲れなどがホワイトな企業に行った時にあまり感じません。
むしろ相当楽に感じられます。
上流から下流まで分かるようになる
ブラック企業では"自分の仕事ではない"というのが通用しないです。
明らかにマネージャーの管理不足でも、自分が担当している案件ではなくても飛び火するからです。
つまり仕事を取ってくる段階、要件定義の段階、設計フェーズ、開発、運用という仕事の流れがわかるようになり、こういう事をすると仕事がうまく回らなくなるというのが分かるようになるかと思います。
これによって、一つの案件が始まる時に、どの人がどの仕事を担当するのか
リリースするまでの足りない部分がないのか
他の人がした発言や伝達でも認識違いがないのかなど、やたらと気がつくようになります。
ブラック企業では一つでも間違いがあるとすぐに炎上案件へと繋がってしまうので、危ない部分の直感が鋭くなります。
プログラマーとしての実力がつく
私がフリーランスになって百万円ほどの売り上げが立っているのはある意味ブラック企業のおかげだと思っています。
正直、企業に良い印象は全くないですが、
一人が三人分くらいの仕事を持つことになるので、スキルシートにかける仕事量も年齢×3くらいになるし、書ける言語も3倍くらいになっていました。
今の所、他の人と一緒に働く時もかなり上位エンジニアの方と同等くらいにプログラミングという分野では活躍できていいます。
圧倒的に短期間で経験できるという点では悪くないのかもしれません。
まとめ
今回はブラック企業のデメリット・メリットを紹介しました。
もっと詳しく知りたいなどの人がいたらぜひコメントください。
今の私の根幹を鍛えたのは確かにブラック企業でしたので良い面も悪い面も両方伝えたいなとお思いました。
短期間でフリーランスなどの働き方に移行したいなどの人には、選択肢としてありなのかなと思いますが、精神的にも肉体的にもかなり疲労しますので、それ相応の覚悟が必要です。
次はホワイト企業のメリット・デメリットなどをご紹介したいと思います。
IT業界における先行特権のメリット
はじめに
新しい言語、新しい端末やサービスに取り組むことでどういうメリットがあるでしょうか。
技術力が向上する
出たばかりの技術(言語)は色々なものが用意されていません。
おそらく専用のチュートリアルを行ってみても、あらゆることができるようにならないでしょう。
実際のその技術でサービスリリースまで行く過程で、チュートリアルやリファレンスに用意されていないソースを書かなければならないかと思います。
有名言語を学ぶより、問題に対する突破力が向上し、技術力も向上します
実力を過大評価される SES・フリーランス客先常駐などでのスキルシート
SESやフリーランスで客先常駐するときにスキルシートをベースに面接します。
スキルシートとは、どういう言語ができるのか、要件定義や設計がどこまでできるのか、どういう案件に携わってきたのかを資料に落として、自分の実力を示すものです。
その際に最新の言語を学習してることや、何か新しい技術でアプリをリリースしていたりなどすると、その時点で他の選考を受けている人より、良く見られる可能性が高いです。
実力を過大評価される 面接などでアピールできる
上記と同様で、最新の技術に取り組んでいたという時点で、評価は上がりやすいし、
企業が成長していくためには、新しいことに取り組む必要があります。
自ら新しいことを学んでいく社員は、優遇されやすいと考えて良いかと思います。
私もハイブリットアプリという新しいアプリの作り方をしていた時があり、その技術を主体でスキルシートを提出したら、フリーランスの面談でのお客様の食いつきがすごく、何社もオファーがあった経験があります。
このように最新の技術を学ぶと面接などで有利になります。
一攫千金も夢ではない
AndroidやiOSの端末が発売された当初は、世の中にアプリの数も多くありませんでした。
おそらく作るのに1週間もかからない健康のためのBMI計算アプリが数ヶ月カテゴリランキング1位になったりしています。
広告をうまくつければ、一攫千金も夢ではありませんでした。
AndroidやiOSみたいに生活を変えるような新しい端末が出ていないと思うかもしれません。
実はそうではないかと思っています。
例えばAlexa Amazon Echoのスキル開発 やGoogle Homeなんかは明らかに先行特権がある端末だと思います。
世の中にまだ浸透していない段階で、ちょっとした発想で何かを開発してみると先行特権だけでもある程度注目されることも夢ではありません。
*1:フォトカップケーキメディア上のUnsplash
Web・アプリ開発入門用パソコンはMacかWindowsか
はじめに
開発パソコンはWindowsとMacどちらがいいかという議論がたまに行われています。
今回は入門用としてプログラミングを学ぶためにどちらのパソコンが良いのか言及していこうと思います。
- はじめに
- スペックについて
- コストパフォーマンス
- Linux Unixコマンドの学習するのに適しているのは
- Web系開発を学ぶために適しているのは
- アプリ開発を学ぶために適しているのは iOSアプリは必ずMac
- 結局 MacかWindowsどちらがいいのか
スペックについて
スペックはWindowsは価格によってどのようにも調整できるので差はありません。
開発をするとディスクの読み書きは頻繁に行うので,120G程度のSSD搭載は必須と言っても良いと思います。
Windowsを選んでもSSD搭載のものを選べば差はないかと思います。
入門用としては以下のようなスペックを参考にすると良いかと思います。
メモリ:8G(金銭的に余裕があるなら16G)
SSD:120G
CPU:core i5以上
コストパフォーマンス
価格の自由度ではWindowsの圧勝です。
Windowsは五万以下のパソコンも購入できますが、Macは大体10万円を超えてきます。
しかし、今回開発入門用として使うのであれば、上記のスペックが対象になるので、WindowsとMacの価格差はそこまで大きくはありませんが、やはりWindowsの方が安く手に入るかと思います。
投資できる価格が決まっていてMacがそれを超えている場合はWindowsを探してみると良いかと思います。
Linux Unixコマンドの学習するのに適しているのは
Web系の開発では、ほぼ全てLinuxサーバを使ってサイトを公開します。
その時にLinuxコマンドの学習が必要です。
Macではlinuxではないですが、ほぼ同等のUnixコマンドを使ってPC操作を行えます。
つまりMacを使っているだけでLinuxコマンドを学習できます。
Windowsでは、コマンド操作をデフォルトですることはないですし、LinuxとWindowsのコマンドプロンプトのコマンドはかなり体系が異なります。
とはいえLinuxコマンドの学習ができないかというとそうではありません。
以下のような方法を使って仮想的にLinuxをPCに入れることによってLinuxコマンドを学習することができます。
Web系開発を学ぶために適しているのは
こちらもMacが若干良いかと思います。
Webサイト開発をする時に、サイトを動かすためにローカル環境を構築します。
このローカル環境をWindowsで動かして作ったサイトをテストすると、その時は動くのですが、本番の環境(Linux)で動かすと、なぜか動かない時があります。
Linuxの動きとWindowsの動きが若干異なるからです。
MacではUnixとLinuxが似ているため、そのような問題が発生しにくいです(全く発生しないわけではない)
また現在流行しているNodeJS(ノードジェイエス)などはWindows,Macで動きますが、
Windowsだとエラーが出てしまいエラーの解消に時間を使ってしまうことなども考えられます。
参考サイト
アプリ開発を学ぶために適しているのは iOSアプリは必ずMac
Androidアプリを作るだけなら Windows Macどちらを使っても問題ありません。
Android StudioもJavaもkotlinもMacでは使用可能だからです。
iOSのシミュレータやストアリリースするための処理はAppleはMac端末でしか認めていません。
つまりiOSアプリを作るのはMac以外ではできないということです。
結局 MacかWindowsどちらがいいのか
結論ですが、資金に問題がないならMacのが良いです。
Windowsでは環境的に少し問題が出てしまい、そのエラーを調べて解消しなければならないなどのことが起こりやすいです。
Macではそういった問題が起こりにくいので、トラブルが起こりにくく学習を進められます。
しかし、windowsで起こったエラーを自分で調べて解消することでもレベルアップを望めます。
実際の仕事では、思ってもいなかったトラブルが何回も起こるので問題解決能力が重要になってきます。
また資金面で明らかにwindowsのがやすい傾向があるので、そこで浮いたお金を書籍や学習サービスに投資して学習を進める方法もありますので、資金面と相談してパソコンを選ぶと良いかと思います。