だ。ログ。

開発とかスノボとかやきうとか。

開幕カードのスワローズ戦を終えて感じた事として、去年のスワローズとは比べ物にならない戦術と攻撃意識

去年開幕前後に名を連ねた大引選手、谷地選手、西浦選手、今浪選手は居ない。
辛うじて西浦選手は代打陣には居るけど、チームのコンセプトとしてとにかく打つ。とにかく打って走る。
山田選手はフォアで出塁すれば走る。 間違いなく去年の打線とは攻撃力が格段に違う。ランナー溜まってグッチこと坂口選手が出てくるとお腹痛いレベルで打つ。

現状では春の風物詩、山田選手は冷えっ冷え。
それも3試合で5見逃し三振、振ってアウトならまだしもアウトを相手に渡してる状況。かなりこれは長く掛かると予測。
青木選手は前評判通り1試合2出塁する、場合によってはバントしてくる。

そのバントを支えるのは去年怪我で1年居なかった川端選手。
川端選手のバットが通常運転で冴え続けている。アウトのなり方がライトに超良い当たりのライトライナーや強襲する鋭い当たり乱発。
三振しない、そしてミスショットがない。この5番が有ってバレ選手と青木選手が引き立つ。

そして今一番恐ろしいのは絶好調の坂口選手。
ランナー溜まるとしっかりボールを打ち返してくる。そしてランナー居ないと振り切って来る。
この切替が出来ている以上、ピッチャーは6番までは気を抜けない。
ランナー溜まって坂口選手だとお腹痛くなるレベルの現状。

廣岡選手は2試合大暴れだったけど3試合目はパッタリ。可能性は無限大、逸材である事は間違いないけどまだ何処かに穴が有る。
いわば山田選手のような何処投げても当ててくるって言う怖さはまだない。
寧ろ振り切る力に注力している感じ、ここの確実性や弱点が解った時にどうなるか。

そして雄平が戻ってきた際に機動力である山崎選手をベンチに下げるか。って言う事も今後の注目点である。

さくらインターネットのphp.cgiの取扱

さくらのレンタルサーバーを使うとphpを利用する際に、php.cgi.htaccess

Action myphp-script /php.cgi
AddHandler myphp-script .php .html

と言うスクリプトがどこにあるかと言う事を明記しなければならない。
このphp.cgiにちょっと癖があって、これをコピーして持っていけばどのディレクトリでも利用する事は可能である。

特に癖のある使い方として、ディレクトリトップではphpを使わず他の階層で使いたい。と言って使い回す事がたまにある。
ただ、ここで毎回ローカルにコピーしたphp.cgiディレクトリ毎にアップした際に動かない事が有る。

アップロードの際にパーミッションがそのままだと0600でアップロードされてしまっていて実行されない事が有る。
その場合はパーミッションを0704に設定すると動作する。
CGIの場合特にパーミッション関連が肝になってくるので、さくらのレンタルサーバーは癖が強い。

今シーズン行ったゲレンデ 石打丸山スキー場

12月23日 晴

越後湯沢近辺のスキー場だとかぐらがひと足早くオープンをし、その後を追うように近辺のスキー場がオープンするのが例年である。
かぐらはどうしてもスロープが多く、ボードにはキツめのレイアウトと言う事もあり、斜面の造りがシッカリした所。と言う事で毎年1回は行く石打丸山スキー場に決定。
同行した友人は石打は初めてらしく、どんなスキー場?ってな事でざっくりと以下にまとめてみる。

ゲレンデの特色

1. ハツカ石口、中央口、銀座口とゲレンデのベースが別れている。
2. 斜度は中級コースでもかなりキツいコースが多い
3. ベースとなるゲレンデの近くにも結構キツめのコースが有る
4. かなり歴史があるので、よく言えばバブリー、悪く言えば古め。
5. 山頂コースの難度は高め、山頂からガーラ湯沢へ降りる事が出来る。(三山共通券が必要)
6. 越後湯沢駅からバスで10分
7. コース幅はそこまで広くない。特に山頂側に上がるにつれコースが絞られる

なんと言っても近い。斜度にメリハリが付いていてスロープが少ないので滑る事を楽しめるゲレンデと言う印象。
12月でまだ雪が降り始めと言う事もあり、パークのアイテムは少なめ。そして土日だがまだ人がまばらで快適に滑れる状況だった。

アットホーム?

