7月
31日

野球応援

アリアの最寄り駅のひとつであるJR関内駅から会社へ行く道のりに「横浜スタジアム」があります。

横浜DeNAベイスターズの本拠地となっていて、来年、開催される東京オリンピックの「野球」と「ソフトボール」の競技会場にもなっております。

先日、夏の甲子園出場を目指す、第101回高校野球神奈川県大会の応援に行ってきました。

毎年、酷暑の中の予選ですが、その日は曇り空、球場内の風が心地よかったです。

夏の高校野球は「負ければ終わり、引退」の高校3年生の選手にとって、三年間の集大成。緊張感を持った応援、一球一球、見逃さず観戦してきました。

スタンドで応援する吹奏楽部、バトン部もマウンドで頑張る選手たちを盛り上げようと、汗をかきながら一生懸命です。

点が入れば盛り上がり、負けていれば選手たちを元気づけようとさらに盛り上がる。

対戦チームが攻撃の際は、対戦高校の応援を観戦。吹奏楽とは対照的なバスドラムメインの勢いのある応援に引き込まれ、無意識に足でリズムを取ってしまい苦笑い。対戦高校の応援もお見事。

応援する高校は負けてしまいましたが、高校球児たちが、甲子園出場へ向けて最後まであきらめず、頑張る姿に清々しい気持ちになりました。元気をもらいました。

夏の高校野球の予選は、強豪校の安定感のある試合もよいのですが、ノーシードから勝ち上がってくる勢いのある高校などは本当に面白いと思います。

梅雨明けとともに、全国49校がそろいました、夏の甲子園。楽しみです。

Posted in 未分類

 12月といえば、やはり忘年会! アリアも12月の帰社日に行いました。

毎月、帰社日には有志で飲み会を行っていますが、同じ飲み会でも忘年会は特別!12月はなぜか寛大になって、頑張ったことは2倍、3倍増で褒めてもらえたり、辛かったことは何だか笑える話になったりして、いつも以上に盛り上がりますよね。

  会の中盤はお楽しみのくじ引きタイム! 景品は、まぐろ1kgや全自動コーヒーメーカー、ワイヤレスイヤホンにYシャツお仕立券。んー、但馬牛もいいなぁ。11人くじを引くたびに拍手が湧いたり、笑いが起こったり、ブーイングがあったり。もらった景品を交換するのは毎年恒例ですね!

 今年も残すところ10日余り。1年間、本当におつかれさまでした。来年も良い年でありますように。

飲んで食べて、大いに盛り上がりました

 

 

こんにちは、社員Hです。

11月最初の土曜に、紅葉で有名な谷川岳(群馬県)に行ってきました。

目的は、ロープウェイからの紅葉観賞と、山頂で360度の風景を見ることです。

 

私は登山を始めてまだ2年程度ですが、ひと月に1回程度のペースで、いろいろな山に登っています。

山を登っていると、登ることだけに集中できるので、仕事やその他の悩みなどからも切り離される=ストレスからも解放された様な気になれるんですよね。

また、頂上に立った時の満足感も、他ではなかなか味わえないです。

あとは、「きれいな景色が見えること」、「山頂で食べるご飯が美味しいこと」、「下山後の温泉が素晴らしく気持ちいいこと」なども、登山の醍醐味ですよね。

最近、運動不足を感じている方にも、おススメです。

 

当日は快晴で絶好の登山日和でした。

日帰り登山なので、友人と2人、始発の電車で向かいました。

紅葉もちょうどよいタイミングだったみたいで、とても綺麗でした。

谷川岳の登山も、階段があったり、岩場があったりと変化に富んでいて、とても楽しかったです。

さすが、百名山の一つですね。

谷川岳(トマの耳)の標高は「1963m」。

山頂から見る360度のパノラマは絶景とも呼べる様なとても素晴らしいものでした!

谷川岳山頂からの風景(動画)

その絶景を見ながら食べる「蒙古タンメン中本」のカップラーメンもいつもよりはるかに美味しく感じました!!

