こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
画像ファイルの形式をバリデーションする必要があったので、
備忘録として残しておきます。
Rubyで画像ファイルの形式(gif, png, jpg)を判定する
- Rubyで画像ファイルの形式(gif, png, jpg)を判定する
- 【結論】
- 〜処理の流れ〜
- 初めての方はこちらのオススメ記事もどうぞ
- フリーランスエンジニアになりたい方はこちら
- Rubyを学習するならこちら
- フリーランスエンジニアのデメリットはこちら
今回の例では、
- Base64でエンコードされた、画像のバイナリ文字列
が渡ってくることを想定します。
ファイル名の拡張子で判定はしません。
画像が持つバイナリデータから判定します。
【結論】
def image_type!(encoded_str) raise if encoded_str.nil? decoded_str = Base64.decode64(encoded_str) case decoded_str when /GIF8[79]a/n return 'gif' when /\x89PNG/n return 'png' when /\xFF\xD8/n return 'jpg' else raise end end
〜処理の流れ〜
1.Base64でエンコードされた、画像のバイナリ文字列をデコードする 2.デコードしたバイナリ文字列に対し、正規表現を当てて、gif, png, jpgのいずれかであることを検証 3.マッチした拡張子を文字列で返す ※gif, png, jpg以外の画像形式の場合はエラー
以上、
- Rubyで画像ファイルの形式(gif, png, jpg)を判定する
でした。
初めての方はこちらのオススメ記事もどうぞ
フリーランスエンジニアになりたい方はこちら
フォスターフリーランスという、
フリーランス専門エージェントを使うのがおすすめです。
自分もフォスターフリーランスを使って、
フリーランスエンジニアとしてのキャリアをスタートさせました。
フォスターフリーランスを使うと、
自分の代わりに、
プロの営業さんが案件を探してくれます。
最初の内は、
自分で営業なんてとても出来ないので、
非常にありがたかったです。
しかも無料で利用できる。
参考までに、
自分がお世話になっているエージェントを2つご紹介しておきます。
話を聞くだけでもOKなので、
ぜひ利用してみてください。
✅フォスターフリーランス【案件保有数5000件以上。業界25年の超老舗】
下記の記事で、
フォスターフリーランスの特徴について解説しています。
Rubyを学習するならこちら
Udemy という動画教材です。
なんとUdemy は、
60%OFFのセールをやっている時もあります。
こまめにチェックして、
スキルアップを図りましょう★
フリーランスエンジニアのデメリットはこちら
今回のコロナで、
参画していたプロジェクトが終了し、被害を受けました。
そこで、
コロナ被害を受けて感じている、
フリーランスエンジニアのデメリット【6つ】について、
noteを書きました。
下記に当てはまる人に、参考になると思います。
✅現在、フリーランスエンジニアとして生きている人
✅今からフリーランスエンジニアになろうとしている人
✅フリーランスエンジニアだが、コロナの影響で仕事が途絶えた人
https://note.com/malanka666/n/n081d40a196bfnote.com
今回、コロナの被害が直撃したことを受け、
— mah@フリーランスエンジニア (@RailsRubyMah6h) May 1, 2020
✅フリーランスエンジニアのデメリットを6つ
noteにしました。
スキルあろうが成果物だしてようが、
プロジェクトがストップしてしまうと、
どうしようもないです...https://t.co/tpdzxEaqBg#フリーランスエンジニア#駆け出しエンジニアと繋がりたい