WORK IN PROGRESS FOREVER

とどのつまり、終わりなどない

Hell Week!FREELETICS15週目完了!

15週目のメニューはこちら!

  1. ペルセポネー(持久力)
  2. ウェヌス
  3. ガイア(持久力)
  4. ケンタウロス(持久力)
  5. ポセイドン
  6. ヘリオス(持久力)
  7. ハイペリオン(持久力)

 

Youtubeでよく見る15週チャレンジでいうと、最終週!そして予想通り最後はHell Week!別に15週でやめるつもりはないけれど、一つの区切りなので頑張ります! 

 

1日目 ペルセポネー(持久力)

やってみた

まずは肩慣らしなのか、ペルセポネー(持久力)。以外とスクワットが脚にくるが、問題なく終わり!プライベートベストも更新で幸先が良い!

 

2日目 ウェヌス

やってみた

苦手なウェヌス。プッシュアップが合計200回は辛い。なんとかやりきりましたが、胸筋が筋肉痛・・・。

 

3日目 ガイア(持久力) 

やってみた 

メニューは辛くない。ただ、暑い!花粉辛い!

 

4日目 ケンタウロス(持久力)

やってみた

ケンタウロス足腰辛い。別に馬並みの足腰を求めているわけではないです。

 

5日目 ポセイドン

やってみた

苦手なウェヌス。プッシュアップが合計200回は辛い。なんとかやりきりましたが、胸筋が筋肉痛・・・。

 

6日目 ヘリオス(持久力)

やってみた 

疲れはするが、筋肉痛にはならないメニュー。まさに持久力メニュー。

 

7日目 ハイペリオン(持久力) 

やってみた 

多少疲れるものの、特に辛さはないメニュー。

 

15週目を終えて

15週終えました。Hell weekでしたが、飲み会があり結局7日間連続ではありませんでした。そうなると負荷は低めなので楽勝でしたね。

15週間やってみた全体の感想は別で。

ようやく綺麗なプルアップできた!FREELETICS14週目完了!