今回は銀座口のレンタルショップのコインロッカーを利用する事にした。
その際に受付の方が「お兄さん達日帰り?帰る時間分かる?」と聞かれたので、てっきり閉鎖時間かな?と思い17時だと思います。と返すと
「あーじゃあ帰りの車17時で取っとくからね」との返事が。
石打丸山には雪だるま号と言う、石打丸山 ←→ 越後湯沢を回るバスが有るがレンタルショップの方のご厚意で送迎をやってくれている所もある。
嬉しい誤算と言うか、時間の融通を利かせてくれ必ず座れると言う事は日帰り人間には非常に助かる提案だった。
古くからやっているゲレンデ、周りのゲレンデとの差を付ける為の事かもしれないが、個人的には凄くありがたいサービスであった。

石打特有の。

基本的にゲレンデと言うと山の上なので町や人が生活していると言うよりは、森や林と言った景色がメインであるのに対して石打は魚沼平野や関越道を見下ろし開けた視界を思い切り楽しむ事が出来る。
日常生活のある町並みを眼下に雪山と言う非日常を体験出来る。写真だと画角が狭い為、あまり開けたように見えないが眼下に広がる銀世界の魚沼の平野部を見渡す事が出来る。
この風景を楽しみながらガンガンと本数を滑る。
と言うのが石打の楽しみ方なのだが、この日は生憎朝から気温が上がり続ける。こうなると東向き斜面の石打は午前中にさんさんと降り注ぐ太陽で融雪がすすみ人が滑る事で凹凸がはっきりと付く。
そして太陽が正午を過ぎると西側のガーラに早々に日が落ちていく。12月だと14時を回ると山頂ゲレンデは完全に日陰に入ってしまう。こうなると一気に気温が落ちる。
気温が落ちると一気に雪が冷え固まり、今度はアイスバーンが形成される。これはこの日に限った事ではなく毎年石打に行くと天気が良い度にこの状況が生まれる。
先程迄とは違って雪をボードが食わなくなり、掘られた溝がかなり深く目で追わないとボードの場合は乗り上げてしまったりエッジが言う事を利かずにスピードが出たまま転倒してしまう事もある。
ポジティブに考えると午前中とはコンディションが大きく変わり難易度が格段に上がるので二度楽しめる。と言うところだろうか。
特に山頂コースは斜度が有るので、雪質が良い時とは違いかなり難しいコースに変わる。

盛り上げる

石打は山、そして麓の町を挙げてゲレンデを盛り上げているように感じられる。
まずはフード、クレープ等のスイーツから七輪での焼き肉まで、こだわりのフードが楽しめる。
そして設備面ではパズドラとコラボを行っており、パズドラレーダーを利用すると限定のダンジョンが出る等のスキー・スノボだけでなく、様々なアプローチから集客しようとする気概がそこかしこで観る事が出来る。

アクセス: ★★★★★
越後湯沢駅からバスで10分、タクシーだと2300円、しかもレンタルショップの送迎まで有りいたれりつくせり。
帰りの新幹線の時間に融通が効くのであれば、ナイターを楽しんでもゆっくり帰れる。湯沢界隈は基本的にアクセス良いがその中でも抜群のアクセスであることは間違いない。

ゲレンデ: ★★★☆☆
ボーダーとしての視点で観た時には大きなスロープが少なくコースからリフトの距離が短いので滑りやすい。
ただ山頂に行けば行く程コース幅が狭まってしまう事と、迂回コースはかなり細く狭い。またメインゲレンデをトラバースするルートなので意外とコースを見失う事がある。
新雪が多い時は新雪ジャンキーの上手い人の飛び出しに注意すべき。

施設: ★★★☆☆
どこをベースキャンプにするか。と言う事を先に決めた上で行動しておくべき。
日帰りセンターはハツカ石にはあるものの、他の口は宿泊街に囲まれていきなりゲレンデにたどり着いてしまう。
また、コインロッカー等もかなり数が限られているので、早めに自分が使う場所を確保しておかないとコインロッカーで右往左往してしまう。

食事: ★★★★☆
どこに行ってもハズレがない、ただベースキャンプではなくリフトで上部に行った所に密集している。
個人的には定食モノが一番美味しいと感じる。

総合: ★★★★☆

