だ。ログ。

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

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

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

これからスノボはじめるぜ!の料金

Yahooを見ていたら冬季五輪でスキー・スノボの客足が伸びるのでは。と期待していたが伸び悩む。と言う記事を見た。
五輪での競技者は最大難度のレベルをやっているから、なかなか五輪を見て、すげえええええええええええ俺もやってみてええええええ
って言う方向に何もやった事無い人が動かされるかと言ったらなかなか難しく、テレビで見てすげーな。的な部分で終わってしまうのではないかと思う。

雪山でのアクティビティは経験者が周りにいないと、なかなかやりたいと言う方向に向く事はない。
それこそ怪我のリスクや遠いと言った部分での敷居高な印象が否めない。

仮に新潟に日帰り、初めてのスノーボード。スクールに入って学びたい!と言う部分でどれくらいの金額が掛かるか計算をしてみたい。
住まいは東京在住と言う事で定期があり東京駅まで定期が利用出来る範囲。曜日は土曜日を想定。

概算費用

1. 旅費
→JRSkiSki日帰り|新潟県神立高原スキー場:11,100円
・ リフト券
・ 往復新幹線料金

東京、越後湯沢間の交通費+リフト券の値段。指定が取れるかは予約の時間次第と言う所

2. レンタル
→神立高原内レンタル フルセット7,000円
スノボ、バインディング、ブーツ、ウェア、グローブ付

3. スクール
→神立高原スクール 7,000円(4時間)
午前2時間、午後2時間のプログラム。自分がお世話になった時は、午前中は練習ゲレンデでのボードの装着と扱い方。歩き方とサイドスリップ
午後は上のゲレンデに上って大きく左右にサイドスリップをする練習で2時間だった。

4. 食事
→神立で食べる量にもよるが、水分を含めて1,500円と過程
ゲレンデ内の食事は美味しい所が多い。また初めての雪山だと思った以上に汗をかき水分補給は多めにすべき。

5. 総計
旅費: \11,100
レンタル: \ 7,000
スクール: \ 7,000
食費: \ 1,500
ーーーーーーーーーーーーーーーーーー
合計: \ 26,600

これに越後湯沢駅でのお土産代+食事をするなら食費と言う金額になる。
額面通りで考えれば3万円以内で納めることが出来る。

ただ、経験則からだがスキー、スノボは相当な才能がない限りは1回目からスイスイ滑る事は難しい。
寧ろ立ち上がるだけでなんでこんなに力を使うんだ。と言う事が一つの壁になる。
それでも楽しいと感じるか、またどうなれば楽しいと感じられるかと言う部分ではやはり仲間が居て教えてもらいながら。と言うのが王道になると思われる。

WooCommerceで受注状況を追加する

早速WooCommerceを使って色々と調査している。
やはりWPが骨子になっているだけあって、いままでEC-CUBEの常識で考えていた部分とはかなり変わっている部分がありまだ調査段階が続いている。
とりあえずは、まず管理画面の自由度を上げる部分に自分は専念。

デフォルトのステータスでは

  • 支払い待ち
  • 処理中
  • 保留中
  • 完了
  • キャンセル
  • 払い戻し
  • 失敗

上記のステータスの中で商品売買に関する情報を管理しなくてはならない。
ただこの部分はもっと細かく細分化したいと言う要望も結構ある。簡単にDBで管理しているワケでは無い。
追加する為には以下のソースコードの修正が必要

/wp-content/plugins/woocommerce/includes/wc-order-functions.php 95行目あたり

function wc_get_order_statuses() {
	$order_statuses = array(
		'wc-pending'    => _x( 'Pending payment', 'Order status', 'woocommerce' ),
		'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
		'wc-on-hold'    => _x( 'On hold', 'Order status', 'woocommerce' ),
		'wc-completed'  => _x( 'Completed', 'Order status', 'woocommerce' ),
		'wc-cancelled'  => _x( 'Cancelled', 'Order status', 'woocommerce' ),
		'wc-refunded'   => _x( 'Refunded', 'Order status', 'woocommerce' ),
		'wc-failed'     => _x( 'Failed', 'Order status', 'woocommerce' ),
	);
	return apply_filters( 'wc_order_statuses', $order_statuses );
}

このステータス上に任意のステータスを足す。