時間の都合上、温泉には入れず、日の出と日の入りの両方を電車の中から見ることになってしまいましたが、またぜひ来たいと思うような素晴らしい山でした。

みなさんも、機会があれば、ぜひ登ってみてください。

それでは、失礼します。

Posted in 趣味

まだまだ暑さが残る9月下旬ごろ、日本大通り駅の改札を出るとなんともいえない(くさい)臭いに気が付きます。そう、銀杏の季節!イチョウ並木といえば横浜公園と象の鼻パークを結ぶ”日本大通”が有名ですが、日本大通り駅の頭上を走る本町通りの両脇にもイチョウの木が植わっていて、乗降客に臭いで秋の訪れを告げてくれます。

銀杏もひと段落した現在(10月中旬)は、まだほとんどの葉が緑ですが、朝晩が冷え込み始めた11月中旬ごろになるとイチョウの葉が黄色く色づき、師走の足音が聞こえてくるころには、歩道も黄金色に染まります。ちょっと風が強い日はびっくりするくらい、こんもりと黄色い落ち葉が積もりますよ。

「もう今年も終わりかぁ」などと呟くころには、きれいさっぱり葉を落とし、枝にはたくさんの冬芽が。年が明けて、春の訪れはこの冬芽がおしえてくれます。

日本大通り駅からアリアまで徒歩5分。本町通りのイチョウを楽しみながらおいでください。

 

歩道にはたくさんの銀杏が。絶対踏みたくないので、細心の注意を払いながら歩きます。

10月12日         アリア近くのイチョウの木。まだ青々としています。

10月29日        神奈川芸術劇場前のイチョウの木は、日当たりが良いせいか少~し黄色がかってきました。

 

 

Posted in 最近のアリア

   毎月違うテーマで勉強会を行う教育の時間で、今月は「情報セキュリティマネジメント試験」対策を行いました。過去問の中からちょっとおもしろい設問をピックアップし、みんなでチャレンジ! 受験を予定している人はもちろん、その予定が無い人も情報セキュリティの重要性を再確認できたハズ!

【全体会議中】
帰社日の午前中は教育の時間。午後はグループミーティングや全体会議を行います。

 

 

Posted in 最近のアリア

 Tさんは、H28年にデータベーススペシャリスト試験に合格しているので、今回の資格試験・情報処理安全確保支援士試験の一部試験が免除になります。免除期間は2年間。この2年の間に合格できればいいと、気長に構えて勉強をはじめたそうです。しかし仕事が忙しく、思うように時間がとれないまま、やっと勉強を始められたのが試験の1カ月前。午前の試験対策として、直近3年分の過去問を110問前後のペースでコツコツ解き、午後の記述試験に備えて、文章と解説を読んで解き方を理解したそうです。で、1発合格!!

Tさん、おめでとうございます!

 

【注目!】

アリアでは社員の資格取得(IT関係)を応援しています。受験料の補助の他、合格お祝い金の支給も行っています。

Posted in 最近のアリア

 毎月、第2金曜日(第3の場合もあり)は月に1度の帰社日。普段は現場に直行、直帰ですが、今日は朝から本社に出社し、午前中は技術やコミュニケーションスキルを高めるための教育を、午後はグループミーティングや全体会議を行います。

  今月は、7月に入社したばかりのAさんが初参加。各自、自己紹介を行いながら、今日の教育のテーマ「現場での悩み」について話しました。4月に新卒で2名の方が入社していますが、ふたりはそろそろ現場に慣れてきたころ。どうですか?悩みごとは解決しましたか?

 午後6時からは水炊き&焼き鳥のお店でAさんの歓迎会!アリアはお酒好きも多いし、(未だ)食べ盛りな方も多いです。飲み過ぎ食べ過ぎには気をつけてくださいね。

 

【教育の時間】
社員のリクエストを取り入れながら、毎月様々なテーマの勉強会を行います。

 

