【WordPress】これってご先祖様?家系図を読み解く便利関数


こんにちは!社会人2年目エンジニアの関です!
今回は、一見使い道がなさそうでめちゃくちゃ便利な「cat_is_ancestor_of」関数についてご紹介したいと思います。
(実はこの関数、私の好きなWordPress関数TOP5に入っていたり・・・)

カテゴリー同士で親子関係を作る
WordPressでは、デフォルトの機能としてカテゴリー同士に親子関係を作ることができます。
その設定方法はとっても簡単で、以下の2ステップのみです。

続きを読む


リンクバル新規サービス開発チームにおけるSlack活用事例

PC

リンクバルの新規サービス開発チームで、チャットツールのslackがどのように活用しているかを、技術部中村が紹介致します!

リンクバルの開発メンバーは、積極的に新しいツールの導入・検討を行い、開発効率のUPに勤めています。

Slackを導入してよかったこと

  • PJを成功させる上で一番重要なのは、コミュニケーションです。
  • 席が離れたメンバーや、オフサイトの開発パートナーとのやりとりを行う時に、Slackを使うと気軽に簡単に連絡が取れるので、コミュニケーションが活発になりました。
  • 各種Webサービスとの連携が容易なので、簡易的なシステム監視が簡単にできるのもメリットですね。
  • PJチーム内のコミュニケーションにemailを使うことが少なくなり(特にエンジニア同士は皆無
    )、結果、メールの誤配信も起こらなくなりました。

