2016年 11月 の投稿一覧

気になる高級な椅子の使い心地~ITアレルギーな私の技術部奮闘記~

こんにちは。
リンクバルの山本(♀)です。25歳です。

リンクバルの看板商品「街コン」のイベントプランナーでしたが、ひょんな事からリンクバルのシステム系の部署である技術部に異動となり、
今はシステム開発のディレクターになるべく修行中です。
「~入門」「初心者でも分かる~」が読めないぐらいITアレルギーな私のWEB部での奮闘をお楽しみください。

###いつもよりも良いものを使ってみると、たまにトラブる・・・。
いつもより少し値段が高いものを食べて、
胃もたれを起こした経験ありませんか。
例えばこんな感じ。
通常山本家ではだいたい200グラム700円(海外製)ぐらいの牛細切れを使用するのですが、
img_20161109_163246-2

たまーに200グラム1500円の和牛を食べると胃がこんな感じになって、気持ち悪くなる。
img_20161109_163255

これと同じ状況が牛肉だけではなく、色々なことに起こったりするんですよね。
結局普段から使い慣れていないものは、良いものでも使いこなせない。
今日はそんなお話。

###高級な椅子ってどんな椅子?
株式会社リンクバルでは、席で仕事をする時間が長いエンジニアやデザイナーは
少し高級な椅子が支給されています。
これ↓↓
img_20161125_130520

ちなみに通常の椅子はこれ↓↓
img_20161125_153034

高級な椅子、なんか凄そうじゃないですか。
※これからはこの椅子をエンジニア椅子と呼ぶこととします。
技術部に異動した当初、私もエンジニア椅子が支給されたのですが、
私エンジニア椅子が合わなくて結局普通の椅子に変えてもらいました。
なんか首のところが・・・こう、窮屈というか閉塞感というか。
とにかく良い感じがしなかったのです。
この椅子って本当にいいの?という疑問を勝手に抱き、
この場をかりてエンジニアにインタビューしてきました。

###エンジニアにインタビュー
インタビュー①:エンジニアY(♂)
img_20161109_162552

山本:「エンジニア椅子の使い心地はどうですか。」
エンジニアY(♂):「僕・・・あんまり合わないっすね。なんかこう、腰の辺りに違和感があります。」
ふむ。私と同じような意見である。

インタビュー②:エンジニアH(♂)
img_20161109_162711

山本:「エンジニア椅子の使い心地はどうですか。」
エンジニアH(♂):「凄くいいですよ!とても使いやすいです。かなり気に入っています。」
ん?どういうことだ。
エンジニアH(♂):「これ自分の体に合わせて調整できるんですよ。しかもかなり微調整も可能です。
最初は面倒ですが、一回調整しちゃえばかなり快適に仕事できます。」

###結局・・・。
ふむ。なるほど。エンジニア椅子は自分の体に合わせて調整する椅子だったのか。
面倒くさがらず調整する、それを成し遂げた者にのみ、快適が訪れる椅子でした。
そんなこんなで、私も自分に合わせて調整してみた。
img_20161125_155420
なんだか優雅な気分になりますね~。

こんな株式会社リンクバルで
一緒に働くエンジニアを募集中です!
新しい事にチャレンジしたい、もっともっと成長したい、そんな
フロンティアスピリットをお持ちの方が生き生きと働ける会社です。
詳細はコチラ

最後まで読んでくださり、ありがとうございました。

Elasticsearchで簡単な検索をしてみる

リンクバルの井上です。
システムのデータの規模が大きくなるにつれて必ず問題になるのが検索パフォーマンスかと思います。
今回はその改善で利用されるLuceneベースの全文検索・解析ができるElasticsearchで簡単なユーザ検索をしてみます

##ElasticSearchとは?
Elastic社提供のLuceneベースのマルチテナント・スキーマレスで
クラウドに最適化されたサーチエンジンサーバー

##ElasticSearchの導入メリット
・全文検索が高速
・導入しやすい
・プラグインが豊富
・RESTfulAPI
・データの可視化が簡単(Kibanaの導入)

