こんにちは、mah(@RailsRubyMah6h)です。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
- Ruby on Jetsで、dynamodb-localを実行した時に、javaのバージョンが古くて発生したエラー
についてです。
AWS Lambdaに手軽にアプリをデプロイ出来るFW、
Ruby on Jetsを使っています。
Railsのように扱えるので、自分的にはすごく使いやすいです。
下記の記事を参考に、
dynamodbを立ち上げようとしたのですが、
javaのバージョンが古くてエラーになったので、
その対処法を記しておきます。
起きたこと
$ dynamodb-local
を実行すると、
下記のようなエラーが出ました。
290 jets-lambda master * $ dynamodb-local Initializing DynamoDB Local with the following configuration: Port: 8000 InMemory: false DbPath: null SharedDb: false shouldDelayTransientStatuses: false CorsParams: * Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/logging/log4j/spi/ExtendedLogger : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at com.amazonaws.services.dynamodbv2.local.shared.logging.LogManager.<clinit>(LogManager.java:28) at com.amazonaws.services.dynamodbv2.local.server.DynamoDBProxyServer.<clinit>(DynamoDBProxyServer.java:36) at com.amazonaws.services.dynamodbv2.local.main.ServerRunner.createServer(ServerRunner.java:120) at com.amazonaws.services.dynamodbv2.local.main.ServerRunner.createServerFromCommandLineArgs(ServerRunner.java:116) at com.amazonaws.services.dynamodbv2.local.main.ServerRunner.main(ServerRunner.java:71)
原因
調べると、javaのバージョンが関係してそう。
java - AWS dynamoDB quick start not working - Unsupported major.minor version 51.0 - Stack Overflow
対処法
javaのバージョンを上げれば解決しそう。
手順
こちらの記事を参考に、
javaのバージョンを確認。
295 jets-lambda master * $ javac -version javac 1.6.0_65 296 jets-lambda master * $ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)
バージョンは1.6.0_65。
記事の手順通り、下記のコマンド実行。
$ brew tap AdoptOpenJDK/openjdk $ brew cask install adoptopenjdk8
再度バージョン確認。
$ java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b03) OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b03, mixed mode)
1.8.0_212に上がっていることを確認しました。
もう一度dynamodb-localを実行します。
$ dynamodb-local Initializing DynamoDB Local with the following configuration: Port: 8000 InMemory: false DbPath: null SharedDb: false shouldDelayTransientStatuses: false CorsParams: *
エラーが無く、
ローカル環境でdynamodbが立ち上がることを確認しました。
以上、
- Ruby on Jetsで、dynamodb-localを実行した時に、javaのバージョンが古くて発生したエラー
についてでした。
フリーランスエンジニアとして、RubyやRuby on Railsの案件を獲得する方法
最後に、
- フリーランスエンジニアとして、RubyやRuby on Railsの案件を獲得する方法
を紹介します。
4つあります。
知人の繋がりで紹介してもらう
Web上やSNSなどで直営業をかける
自分でWebサービスを立ち上げる
フリーランス専門エージェントに紹介してもらう
色々ありますが、一番手っ取り早いのは、
- 4. フリーランス専門エージェントに紹介してもらう
ですね。
登録しておくだけで、
自分にマッチした、RubyやRuby on Railsの案件を紹介してくれます。
中でも、
フォスターフリーランスという、
フリーランス専門エージェントを使うのがおすすめです。
自分もフォスターフリーランスを使って、
フリーランスエンジニアとしてのキャリアをスタートさせました。
フォスターフリーランスを使うと、
自分の代わりに、
プロの営業さんが案件を探してくれます。
最初の内は、
自分で営業なんてとても出来ないので、
非常にありがたかったです。
しかも無料で利用できる。
参考までに、
自分がお世話になっているエージェントを2つご紹介しておきます。
話を聞くだけでもOKなので、
ぜひ利用してみてください。
✅フォスターフリーランス【案件保有数5000件以上。業界20年の超老舗】
下記の記事で、
フォスターフリーランスの特徴について解説しています。
RailsやRubyを学びたい人へ
RailsやRubyを学びたい人は、
RailsHack(レイルズハック)という、
最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、
Udemy
で下記のコースを受講すると良いです★
✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座
✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】
<- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。
✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう
また、
Udemy
は定期的にセールをやっていますし(90%OFFとかもザラ)、
「30日間なら返金できる」ので、
満足できなかった時でも安心です。
【公式】RailsHack(レイルズハック)
【公式】Udemyで学んでみる
また、
Ruby関連の過去記事は下記にありますので、
合わせてチェックしてみてください◎
https://www.malanka.tech/archive/category/Ruby
https://www.malanka.tech/archive/category/Rubywww.malanka.tech
初めての方はこちらのオススメ記事もどうぞ
また、
駆け出しエンジニアに向けてのnoteを3月17日にリリースしました。
活躍出来るエンジニアになるためのマインドを、
ギュッと詰め込んだ、「実践型note」になってます。
- 「IT転職を成功させたい!」
という方は是非チェックしてみてください。
最後までお読み頂きありがとうございました★
もしよかったらTwiiterのフォローもお願いします★