>"; $accessKey="<< ACCESS_KEY >>"; $secretKey="**********"; $payload="<< PAYLOAD >>"; $host="<< HOST NAME >>"; $uriPath="/<< URI PATH >>"; $awsv4 = new AwsV4 ($accessKey, $secretKey); $awsv4->setRegionName($region); $awsv4->setServiceName($serviceName); $awsv4->setPath ($uriPath); $awsv4->setPayload ($payload); $awsv4->setRequestMethod ("POST"); $awsv4->addHeader ('content-encoding', 'amz-1.0'); $awsv4->addHeader ('content-type', 'application/json; charset=utf-8'); $awsv4->addHeader ('host', $host); $awsv4->addHeader ('x-amz-target', '<< REQUEST TARGET >>'); $headers = $awsv4->getHeaders (); $headerString = ""; foreach ( $headers as $key => $value ) { $headerString .= $key . ': ' . $value . "\r\n"; } $params = array ( 'http' => array ( 'header' => $headerString, 'method' => 'POST', 'content' => $payload ) ); $stream = stream_context_create ( $params ); $fp = @fopen ( 'https://'.$host.$uriPath, 'rb', false, $stream ); if (! $fp) { throw new Exception ( "Exception Occured" ); } $response = @stream_get_contents ( $fp ); if ($response === false) { throw new Exception ( "Exception Occured" ); } echo $response; class AwsV4 { private $accessKey = null; private $secretKey = null; private $path = null; private $regionName = null; private $serviceName = null; private $httpMethodName = null; private $queryParametes = array (); private $awsHeaders = array (); private $payload = ""; private $HMACAlgorithm = "AWS4-HMAC-SHA256"; private $aws4Request = "aws4_request"; private $strSignedHeader = null; private $xAmzDate = null; private $currentDate = null; public function __construct($accessKey, $secretKey) { $this->accessKey = $accessKey; $this->secretKey = $secretKey; $this->xAmzDate = $this->getTimeStamp (); $this->currentDate = $this->getDate (); } function setPath($path) { $this->path = $path; } function setServiceName($serviceName) { $this->serviceName = $serviceName; } function setRegionName($regionName) { $this->regionName = $regionName; } function setPayload($payload) { $this->payload = $payload; } function setRequestMethod($method) { $this->httpMethodName = $method; } function addHeader($headerName, $headerValue) { $this->awsHeaders [$headerName] = $headerValue; } private function prepareCanonicalRequest() { $canonicalURL = ""; $canonicalURL .= $this->httpMethodName . "\n"; $canonicalURL .= $this->path . "\n" . "\n"; $signedHeaders = ''; foreach ( $this->awsHeaders as $key => $value ) { $signedHeaders .= $key . ";"; $canonicalURL .= $key . ":" . $value . "\n"; } $canonicalURL .= "\n"; $this->strSignedHeader = substr ( $signedHeaders, 0, - 1 ); $canonicalURL .= $this->strSignedHeader . "\n"; $canonicalURL .= $this->generateHex ( $this->payload ); return $canonicalURL; } private function prepareStringToSign($canonicalURL) { $stringToSign = ''; $stringToSign .= $this->HMACAlgorithm . "\n"; $stringToSign .= $this->xAmzDate . "\n"; $stringToSign .= $this->currentDate . "/" . $this->regionName . "/" . $this->serviceName . "/" . $this->aws4Request . "\n"; $stringToSign .= $this->generateHex ( $canonicalURL ); return $stringToSign; } private function calculateSignature($stringToSign) { $signatureKey = $this->getSignatureKey ( $this->secretKey, $this->currentDate, $this->regionName, $this->serviceName ); $signature = hash_hmac ( "sha256", $stringToSign, $signatureKey, true ); $strHexSignature = strtolower ( bin2hex ( $signature ) ); return $strHexSignature; } public function getHeaders() { $this->awsHeaders ['x-amz-date'] = $this->xAmzDate; ksort ( $this->awsHeaders ); // Step 1: CREATE A CANONICAL REQUEST $canonicalURL = $this->prepareCanonicalRequest (); // Step 2: CREATE THE STRING TO SIGN $stringToSign = $this->prepareStringToSign ( $canonicalURL ); // Step 3: CALCULATE THE SIGNATURE $signature = $this->calculateSignature ( $stringToSign ); // Step 4: CALCULATE AUTHORIZATION HEADER if ($signature) { $this->awsHeaders ['Authorization'] = $this->buildAuthorizationString ( $signature ); return $this->awsHeaders; } } private function buildAuthorizationString($strSignature) { return $this->HMACAlgorithm . " " . "Credential=" . $this->accessKey . "/" . $this->getDate () . "/" . $this->regionName . "/" . $this->serviceName . "/" . $this->aws4Request . "," . "SignedHeaders=" . $this->strSignedHeader . "," . "Signature=" . $strSignature; } private function generateHex($data) { return strtolower ( bin2hex ( hash ( "sha256", $data, true ) ) ); } private function getSignatureKey($key, $date, $regionName, $serviceName) { $kSecret = "AWS4" . $key; $kDate = hash_hmac ( "sha256", $date, $kSecret, true ); $kRegion = hash_hmac ( "sha256", $regionName, $kDate, true ); $kService = hash_hmac ( "sha256", $serviceName, $kRegion, true ); $kSigning = hash_hmac ( "sha256", $this->aws4Request, $kService, true ); return $kSigning; } private function getTimeStamp() { return gmdate ( "Ymd\THis\Z" ); } private function getDate() { return gmdate ( "Ymd" ); } } ?>
ライフスタイル