##ElasticSearchを入れる

###Javaのinstall

[code lang=text] brew install java
[/code]

###ElasticsSearchのinstall
今回は最新の5.0ではなく2系を使います
brew install homebrew/versions/elasticsearch24

###kibanaのinstall
ElasticSearchにversionを合わせないとエラー起こるのversion指定してinstall

[code lang=text] brew install homebrew/versions/kibana44
[/code]

###kibanaのplugin Senseをinstall

[code lang=text] /usr/local/opt/kibana44/bin/kibana plugin –install elastic/sense
[/code]

###Elasticsearchの起動

[code lang=text] /usr/local/bin/elasticsearch
[/code]

port 9200で起動されるので下記でアクセスできます
http://localhost:9200

###kibanaの起動

[code lang=text] /usr/local/bin/kibana
[/code]

こちらはport5602で起動します
http://localhost:5601

##検索機能を使う

###indexの作成
kibanaのSenseでsample_indexという名のindexを作成します。
““POST sample_index
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-29-12-06-07

###mappingの作成

[code lang=text] PUT http://localhost:9200/sample_index/_mapping/user
{
"user" : {
"properties" : {
"name" : {"type" : "string" },
"message" : {"type" : "string"}
}
}
}
[/code]

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-25-15-43-54

####データの登録
““POST http://localhost:9200/sample_index/user
{
“name”: “user”,
“message”: “user_message”

}
““
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-25-15-43-54

####検索してみる

[code lang=text] GET http://localhost:9200/sample_index/_search?pretty=true
{
"query" : {
"simple_query_string": {
"fields": ["name"],
"query": "test1"
}
}
}
[/code]

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-25-15-57-16

ユーザの検索ができました!
次回はkuromojiを使った日本語全文検索をやりたいと思います
リンクバルではエンジニアを積極募集中です。興味のある方は、こちらまでご応募ください。もちろん、社内の人間と面識があるのでしたら、直接にご連絡いただいてもかまいません。

私が愛してやまないWordPressスターターテーマ「Underscores」

WordPressに詳しい人には、今更すぎる内容です

最近WordPressのテーマを1から作る案件が多いのですが、WordPress経験がなさすぎて苦労しております。
とりあえず「スターターテーマ」と呼ばれるものをベースに作成するですが、これも様々なテーマがあって迷いました。
これまでに、以下のテーマが候補に上がりました。

Bones

bones

http://themble.com/bones/

ググってみたところかなり有名とのことで上記サイトにアクセスしましたが、目に飛び込んできた骸骨のイラストが気に入らない為不採用となりました。

Sage

sage

https://roots.io/sage/

こちらもWebサイトを見てみると、gulpのセットアップ済みでデザインもスッカラカンなのは嬉しいですが
Docsを見ると、インストール方法が無駄にSUTAIRISSHUだった為、今回はお見送りとさせていただきました。
私は情弱なので、zipをアップロードしてボタン押すだけじゃないと嫌です。あとBootstrapは使わない予定(多分)なので却下です。

JointsWP

jointswp1

http://jointswp.com/

Sageと同様のイケてる雰囲気を醸し出しておりますが、導入方法はもっとシンプルです。

しかし
jointswp2
今はそういうのはいらないので、そっとブラウザを閉じました。

Underscores

underscores

http://underscores.me/

こちらもかなりメジャーなテーマのようです。レイアウトも何もない真っ白です。
といってもSassのディレクトリ構造はなかなか気が利いており、便利クラスやミックスインも取り揃えています。
そして余計なものは一切入っていないので、かえってやりやすいです。


結局、Underscores + gulp + Bourbon(Neat)でいくことにしました。
結局面倒になって、Bootstrapさんのお世話になる予感がしなくもありませんが…

<

p style=”padding: 4em 0; text-align: center;”>クリック!株式会社リンクバルでは一緒に働くエンジニアを募集中です!クリック!

