azihsoyn's blog

技術のこととか釣りの事とか(書けたらいいなぁ)

ISUCON7にrubyで参加して手も足も出なかった

どうも。昨年に続き今年もisuconに出てきました。 チームメンバーは完全新規でチームrehash.fm ( おばちゃん (mobata) , ゆづるくん (yudsuzuk) ) で参加しました。別に仲違いとかではないです。

結果としては222位と惨敗でした。 ISUCON7 オンライン予選 全ての順位とスコア(参考値) : ISUCON公式Blog

この悔しさを忘れないために反省点などメモっておきたいと思います。

当日の流れ

開始まで

10時開始予定だったのが13時開始になり大分時間を持て余してました。それでも去年(goで参加)とは違い不慣れなrubyでの参加だったので過去のisuconの問題を振り返ったり、rubyでの解き方などを改めて復習してたりしました。 BGMは仲間内で流行っているシンフォギアのキャラソンをずっと流してました。ゆづる君にとっては完全に意味不明だったと思います。

開始直後(13:13)

サーバーの準備が整いいざ開始してからは、定石に則ってalpを入れたりslow-logをonにしてからベンチを流したりしてました。 予選で初めての複数台構成でしたが、予想してなくはなかったのでそこまでは慌てませんでした(慌てなかったとは言ってない)。 alpを眺めた結果、大量に /icons/:file_name へのアクセスが大量に来ていてまずはこれをどうにかするというのはすぐにわかりました。

この時点(rubyデフォルト)でのスコアは 4119 でした。

チューニング開始(14:13)

そこからアプリケーションコードを眺めて iconsへのリクエストがmysqlから画像データを配信していることが分かり、nginxで配信する方針が立ちました。また、画像ファイルのテーブルにindexが張られていなかったためindexを張ったところ 6453 と微増しました。

nginxで静的ファイル配信(15:55)

mysqlのバイナリファイルをどうやってファイルに書き出そう?とあれこれ調べながら、curlで取ればいいやんと気づくまで結構かかりました。この間ゆづるくんはアプリケーションコードでボトルネックになりそうなところを直してくれてました。おばちゃんはnginxの設定をいじってました。 なんとかnginxでのファイル配信ができるようになったところでスコアは 8846 になってました。(この時点であまりスコアが上がらないことに焦りを感じてました)

静的ファイル配信の試行錯誤(16:01)

nginxでの配信に切り替えてもalpで表示されるログには /icons へのリクエストが支配的でした。そういえばgzipつけてなかったと思ってつけたところスコアが 13393 にまで上がったのでやはり /icons をなんとかしなければという方針のまま進みました。この時点でおばちゃんが帯域を使い切ってることに気づき、Cache-Control だ!!!と過去問(isucon4)のことを思い出せたのでnginxの設定をいじくり回す旅に出ることになりました。完全に

進研ゼミでやったことあるやつだ!

状態でした。勝ったなガハハと思ってました。 この間ゆづるくんはユーザー情報をredisにキャッシュするのをやってくれてました。

ベンチマークツールで複数台指定できることに気づく(16時過ぎ)

去年のisucon本戦に引っ張られてベンチマークに登録できるサーバーは1台だけだと思いこんでました。おばちゃんが「これチェックボックスじゃない?」と気づいてから複数台に対してリクエストが送れることに気づきました。今までweb1, db1サーバーで動かしていたのでこれで帯域倍使えるじゃん!と希望が見えたりもしました。

Cache-Controlが効かない。スコアが上がらない(終了まで)

それからというものweb2台 - db1台構成にしようと色々いじってました。 webが2台になるので画像がアップロードされたらローカルに保存し、nginxはローカルになければ反対側に取りに行く構成にしてました( try_files とかいう便利なディレクティブがあるのを知りました) 。 この設定を動かすのに結構苦労しました。 最終的にちゃんと動く様になったもののスコアは13000台と全く変わりませんでした。帯域も使い切っていることがわかりました。明らかに Cache-Controlが効いてない。。。 そこからはずっとCacheできるように試行錯誤してましたが、結局時間内に解決することはできませんでした。