【新入社員歓迎会】
関内の居酒屋やすぐ近くの中華街で行うことも。

Posted in 最近のアリア

こんにちは、株式会社アリアです。

FuelPHP を利用して開発を行っていた案件にて、以下の問題が発生しました。

Web ブラウザ上でユーザーが入力した項目に対する入力チェック(バリデーション)処理を、FuelPHP に実装した独自バリデーションで行ったところ、同一バリデーションルールが適用された複数の項目でエラーが発生した場合に、最後にチェックされた項目のエラーメッセージのみとなってしまいました。

その際のコードは、FuelPHP で一般的なバリデーション設定の書き方をしていました。

$val = Validation::forge();
$val->add_callable('MyRules');
// _validation_originalRule メソッドが独自バリデーションにあります
$val->add('field_1', '項目1')->add_rule('originalRule');
$val->add('field_2', '項目2')->add_rule('originalRule');

項目1,2 いずれもエラーとなった場合の期待値は以下ですが、

・項目1 は originalRule に従っていません
・項目2 は originalRule に従っていません

実際には以下のようになってしまう、という問題です。

・項目2 は originalRule に従っていません
・項目2 は originalRule に従っていません

FuelPHP の core ソースを調べてみたところ、一つのバリデーションルールには一つのメッセージしか保持できない、という仕様になっているためだと分かりました。

しかし、何らかの手があるはずです。

そう思いながら Google 先生に尋ねてみたのですが、ビンゴな回答が見つかりません。

そこで、再び FuelPHP の core ソースを眺めつつ試行錯誤したところ望む結果を得ることが出来ました。

$val = Validation::forge();
$val->add_callable('MyRules');
$val->add('field_1', '項目1')->add_rule(['field_1_originalRule' => array('MyRules', '_validation_originalRule')], 'field_1_originalRule');
$val->add('field_2', '項目2')->add_rule(['field_2_originalRule' => array('MyRules', '_validation_originalRule')], 'field_2_originalRule');

add_rule の第一引数が配列となっているのが最大のポイントで、適用したいルール(MyRules クラスにある _validation_originalRule メソッド)に別名を付ける、という事をしています。

これにより、「field_1 には field_1_originalRule という名称のルール」「field_2 には field_2_originalRule という名称のルール」が適用され、適用されるルールの実体は「MyRules クラスにある _validation_originalRule メソッド」となります。

add_rule の第二引数は、ルールの別名と一緒としているのもポイントで、MyRules クラスに実装したバリデーションメソッドは以下のようになっています。

_validation_originalRule($val, $name) {
    // バリデーションエラー時に以下をセット
    Validation::active()->set_message($name, ':label は originalRule に従っていません');
}

これにより、項目1,2 いずれもエラーとなった場合の期待値どおりとなりました。

・項目1 は originalRule に従っていません
・項目2 は originalRule に従っていません

この記事が、FuelPHP を利用した開発の役に立てば幸いです。

私のストレス解消法はカメラを下げて日本全国を旅する事です。
今年の旅で印象に残っている旅の一つを話します。

JR東日本が発売している「大人の休日倶楽部パス」というのがあります。
新幹線を含めてJR東日本の全ての列車が1万5千円で
4日間乗り放題というチケットです。
それを利用してALL新幹線の旅をやってみました。
東北新幹線、秋田新幹線、山形新幹線、上越新幹線の全部を一気に
乗りつくしてきました。
なかでも山形新幹線はユニークでした。
①畳の座敷があります。
ビール飲みながら座敷から眺める景色もなかなかです。
②バーカウンターがあります。
ウィスキーをロックで軽く一杯。
③足湯があります。
紅花色の湯船が石張りの小上がりにゆったりと2槽、
足湯で寛ぎながら車窓を眺めるのも優雅な旅の時間です。

皆さんも一度体験してみてはいかがですか?

今年ももうすぐ終わりです。
ゆっくりと正月を楽しんで下さい!!