Google Wifiについて

前回に引き続きWifiネタになってしまいますが、今回はGoogle Wifiについて書きたいと思います。
先日Google社がwifiルータを発表しました。
その名もGoogle Wifi(そのまんまですね・・・。)

一般的なWifiルータと同様の使い方はもちろん可能ですが、
現状普及している機器にはないさまざまな機能が搭載されています。

###802.11s ワイヤレスメッシュネットワークについて
前回の記事では出てこなかった規格になりますが、
そもそも802.11sとはなんぞや?というところを記述します。

端的にいいますと、複数のアクセスポイント(Wifiルータ)を設置し、メッシュ状に各アクセスポイント間を結ぶことで電波のカバー範囲を強化するという技術になります。
たとえば、広いオフィスのどこにいても同じアクセスポイント設定でLANへの接続が可能となります。

###Network Assist機能について
複数設置を行うことで快適なWifi環境を構築できることは前述のとおりですが、単体設置であっても最適化を行う機能が搭載されています。
それがNetwork Assist機能です。
Wifiルータの設定を行ったことがある人は見たことがあるかと思われますが、Wifiにはチャンネルという概念があり、規格ごとに複数のチャンネルが割り当てられています。
複数あるチャンネルの中から最適なチャンネルを自動で選択し、速度低下を防止する仕組みとしてこのNetwork Assist機能が搭載されているそうです。

###最後に
発表を見た限りですが、さすがGoogle社が出す製品で先鋭的!と感じました。
あとは気になる価格と発売日ですが、米国ではすでに予約が始まっており1台129ドル、3台セットで299ドルとのことです。
日本向けの展開が待ち遠しい限りです。

リンクバルはいろいろな技術を習得する機会に恵まれています。
今までの経験をベースにさらに新しいことにチャレンジしたい方、ぜひ応募お願いします。
採用情報はコチラ

【11/25開催】Ruby on Rails初心者ハンズオン#2~ToDoアプリを作ってみよう!~ フォローアップ

こんにちは、リンクバル 技術部 エンジニアの中村です。

弊社主催の2016/11/25(金)「【11/25開催】Ruby on Rails初心者ハンズオン#2~ToDoアプリを作ってみよう!~」のフォローアップを掲載いたします。

「Ruby on Rails初心者ハンズオン」の続編の勉強会として、「タスク管理アプリ」の開発を通して、Ruby on Railsを学習します。

シンプルなアプリケーションですが、Ruby on Railsを始めて学ぶ上で、役立つエッセンスがたくさん詰まっています。

募集要項

https://linkbal.connpass.com/event/44224/

機能一覧

  • タスクの一覧表示
  • タスクの新規追加
  • タスクの編集
  • タスクの削除
  • タスクの完了チェック

スライド

完成版のソースコード

後で、復習ができるように、ソースコードを共有いたします。

https://github.com/ynakayu/todoapp

開発環境構築

今回は、ブラウザのみで、プログラム開発ができる、クラウドIDE「Codeanywhere」の、無料プランを利用します。

https://codeanywhere.com/

多くのユーザーに利用されている

02_codeanywhere_%e5%88%a9%e7%94%a8%e8%80%85%e6%95%b0

※前回の勉強会で使用した、nitros.io はサービス終了。AWSに買収されて今後が期待されるCloud9 は、クレジットカード登録が必須となったため、今回は利用しません。

トップ

サービスサイトへ遷移

https://codeanywhere.com/
※ Google Chromeの利用を推奨します。

01_codeanywhere_top

「Sign up for free」をクリック。

登録情報入力

03_codeanywhere_%e7%99%bb%e9%8c%b2%e6%83%85%e5%a0%b1%e5%85%a5%e5%8a%9b

  1. メールアドレス
  2. パスワード
  3. 私はロボットではありませんをチェック
  4. Register をクリック

Welcome

04_codeanywhere_welcome

here をクリック。

コンテナの作成