Slackを導入するときに気を付けたこと

  • 導入にネガティブなメンバーもいるので、まずは、お試しで導入してみましょうということで、やってみることが重要です。他のチャットサービスも使用していたのですが、開発者は翌日からSlackばかり使うようになりました!
  • 必要なチャンネルを整備して、ある程度投稿ガイドラインを設ける。
  • 導入時は特に、賑やかしが必要です。導入起案者は、自ら積極的に書き込んだり、書き込んだら誰かが突っ込んでくれるという場の雰囲気をつくることが重要ですね。
  • 運用フェーズで気を付けたこと。

  • チャンネル作成を個人の自由にしたことろ、トータルで40チャンネルくらいになってしまい、どのチャンネルをウォッチしたらよいか、分からないカオスな状態に。1ヶ月書き込みが無いチャンネルは基本はアーカイブするようにしています。
  • ビジネスサイドも巻き込んで使う。英語表記のアプリで抵抗を示すメンバーも居るのですが、レクチャーをして、使って貰えるようにすると、使用するコミュニケーションツールが減り便利です。
  • #general で専門的な話しが始まってログを埋めるような場合は、Share機能を使って、適切なチャンネルに誘導します。#generalは、基本的には脱退できないので、必要以上に専門的すぎる話しで埋まらないように気を付けています。
  • チャンネルの使い分けについて

  • よく利用するチャンネルの一部について、紹介致します!
  • 共通系

    #general

    挨拶、勤怠連絡、全体連絡を行うチャンネルです。
    オンサイト・オフサイト混在のチームだと、お互い本当に仕事をしているのか、不信感を持ちやすかったりすることもあるので、存在感をお互いにアピールするためにも挨拶は重要だと思います。

    #current_status

    制作チームのメンバーが、現在やっていること、やっことをつぶやくチャンネルです。
    オフサイトとオンサイトで、作業が被っていたことがあり、対策として導入しました。
    簡易的な日報もこのチャンネルに投稿します。

    #voice

    思いついたアイデアはここにつぶやきメンバーに共有します。これが、メールやチケットで共有する仕組みだと、ハードルが高く、あとで書こうとおもったときには、忘れてしまうことが多々あります。

    職種別

    #dev

    開発に関する内容を投稿します。エンジニア同士で技術的なことを議論する場合はこのチャンネルです。デザイナーも使います。

    #design

    UI/UXDに関する内容を投稿します。

    #biz

    ビジネスサイドに依頼をするときは、このチャンネルを使います。

    #infra

    インフラエンジニアに依頼をするときは、このチャンネルを使います。

    運用・監視

    #reports

    デイリーで新規会員数や、売上をシステムから投稿します。
    目的は日ごろから指標を大まかに把握して、異常値が投稿された時には、すぐに気づいて調査が行えるようにするためです。

    #alert

    システム異常が発生したときには、このチャンネルに通知されます。
    CloudWatch, PagerDuty, New Relicと連携していて、異常が起きたときに、すぐに気づけるようにしています。
    Slackは、各種サービスとの繋ぎ込みが簡単なところが、良いですね。

    #notifications

    各種Webサービスの更新通知を投稿します。
    githubやbacklog, トレロと連携すると、開発チームのおおよその動きがつかめるので便利です。
    通知が多過ぎても見なくなるので、どの程度通知するかは、試行錯誤が必要です。

    #logs

    定期実行バッチが止まっていたことを経験に、バッチの処理結果ログを流すようにしています。時々眺めて、Cron処理が止まっていないかを簡易的に把握します。

    おわりに

    リンクバルでは、自社サービスを一緒に開発するエンジニアを募集しております。興味がありましたら、ぜひお問い合わせください!


    開発プロジェクトで「Trello」を使ってみた!


    リンクバルの開発プロジェクトで使用している課題管理ツール「Trello(トレロ)」をご紹介したいと思います。

    Trelloを採用した理由
    開発プロジェクトが稼働し始めた当初、開発メンバー同士でまずは大きい機能単位の課題を洗い出し、テキストベースでGoogleDocに書き込んでいました。
    当初は課題を記入するのも簡単で全体像が見えやすかったのですが、開発が進んでいくにつれて課題が先延ばしになるものや完了していくものなど、GoogleDocでの管理では大変になってきました。
    そこで、課題をカードとして作成て優先度の高いカードはリストの上に配置するという運用をカード操作だけできる「Trello」を採用し現在も使っています。

    Trelloの使い方
    まず、ボード(Board)を作ります。ホワイトボードのような位置づけです。
    次に、リスト(List)を作ります。ホワイトボードに縦線を引いて枠を作ったイメージです。
    最後に、カード(Card)を作ります。ホワイトボードに付箋紙を貼るイメージです。
    ボード上に複数のリストを作って、そこにカードを入れて運用します。

    例えば、「やること」「着手中」「完了」というリストを作成したなら、
    「やること」リストにカードを追加し、着手したらカードを「着手中」に移動し、完了したら「完了」に移動する。

    このように操作することで、どんなやることが残っていて、今何をやっていて、何が終わったのかを一つのボードで管理するができます!

    運用ルールのピックアップ
    現在、開発プロジェクトで使っている「Trello」です。
    mj2trello

    Trelloを使い始めた当初は私がボード(Board)のリストに課題を追加していましたが、
    気づいた人が誰でも登録できる「新着」というリスト(List)がとても役に立っています。
    %e6%96%b0%e7%9d%80

    とにかくまずは「新着」リストにカードを登録する。
    いつ誰が対応するか、優先度付けを出来るだけ早めにカードを移動することで、
    やるべき課題のボリューム感、対応時期がビジュアルで分かるようになります。

    今後の課題
    「Trello」を使ってみて課題だと感じることは、開発プロジェクト開始当初と比べて細かい課題の登録が多く、さらに20人近く同じプロジェクトを使っていますので、カードがとても多い状況になるリストが存在したり、優先度付けの運用をしている時に量が多く、並び替えが大変だったりします。

    この辺りを改善するために、一部のリストは別プロジェクトに移動させて管理したりなどの工夫もされていますが、その反面、一つのボード(Board)で全体の課題を全メンバーが目視で確認できる利点もありますので、状況に応じて「Trello」の柔軟性の強みを活かして上手くやっていく必要があると感じています。

    つぶやき
    背景を単色ではなく「いい感じ」に変えてビジュアル的にも良くしていきたいな。


    現行世代と旧世代のインスタンス比較(性能&コスト)


    リンクバルでエンジニアをしている高島です。

    最近EC2上でApache Jmeterを利用しての負荷テストを実施していて、いろいろなインスタンスタイプ・サイズやOSで試したりしています。
    AWSではインスタンスタイプごとに現行世代と旧世代の2種類のインスタンスが選べますが、現行世代の方がベースの物理マシンも新しいため性能がよかったりします。

    ただ、マシン買い切りのオンプレミスとは異なり、時間単位でコストが掛かってくるAWSでは性能のよいインスタンスをとにかく投入するのではなくランニングコストも視野に入れて選定が必要となってきます。
    そこで、新旧で性能およびコストの比率をチェックしてみたいとおもいます。

    性能測定実施

    測定にはUnixBenchを利用してみました。
    まずはインストールです。

    実行に必要なパッケージを先に導入します。

    # yum install perl-Time-HiRes
    # yum install gcc
    

    公式からソースコードをダウンロードし、展開します。

    $ wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
    $ tar zxvf UnixBench5.1.3.tgz
    $ cd UnixBench
    

    実行するとコンパイルされた後に処理が開始されます。

    $ ./Run
    

    比較対象

    比較対象はvCPU数とメモリ容量をあわせたいので、c4.4xlargeとc3.4xlargeを選択しました。
    ともにvCPU数が16、メモリ容量が30GiBになります。

    性能比較

    c4.4xlarge c3.4xlarge c4/c3
    1vCPUのスコア 1950.3 1793.7 約108%
    16vCPUのスコア 8805.8 7753.3 約113%

    物理CPUが(c4インスタンス)E5-2666 v3 @ 2.90GHzと(C3インスンタンス)E5-2680 v2 @ 2.80GHzのため、CPU世代が進んでいてクロック差もあるため妥当な差だと思います。
    テストケースごとのスコアの掲載は省略していますが全体的にc4インスタンスが上回る結果となりました。

    コスト比較

    c4.4xlarge c3.4xlarge c4/c3
    $1.061/h $1.021/h 約104%

    c4インスタンスの方が上ですが、ほとんど気にならないレベルです。

    総括

    性能差に対して、コストの差が小さいため新しくインスタンスを選択する際には素直に現行世代インスタンスを選んだ方が無難だと思います。
    ただし、新しくリリースされたインスタンスについてはリリース直後は物理サーバの絶対数が少ないためか、オートスケールなどで起動できる台数が制限に引っかかってしまうことがあるようで、大型システムではそのあたりについて考慮する必要がありそうです。


    私が愛してやまない用途不明のFont Awesomeアイコン5選


    近頃Font Awesomeを利用することが多いです。
    適当なアイコンは無いかとリストを眺めていると、妙に心惹かれるアイコンを見かけます。
    でもそういうのに限って、ピクトグラムとしての使い道はなさそうです。
    そんな謎アイコンたちの中から、私のお気に入り5つをご紹介という誰得エントリーでございます。

    ※fa-○○というのは、HTML上でアイコンを指定するためのクラス名です。

    fa-fighter-jet(戦闘機)

    fa-fighter-jet

    使用するシーンは、あまり思い浮かびません。
    でも見た目はかっこいいです。そしてcssのクラス名もかっこいい。

    fa-space-shuttle(スペースシャトル)

    fa-space-shuttle

    何か宇宙的なコンテンツに使えるかもしれません。
    これと似ているfa-rocket(ロケット)は、より抽象的かつ可愛いデザインで好きなのですが
    今回は、より使いづらそうなこちらを選びました。

    fa-hand-spock-o(スポックの手)

    fa-spock-o

    『スタートレック』に出てくる、バルカン星人の挨拶で「長寿と繁栄を」という意味だそうです。
    日本では一般的に通用するものではありませんね。
    spockというのは登場人物のバルカン星人、ミスタースポックのことです。

    fa-bomb(爆弾)

    fa-bomb

    何かしら使い道がありそうだけど、私はまだその機会に恵まれておりません。
    見た目的には一番のお気に入りです。かわいいですね。

    fa-lemon-o(レモン)

    fa-lemon-o

    個人的には、これが一番意味不明です。
    なぜレモンなのか。よく見ると少し歪んだ形をしていることが分かります。
    サイズが小さすぎると、レモンの絵であることすら分かりづらいです。
    色を付ければもっとレモンっぽくなるのでしょうが、-oが付いている通り線画なので「塗り」がありません。


    以上になります。
    最後になりますが、私の好きなガリガリ君の味は「梨」です。
    ありがとうございました!