Keep

  • 去年に引き続き会社の会議室を使わせてもらえたのはとてもありがたかった。社外の人との参加だったけど使わせてもらえたのは本当にありがたいです。大きいディスプレイも使えてalpのスコアを常に見られる状態だった。
  • 事前打ち合わせ(過去問)をやって感覚をつかめた。alpの導入やslackでのやりとり、git(private)でのコード管理を事前に手を動かしながら確認できた。

Problem

  • 過去問を読んだだけで解いた気になってはいけない。isucon4でCache-Controlでハマったというのは知識としては知っていたけど、どんなリクエストが来ていてどんな設定を入れれば適切にCache-Controlを返せたのか理解していなかった。
  • 役割分担がふんわりしていた。これはProblemなのか微妙なところだけど特に誰が何をやるというのは決めていなかった。なんとなくゆづるくんがrubyいじる(アプリケーション担当)、おばちゃんがインフラ、自分は... 🤔 みたいな感じだったのできっちり分担しても良かったのかもしれない。全員がどれもある程度できるといえばできるので自律的に動けていれば問題なかったかもしれない(なんとなく途中で誰かの手が空いてしまう状態が見受けられたのでリーダーポジションは必要なのかもしれない)。
  • レギュレーションをちゃんと読む。当たり前すぎて書くまでもないが、レギュレーションにはちゃんとヒントが載っている(いた)。帯域が制限されていることとかスコアの測定についても記述があるので、もっと早くCache-Controlについて気づけたかもしれない。nginxを解析してボトルネックを解消すればいいという定石に囚われすぎた感がある。
  • ちゃんと動くコード, 設定ファイルが管理できてなかった。rubyのコードはgitで管理していたけどnginxの設定ファイルを複数人で生でいじりすぎた。しかもweb1, web2とそれぞれいじってしまったため途中でどの状態が一番スコアがでる(正常に動く)のか分からなくなってしまった。またrubyのコードもほぼレビューなしでmasterにマージしてしまっていたためgithubを使っていた意味がなかった。

完全にこれでした。

Try

  • ちゃんと過去問を解く。手を動かす。
  • 役割分担ちゃんと決めてみる。去年はある程度決めていた。リーダーポジションがいたのは大きかった気がする。
  • tcpdump (+ Wireshark)はデファクトになりそう(すでになってるのかも)。途中でクライアントのリクエストヘッダーが気になったけどnginxの設定だけでなんとかなると思い込んでしまった。使えるようにしておく。
  • 履歴をもっと残す。写真もっと撮る。ブログ書いてて味気ない。スコアの履歴はissueにコミットログと紐付けて残していたけど、 これめっちゃいいなと思った。
  • isucon8も参加する。このままでは終われない!!来年も同じチームで出るかは未定ですが、今年よりも成長した自分で臨みたいです。差し当たってはisucon関連ブログを読み漁って復習したいと思います。まだisuconは終わっていないし、すでにisuconは始まっている!

結果こそ残念でしたが、予選から複数台構成 + 過去にあった問題 + αでとても楽しめました。運営の皆さんありがとうございました!!チームの二人もありがとう!

あと rehash.fm もよろしくお願いいたします。

goa v1でサポートされてないint64を使う方法

たまにはアウトプットしようかと思い立ったので。 タイトルの通りです。

goa が如何に便利かはいろんな方がすでに書いているのでそちらを参照して下さい。

さてとても便利なgoaですが、designで使えるTypeは全てのプリミティブ型をサポートしているわけではありません(v2から対応するらしいです)。

例えばint64は使えないのでStringで定義してstrconvなどで変換する必要がありました。

var Account = MediaType("application/vnd.account+json", func() {
    Description("A tenant account")
    Attributes(func() {
        Attribute("id", Integer, "ID of account", func() {
            Example(1)
        })
        Required("id")
    })

    View("default", func() {
        Attribute("id")
    })
})

※viewは省略してます

生成されるコード

type Account struct {
    // ID of account
    ID int `form:"id" json:"id" xml:"id"`
}

ここでgoa v1.3で追加された Metadata(struct:field:type) を使うと生成される型を上書きすることができます。

var Account = MediaType("application/vnd.account+json", func() {
    Description("A tenant account")
    Attributes(func() {
        Attribute("id", Integer, "ID of account", func() {
            Metadata("struct:field:type", "int64")
            Example(1)
        })
        Required("id")
    })
})