05_codeanywhere_container

  1. Container を選択
  2. Name: Techlink
  3. Search : ruby
  4. Ruby CentOS 6.5 を選択
  5. CREATE をクリック

06_codeanywhere_create_container

IDEのレイアウトを使いやすいように変更しておくと便利

07_codeanywhere_%e3%83%ac%e3%82%a4%e3%82%a2%e3%82%a6%e3%83%88

View > Layout > Split Horizontal

IDEの説明

08_codeanywhere_ide%e8%aa%ac%e6%98%8e

おわりに

Ruby on Rails の基礎を学ぶ上で、基礎となる要素が含まれた、TODOアプリの開発を勉強しました。Ruby on Rails で開発する上きっかけになればと思っております。

リンクバルでは、テクノロージーと人を繋ぐ勉強会テックリンクを今後も開催予定です。勉強会で取り上げて欲しいテーマなどありましたら、アンケートにご記載くださいませ。

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

DigitalOceanを使う5つのメリット

DigitalOcean

リンクバル技術部の川畑です。最近というより1・2年前から海外で流行っているVPS DigitalOcean についてまとめました。IaaS界の巨塔 AWS と比較して良いところを5つか列挙させて頂きます。

コストが安い!

  • DigitalOceanは1番下のスペックのDroplets(AWSのEC2インスタンスみたいなの)で比較した場合、1時間あたり $0.007 1月あたり $5になります。
  • AWSの1番下のスペックのEC2インスタンスだと、t2.nanoが1時間あたり $0.01 1月でEBS 8GBで起動すると $14.64になります。

続きを読む

【WordPress】固定ページで親子関係を探る

こんにちは!社会人2年目エンジニアの関です!
先日WordPressの開発を行っていたとき、私はあることに気づきました。

「固定ページには親子関係を判定するための関数がない・・・だと・・・!」

そう。私の大好きな「cat_is_ancestor_of」のような関数が、固定ページの場合だとWordPressデフォルトで備わっていなかったのです。
そこで今回は、固定ページの親子関係を判定するための関数を作っていきたいと思います。

固定ページでの親子関係の作り方
WordPressデフォルトの機能として、以前ご紹介したカテゴリー同士での親子関係付けの他に、固定ページでの親子関係付けを行う機能も備わっています。
設定方法はカテゴリのときと同じく、とっても簡単な2ステップのみです。

続きを読む

カスタマーサポートツール「HelpScout」を使ってみた

HelpScoutの導入

つい先日、社内のプロジェクトでサイトをローンチした際に、社内全体からたくさんの問い合わせを受けることがありました。

その時に導入したのが「HelpScout」というカスタマーサポートツールです。
https://www.helpscout.net/

2週間くらい無料で使えたので試しに試験導入しました。

良かったところ

このツールは、特定のメールアドレス宛にメールを送るとHelpScout上で問い合わせの管理を行うことができます。
今までこう言ったツールは使ったことがなかったのですが、実際に使ってみると、問い合わせがメールに埋もれることなく管理することができました。

_9__assigned_-_help_scout

各問い合わせに対して優先度付けをしたラベル(low、high、doing等)を貼ることで、状態管理も見やすいことも利点だったと思います。

気になったところ

やや使いづらいところとしては、メーラー上でメールを返信するとHelpScout上に新しい問い合わせとして起票されてしまうことや、HelpScout上で返信したメールをメーラーで見ると返信したメールが見れなかったところだったと思います。

ステータスを「Close」にした問い合わせの返信があった場合、「Open」に自動で変更される機能も面白かったと思いました。
例を上げると、「ありがとうございました。」というメールが来ると新しい問い合わせとして再Openします。

おわりに

簡単に導入することが出来る、使い勝手も良く、現在も使っているHelpScoutのご紹介でした。
カスタマーサポートツールを使ったことのない方や、少し使ってみようと思われた方は、導入も簡単ですので一度使ってみるのも良いかも知れません。

リンクバルではエンジニアを募集していますので、ご応募お待ちしております。
採用ページはこちら