function wc_get_order_statuses() {
	$order_statuses = array(
		'wc-pending'    => _x( 'Pending payment', 'Order status', 'woocommerce' ),
		'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
		'wc-on-hold'    => _x( 'On hold', 'Order status', 'woocommerce' ),
		'wc-completed'  => _x( 'Completed', 'Order status', 'woocommerce' ),
		'wc-cancelled'  => _x( 'Cancelled', 'Order status', 'woocommerce' ),
		'wc-refunded'   => _x( 'Refunded', 'Order status', 'woocommerce' ),
		'wc-failed'     => _x( 'Failed', 'Order status', 'woocommerce' ),
#追加
		'wc-test'     => _x( 'テスト', 'Order status', 'woocommerce' ),
	);
	return apply_filters( 'wc_order_statuses', $order_statuses );
}

ちなみに、日本語化パッチを当てるとこの部分を翻訳してくれるが新規追加は直接2バイト文字でも問題はなかった。
ただここだけを追加して、ステータスを変更するとエラーで更新自体は出来るが一覧に戻るとデータが消えてしまうので注意。
このステータスに関してをWPでPOSTするオブジェクトとしての認識が必要となる。

/wp-content/plugins/woocommerce/includes/class-wc-post-types.php 492行目あたり

				'wc-failed'     => array(
					'label'                     => _x( 'Failed', 'Order status', 'woocommerce' ),
					'public'                    => false,
					'exclude_from_search'       => false,
					'show_in_admin_all_list'    => true,
					'show_in_admin_status_list' => true,
					'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'woocommerce' ),
				),

wc-failedの後ろに追加したステータスを足す。

				'wc-test'     => array(
					'label'                     => _x( 'HDStest', 'Order status', 'woocommerce' ),
					'public'                    => false,
					'exclude_from_search'       => false,
					'show_in_admin_all_list'    => true,
					'show_in_admin_status_list' => true,
					'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'HDStest <span class="count">(%s)</span>', 'woocommerce' ),
				),

これで問題なくステータス更新が出来るようになった。
ソースコード内で完結している事が多いので、たどればある程度の機能は見つかると思うが、この辺を紐解く力が今後は必要になりそう。

今シーズン行ったゲレンデ 岩原スキー場

12月27日 猛吹雪
1月6日 雪/晴
2月10日 晴

日帰り新幹線ツアーがメインになるから、結局は越後湯沢界隈がメインになる。
友人とゲレンデ選択をする際にホームページがファミリー向けだったから小さい子多いかなー。と避けていた岩原だったが知人から良いゲレンデだよ。との情報をもらい今シーズンから行き始めたゲレンデ。
初回の12月27日は記録的な大雪で前日夜だけで50cm、滞在中の1日で30cm以上の雪が積もる猛烈な雪、圧雪が追いつかない状況なので新雪をかき分ける良い言い方をすれば最初から最後までパウダーサーフィン
悪く言えば膝まで雪が常に降り積もりスピード出ないわ足元が解らないから先行動作出来ないわ雪が青く見えてゴーグルで見えないから裸眼になるわのコンディション。
山頂ゲレンデからの迂回ルートは尾根伝いを滑ってつづら折りに入るが、その尾根伝いが風の通り道となってしまい軽い雪が舞い上がりホワイトアウト
何度となく友人と「これやべーーーー!」と大声を出し、途中知らない人とパーティを組んで下山するレベル。
ここまで雪が酷いと、何がなんだか分からないお祭り的なテンションも相まって「楽しかった!色んな意味で!」と言う評価に。

次に一人で行った1月6日、朝は雪がちらついていたものの日が上がると雪雲が抜け時々太陽が顔を出すコンディション、しかし全体的に冷えた状況で雪質は上場。
上に新雪が積り適度にしまった雪でスピードが出る、ゲレンデは大きなメインバーンが有り人が分散しているので広々使える。
ただ広いバーンを活用いたスクールが多く、滑れる人間が下で調子づくよりは上側のゲレンデに言って棲み分けをした方が良いかも。
小さい子を連れた家族連れが多く、キッズでも楽しめる斜度だが、それだけ滑れる人間が周りに気を使う事が必要。