生成されるコード

type Account struct {
    // ID of account
    ID int64 `form:"id" json:"id" xml:"id"`
}

シンプルですがものすごく強力な機能だと思います。 int64な配列にも変換できます。

var Sample = MediaType("application/vnd.sample+json", func() {
    Description("struct:field:type sample")
    Attributes(func() {
        Attribute("id_list", ArrayOf(Integer), "ID List", func() {
            Metadata("struct:field:type", "[]int64")
            Example([]int64{1, 2, 3})
        })
        Required("id_list")
    })
})
type Sample struct {
    // ID List
    IDList []int64 `form:"id_list" json:"id_list" xml:"id_list"`
}

ただ当然といえば当然ですが、ValidationはMetadataで上書きした型に対しては上手く使えない場合があります。 例えば

var Account = MediaType("application/vnd.account+json", func() {
    Description("A tenant account")
    Attributes(func() {
        Attribute("id", Integer, "ID of account", func() {
            Metadata("struct:field:type", "uint64")
            Example(1)
            Minimum(1)
            Maximum(math.MaxUint64)
        })
        Required("id")
    })
})

上記の用にuint64で上書きしてもMaximumの引数がintのためmath.MaxUint64を指定すると

constant 18446744073709551615 overflows int

のようにビルドエラーになってしまいます。(uint64の時点で範囲は決まってるので上のValidationは意味ないかもですが)

個人的にgoaを使っていて一番不便なところが解消されたので既存のコードもgoaに移行しちゃっていいかなと思ってきました。

以上です。

※追記(2017/12/6)

  • 配列のサンプルコードが間違ってたのを修正
  • リソース内のParamではMetadataによるtypeの上書きはできない模様
var _ = Resource("sample", func() {
    BasePath("/sample")

    Action("test", func() {
        Description(`sample`)
        Routing(
            GET("/:ID"),
        )
        Params(func() {
            Param("ID", Integer, "ID", func() {
                Metadata("struct:field:type", "int64")
            })
        })
        Response(OK, SampleMedia)
        Response(InternalServerError)
    })
})

生成されるcontext

type TestSampleContext struct {
    context.Context
    *goa.ResponseData
    *goa.RequestData
    ID int // 😱
}

フィッシングショー2017に参加してきました

今回始めてフィッシングショーに参加したので感想など書きたいと思います。

フィッシングショーというのは釣り具メーカーが新製品などの展示を行う釣りの祭典です(多分)。ゲームショーの釣り版と考えればいいと思います。

f:id:azihsoyn:20180121230542j:plain

回ったブース

ECLIPSE

最初に寄ったんですがここが一番楽しかったです。スタッフの人がめちゃくちゃ丁寧にルアーについて教えてくれました。開場直後で人がまだいなかったからかもしれません。

SHIMANO

新製品のEXSENCE DCを触りたくて行きました。買うことが決定しました。3月楽しみだなー EXSENCE DC あと、グランダー武蔵時代から憧れていたミラクルジムこと村田基プロを生で見ることができました。写真も撮ったんですがあげちゃっていいのかわからないので載せないでおきます。

DAIWA

ソルティガなどのリールを触ってみたくて行きました。欲しくなりました。多分何か買います。

DEEPER

携帯できる魚群探知機を展示していました。存在は知っていたのですがどうせ重いんだろうなとか思っていたのですが、持ってみたら重めのルアーぐらいしかなくてびっくりしました。水深も80mまで探知できるみたいです。

前々から釣り場の水中の状態をなんとか知れないかと考えていて防水カメラなどを探したりしていたのですが、この製品はありなんじゃないかと思いました。

ただ3万2000円とかするみたいなので悩ましいですね。

APIA

よくルアーでお世話になってるところです。 タイリクスズキのレプリカが置いてあって持たせてもらったんですが、めちゃくちゃ重かったです。こんなの釣れるんですね、、、いつか釣ってみたいです。 レプリカ

あとAPIAのブースにはフッキングチャレンジゲーム(刹那の見斬りみたいな反射神経を競うゲーム)があって、ランキング上位の人には商品がもらえるみたいだったのですが、自分の結果がものすごく遅くて辛かったです。

上位の人が0.2秒とかで普通の人も0.4秒とかだったんですが自分は0.7秒でした。これが釣れない原因なんですかね?