DSC_0493 DSC_0485 DSC_0478 DSC_0483

こんにちは、株式会社アリアです。

先日、自分が開発に携わっていた予約サイトのリニューアルリリースが行われました。

そのサイトにおいて、Webサイトで良く見かける「<長い説明文の一部>…続きを見る(リンク)」という表示に一工夫を凝らし、長方形の表示エリア内にテキストをピッタリと収めるようにしたので、その手法をご紹介いたします。なお、「続きを見る(リンク)」が不要な場合は css3 で実現可能なので、「ellipsis css」といったキーワードでネット検索していただければと思います。

ここで紹介する手法を実際に適用した表示は、この様になります。

381_attach

では説明に入ります。まず最初は表示されるテキスト部分の Html です。

<p
 data-href="★1. 続きのリンク先URL★"
 data-max-height="★2. 許容する最大高さ。例:80★"
 class="ellipsis multiline"
 style="height:★3. p タグの高さ。例:80px★;"
>
★4. 表示したい文字列をここにセット★
</p>

この例では p タグを利用しています。★マークで囲んだ部分については、説明内容に従って記載(サーバーサイドから出力)しておいてください。p タグで囲まれている「4.」のテキスト文字列部分は、表示エリアをはみ出す文字数でサーバーサイドから出力しておく必要があります。

次に Html の JavaScript 部分ですが、ここでは jQuery を利用しています。Html のテキスト出力が終わった後に、クライアントサイドの JavaScript を呼び出すようにしておきます。

$(function() {
	$(".ellipsis").ellipsis();
}

最後に、上記から呼び出されるメイン JavaScript です。

(function($) {
	$.fn.ellipsis = function()
	{
		return this.each(function()
		{
			var el = $(this);

			if (el.css('overflow') == 'hidden')
			{
				var text       = el.html();
				var multiline  = el.hasClass('multiline');
				var max_height = el.data('maxHeight');
				var href       = el.data('href');

				var t = $(this.cloneNode(true))
					.hide()
					.css('position', 'absolute')
					.css('overflow', 'visible')
					.width(multiline  ? el.width() : 'auto')
					.height(multiline ? 'auto'     : el.height())
					;

				el.after(t);

				if (multiline)
				{
					// 下行の +4 はブラウザ差異吸収のために入れたものなので、必要に応じて調整してください。
					if (t.height() + 4 >= max_height)
					{
						el.height(max_height);
					}
				}

				function height() { return t.height() > max_height; };
				function width()  { return t.width()  > el.width(); };

				var func = multiline ? height : width;

				while (text.length > 0 && func())
				{
					text = text.substr(0, text.length - 1);

					if (typeof href === 'undefined')
					{
						t.html(text + '…');
					}
					else
					{
						t.html(text + '… <a href="' + href + '">続きを見る</a>');
					}
				}

				el.html(t.html());
				t.remove();
			}
		});
	};
})(jQuery);

メイン JavaScript の処理フローを説明すると以下のようになります。

① テキスト表示エリア(今回の例だと p タグ部分)から文字列が溢れるか否かをチェック
溢れる場合 ⇒ ②
溢れない場合 ⇒ ③
② テキストの後ろから一文字を削除 ⇒ ③
③ data-href が指定されている場合に「… 続きを見る(リンク)」を最後尾に追加 ⇒ ①

テキスト表示エリアから文字列が溢れないようになるまで上記フローが繰り返されます。したがって、クライアント側のブラウザに処理の負担を強いるため、一画面で十数ヶ所も使用すると表示が遅くなる事がありますが、一ヶ所ならば問題ないようです。ただし、サーバーサイドで出力する文字列が長すぎると、クライアントサイドで削除処理を行う回数が増えて表示に時間がかかりますので、サーバーサイドから出力する文字列の長さを調整する必要があります。

こういった表示の工夫を要求される機会はなかなか無いと思いますが、必要となった際の参考にしていただければ幸いです。

参考サイト:Stack Overflow