以外にもベテランの地元や近隣のスキーヤーさんが多く、若いボードの人との比率は半々かむしろスキーの方が多いと感じるレベル。
自分のようなカービングのフリーランが好きな人間だと滑ってそのままリフトに入れるコースレイアウトは歓迎出来るが、その分ゲレンデのバリエーションと言う意味ではガッツリ滑りたい!景色楽しみたい!と言う人の場合山頂エリアからの迂回コースしかないので、少し物足りない。

またボードだけにはなってしまうが、迂回コースからメインゲレンデに戻る細いコースは上から一気に滑り降りないとバインディングを外してのワンフットでの移動を強いられる。
コース自体も細く日中は日陰でアイスとなっており、エッジが掛からず転倒もあるのでコースレイアウトとして、ここだけはボードは難所となっている。
また、頂上からのオフピステゾーンはスキー、スノーボードを問わず難易度が高く攻略には相当熟練した技量が必要になる。

アクセス: ★★★★☆
越後湯沢駅からのバスは充実している。土曜17時代のバスの混雑がキツい。最低でも16:30には着替え終わりバス列にならぶべき。

ゲレンデ: ★★★★☆
メインゲレンデの広さは越後湯沢界隈随一、広々滑れてキツい斜度のコースとの棲み分けがしっかりしている。
色んなコースを回りたいと言う人には少し物足りないかも。

施設: ★★★☆☆
日帰り施設のコインロッカー数が足りないと言う事はない。ただ着替えスペースは帰りの時間帯に混雑すると順番待ちがかなりある

食事: ★★★★☆
ピザが旨い。あとゲレンデ中腹の食堂のラーメンがシンプルなラーメンで旨い。

総合: ★★★★☆

メインバーンの広さは周りのゲレンデとは比較出来ない広さで、土曜日の混雑する時間帯でも混雑して怖いと感じさせる事はほとんどない。
スノーボードに優しい作りでリフトまでの平坦が少なく、降りてきたらそのままバインディングを外してリフトに乗れると言う部分は本当にありがたい。
また、キッズのスクールが盛んで小さな子供の初心者スクールが朝から盛んに行われている。
斜度が緩やかで、あまり滑りに自信の無い人でも楽しめるコースレイアウト、ただコース数が多くはない為、ガッツリ滑りたい若者よりはむしろ家族連れや地元のスキーヤーさんが多い印象。

少し人が多い際に子供に突っ込まれた事が数回ある、避けようが無い所なのでどうしようもないが細いコースでは注意が必要。
また、帰りの17時のバスは非常に混雑する。
確実に座る場合は16:15くらいにはあがり、16:30過ぎにはバス待ちの列に並ばないと次の便まで待たされる事が多い。

vagrant upが動作しない。

vagrant + virtualboxでローカル用のイメージを作るってな事をしていて、gitからダウンロードしたデータに対してvagrantで設定する。
ってなコマンドを叩く為にpowershellにて

$ vagrant up

とコマンドを打ち20分経過。。。。。動かない!!!

Qiitaのこの記事 https://qiita.com/nobb_hero/items/3422b37ba2e9e3299680
を参考にすると、Windows7powershellのアップグレードをしておらず、新しいバージョンのvagrantを使っていると漏れなく該当すると。

と言う事で、記事の中のURLの
https://docs.microsoft.com/ja-jp/powershell/wmf/5.1/install-configure

上記をダウンロードし解凍。
powershellを管理者権限で実行し、スクリプト実行ポリシーを変更する為に

$ Set-ExecutionPolicy RemoteSigned
$ .\Install-WMF5.1.ps1

インストーラーを実行。
windowsアップデート後に再起動をし、再びpowershellを起動して

$ vagrant up

とすると、応答が返ってくる!
windows7の環境の人は注意な件。
それと、Progressが0%から動かない場合、powershellの画面を右クリックしたりすると何故かProgressが動く。
ファミカセの斜め差しのような裏技感が。

CentOSのディレクトリ毎の容量を表示する

ls -h だと4096と言う数字で固定されてしまう、ディレクトリ毎の容量。

# 標準のコマンド
$ du - sh
# データの大きい順にソートして表示させる
$ du -sh | sort -rn

ディレクトリ毎に容量が計算され表示される。
ファイル数が多ければ多い程、処理に時間が掛かるので注意。稼働中のサーバーでコマンドを叩くと過負荷になる素でもある。