富士工業

釣り竿のガイド(糸を通す穴)を作っているメーカー。TORZITEという材質を使ったガイドと一般的なガイドで感度やラインの滑りや重さなどが全然違うことが体験できました。

今までロッドって何を基準に買えばいいのかよくわからなかったのですが、TORZITE採用のロッド欲しいですね。

フライキャスティング体験

たまたま通りかかったタイミングでイベントが始まる時間だったので参加しました。フライフィッシングはいつかしたいと思っていたので。

インストラクターは安田龍司プロでした。人柄が良いというか物腰が柔らかいというかいい人オーラがすごかったです。自分はルアーフィッシングがメインですがファンになりました。当然ですがキャスティングもめちゃくちゃうまかったです。

初めて知ったのですがフライって50mとか70mも飛ばせるもんなんですね。あとフライでカジキマグロって釣れるんですね。

Berkley

日本では未発売のラインを展示していました。 NanoFil COLOREDというラインらしいです。以前バークレイのスーパーファイアーラインは使ったことがあったのですが、色落ちが気になって使うのやめてしまいました。スタッフさんいわくスーパーファイアーラインより飛距離も出るようになってるらしいので気になります。5月頃発売らしいので試してみたいです。

AbuGarcia

新製品のリールが提示されてました。ここのメーカーのリールはデザインが好きです。自分も1つだけリール持ってます。

BlueBlue

ここのメーカーのルアーのデザイン好きです。 プロトタイプのルアーがいくつか展示されていました。発売が楽しみです。

Fishman

初めて知ったメーカーなのですが、キャスティングのチャレンジゲーム(5mぐらい先の穴にルアーを通す)をやっていたので参加しました。初めて使うロッド+リールなので何回か練習できます。なんと練習中2回目ぐらいで穴に通せました!(ドヤァ) ただ本番になったら成功しなかったので景品はもらえませんでした。惜しかったんですけどね、、、

感想

ぶっちゃけると去年抱負に書いたから行かないとなぐらいの気持ちでそんなに期待してませんでした。釣り人口も減ってるらしいのでそんなに人来ないだろうぐらいの気持ちで行きました。開場前から行く必要あるのか?と思ってました。

滅茶苦茶混んでた、、、しかも開場前から何百人も並んでる、、、。老若男女いろんな人が朝早くから並んでるのはすごいなと思いました。

いつも釣具はamazonでポチーなんですが、やっぱ実物を触るのも大事ですね。サイズ感や感触など触らないと分からないものがありますね。

食事も色々と(マグロ解体ショーとか鍋とか)あったのですが混んでたので断念しちゃいました。カタログもらいすぎて重かったというのもありますが、、、

自分の釣りのルーツの人やいろんな刺激に触れられたので参加して良かったです。また来年も絶対参加します!

2016年振り返り + 2017年抱負

あけましておめでとうございます。

流れに乗りつつブログを継続する意味も込めて振り返りと抱負などを書いておこうと思います。

釣りネタに関しては 釣り Advent Calendar 2016 でやったので少なめでいきます。

振り返り

仕事

ひたすらAPI書く日々

現在はrailsのdeviseをgoに移行中、、、

マネジメント(?)的なのもやりつつある

初の勉強会登壇

Go言語によるサーバサイド開発と事業改善 GunosyBeerBash#5 - connpass

リファクタの話

からの勉強会登壇2回目

Goオールスターズ2

リファクタの話とパッケージ構成の話

なんの間違いか 日本を代表するGoエンジニア の中に紛れてしまった、、、

isucon6本戦出場

ISUCON6 まとめ : ISUCON公式Blog

ご注文はpoyoですか?として

完全にチームに恵まれた。

今年も出るぞ!(同じチームかどうかはわからないけど)

goa触った

新規プロダクトを作るにあたって今まで使っていた guregu/kami 以外のフレームワークを触ってみようと思った。

素の net/http でもいいかと思ったけどドキュメント書く手間を省きたかったので流行ってるっぽい goadesign/goa を使ってみることにした。

