archive

はじめに

ユニトラストの我妻です。先日スクリプトファイルに記述されていたpushd/popdについて、これ何ですかとの質問を受けたので簡単にまとめておきます。

pushd,popdとはナニモノなのか

pushdとpopdは基本的にセットで使われることが多く、ディレクトリー間移動(正しくはディレクトリスタックの操作)に使われるコマンドです。
DOSやBashなど多くのコマンドラインインタプリタに組み込みコマンドとして使われており、WindowsやUNIX系OS等多くのシステムで使うことができます。
ディレクトリ移動ならcdコマンドで十分じゃないかとも思えますが、pushd/popdはディレクトリ移動の履歴の保持と取り出し(スタック)ができるのがメリットです。
スタックとはデータ構造の一種で後入れ先出し(Last In First Out)の特徴を持ちます。
pushdが移動前のディレクトリ情報を保持してディレクトリ移動を行い、popdが最後に保持したディレクトリ移動の履歴を取り出してディレクトリ移動を行います。

Lifo_stack

このディレクトリの履歴をスタックする特徴がとくに複雑な階層構造を行き来するフレームワークのセットアップ等で役に立ちます。

pushd,popdの使い方

sampleProject
    |-- dirA
    |   |-- child001
    |   |   |-- file0001
    |   |   |-- file0010
    |   |   |-- file0011
    |   |   `-- file0100
    |   |-- child002
    |   |   |-- file0001
    |   |   |-- file0010
    |   |   |-- file0011
    |   |   `-- file0100
    |   `-- child003
    |       |-- file0001
    |       |-- file0010
    |       |-- file0011
    |       `-- file0100
    |-- dirB
    |   |-- child010
    |   |   |-- file0001
    |   |   |-- file0010
    |   |   |-- file0011
    |   |   `-- file0100
    |   |-- child020
    |   |   |-- file0001
    |   |   |-- file0010
    |   |   |-- file0011
    |   |   `-- file0100
    |   `-- child030
    |       |-- file0001
    |       |-- file0010
    |       |-- file0011
    |       `-- file0100
    `-- dirC
        |-- child100
        |   |-- file0001
        |   |-- file0010
        |   |-- file0011
        |   `-- file0100
        |-- child200
        |   |-- file0001
        |   |-- file0010
        |   |-- file0011
        |   `-- file0100
        `-- child300
            |-- file0001
            |-- file0010
            |-- file0011
            `-- file0100

上記のディレクトリ構成をサンプルとしてpushd/popdの挙動をディレクトリスタックの中身とあわせて確認してみましょう。

# ディレクトリスタックには現在のディレクトリ情報しか書き込まれていない
[root@1a24cddd4795 sampleProject]$ dirs -v
 0  ~/user/sampleProject
[root@1a24cddd4795 sampleProject]$ pushd dirB/child010
[root@1a24cddd4795 child010]$ dirs -v
 0  ~/user/sampleProject/dirB/child010
 1  ~/user/sampleProject
[root@1a24cddd4795 child010]$ pushd ../child020/
[root@1a24cddd4795 child020]$ pushd ../../dirC/child300/
# ディレクトリスタックを表示すると履歴が新しい順番に並んでいる
[root@1a24cddd4795 child300]$ dirs -v
 0  ~/user/sampleProject/dirC/child300
 1  ~/user/sampleProject/dirB/child020
 2  ~/user/sampleProject/dirB/child010
 3  ~/user/sampleProject
[root@1a24cddd4795 child300]$ popd
# popした分ディレクトリスタックが削除された
[root@1a24cddd4795 child020]$ dirs -v
 0  ~/user/sampleProject/dirB/child020
 1  ~/user/sampleProject/dirB/child010
 2  ~/user/sampleProject
[root@1a24cddd4795 child020]$ popd
[root@1a24cddd4795 child010]$ popd
[root@1a24cddd4795 sampleProject]$ pwd
/root/user/sampleProject
# ディレクトリスタックが空になった
[root@1a24cddd4795 sampleProject]$ dirs -v
 0  ~/user/sampleProject

cdとpushd/popdの比較

上記のディレクトリ構成を持つプロジェクトルートからsampleProject/dirA/child003で作業を行った後にsampleProject/dirC/child200へ移動し、プロジェクトルートに帰ってくる場合を考えてみます。
cdコマンドだけで記述すると、以下の様になります。

[root@1a24cddd4795 sampleProject]$ pwd
/root/user/sampleProject
[root@1a24cddd4795 sampleProject]$ cd dirA/child003
[root@1a24cddd4795 child003]$ pwd
/root/user/sampleProject/dirA/child003
[root@1a24cddd4795 child003]$ cd ../../dirC/child200/
[root@1a24cddd4795 child200]$ pwd
/root/user/sampleProject/dirC/child200
[root@1a24cddd4795 child200]$ cd ../../
[root@1a24cddd4795 sampleProject]$ pwd
/root/user/sampleProject

一方pushd、popdを使った例としては以下の様になります。

[root@1a24cddd4795 sampleProject]$ pwd
/root/user/sampleProject
[root@1a24cddd4795 sampleProject]$ pushd dirA/child003
[root@1a24cddd4795 child003]$ pwd
/root/user/sampleProject/dirA/child003
[root@1a24cddd4795 child003]$ popd
[root@1a24cddd4795 sampleProject]$ pushd dirC/child200/
[root@1a24cddd4795 child200]$ pwd
/root/user/sampleProject/dirC/child200
[root@1a24cddd4795 child200]$ popd
[root@1a24cddd4795 sampleProject]$ pwd
/root/user/sampleProject

cdで移動する場合はルートディレクトリからのパスを表現するためにどうしても..の記述が必要になってしまいますが、
pushd、popdの場合はプロジェクトのルートディレクトリのような移動の起点となるところをpushdしておけば、popdと書くだけで簡単にプロジェクトルートまで戻れるようになります。

大規模フレームワーク等で5層、6層と階層が深くなるほどひと目でわかりにくくなりますが、pushd、popdを用いることでプロジェクトルートからのシンプルなパス記述を行う事ができるようになります。
pushd、popdの詳細なオプションなどについてはリンクよりリファレンスを参照してください。

参考: GNU Bash Manual 6.8.1 Directory Stack Builtins

記述量が増えればそれだけミスが生まれる確率も上がりますので移動するディレクトリが明確にわかっているならcd、ディレクトリに移動して作業したあとまた元のディレクトリに戻るときはpushd、popd等のようにうまく使い分けができるようにしていきたいですね。

今回の社員旅行は4日間中、まるまる2日間も自由時間があったため、どこか1箇所に絞る事なく、時間にも気持ちにも余裕を持って、観光地やアクティビティを楽しむ事ができました。
社員の皆さんがそれぞれどんなことをしていたのか気になるところですが、全員の行動を紹介することはできないので、いくつか自由時間の活動と巡った観光地を紹介したいと思います。
では、どうぞ!

 


『台北〜淡水』サイクリングチーム

こんにちは
ユニトラスト自転車同好会(部活動昇格希望)会長の山口です。
我々は自由時間を利用して、台湾のサイクルショップでロードバイクをレンタルして『台北〜淡水』間(往復約45km)を走ってきました!

今回、ロードバイクをレンタルさせて頂いたのは、台北にある『96自転車 大稻埕店』というお店です。

https://www.facebook.com/pg/Cycling96/about/?ref=page_internal
【営業時間】
火~日: 13:00~22:00
月曜定休日
レンタル料金は1時間あたり「80台湾ドル」で、今回は6時間レンタルしたので一人あたり『480台湾ドル』かかりましたが、日本円にすると1700円ほどなので激安です。
こちらのお店ではFacebookのメッセンジャーにて、簡単な英語で『利用日時と利用者全員の身長』を伝えるだけでレンタル予約をすることができます。

 

サイクリング当日、お店に着いて予約していることを伝えたら、すぐにロードバイクの調整を始めてくれました。
やり取りは基本的に英語で、たまに日本語混じり。大体ジェスチャーでなんとかなりましたw

GUSTOのRCR Team Limited DISC(多分)やRCR Team DURO Sports(きっと)など、カッコいい&高性能なロードバイクを用意してくれました!!
※後日調べてみたら、30万円近くするんですね。。乗り心地最高でした!!!
http://www.gustobike.jp/2019-rcr-team-1

 

準備が整ったら早速出発です。
96自転車さんから淡水までのルートは以下のようになります!

 

お店を出てすぐのところからサイクリングロードに出られたので、この道を通って淡水へ向かいます。
見晴らしは最高。天気も快晴で絶好のサイクリング日和です。

淡水までの道のりはほとんどサイクリングロードが整備されている上、5kmごとに休憩スポットが用意されており、サイクリングする環境としてはとても充実していました。
台湾の道路は危険が多いとも聞いていたので当初は色々と心配していましたが、結果的に安全・快適に走ることが出来たのはとても良かったです。

のんびりペースで出発からおよそ1時間半。
時々道に迷ったりもしましたが、無事淡水に到着しました!!

そのまま自転車を押しながら淡水をブラブラと観光。
お店が多く、たくさんの人で賑わっていました。

淡水は「台北で一番夕陽が綺麗な街」と言われているそうです。
今回、淡水を目的地に選んだきっかけの一つに、この夕陽を見に行くこともありました。
男4人、Lover’s Bridge から見る夕日は感慨深いものがありますね。

帰りは行きと違って道に迷わなかったほか、途中で競争が始まってスピードアップしたこともあり行きよりも短い時間で着きました。
今回、往復45kmの軽めのサイクリングでしたが、台湾の景色や現地の美味しい食物を満喫できた楽しい時間となりました。
記事の中でも書きましたが、台湾は国を挙げてサイクリング事業に取り組んでいるため、サイクリングロードなどがとても充実しています。
もし自転車に興味があるのであれば、台湾旅行の際の選択肢の1つとして是非検討してみてください。

最後に96自転車 大稻埕店のFaceBookで紹介していただきました!

 


『猴硐(ホウトン)』猫村チーム

こんにちは!ユニトラストの馬津川です。

私は、国境を超えても猫への愛は抑えきれない社員の方々と共に、ある場所へと訪れました。
猫好きなら一度は訪れてみたい、世界6大猫スポット。その名も「猴硐(ホウトン)」。
観光名所である、九份と十份の間に位置する猫村です。


さっそく、現地時間午前9時に意気揚々と出発!
……したのですが、

地図アプリには載っているのに駅の入り口がわからない!
目的地までの電車の乗り換え方がわからない!!
そもそも乗車券の購入方法がわからない!!!


駅をさまよう猫好き集団の図

出発早々アクシデントに見舞われても、めげずに猫への愛で乗り越えます。
本来ならば電車で1時間のところを、2時間もかけて到着しました。


そうして電車から降りた私達を迎えたのは、村を挙げた猫愛でした。

この日の最高気温は、なんと26℃!雲が少なく日差しがジリジリと照りつけていました。
そんな強い日差しにも関わらず、多くの観光客が村を訪れていました。
観光客の方々の熱視線が向いている先には……


愛くるしくも逞しい村猫たちの姿が!
集合時間を決めて、一度解散。溢れる猫愛を抱き、村の散策を開始します。


集合時間を守れたメンバーがいなかったことは、想像に難くないことと思います。

お昼休憩を挟んで、村を観光します。
ここで、ちょっとだけ猴硐のご紹介です。

川沿いに位置する猴硐は、炭鉱の村でした。
どのような仕事が行われていたのか、どんな様子だったのか、当時の写真や再現された模型のある資料館が建っています。
(資料館のスタッフの方にご許可を頂き、資料の撮影をさせて頂きました。)
ノスタルジックで温かい木造の炭鉱跡は、廃墟に魅力を感じる方や、歴史が好きな方も満足できる場所なのではないでしょうか?

そんなこんなで、もう帰る時間。
最後に駅を振り返ると、

あれ、この駅の形って……もしかして、猫?

私達は、海を超えた先でもやっぱり猫は愛らしいということを再確認し、帰路についたのでした。

 


提灯で有名な金鉱の街「九份」

今回の社員旅行でほとんどの社員が訪れた観光名所「九份」について紹介します。
九份は台北市から東に離れた山間にある小さな街で、夕方の提灯のライトアップが非常に幻想的なことで有名な観光地です。
元々は金鉱の街だったそうですが、町おこしとして観光地化し、有名になったそうです。

そんな有名観光地である九份への台北市内からの行き方は
①台北駅から瑞芳駅(ルイファン)まで電車で行き(約1時間)、瑞芳駅からバスで九份老街(約15分)へ行くパターン
②台北市内から高速バスで九份老街まで一気に行くパターン(約1時間)
③台北市内からタクシーで九份まで一気に行くパターン(約1時間)
④ツアーを組み、九份へ行くパターン
等々、行き方は様々です。

値段は①が電車+バス合わせて65台湾ドル(約250円)で一番安く行く事ができます。
③のタクシーですら、だいたい1100台湾ドル(約4000円)なので複数人で九份に向かいたいなら少し高いですが、一番楽かもしれません。
私は行きは①、帰りは②のルートで往復しましたが、バス停には行きも帰りも人が多く、平日のお昼でさえバスが満員で乗れず、数本見送っているような状態でした。ピークとなる夕方以降はもっと混み合うとのことなので、その時間帯を狙う際は目的時間の1時間くらい前を目指して訪れることをお勧めします。

九份は山間の町なので、山から海に向かって見下ろす眺めが絶景で非常に爽快感があります。
九份老街のバス停の近くにはちょっとした高台なんかもあるので自然の景色を眺めるためにきてもいいかもしれません。
そしてバス停から道にそって通路には入っていくと、ずらーっとご飯処、お茶屋、お土産屋などのお店が並んでいます。

どこにいってもやはり提灯がぶら下がっているので、どことなく日本のお祭りに似た感じもありますが、町の建物や通路の雰囲気も相まって、日本のそれとは違う味わったことのない雰囲気を感じる事ができます。
日中の九份は夕方以降に比べればそれほど人も多くなく、食べ歩きや写真を撮るのにも楽で非常に散策しやすいですし、ちょっとした路地裏の小道なんかも、情緒的でいい雰囲気があります。

 

そして夕方以降、暗くなり始めると徐々にお店の提灯が点灯し始めます。
夕方以降はだいぶ混み合うため、通路の往来も大変になるとのことですが、九份の見所はこれからです。

九份のライトアップの中でも一番有名な「阿妹茶酒館」です。
阿妹茶酒館はお茶屋さんなのでもちろん中でお茶をいただくこともできます。
ちなみに写真撮影のベストアングルは阿妹茶酒館の向かいにある、海悦楼茶坊というお茶屋さんのテラス席とのことですが、やはりその場所も人気なので狙う人は早めに確保しましょう!

提灯のライトアップ後は町全体の雰囲気がガラッと変わるため、写真だけでも幻想的な空間が作り出されているのが良く伝わってきます。
また、夜は人が多いためか、お店も活気付いており、やはりお祭りっぽい雰囲気があるかもしれませんね。

九份は夕方以降が一番人気な時間帯ではありますが、昼には昼の良さがあるため、どの時間帯に訪れても九份のちょっと変わった雰囲気と良さを感じることができると思います。
フォトジェニックなスポットも非常に多いため、写真好きな方は是非訪れてみることをお勧めします。

 


旅行を終えて

毎年、社員旅行が近づくと社内のコミュニケーションツールで様々な情報共有が始まります。
今回は海外だったので観光情報だけでなく、現地マナーやルール、知っておくと良い事、などのお役立ち情報もたくさん飛び交っており、その情報おかげで旅行中のちょっとした場面で助かった、なんて社員もきっといたはずです。

今回は60名で3泊4日の日程なので、ユニトラスト史上、一番規模も大きい社員旅行となりました。
しかも海外だったので少し不安な部分もありましたが、社員ひとりひとりが社員みんなを気遣う心があったからこそ、気持ちよく無事に旅行を終えることができたのだと思います。
また精一杯この時間を楽しむことができるのも、社員ひとりひとりが日々の業務に誠実に取り組んでいるからだと感じました。

台湾旅行でしっかりリフレッシュできたと思うので、また来年の旅行を心待ちにして1年間頑張りましょう!
4日間お疲れ様でした!

 

毎年恒例のユニトラスト社員旅行の季節がやってまいりました。
今年はユニトラスト創業10周年ということもあって、なんと3泊4日の台湾旅行です!
4日間の旅行日程は
1日目:空港に集合し出国、台湾にて帰社日、懇親会
2日目:終日自由行動
3日目:終日自由行動
4日目:お昼まで自由行動、空港へ移動し帰国
となっております!

海外もしくは台湾に行くのが初めてという人がほとんどだったので、みなさんいい思い出をたくさん作ることができたんじゃないでしょうか。
かくいう私も海外初めてなので、非常に楽しい旅行となりました!
というわけで早速1日目をスタート!

ユニトラストの朝は早い

出発日は6:35に羽田空港国際線ターミナルのロビー集合でした。
さすが3泊4日の社員旅行です。しっかりと台湾を堪能するために、初日の出発時間も激早です。
余裕をもってのチェックイン、出国審査を済ませてからは搭乗開始時間までのんびりしていました。
朝早すぎてぼーっとしている人もいましたが、誰も日本に置いていくことなく、無事台湾へ出発します!!

 

約3時間ほどのフライトを経て、、、、

 

台湾の松山空港(ソンシャン)に到着!!
台北付近には松山空港(ソンシャン)と桃園空港(トウエン)の2つの空港があり、桃園空港は台北市より少し西に離れた桃園市にある空港ですが、松山空港は台北市内にある空港なので台北市をメインに動く場合は非常にアクセスの良い空港となります。

日本にいる際は寒かったためアウター必須でしたが、台湾は暑すぎず、寒すぎずで非常に過ごしやすく、旅行には最適な気温でした。そして今回の社員旅行用のツアーバスに乗り込み、まずは「大山茶芸」というお茶屋さんに向かいます。

 

台湾茶を堪能

台湾では人を家に招く際にはお茶で客人をもてなす文化があるそうで、私生活の中でいかに美味しいお茶を飲むことができるかを追求した台湾のお茶はお土産としても非常に人気があります。
ちなみに台湾茶といえば一般的には烏龍茶が有名だそうですが、お茶を極めたお店のマスターはプーアール茶を推していました。
というわけで、我々ユニトラスト一行もお茶でおもてなしをしていただきます。

マスターからお茶の効能や味などの特徴を紹介していただき、3種類のお茶を飲ませていただきました。

 

どれも非常に香りが良くて、気品ある味わいです。
もちろんお店で茶葉の販売もしているため、ここで早速お土産をゲットしている人もいました。

 

宿泊先へ移動&昼食

お茶でおもてなしをしていただいた後は、社員旅行4日間の宿泊先となるサンワールドダイナスティホテル台北に移動です。

ホテル内は1階から天井まで吹き抜けの構造になっているため開放感があり、さらにこちらのホテルにはジムやプールなんかも併設されているので非常に豪華です!
さすが10周年!
ホテルには日本語が話せるスタッフもいるので初海外の人でも安心です。

 

ホテルに到着したのが、ちょうどお昼過ぎでしたのでここで各自お昼休憩を取ります。

タピオカミルク(約140円)を飲みにいったり、ホテル近くのお店で謎のちまき & 麺(2つで約260円)を食べたりと、台湾1発目のフリーな時間を過ごします。
台湾だとちょっとした食べ物、飲み物なんかはだいたい30〜60元がほとんどで、日本円では110〜220円くらいの値段なので非常に安いです。

 

帰社日 in 台湾

その後、宿泊先のホテルにて毎月定例の帰社日を行いました。
今月はちょうど帰社日と社員旅行が被っていたため、海外での初帰社日となります!
いつものオフィスではなく、しかも海外ということもあって少し雰囲気が違います。

10周年目ということもあり、これまでのユニトラストをスライドで振り返りました。
スライドの中には創業準備ための備品設備の購入リストや、10畳ほどのアパートオフィスの写真や、仕事終わりによく飲みに行っていた居酒屋の写真、現オフィスの改装中の写真などがあり、今までのユニトラストを作ってきた数々のシーンや、大きくなってきた過程を見る事ができました。

 

昔の社内イベントの写真の中には社長や先輩方の若い時の姿があり、10年間という時間がしっかり流れて、人も会社も大きく成長してきたことを改めて実感できます。
また次の大きな節目で振り返る時には、さらに会社が成長できているように頑張りたいですね!
そしてまた海外旅行したい!笑

 

懇親会 in 台湾

帰社日後はお待ちかねの懇親会です!
ホテル内のVIP会場にみなさん続々と集まってきます!

 

みなさん集まったら、台湾ビールで社員旅行1日目の疲れを発散します!乾杯!!

 

始まると円卓にどんどん食べ切れないほどの料理が運ばれていきます!
いつもの懇親会であれば電車で帰宅ですが、今日は帰宅先が徒歩数分圏内にあるため、みなさん存分に楽しむことができたんじゃないでしょうか。
台湾旅行1日目お疲れ様でした!!

 

1日目を終えて

懇親会の後は解散となり、1日目の日程は終了です。
あとは最終日4日目のお昼までは完全オールフリーとなるため、懇親会後もまだまだ元気な人は二次会で外に繰り出したり、翌日の起床時間が早い人は就寝したりと、思い思いの時間となります。

2、3日目は、台湾お馴染みの有名観光スポットを回ったり、釣りに行ったり、猫村に行ったり、サイクリングをしたりと、みなさん様々なかたちで台湾を楽しんだみたいです。
では2日目からの台湾旅行記事に乞うご期待!!