ファミリーでも楽しめるが若者が連れ立って本数を滑る。と言う感じの石打。
一つ一つのゲレンデのコースレイアウトに各々特色があり、そのコースを把握して次はこう滑ろう。こうしよう。と言う意図を持って滑る事が出来る。
山頂コース側は難しく、ベースキャンプ側ほど広く楽しめるとレイアウトなので人の分散がしっかり出来ている。
日帰りのゲレンデの中では値段もリーズナブル、そして12月のシーズンはじめはかぐら等に比べると人がまばらなので練習しやすい。
2月くらいからはじまる三山共通券を利用すると、石打丸山ガーラ湯沢、そして湯沢高原スキー場へと渡る事が出来る。
石打よりももう少しゆったり滑りたいのであればガーラと言った滑り分ける事も出来る。
また越後湯沢を使わず敢えてガーラ湯沢で着替えまで済ませガーラから石打に渡り、帰り際にまたガーラ湯沢に戻ると言った利用のしかたも出来る。

個人的にはリフト終了前に山頂まで上り、上から一気に自分のベースとしたゲレンデまで一気に滑り降りるのが一番の楽しみ。
ただ、気をつけないと出口のゲレンデを間違えて歩かねばならない。下のコースをあまり滑らないと把握できなくなるので注意。
f:id:rider_dice:20180315180138j:plain

Doctrineで発行したSQLを表示させる

どうしてもEC-CUBEを使っていると避けられないDoctrine、使えれば便利。と言う事だが旧型人間なのでクエリが確認出来ない事にもどかしさを感じる。
結局の所、SQL式が正しいかの評価がし辛い所は難点。憎きqbからSQLを取り出す為のコード

	print_r($qb->getQuery()->getSQL());

以外と簡単に取り出せる。
何を現在取得しているか。と言う事を確認する場合は上記のやり方でいける。

EC-CUBE3のテンプレートで税抜き価格を表示する

商品詳細ページに登録されている価格が、運用によっては税込税抜ってまちまちなってしまっている。
先にその辺を取り決めておけば良いのだが、後々カスタマイズを入れると変更したいってなる事が多い。

と言う訳で、基本は税込になっているテンプレートを税抜にしてみる。