感想

  • なれるまでやや大変だけどDSLとはいえgoなのでそこまで苦労はしなかった。
  • 素の net/http で書いてもどうせ書かなければいけないコードを生成してくれるので、必要な実装だけすれば良くなったのはとても良かった。
  • 生成されるドキュメントはswaggerなので好みは分かれそうだけど標準なので受け入れた
  • メインコントリビューターの raphael さんがめっちゃいい人 + 対応速いのでありがたい

趣味

その他

2017年抱負

  • podcastせっかく始めるので長く続けたい
  • ブログもなるべく書いていく
  • ダイエット再開(60kg前半を維持したい)
  • 釣りしまくる(そして釣りまくる)
  • 絵も描けるようになりたい(ココアさんをただ可愛く書きたいだけ)
  • 色々技術も勉強したいけど釣りに振り切っていく
  • 勉強会は機会があれば、、、

アドベントカレンダーを振り返ったり来年の抱負だったり

メリークリスマス!この記事は 釣り Advent Calendar 2016 最終日の記事です!!

やった!全部埋まったぞ!@Lorentzca さん、@yky_sokkou さん ありがとう!

最終日なのでアドベントカレンダーを作った感想とか来年の豊富とかを書こうと思います。

まずアドベントカレンダーを作った感想なんですが、本当にやって良かったです。去年は会社のアドベントカレンダーもあったのですが、特に興味がなかったので自分は書きませんでした。Goのアドベントカレンダーにも書きませんでした。

今年釣りアドベントカレンダーを作ったのは本当に思いつきというか、ただの勢いでした。

自分には何かについて熱く語れるようなものがないと思っていて、逆にそういうものを持ってる人のことが羨ましいなと思っていました。

たまたまtwitterSHIROBAKO Advent Calendarの投稿を見かけて、なんて愛にあふれているんだ!めっちゃ細かく見てるんだなぁ。。とか色々衝撃を受けました。

その時「自分も釣りのことなら書けるんじゃないか、、、?」と思い、勢いで作ったのがきっかけでした。なので1日目の記事の作成日が12/7とかになってます。

アドベントカレンダーの記事を書いていて思っていたのですが、好きなものを好きっていうのって大事だなって思います。

そういうのを発信していると同じものを好きな人が集まるというか、類は友を呼ぶみたいなのがある気がします。

このアドベントカレンダーを作ってなかったらウツボを釣ってみたいとは思わなかったと思いますw(防波堤のモンスター・ウツボより)

来年の(釣りに関しての)抱負ですが、もっと釣りの世界にのめり込んで行きたいです。

とりあえず具体的なところとしては、

あたりでしょうか。

また来年もアドベントカレンダーを埋められるように釣りへの情熱を燃やし続けていきたいです。

それでは、良いお年を!

Goで釣りのLINE Bot作ってる話

この記事は 釣り Advent Calendar 2016 23日目の記事です。 Goのアドベントカレンダーとは関係ありません。

大掃除や忘年会などで1日遅れになりました。。。

LINE BOT AWARDSというラインのBotのコンテストがあるのですが、グランプリの賞金がなんと 1000万円!! なのでこれはエントリーせねばと作り始めました。

個人で応募するにはDeveloper Trialのプランかフリープランじゃないと課金が辛いのでどちらかになると思いますが、Developer Trialだと友達の上限が50人、フリープランだとPush APIが使えない(ただしエントリーすれば3月まで無料で使えるらしい)ので悩ましいところです。今のところDeveloper Trialで作ってます。

環境

Google App Engineで動かしてます。Botと言ってもメッセージを受け取って何かを返すAPI サーバーを作る感じです。LINE Bot用のSDKはいくつかあるのですが、GoのSDKも用意されているので、app.yaml, main.goさえ書けばすぐ動きます。

SDKリポジトリにサンプルも用意されているのですぐ試せるので便利です。ちゃんとApp Engine環境にも対応しているのが素晴らしいです。

釣り用の機能

釣った魚の判定

LINE Botでは写真メッセージを扱えるので、ユーザーが送った魚の写真を判定して種類や食べ方などを教えてくれたら便利だなーと考えてます。

GCPにはVISION APIがあるので魚の判定ぐらいはできそうです。

ただ試しにシーバスの写真を判定させてみたのですが、Bassというところまでしか判定してくれなかったので、シーバスなのかブラックバスなのかまでは判定できないのかもしれません。

釣った魚の記録