14週目のメニューはこちら!

  1. 筋力(上半身・腹筋)
  2. 自己ベストを目指そう(ディオーネ
  3. 筋力(脚・腰)

 

あいかわらず週3です。これくらいが、無理がなくていいですね。

ただ、なぜか今週のメニューは強度が低めになっていました。バグでしょうか? 

 

1日目 筋力(上半身・腹筋)  

メニュー

  1. ダイナミックウォームアップ
  2. エクササイズテクニック:アーチャー・プルアップ×4
  3. エクササイズテクニック:クランチ×6
  4. インターバルトレーニング(上半身・腹筋)
  5. アクティブクールダウン

 

やってみた

ついにプルアップが綺麗に上がるようになりました。しっかりと広背筋を使えてぐいっっとバーより上に顔が上がります。さすがに4セット目の最後は辛かったですが。。。斜め懸垂でしっかりと意識してトレーニングした結果ですね。広背筋は大きな筋肉なので意識して鍛えたことですぐに効果がでたのでしょう。

 

2日目 自己ベストを目指そう(ディオーネ

メニュー

  1. ダイナミックウォームアップ
  2. エクササイズテクニック:ストレートバー・ディップ×8
  3. エクササイズテクニック:プルアップ×6
  4. 1/3 ディオーネ
  5. アクティブクールダウン

 

やってみた

なぜかディオーネが1/3。今の私ではこれは余裕です。あと最近やっとパイクの正しいフォームがわかりました。肘を開かないようにすると一気に肩周りに負荷がかかるようになりました。これを続ければHSプッシュアップへチャレンジできそうな気がします。

 

3日目 筋力(脚・腰)

メニュー

  1. ダイナミックウォームアップ
  2. エキササイズテクニック:ジャックナイフ×1
  3. エキササイズテクニック:プッシュアップ×16
  4. インターバルトレーニング(脚・腰)
  5. 2/3 ペルセポネー
  6. アクティブクールダウン

 

やってみた 

楽勝メニューでした。ただ、少し暖かくなってきたせいか、汗をよくかくようになりました。少しづつですが、外でのトレーニングがやりやすくなってきました。

 

14週目を終えて

コーチのから出されたメニューがなぜか負荷の低いメニューでした。これは次週に何かあるのか。。。例のあれですかね。

SpringからJNAを使って動的ロードを使っているC++を呼び出す

研修以来のC言語

入社時研修以来のC言語系の開発案件があり、しかもJavaとの接続という研修でも習わないような処理方式を実現する必要がありました。

JNAという便利な機能もあり、Web上の情報でC++の呼び出しまではできたのですが、C++のライブラリ内で動的ロードが実装されていたので、そこで若干ハマりました。

JNAでかつ動的ロードのパターンはWeb上でも情報があまりなかったので、誰かのためになればと思いメモを書いておきます。 ソースは実際のソースから抜粋。(稼働確認してないので誤りがある可能性大)  

状況の整理

  • C++で提供された機能をSpringから呼び出して利用。
  • SpringからC++呼び出しにはJNAを利用。
  • C++としての提供機能内で動的ロード(dlopen)がある。  

手順

C++側の開発

Springから呼ばれるクラス
#include <stdio.h>

extern "C"{
    int sampleMethod(char* inputSample)
    {
        /* 動的ロードするライブラリのメソッドは適当、インプット渡してStringを返す想定で書いてます。*/
        handle = dlopen("/Sample/C++/libDlOpenSample.so", RTLD_LAZY);
        /* べき論で言えばここでhandleのステータス判定を入れる。今回は割愛 */
        return dlTest(inputSample);
    }
}

Spring側の開発

pomの設定。
 <dependency>
  <groupId>net.java.dev.jna</groupId>
  <artifactId>jna</artifactId>
  <version>4.5.0</version>
 </dependency>
ネイティブライブラリの設定
package hoge.fuga;

import org.springframework.stereotype.Service;

import com.sun.jna.Library;
import com.sun.jna.Native;

@Service

public interface JnaSampleLib extends Library {
    JnaSampleLib INSTANCE = (JnaSampleLib) Native.loadLibrary("sample", JnaSampleLib.class);

    int sampleMethod(String inputSample);

}
ネイティブライブラリの呼び出し
package hoge.fuga;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class SampleController {

    @RequestMapping(value = "/test", method = RequestMethod.GET)
    public String test() {

        JnaSampleLib  sample = JnaSampleLib.INSTANCE;

        return sample.sampleMethod("JNA");
    }
}

Spring/C++の両方を用意した環境

フォルダ構成
Sample
  ├C++
  │  ├libsample.so
  │  └libDlOpenSample.so
  └Spring
     └sample.war    
Springの起動コマンド
java -Djna.library.path=/Sample/C++ -jar sample.war

私がハマったポイント

基本的にパスでハマりました。

1.JNAが認識するパス

JNAで呼び出す共有ライブラリのパスがSpringで認識されなかった。

対応:Sprintの起動時に-Djna.library.pathの環境変数でpathを渡す。

(注)-Djava.library.pathではなかった。これはJNIの場合のみ。

2.C++の動的ロードが認識するパス

C++の処理内で別の共通ライブラリを動的ロード(dlopen)しているが、共有ライブラリが認識されなかった。

原因javaのカレントフォルダの環境変数C++にも連携されているため、C++のモジュールから見たpathではなくjavaから見たpathを指定する必要があった。

-Djna.library.pathで設定している同じフォルダ内のモジュールを呼び出ししているようだったので、相対パスでカレントが指定すれば読み込めると思っていたのですが、これがダメでした。

対応:dlopenに渡すpathを絶対パスに変更。

 

背筋じゃない!握力が足りない!FREELETICS13週目完了!

13週目のメニューはこちら!

  1. コンディショニング(脚・体幹
  2. 自己ベストを目指そう(アルテミス)
  3. 筋力(上半身、腹筋)

 

だらけモードが抜けず、今回も週3で。 

 

1日目 コンディショニング(脚・体幹)  

メニュー

  1. ダイナミックウォームアップ
  2. エクササイズテクニック:アーチャー・プルアップ×4
  3. エクササイズテクニック:クランチ×10
  4. インターバルトレーニング(脚・体幹
  5. 1/5 アフロディテ
  6. アクティブクールダウン

 

やってみた

久々のコンディショニングトレーニングでしたが、そこまで辛さはなかった。成長の証!ちなみにアーチャープルアップは斜め懸垂30回に変えてます。広背筋を意識してますが、広背筋の限界より先にやはり握力の限界がきます。対策を考えねば。

 

2日目 自己ベストを目指そう(アルテミス)

メニュー

  1. ダイナミックウォームアップ
  2. エクササイズテクニック:ストリクトプルアップ×8
  3. エクササイズテクニック:マウンテンクライマー×14
  4. アルテミス
  5. アクティブクールダウン

 

やってみた

アルテミス再び。今回もプルアップは20回くらいで諦め、途中からは斜め懸垂に切り替え。プルアップも胸筋や上腕筋中心になっているような気がするので、まだまだ鍛え方が足りてないもよう。終わった後は数日間は胸筋が筋肉痛でした。。。

 

3日目 筋力(上半身・腹筋)

メニュー

  1. ダイナミックウォームアップ
  2. エキササイズテクニック:HHレッグレイズ×6
  3. エキササイズテクニック:ランジ×14
  4. インターバルトレーニング(上半身・腹筋)
  5. 3/5 アフロディテ(持久力)
  6. アクティブクールダウン

 

やってみた 

インターバルトレーニングがパイク→プランク・ニーツー・エルボー→スパイダー・プッシュアップと、肩周りの負荷が高いトレーニングが続いたので、結構苦しかったです。あとやっとパイクのトレーニングが正しくできたような気がします。あれって、肘を開かないようにする必要があるんですね。

 

13週目を終えて

トレーニング回数は減らしていますが、見た目はだいぶ成長を感じます。広背筋も斜め懸垂でしっかり鍛えているからか少し肥大化。レップ数ようりも正しいフォームが大切なことを再確認した週でした。

課題は広背筋!FREELETICS12週目完了!

12週目のメニューはこちら!

  1. 筋力(体幹
  2. 自己ベストを目指そう(ヘリオス
  3. 筋力(上半身、上脚部)

 

今週も11週目と同様3回で。ちょっと怠けてます。 

 

1日目 筋力(体幹)  

メニュー

  1. ダイナミックウォームアップ
  2. エクササイズテクニック:アーチャー・プルアップ×4
  3. エクササイズテクニック:クランチ×10
  4. インターバルトレーニング体幹
  5. 3/4 ポセイドン
  6. アクティブクールダウン

 

やってみた

アーチャー・プルアップがほぼできないので、斜め懸垂で広背筋をちゃんと鍛えるようにメニューを組み替えました。やっと広背筋を意識してエクササイズできるようになりました。もう少し継続すれば、通常のプルアップもできるようになる気がします。ただ、もう少し握力を高めないと、広背筋に負荷をかけ続けられないので、それが次の課題ですね。

 

2日目 自己ベストを目指そう(ヘリオス

メニュー

  1. ダイナミックウォームアップ
  2. エクササイズテクニック:ストレートバー・ディップ×12
  3. エクササイズテクニック:ジャックナイフ×2
  4. ヘリオス(持久力)
  5. アクティブクールダウン

 

やってみた

2度目のヘリオス。相変わらずながい。。1エクササイズが100回を越えると精神的にもきつい。まあ、そこも含めてトレーニングなんだろうけど。

 

3日目 筋力(上半身・上脚部)

メニュー

  1. ダイナミックウォームアップ
  2. エキササイズテクニック:サイドランジ×6
  3. エキササイズテクニック:パイク×6
  4. インターバルトレーニング(上半身・上脚部)
  5. 3/4 ウェヌス
  6. アクティブクールダウン

 

やってみた 

インターバルトレーニングで40回、ウェヌスで150回と計190回腕立てをしました。胸と腕がパンパンです。完全版のウェヌスがいつ組み込まれるのか?ちょっと恐怖を感じています。

 

12週目を終えて

広背筋はひたすら斜め懸垂でしっかりと意識しながら鍛える方針に変更。斜め懸垂であればかなり意識して鍛えれています。これを続ければ普通のプルアップもなんとかなるような気がします。