/src/Eccube/Resource/template/default/Product/detail.twig

                    <!--★販売価格★-->
                    {% if Product.hasProductClass -%}
                        {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
                        <p id="detail_description_box__class_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02IncTaxMin|price }}</span> <span class="small">税込</span></p>
                        {% else %}
                        <p id="detail_description_box__class_range_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02IncTaxMin|price }} ~ {{  Product.getPrice02IncTaxMax|price }}</span> <span class="small">税込</span></p>
                        {% endif %}
                    {% else -%}
                        <p id="detail_description_box__sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02IncTaxMin|price }}</span> <span class="small">税込</span></p>
                    {% endif -%}

この IncTaxを削る。

                    <!--★販売価格★-->
                    {% if Product.hasProductClass -%}
                        {% if Product.getPrice02Min == Product.getPrice02Max %}
                        <p id="detail_description_box__class_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02Min|price }}</span> <span class="small">税込</span></p>
                        {% else %}
                        <p id="detail_description_box__class_range_sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02Min|price }} ~ {{  Product.getPrice02Max|price }}</span> <span class="small">税込</span></p>
                        {% endif %}
                    {% else -%}
                        <p id="detail_description_box__sale_price" class="sale_price text-primary"> <span class="price02_default">{{ Product.getPrice02Min|price }}</span> <span class="small">税込</span></p>
                    {% endif -%}

元々税込がデフォになっているので明示的に税込と言う命令を削る。

今シーズン行ったゲレンデ 舞子スノーリゾート

1月27日 猛吹雪

当たり年と言うか当たられ年と言うか、今年は土曜日に猛烈な雪と言うパターンが多いように感じる。
最強クラスの寒波が大量に押し寄せ、その度に大きな被害がテレビで流されている。
この日は友人同行でチケットの手配が遅れた事もあり、行きの新幹線のチケットの手配が出来ず自由席勝負。

舞子行きのバスが8:00にあるのでそれに間に合わせる為に
東京 6:24 → 越後湯沢 7:26をチョイス。
ちなみに、自由席に座る場合の毎回の鉄則だが始発で来て2本前が東京駅入線前でないと座席の確保は難しい。
毎回そうだが、一旦ホームに上がって周りを確認して誰もいない → ご飯を買いに行く → 戻ったら大行列と言うパターンをよく見る。
今回も自分がボケーっと先頭で並んでいた際に、集団で来た若い子達が「誰も居ないからご飯買いに行こう!」と列に荷物を置かずに買い物にでかけ
最終的に大行列になってしまい、列が乗車後に戻るも座るところなし。と言うパターンを目にした。
結局、逆算して何時にはゲレンデに出ていたい。と考えると新幹線とゲレンデの日帰りセンター迄のバスの時刻は定刻と考えて1本前と考えると良い。
そもそも論かもしれないが、早めに予定を組んで上越新幹線の日帰りの予約が取れるのがベターではあるが。

電車は高崎までは晴れていたが、高崎からトンネルに入り上毛高原前の地上に出た所で銀世界。
大半、この辺の景色は日陰に雪が残っている。と言う事が多いがこの日は様相が違い重い鉛色の雲と新幹線の窓が雪を叩く音が聞こえるほど。
程なくして上毛高原駅を通過し最後のトンネルに。トンネルを抜けると一面の銀世界…と言うか吹雪に近いレベルでの雪に。
なにはともあれ、越後湯沢駅で下車をしバスのりばへ。
と、バスに乗車するまでに既にコートに雪が積もる程の猛烈な雪、バスを待たずに乗れたのが幸運だった。

ゲレンデ

今回は日帰りセンターで着替えを行い、ゴンドラで一気に奥添地と言う標高の高い所へ行くプランをチョイス。
到着するもバス便は高原ホテルで降車する人も多いので、着替えは混雑しておらず。ゆったりと着替えを終える。この時点で9:00
センターハウス内でリフト券を交換し外へ。ゲレンデに出ると先程よりも雪は強く歩いているだけでもゴーグルをしたいと思わせるほど。
歩いて2分程で山頂方面行きのゴンドラ乗り場が有る。もっと混んでいるかと思ったが開場ダッシュ組は既に上か人はまばら。
するすると中に入りゴンドラへ。

過酷な環境

ゴンドラを降り、バインディング装着場の看板を目印に歩くも足が沈み込み新雪がこれでもかと言う位に積もっている。
そして視界は20mほど、ガスも強く風もありブリザードに近い状況から風が幾分止み視界が少し明るくなり雪が強くなると言う繰り返し。
とりあえずは奥添地と呼ばれる山頂側の奥のゲレンデを目指す。
滑り始めるも友人のスキー、自分のボード共に板が走らない。ノーズが雪をかき分け新雪に常に乗っている状況なので速度が出ない。
加えてセンターハウス側である山を吹き上がる風がいっそう強さを増す。立っていると煽られるような強風が吹き上がってくる。
山頂に上がるリフトでは猛烈な横風にリフトが煽られ大きく左右に揺れる、これは危険と判断し少し谷になっている中央ゲレンデに戻ろうとするも完全に前後左右上下が把握する事の出来ないホワイトアウト状態に。

午前中は猛烈な風と雪に見舞われ早めに食事へ。
食事休憩中に外を眺めていると先程までの猛烈な雪と風が収まり、レストハウスから見えていなかった山頂側のゲレンデが目視出来るほどに。
「こりゃー午後からいけるね」などと淡い期待を持ちながら、スカイドーム名物のステーキランチをたいらげた。

淡い期待は。。

休憩中にイケる!と思っていたお天気だったが不安定極まりない状況は続く。
流石に現状、奥添地へ向かうのは滑るどころではなくなる可能性を考慮し、中央のロングコースから舞子エリアへ移動をする。
リフトで沢を超えると舞子エリア、こちらは人が少ないのかフカフカ…と言うよりも滑る人が少なすぎてスノーボードには厳しすぎるコンディション。
普段であればすすめるであろうなだらかな傾斜に関しても止まってしまい、バインディングを外してワンフットで移動移動移動…ボードにはかなり辛い。

ただ、この雪質が幸いしたのかドルフィンコースからバンクヤード、パークは雪が柔らかく余り飛んだり跳ねたりが出来ない自分でも楽しむ事のできるコンディションに。
とは言え雪は絶え間なく降り続く状況は変わらず。この時点で15時、そろそろセンターハウス側の長峰エリアへ帰ろうかー。ともどり始める。

流石にこのコンディション、そろそろ帰り支度も視野に入れた人が大半からかメインゲレンデが混雑しはじめる。
特に舞子エリアと長峰エリアをつなぐリフト下り場は、斜面から一旦平坦に変わり大きな林が中央にあり、そこにボーダーがこぞって座る。
こうなると渋滞がはじまり深雪で推進力を失ったスノーボードは一旦バインディングを外さねばならなくなり、また人が溜まる。

こりゃ厳しいねと言う事で中腹を往復していたが一旦センターハウスまで降りゴンドラへ。
このゴンドラに乗車が15:55、ゴンドラ終了が16時だったのでラストくらいだった。
魚沼平野が姿を現し雲の切れ目から日差しがかすかに漏れる。と同時位に猛烈な突風がゴンドラを襲う。
ゴンドラが大きく左右に揺れ、おいおいマズくねえか。。?と言うレベルでの風。少し進んでは停まりを繰り返す。
結局ゴンドラに15分程度の乗車し着いた頃には16:10、奥添地から一気に滑り降りようか。などと考えていたが悪天候からか奥添地のコースが閉鎖されあとは降りるのみ。

時間も時間で天候もあいまって人もまばらと、日が傾き陰になったコースは先程とはうってかわって静かで暗い。そして一気に気温が下がる。
ゴンドラのホワイトボードには-6度と書かれていたが、グローブの先端がカチカチに凍ってしまっていた。

ゲレンデを総じて

この時は悪天候極まれりと言う事で、猛吹雪の時の舞子は。と言う事でしか言えないがスノーボードには結構キツいレイアウト部分が見られる。
特にセンターゲレンデの中腹の緩やかな斜面、またゴンドラ駅に降りる斜面の斜度がかなり緩い。
子供や初心者にはすごく練習になる斜度だが、スノーボードの特性からか推進力を失うレベルでスピードに乗らない。

奥添地はコードが見えないので評価出来ず。
メインの迂回となるランランコースは急にコース幅が狭くなる所が多々見られる。
そしてショートカットで非圧雪となっている所から飛び降りてくる人も居るので、常に周りに気を使う。
コース自体は長くバラエティに富み、バンクヤードやパークも充実しているので、滑る人の技量に合わせてコースをチョイス出来る。
逆を返せばあっちもこっちもって言う考え方の場合、コースがかなり複雑なので、さっき滑ったっけ?って言う事になりやすい。

アクセス: ★★★★☆
車だと石打降りてすぐ、アクセスは抜群。

ゲレンデ: ★★★★☆
ゲレンデ総合の広さは湯沢界隈では屈指、コースのバラエティに富んでいるので色々滑ってみたい!って言う人にはオススメ。

施設: ★★★★☆
日帰りのセンターハウスが綺麗、広い。そしてバスが目の前まで来てくれる。お土産屋まで完備。
舞子側の日帰り施設には温泉まで完備している。

食事: ★★★★☆
肉が旨い。またフードに力を入れており様々な食事が出来る。
センターハウスにはクレープやたこ焼きまで完備。おやつにもぬかりなし。

総合: ★★★★☆
山の形を利用したスキー場なので、かなり天候に左右されやすい。今回感じたのは魚沼平野側から吹き上がる強風
コレがどれほどの確率で起こるか。と言う部分は気になるがゲレンデは広くゆったりと作られており、施設も大きく使いやすい。
日帰り型のプランでも十分楽しめた。


ただ、問題が一点だけ。
auの電波がセンターハウスからゲレンデに至るまでほとんど入らない。。。通話もデータ通信もロクに入らない。
着替えの場所でも全く見えない。この辺は改善して欲しい。

CUBE3の配列に入った変数の存在確認

isset, isnull、この辺の変数が使えれば本当は楽だけど、Twigの仕様から気の利いたコードが見つからない。
今回自分がハマったのは、管理画面 > 受注検索一覧ページのOrderの変数内の顧客IDの存在有無。
要は以下

                            {% for Order in pagination %}
                                    <tr id="result_list_main__item--{{ Order.id }}">
                                        <td id="result_list_main__id_check--{{ Order.id }}" class="text-center"><input type="checkbox" id="check-{{ Order.id }}" data-id="{{ Order.id }}" name="ids{{ Order.id }}"></td>
                                        <td id="result_list_main__order_date--{{ Order.id }}">{{ Order.order_date|date_format }}</td>
						・
						・
						・
						・
                                    </tr>
                            {% endfor %}

Orderの中に顧客IDが存在するかを判定したい。
ただ、変数自体は既存のpaginationの中に存在している物で、Order自体はページにレンダリングする為のpaginationに集約されてしまっている。
会員の場合は Order.Customerの中に顧客情報が配列になって入っている。ただ非会員購入と言う事もあるので、Customerがnullでセットされている受注もあると言う所だ。

この場合、is_arrayなんかが使えれば便利なのだが、コードが無いので利用したのは以下

                            {% if Order.Customer.id is defined %}
                            ある
                            {% else %}
                            ない
                            {% endif %}

definedで値が定義されているかどうかを確認して、あれば処理を書くと言う形で対処した。
会員か非会員かと言う部分でメールのテンプレートを変えたいと言う要望が有り、一覧で表示させる為に実装。