同じく写真メッセージを扱って記録もできたら面白いなーと思ってます。

LINEだと位置情報も簡単に送れるのでポイントを管理できそうな気がしてます。

大会機能

グループ内で大会を開催できるようにしようと考えてます。

17時まで大会 みたいなメッセージを送るとTask Queueに時間付きで登録して該当時間になったらPush API大会終了 みたいなメッセージと、それまでに釣った魚のサイズなどでランキングを発表したりとかできそうな気がしてます。

応援機能

一人で釣りしてると時々集中力が切れるので、一定時間毎に 釣れましたか? とか 少し休憩しませんか? とかのメッセージをPush APIで送ると楽しそうだなーと思ってます。

雑談機能

上記の釣り以外の受け答えもできるようにdocomoの雑談API を使ってます。

もはやBotでは定番のような気がします。これもGo用のライブラリhttps://github.com/kyokomi/go-docomoがあるのでそちらを使わせてもらってます。App Engine対応されているのですぐ使えます。

App Engineだとissueにある通り一部書き換えて使う必要があります。

res, err := d.Dialogue.WithContext(ctx).Get(zatsu, true)

おわりに

Botを作ったのは初めてなのですが、アプリを作るのとは色々と勝手が違いました。

Botは画面を作らなくていいので簡単に作れるのですが、その反面基本テキストでのやり取りになるので、如何に入力の手間を省くかを考えるのが難しいです。幸いMessaging APIではカルーセルメッセージやボタン付きのメッセージも遅れるので工夫次第でなんとかなりそうです。

もう一つ、Botを運用するにあたってマネタイズが凄く難しいなと思いました。大きい企業が自分のサービスに誘導したりする目的で作るBotであればあまり関係ないのですが、個人でBotだけでサービスをするとサーバーの運用費 + LINE のMessage API の月額費などがかかってくるので何かしら収益化しないとサービスを継続できません。LINE Payでは友人間で送金できたりするらしいので、Botにも送金とかできたりするんでしょうか?(できなさそう)

まだ作り始めたばかりなので実装予定の機能紹介になってしまいましたが、簡単にBotが作れるので是非試してみて下さい。そして1000万円を狙いましょう。

最後に、開発途中な上プラン変更する可能性もありますが、よかったら友だち追加してみて下さい。そしてフィードバックなどいただけたらありがたいですmm

f:id:azihsoyn:20161224175608p:plain つりマネちゃんです。画像はいらすとやから。

友だち追加

やってみたい釣り・釣りたい魚

この記事は 釣り Advent Calendar 2016 21日目の記事です。

あと少しでアドベントカレンダーも埋まるのですがいよいよネタがなくなってきました。

なので今回は軽めにやってみたい釣りと、今狙ってる魚をつらつら書いていきたいと思います。

やってみたい釣り

ワカサギ釣り

ワカサギ釣り

出典: wakasagi-tsuri.com

あの氷に穴を開けて釣るやつです。小さい魚なので釣っても引きを楽しむことはできなさそうですが、あの特殊な環境での釣りは一度ぐらいやってみたいです。

釣った魚をその場で食べられたらなお最高ですね。

フライフィッシング

flyfishing

出典: ティムコ

これも釣法自体は有名かと思います。

かなり昔からやりたいと思っていたのですが、ついにこの年までやることなく来てしまいました。一番の問題はフライフィッシングできる場所が限られている、というか遠いということですね。

道具を揃えても釣りに行く機会がないのではと考えるとなかなか手が出せないですね。

ただフライフィッシング自体は本当に魅力的で、自然の中で釣るのが厳しい魚(ヤマメやイワナなどの川魚は警戒心が強いらしい)を狙うのは魚との真剣勝負みたいな感じがして想像するだけで燃えてきます。

また、釣るだけではなくてフライを手作りする楽しみもあります。ルアーも手作りしようと思えばできるのですが、雑誌などを見てもフライは作ってなんぼみたいなところがあるのに対し、ルアーはあまり手作りの特集は見ないですね。自分で作ったフライで魚が釣れたら感動もひとしおなんじゃないかなと思います。

オフショアジギング

オフショアというのは船での釣りのことです(多分)。オフショアジギングというのは船釣りでジギングをすることです。