【副業を始めたい】始めるために必要な一番大事なこと

副業を始めたいタイトル画像

・副業をしてみたいけど、何をやればいいのだろう

・副業をやりたいけど、うまくいくのかな

続々と大手の企業が、副業を解禁し、副業時代の到来といっても過言ではないでしょう!

副業を始めてみたいけど、うまくいくのか不安な方向けに、解説していきます。

この記事の内容

・副業をする上で最も大事なこと

・副業の種類

・副業の難しさ

この記事の信頼性

・副業開始4か月目

・収益月4桁もうすぐ5桁(あと数円)

・ブログ&webライターを副業としています。

収益化まで、辿り着くのに一番大変だと感じたことなどを紹介していくので、はじめようと思っている方、収益化できなくて悩んでいる方に参考になるかと思います。

ブログで稼ごうと思っている方におすすめの記事

>>【SNS活用!】ブログの記事構成を簡単にする方法(初心者向け)

【SNS活用!】ブログの記事構成を簡単にする方法(初心者向け)記事構成が難しい、長い文章が書けない!そういうことありますよね?長くてまとまりのある文章は、作家でもない限りそうすらすらと作れるものでもありません。そういったときにSNSを活用しtて、記事構成を簡単にする方法を紹介します。長い文章が書けない初心者にはぜひ見てほしい記事です。...

副業を始めるために一番大事なこと

鍵の画像副業を始めるために一番大事なこと、それは、どうして副業をやりたいと感じたかです。

副業は、あくまでも本業とは、別にやるものなので、ほとんどの方はやりません。

その上で、どうして、やりたいと思ったのか、それが大事です。

僕が副業をやりたいと思った理由

・個人で稼ぎたい

・豪華な生活がしたい

・情報発信活動がしたい

この3つでした。

モチベーションを維持したい方は、こちら

>>【どうすべき? 】副業のモチベーション維持(難しく考えない)

【どうすべき? 】副業のモチベーション維持(難しく考えない)副業のモチベーション維持は、大変だと考えている人も多いかと思います。しかし、副業を続けることにたいして難しくっかんがえすぎではないですか?もっとシンプルに、楽しむ、好きなことをする、そういったことが重要なのではないかと思います。楽しんで継続するにはどうしたらいいのか。そういった副業のモチベーション維持について解説します。...

シンプルな気持ちが重要

心の画像純粋に、どう思ったか考えてみましょう。

・なぜ新しくやろうと思ったのか

・副業でなければだめなのか

・副業をして、どうなりたいのか

なぜ新しくやろうと思ったのか

どうして、新しく始めようと思ったのか?

なぜ、挑戦する気になったのか?

最初の気持ちというのは、非常に大事です。

活きず待った時に、初心に帰って、考え直すことで、乗り越えられることもあります。

副業でなければだめなのか

本業ではだめなのですか?

本業では、できないことなのですか?

副業をなぜするのか、本業で働いているのに、副業までする理由は何なのかを考えましょう!

そこに、自分が続ける上での行動の原動力になる者があります。

副業をして、どうなりたいのか

・副業を通じてどうなりたいのか?

・どんな結果を求めていますか?

副業を通じての自分の到達点は、どこになりますか?

副業で、知識を得たら、稼げたら、あなたはどうなっていたいですか?

このあたりまで、考えておくと、挫折が少なくなります。

なぜ気持ちが大事なのか

ここまで、副業をしたいという気持ちが重要だと述べてきましたが、なぜそうなのでしょう?

それは、副業が継続しないと結果が出ないものが多いからです。

稼ぎたい一辺倒では、なかなか結果が出ず挫折してしまう可能性が高いです。

副業の種類

副業には、様々な種類があります。

正直、個人ビジネスなので、価値サービスを提供して、対価を得られる行為なら、すべて副業だと思います。

主な副業

主な副業には、こんなものがあります。

・webライター

・ブログ

・Youtube

・デザイナー(イラスト、Webサイト)

・動画編集

・コンテンツ販売

・物販・転売

・コンサルティング

私の感覚上、上から下に向けて、難易度・投下コストが高いです。

価値を提供しよう!

副業は、稼ごうと意気込むのも悪くはないですが、基本的な考え方でこれを意識しておくといいでしょう!

「価値を提供する!」

価値に対して、対価が支払われていることを意識しないと、なかなか結果に結びつかない場合が多いです。

副業の難しさ

副業には、認識をしてもらうという前段階があるので、稼ぐという段階までが難しいと感じます。

継続することが近道

自分も始めて、4カ月ですが、なかなか結果がついてこずに、諦めかけました!

しかし、継続をしたことで、結果が徐々に出始めています。

正直なところ、初めは、耐える時間が続くと思いますが、継続が一番の近道だと思います。

ゼロからが、いかに難しいか、副業を始めたら、痛いほどわかります。

少しでも、早く成長したいなら、以下のことをしましょう!

・マーケティング(周りから認識してもらう)

・実績を積む(周りから信頼される)

この二つです。

この二つがあれば、成長速度が絶対的に早まります。

継続しながら、自分を認識させることを目指していきましょう!

おすすめの記事

>>【継続力アップ↑↑】怠け者の継続力アップ法5選

ABOUT ME
ryoku
人生を豊かに、やりたいことを全力でがモットーの営業サラリーマン! 23歳だけど、人生はやりたいことをすべきと思い、やりたいことを実現する生活に役立つ情報をサーチするのが趣味 筋トレ×自己啓発×お金で、豊かな生活を目指す!