10日目の記事でも書きましたが、陸からのジギング(ショアジギング)はよくやっています。

先週末も土日で合計24時間釣りをしたのですが、1匹も釣れませんでした。まぁそれは置いておいて。

オフショアジギングは船で真下にメタルジグを落として縦にジグを動かして魚を釣る方法です。オフショアでは深くまでジグを落とすため100g〜2, 300gぐらいのジグを使うっぽいです。これがどれぐらい思いかというと、ショアジギングで使うジグは重くても60gぐらいなのでかなり体力がいる釣りだと分かるかと思います(投げなくていいというのはありますが)。

船で魚の群れを探して釣るので釣果は出やすいのではないでしょうか。

釣れる魚はシーバス、タチウオなどショアからでも狙える魚もいればヒラマサやカンパチのような大型の魚も釣れるそうです。

あまり船釣りはしませんが(コストの問題で)、これも一度はやってみたいです。

最近狙っている魚

タチウオ

タチウオ

出典: タチウオ釣り仕掛け集 - YouTube

美味しいらしいというのと、あのドラゴンみたいな独特のフォルムを一度は釣ってみたいです。夜が釣れるらしいので自分は早朝4時とか5時に釣り場に着くようにしてジギングで狙っているのですがまだ一度もお目にかかったことはないです。

そもそも自分がよく行く釣り場で頻繁に上がっている魚でもなさそうなので気長に行きます。

嘘です。早く釣りたいです。

アオリイカ

アオリイカ

出典: Wikpedia

ふつくしい。。

こちらも美味しいというのと、大型になるとロケットのような噴射でラインが一気に100mぐらい持っていかれるような引きを楽しめるとどこかで見たので一度体験してみたいなと。

秋と春がメインシーズンですが、冬でも釣れるらしいので今もエギングでたまに狙ってます。

夏はエギングでコウイカが釣れたのですが、秋以降はイカを釣ってないです。

こちらも自分のよく行く釣り場で上がっているのか不明です。

ヒラメ

ヒラメ

出典: NorthCraft

高級魚で知られるヒラメですが、ルアーで釣れる + 1mにもなる魚なので一度釣ってみたいです。冬でも釣れるらしいので、最近の狙いはもっぱらヒラメです。

ヒラメというとサーフ(砂浜)で釣るのが多いみたいなのですが、近所にないのでいつもの場所で狙ってます。釣れるのかはもちろん不明です。

今週末天気が良ければ少し遠出して本場(?)のサーフでヒラメを狙ってみようかなと考えてます。

マゴチ

マゴチ

出典: Wikipedia

あまり聞き慣れないかもしれませんが、ヒラメのように海底にいる魚で、釣り方もヒラメと同じような感じらしいです。ヒラメは視界が上なので海底から1mぐらいのところでアピールするのが良いらしいのですが、マゴチは視界が前なので底を狙うそうです。

実はヒラメよりも美味しいという話もあり是非釣ってみたいです。

というかヒラメでもマゴチでもいいのででかいフラットフィッシュを釣ってみたいです。

いつか釣ってみたい魚

鮭

出典: 市場魚貝類図鑑

北海道で釣れるらしいですね。

アニメ版グランダー武蔵でアトランティックサーモンを狙う回があった影響だと思います。

イトウ

イトウ

出典: 市場魚貝類図鑑

幻の魚と言われている魚です。先日の情熱大陸でやったらしいのですが、自分は見逃してしまいました。。

日本最大の淡水魚らしいですね。鳥まで食べるとか。

幻の魚といいつつ子供の頃管理釣り場にいた記憶があります。天然のイトウが幻ということなんでしょうか?

ピラルク

ピラルク

出典: Wikipedia

こちらは世界最大の淡水魚です。もちろん漫画版グランダー武蔵の影響です。

最大で4mぐらいにまでなるそうです。たまに水族館で見かけますね。

おわりに

やはり自分の釣り観にはグランダー武蔵が大きな影響を与えているようでした。

でも最大とか幻のとか聞くとわくわくしますよね。

ピラルクを釣ろうと思ったら海外に行かないといけないので、かなりハードルが高いですが日本で満足できない体になったら挑戦したいと思います。

まずは目先の目標(ヒラメ)を釣ることを頑張りたいと思います。