株式会社クイックのWebサービス開発blog

HAPPYなサービスプランナー・エンジニア・デザイナーのブログです。

クイック入社半年のエンジニアが感じたクイックのオフィス環境

こんにちわ!
SRE チームのインフラエンジニア、坂本と申します。

令和元年最後のブログです!

さて、もう今年も終わりということで
皆さんはこの記念すべき年にどんな思い出がありますでしょうか?

色んな出来事がありましたね〜(´ω`)


私、坂本はこのクイックという会社に令和元年に来たのが
一番大きな記念すべき出来事でした。

今まで色々な会社を巡りに巡り 10 社近く。
フリーランスも経験してきました。

そんな中、この令和元年にクイックと出会い
めでたく中途入社いたしました。 <おめでたいッ!!>

そんな入社して半年の私が思う・・・

クイックで働くオフィス環境ってすごッ!!!

と感じた部分を、エンジニア目線で (ここ重要!)
今年最後の ランキング形式 でお伝えしたいと思います!

みなさん、

『名前とか聞いたこと無いけどクイックってどんな会社なの??』

と思われると思います。
私自身、入社するまで同じ想いでした。


そんな同じような境遇のエンジニアの皆さんッ!
『エンジニアにとって働くオフィス環境とかどうでも良いよ!』
なんて思うかも知れません!

実はオフィス環境の快適さは生産性UPに繋がるのです!!!


これを見て、少しでも働くオフィス環境の重要性が伝われば嬉しいです!!
そしてクイックに興味を持って頂けたらこのブログを書いた意味もあり、
坂本が喜びます(笑)


はい、それではランキングに参りましょうか!
では、まず第5位!!!


第5位 オシャレで綺麗なオフィス環境


f:id:aimstogeek:20191227120420j:plain

私が入社前に見て、『よし、面接に行こう!』と決めたきっかけです!
その面接の時に記事の事を伝えて初めて知りましたが、
面接官である同じ SRE チームのインフラエンジニアの課長が書いた記事でした(笑)

aimstogeek.hatenablog.com


いやーまさかの出来事で驚きました!

オフィス環境が綺麗でお洒落だと心も身体も毎日弾みます♪
定期的にクリーンオフィスデーもあり、みんなで常に綺麗さを保ってる所もグッド👍


はい、続いて第4位!!!

第4位 充実している備品


f:id:aimstogeek:20191227120528j:plain

とにかく備品が充実しています!
ティッシュ、ウェットティッシュ、お薬、その他なんでも大概揃います!

そして、なにより書籍が充実している!!


同じフロア内には Webマーケター、メディア運営など
エンジニア以外の職種の方々も多くいるため、技術書やマネージメント本に加え
マーケット本、各種専門書籍や自己啓発本、ベストセラーのビジネス本など多くあり
申請して許可が下りれば会社で本を購入してもらえます!<すばらしいッ!!>

図書は専用の独自のツールがあり、そこから借りたり返却ができます!
UI がモダンでシンプルで使いやすいのが非常に良いです。

ちなみに今、坂本が借りていて気に入ってる本は
『話し方で 損する人 得する人』という本です。

こういったエンジニアの技術書ではない本も借りれるのも良い所です。



では、続いて第3位!!!

第3位 音楽が聴ける!


f:id:aimstogeek:20191227120610j:plain

もうコレは会社を選ぶ時のマストではないでしょうか!


最近では多くの会社で取り入れられていますが、これは大きい!

集中力や生産性が増します!
音楽が聴けるか聴けないかのポイントで環境を選ぶことは重要です!

坂本はたまにしか使用しませんが、使用できる環境かできないかの環境の違いだけで
仕事をしていて精神的に結構違うので、激しく重要性を主張したいです。



はい、続いて第2位!!!

第2位 椅子が素晴らしい!


f:id:aimstogeek:20191227120809j:plain
作業する環境の椅子が素晴らしいです!

エンジニアにとってパソコンの次に重要なのがこの椅子です。


椅子って結構見落としがちですが
エンジニアの場合、1日の大半をこの椅子の上で過ごし作業します。
日々の生活で寝ることと同様に仕事中はこの椅子が大変重要になってきます。

今まで坂本が経験した中では
20万円以上するアーロンチェアを導入している会社があり
アーロンチェアの快適さは大変素晴らしいものでした。

ただ、クイックにある椅子は頭と首までサポートされており
本当に疲れない、エンジニア向けの椅子となっており私はこちらの方が好きです。

こういったエンジニアの事を考えた細かい気配り、本当に素晴らしいです。



そして、第1位はッ!!!

第1位 作業用パソコン!!!!


f:id:aimstogeek:20191227121411j:plain
いやーこれは本当にビックリしました!!

こんな事、今どんな稼いでる会社でもなかなか無いです!

最新の Mac Book Pro の 16 インチのメモリ 32GB などカスタマイズした最高スペックを
作業用パソコンとして使用できるんですよ!!!奥さんっ!!

こんなの中々どの会社も選ばせてくれません!!!(笑)
ホントすごいです。。。ビックリしました。。。

私が CEO や偉い人だったら絶対 NG にしてます(笑)
同じようなスペックでコストカットして他にもっとコスト使え!って(笑)
ホント頭が上がりません。。。。すごい



最後に

はい! 以上がランキングでした!
いかがでしたか?

快適なオフィス環境で仕事してると、本当に生産性アップに繋がるんです!
そして、快適な職場環境を与えられている分
しっかり Value を出すことが求められます!

これから社会人になられる方、これから仕事をされる方、中途でお仕事をされる方
みなさん、会社を選ばれる際に『この会社ってどんなオフィス環境なんだろう?』
『働きやすいかなぁ?』と一度足を止めて、考えて頂けたら嬉しいです。

みなさんの快適なワークライフのお役に立てれば幸いです。
快適な職場環境でしっかり Value を出して気持ちよく仕事をしましょう!

またこの記事を読んで『クイックの働く環境いいなぁ!』など思って頂いたアナタ!
クイックでは一緒に働く仲間を歓迎しております!!
もし、少しでも気になって頂けましたら以下をご覧ください!想いが詰まってます!


今年もお疲れ様でした!!
また来年、お会いしましょう\(^o^)/
それでは良いお年を!!!



\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //

919.jp

【Docker Traefik】「URL Pathマッチングによる複数Webコンテナへの振り分け」実装

こんにちは。クイックSREチームのみっちーです。

突然ですが、みなさんは「Traefik」はご存知でしょうか。
TraefikはGo言語で書かれた軽量Edge Routerで、簡単にLoad Balancerとして利用できるのが大変魅力的ですね。
今回は、そのTraefikを利用して「URL Pathマッチングによる複数Webコンテナへの振り分け」をやってみました。docs.traefik.io

Traefikは公式ドキュメントも充実していて比較的扱いやすい印象がありますが、Pathマッチングによる振り分けの実装方法にちょっと癖があります。
記事も少なく初実装時にかなりハマってしまったので、同様にお困りの方の助けになれば幸いです。

今回の記事は、こんな人向けです。

  • Docker、Docker Compose は触ったことがある。
  • Traefikは知らない。もしくは、知ってるけど「URL Pathマッチングによる振り分け」がうまく行かない。

1. 下準備

今回は、TraefikコンテナWeb(apache)コンテナを利用します。
コンテナを利用するために、まずは「Docker」と「Docker-Compose」を準備しましょう。
※ 「Docker」 と 「Docker Compose」 は触ったことがある人を前提とするので、install方法はここでは割愛します。

準備ができたら次に進みます。

2. traefik.toml を書く

  • /etc/traefik/traefik.toml

Traefikコンテナを起動する前に、設定ファイルを準備しましょう。
こんな感じで、ほぼそのまま公式にあったものを流用して書いてみます。
logの出力有無などの細かいところは、必要に応じて適宜変更してください。

debug = true
logLevel = "DEBUG"

defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"

[web]
address = ":8080"

3. docker-compose.ymlを書く

今回の主題となる「URL Pathマッチングによる振り分け」の部分です。
構成は、テストなので「 Traefik & Web(Apache2.4系)×2台」の最小構成です。
※ 少々見ずらいですが、#で設定のポイントを書いてます。

version: '2'

services:
  proxy:
    image: traefik:latest
    command: --api --docker --docker.domain=traefik.local --logLevel=DEBUG
    container_name: test_proxy
    networks:
      - testnw
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
# 上記で作成したtraefik.toml を、コンテナ側の「/etc/traefik/traefik.toml 」にマウントします。
      - /home/vagrant/test/traefik.toml:/etc/traefik/traefik.toml  

  web01:
    image: httpd:2.4
    container_name: test_web01
    networks:
      - testnw
    expose:
      - "80"
    labels:
      - "traefik.port=80"
# アクセス用のドメイン名を記載。localhostで良ければ書かなくてもOKです。
# 振り分け条件を書かない場合は、「/」にマッチングします。
# 以下は、http://test919.domain.dayo/*  でのURLマッチング例(ただし、~/web02/*は、後続のweb02で設定している条件にマッチするので除外)
      - "traefik.frontend.rule=Host: test919.domain.dayo" 
# Pathマッチングの優先度。数字の高いものが優先的にマッチングします。
      - "traefik.frontend.priority=10"

  web02:
    image: httpd:2.4
    container_name: test_web02
    networks:
      - testnw
    expose:
      - "80"
    labels:
      - "traefik.port=80"
# アクセス用ドメイン名の指定に続いて、「PathPrefix: /{prefix:マッチング文字列}{any_任意の文字列:(/.*)?$$}」 でマッチング構文が書けます。 
# 以下は、http://test919.domain.dayo/web02/* でのURLマッチング例。
      - "traefik.frontend.rule=Host: test919.domain.dayo; PathPrefix: /{prefix:web02}{any_web02:(/.*)?$$}" 
# Pathマッチングの優先度はweb01より高くします。低くすると、「/」 でマッチングするweb01へすべて流れてしまいます。
      - "traefik.frontend.priority=20"

networks:
  testnw:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "false"

4. コンテナを起動してアクセスしてみる

起動してアクセスしてみましょう。

# docker-compose -f /home/vagrant/test/docker-compose.yml up -d
[vagrant@localhost test]$ curl -H 'Host:test919.domain.dayo' http://localhost/index.html
web01

[vagrant@localhost test]$ curl -H 'Host:test919.domain.dayo' http://localhost/web02/index.html
web02

※ 今回はテストのため事前に、web01のindex.htmlに「web01」と、web02では~/web02/index.html に「web02」と記載して保存してあります。

こんな感じでうまく振り分けられましたね。

いかがでしたか?少々癖のあるTraefikのURL Pathマッチングですが、うまく使えれば手軽にAWSのApplication Load Balancerのようなことができるのがいいですね。

もし気になる設定があれば、上記以外でもコメントいただければ幸いです。
可能な範囲で検証してみようと思います。


\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //

919.jp

【図解】JavaScriptのHidden Classのまとめ

初めまして!エンジニアの🍣🍶です。

ユーザの体験を悪くしないために待ち時間を短くすることも重要ですよね!
なのでJavaScript(以下JS)が実行速度をあげている仕組みの一つであるHidden Classを簡単にまとめてみました!

Hidden Classが必要な理由は??

Javaなどの静的型付き言語では、オブジェクト構造は定義された後は変更できません。
なのでコンパイル時にオブジェクトのレイアウトを決定できます。
そのため、オブジェクトのプロパティ値は一度の参照で取得できます。

class Point {
  int x;
  int y;
  double z;
}
Pointのインスタンスだよー
x - 4byte
y - 4byte
z - 8byte

しかしJSは動的型付け言語です。
なので変数の型は実行時に決まりますし、オブジェクトにプロパティを追加したり削除したりも簡単にできます。
そのせいで、エンジンはオブジェクト内のプロパティの値のメモリアドレスを決定するのが難しいです。

考えられる手法としてはhash tableがあります。
とてもザックリ説明するとkeyをhash化してそれを添字に値を格納する配列です。 その弱点として毎回hash関数を実行することになります。

大部分がobjectで構成されるJSではこれは大きな問題です。

なのでHidden Classと呼ばれる物を使ってより高速にアクセスできる手法を取っています!
(ここではHidden Classと呼びますがSpiderMonkeyではShape、V8ではMapと呼ばれてたりします。)

全てのJSObjectはHidden classへの参照を持っていて、 Hidden Classはオブジェクトのプロパティのオフセットを保持しています。
そのためHidden Classによってそのプロパティがどこにあるのかわかるのです!

ここからはHidden ClassがどのようにJSObjectの変化とともに動くのか簡単に見ていきます!
(いろいろ省略して簡素化しています)

JSObjectの変化とHidden Classの関係

class Point {
    constructor(x) {
        this.x = x;
    }
}

const p1 = new Point(1);
`p1`に対してHidden Class1が作られました!
f:id:aimstogeek:20191121105011p:plain
p1.y = 2;
`p1`にプロパティ`y`を追加する
  1. Hidden Class1に参照しているObjectに`y`が追加された時にHidden Class2を参照するというメモが追加される
  2. `p1`が参照するのがHidden Class2に切り替わる
f:id:aimstogeek:20191121105016p:plain
p1.z = 3;
一個上と同じようなことが起きます!
f:id:aimstogeek:20191121105111p:plain
const p2 = new Point(2);
ここで新しいObjectを作ってみます。 `p1`を作成した時に作られたHidden Classを参照します!
f:id:aimstogeek:20191121105121p:plain
p2.z = 5;
今度はここで`y`より先に`z`を作ってみます! すると新しいHidden Classが作られました!
f:id:aimstogeek:20191121105133p:plain
p2.y = 7;
ここで`p2`に`y`を追加して`p1`と同じ形にしてみました。 ですがここでも新しいHidden Classが作られてしまいました。。。。
f:id:aimstogeek:20191121105141p:plain

これでプロパティを同じ順番で作ることの重要さが分かりましたね!

const p3 = new Point(3);
p3.z = 1;
p3.y = 1.1;
f:id:aimstogeek:20191121105149p:plain

今度はp3を作りp2と同じ順番でプロパティを追加しました!

ですが同じHidden Classを参照していません!

これは内部的な型の不一致が原因です。

p2.yには7を代入しました、これはSmi(Small integer)として扱われます、

しかしp3.yには1.1を代入しました、これはDouble型なのでSmiとして扱うことができません。。。

そのため新しいHidden Classが作られてしまうのです。

今回はプロパティを追加する順番は一緒だったので単に新しいHidden Classが作られたわけではなく

Hidden Class5にこれを使うのやめてHidden Class6を使ってねーと言うメモが追加されます。 なのでこの後に

p2.x = 1;

こういったコードを実行するとp2がHidden Class6を参照するようになります!

Hidden Classが一致しないとどのような問題があるの?

単純にHidden Class分のObjectが無駄に出来ていくという点があります。 大したことなさそうですね!

問題はインラインキャッシュやJITの前提になっていることです。

const f = (point) => point.x + point.y + point.z;

こんな関数があったとします。 これが実行された時JIT(Just In Time Compiler)という機能が動きます。 これは何をするかというと型を基準に、より早いコードに内部的に変換してくれる機能です。

f(p1);

ここでこの関数はp1の Hidden Classの変数が渡されるんだ! と解釈して、それを元により速く動くように変換します。

f(p2);

しかしこのように違うHidden Classの変数を渡してしまうと あれ?なんか違うのが来た!とより速く動くように変換した物を元に戻してしまいます。

まとめ

JSのObjectは基本的にはhash tableじゃないよ!

ちょっとだけJSの気持ちを考えて プロパティの宣言の順序を気にしたり、 内部の型を意識したらちょっと速くなるかも!!

しかも型を意識することはコードの読みやすさにもつながるので一石二鳥!

TypeScriptはいいぞー


\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //

919.jp

【インタビュー】クイック式ユーザーファーストとは?新人が聞いてきた

はじめまして。サービスプランナーのすけざねです。

4月に入社した新卒1年目なのに、ランチを食べていただけで「大御所感がすごい」と言われて泣いています。今回はそんな大御所ひよっこ新人が、先輩たちからユーザーファーストについて教えてもらいました!

真のユーザーファーストでマーケットを創造する

これはWeb事業企画開発室のビジョンで、私自身とっても好きなのですが、何かすごいことをやらないといけない気がして「困難すぎでは?(泣)」という気持ちに襲われます。

「真のユーザーファースト」とユーザーファーストは何が違っていて、どうしたら実現できるのでしょうか。

1. あるエンジニアの場合

はじめに、中途入社3年目でクイックのスクラムマスターことフルーツパーラーさんに話を聞きました。先輩たちのかっこよさを知ってほしかったので、ひとり語り風でお届けします。

f:id:aimstogeek:20191114212416p:plain

本当のユーザーは誰か?を考える

ユーザーファーストというからには、まずユーザーとは誰を指すのかを考えたいです。

私が開発しているのは、社内のコンサルタント(営業)が使うもので、システム利用者は彼らです。 ユーザーと言われて一番最初に頭に浮かぶのは、コンサルタント

ですが、彼らが価値を届けたい相手は誰か。それはクライアントや転職を考えている方々です。 我々開発サイドもそこまで視野を広げることが大事だと思っています。

転職したい方のことまで考えられるか、そして必要なタイミングで必要な情報が届けられるかが「真のユーザーファースト」ではないでしょうか。

「本当に価値を届けるべき相手は誰なのか」を見失わずにやっていきたいですね。

作るのが仕事ではない

エンジニアなら、やってみたいことはたくさんありますよね。例えば、最新技術を使ってみたいとか。

やりたいことがあるのは素晴らしいと思っているので、それを「ユーザーのためになるのか」、「自己満足になっていないか」という視点から捉え直しています。 やりたいことにユーザーが喜ぶものがあればやるし、なければやりません。

モノを作るのが仕事ではなく、ユーザーを満足させて事業を成長させることこそが存在価値だと思っているので。

もっともっとユーザーのために

もちろん今もユーザーのことを考えて仕事をしています。

でも、全然足りてないです。ユーザーのためにやりたい事がたくさんあるし、もっとやれる、そう感じています。

2. あるプランナーの場合

続いては、新卒入社3年目のプランナー、mkさんです。看護師向けシフト共有アプリ、ナスカレディレクションを行っている先輩に語ってもらいます。

f:id:aimstogeek:20191114211555p:plain

目の前のユーザー、さらにその先

「ユーザーにとっていいね」を大切にするのがユーザーファーストだけど、それって逆にユーザーの対象を狭めてしまう可能性もあると思ってて。

今は手が届いていない人たちやユーザーが暮らす社会に何があったらいいのかまでを考えながら、ユーザーのためにサービスをつくる。それが「真のユーザーファースト」なのかなと思っています。

ユーザーファーストという言葉に甘えないようにしたいですね。

サービスに嫌悪感をもつ人のことまで考える

一人ひとり求めることが違うので、その全ての人が満足する機能を作ることってとても難しいです。 その中で、今回はこの人たちのことを目いっぱい考える、と決めることが大事だと考えています。

ただ特定のユーザにとっていくら良いものだとしても、嫌だと思う人も同時に同じだけ生んでしまっては意味がないですよね。

どのような時にそう感じる可能性があるのか、その人達になにかできることはないのかを考えて、サービスに落とし込むようにしています。

考えて、考え続ける

いまユーザーファーストが完璧にできている、とは言えないし正解がないので、できていると言える日は来ないかもしれないけど、できていると言えるよう、考えて考えて、考え続けることが大事なのだと思っています。

3. あるシニアマネージャーの場合

最後に、シニアマネージャーのnakayanさんです。大トリを飾ってもらいましょう。

f:id:aimstogeek:20191114211922p:plain

サービスを提供する上での必然

ユーザーファーストは信念でもあるけど、手段だとも思っています。 世の中にサービスを提供する時には、喜んでもらわないと意味がなくて、喜んでもらうために「本当にユーザーにとって良いのか」を考えるので。

長く継続するサービスはユーザーが何を求めてるかを必ず捉えていますよね。これまで複数の新規事業を立ち上げた経験からも思います。 それから自分たちが作ったものはメンバーが誇れるものであってほしいです。

つまり、ユーザーファーストはサービスを提供する上での必然、ですね。

ユーザーファーストとビジネスを両立させる

メンバーのみんなは、議論するときに「それは本当にユーザーのためなのか」を考えてくれているし、私自身が事業や利益のことばかり考えてしまっていたら「ユーザーのこと無視してますよね」と言ってくれるだろうという信頼があります。

とはいえビジネスである以上、売上利益を犠牲にしても良いとは思っていないので、両者がマッチする部分を探してサービスにすることが必須です。

おそらく満足することは、一生ない

日常的にメンバー全員が言い続けていて、当たり前に会話に盛り込まれているのは良い状態だなと思っています。

できている部分もあれば、できていないところもまだまだいっぱいあるのが現状だと思うので、一人ひとりが「真のユーザーファースト」を意識し続けていくことが、これまでも、これからも大事なのかなと。

これはたしかに不可能に近いことなのかもしれないけど、100%にできるように頑張っていきたい。ただ、こういう状態になったら100%だね!と言えるものはないし、そうなっていたとしてもおそらく満足することは一生ない。そう思います。

まとめ

エンジニア、プランナー、シニアマネージャーと立場も職種も違う先輩たちに話を聞いてきましたが、いかがでしたでしょうか。

わたしは表現の差こそあれ、同じ思いを持ってるように感じました。本質をいつも追い求めて、それを諦めない。そういう姿勢、そのやり方すべて盗んでいきたいなと思います。

そしていつか「真のユーザーファースト」を語れる大御所に!


\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //

919.jp

疲れにくい体づくりでパフォーマンス向上を!

はじめまして。データプランナーのありんこです。
社内のデータ活用を進めることをミッションに邁進しつつ、
プライベートではアマチュアダンサーとして活動しています。

皆さんは日々忙しく過ごす中で、自分の姿勢や体の状態を気にすることはありますか? 座っている時間が長くなりがちなエンジニアさん達の中には、
姿勢の悪さや肩こり・腰痛に悩まされている方も多いのではないでしょうか。
クイックでも、腰が痛くて…姿勢が悪くて…という苦しみの声をちらほら耳にします。

f:id:aimstogeek:20191105170553p:plain

やたらと「ダンスやっているから姿勢がいいね~」なんて言われることが多い私ですが
実は社会人になりたてで運動も何もしていなかった頃、
デスクワークで凝り固まった体にめちゃくちゃ苦しめられていました。
元々学生の頃からダンス漬けの生活が影響して、
椎間板ヘルニアにギックリ腰等一通りの腰まわりの痛みは経験済み…
動かなくなったせいで悪化し、さらには肩凝りからくる頭痛にまで悩まされる日々……
とても20代とは思えない体のせいで疲れも取れず仕事にも集中しにくい状態でした。

今回は、そんな状態から抜け出して疲れにくい体を手に入れるために私が意識してきたことをご紹介しようと思います。


普段の姿勢を見直そう!

背もたれにがっつり寄りかかる姿勢は楽なような気がしますが、
体重が全て腰とお尻にかかってしまって痛める原因です。
足を組むのも片方に体重の負荷が集中してしまって良くないです。
理想的なのは、腰・お尻・太ももに体重が分散できる状態です。

ポイントは3つ

  • 足の裏が床に付いて、膝が90度に曲がる高さに椅子を調整する

  • 骨盤を座面に対して垂直になるように立てる

  • PCの高さを目線に合わせる

この時に、姿勢を良くしようとして胸を張るのはNGです。
腰がお腹側に折れて、いわゆる反り腰の状態になって痛めやすくなりますし、
肩にも力が入ってしまいます。
力まずにリラックスした状態を作りましょう。
私は骨盤を立てた後、少し腰を後ろに膨らますようなイメージで座るようにしています。

croissant-online.jp


体幹を鍛えよう!

姿勢が崩れやすい原因は、体幹の弱さもあります。
働きはじめて運動する習慣を作りにくくなると、自然と体幹も落ちてしまうもの。。

王道ですが、スクワットやプランクは効果的かつ短い時間でできるのでオススメです。
お風呂前などにほんの少し時間を作るようにするだけでもかなり違ってくるので、忙しい方でも習慣にしやすいと思います。
逆に長時間やろうとしても、体勢が崩れて痛める原因に。無理は禁物です!

もしガッツリ体を動かしたい!と思っている方がいたら、あわせてランニング等もいかがでしょう?
サービスプランナーのまーさんがランニングの魅力について書いてくださっているので、こちらも是非読んでみてください!

aimstogeek.hatenablog.com


時にはお金をかけたケアも必要!

自分の体のことなので、体の張りや痛みが強いときは整骨院等でしっかりケアをしてください。
痛み止めや湿布で一時的に痛みを抑えることができても、
凝り固まった状態を治すわけではないので根本的な解決にはなりません。

また、専門の方に診てもらうことで、
自分の姿勢の癖や痛めやすい原因を知ることができ、改善の糸口を見つけることにも繋がります。

民間資格の整体等よりも、柔整師やあはき師等の国家資格を持っている方がやっている整骨院鍼灸院が良いと思います。
個人的には鍼治療が一番効果も持続性も高いです。
(最初は怖かったですが、痛みはありません!むしろ最近は鍼が入ってくる圧迫感が心地よい……)


セルフケアで良い状態を持続!

お金をかけてしっかり体をほぐしたり、良い姿勢を意識したりしても、
長時間座りっぱなしのデスクワークを続けると、どうしても筋膜の癒着が起きて凝り固まった状態に戻ってしまいます。

せっかく整えてもすぐ悪い状態に戻ってしまったらあまり意味がないですよね…
「筋膜リリース」なんて言葉も最近流行ってはいますが、できるだけ良い状態を保つためにはセルフケアは必須です!
むしろこれが一番大事!!!
寝る前にマッサージ+ストレッチをすれば、快適な睡眠も手に入れられますよ。
ただしやり方を間違えると逆に痛めてしまうこともあるので、まずは書籍等を参考にすることをオススメします。

私のセルフケア必需品はボールとフォームローラーです。どちらも全身に使えて万能!
特にボールは手軽に手に入るし持ち歩きやすいので、旅行等にも必ず持っていきます。
(私はソフトボールを愛用していますが、テニスボール等のほうが柔らかめで使いやすいかも…)
フォームローラーは最近種類も増えてきて、硬さも様々なものがあるので実際に使ってみて選ぶと良いと思います。

※動かせないほどの体の痛みがある場合は絶対にセルフケアはやらないでください。逆効果になる可能性大です!!

参考書籍↓↓
仕事中等にも気軽にできるものはこちら

3コマまんがですぐできる 10秒ゆるみストレッチ

3コマまんがですぐできる 10秒ゆるみストレッチ

ボールやフォームローラー等を使ったものはこちら

自分史上最高の柔軟性が手に入るストレッチ

自分史上最高の柔軟性が手に入るストレッチ


最後に

言葉にしてみると当たり前のことばかりですが、実践できている人は少ないのではないかな、と思います。
仕事だけではなく、何をするにも体は資本です!
まずは気付いたときに姿勢を意識してみる、体が疲れている時は寝る前にケアする時間を数分作ってみる、
くらいから始めてみてはいかがでしょうか。

私自身、いつも良い状態を保てるわけではないです。
無性に姿勢を崩したくなる時は、我慢せずに思いっきりダラーーーーーーッとします。
でもそれを継続しないこと、体の負荷を感じたらすぐにケア、の2つを意識したら
体の痛みに悩まされにくくなり、集中して仕事に向き合いやすくなりました。
偉そうに言っているけど、踊りすぎで痛めることが最近増えてきているのは内緒ですよっ…!(小声)

よかったら参考にしてみてくださいね。


\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //
919.jp

名言5選から学ぶ!健全メンタルの作り方

はじめまして!サービスプランナーのZ.O.Eです。
業務では主に新規事業の立ち上げや推進を行っています。

プランナーとして今まで様々な企画を立ち上げてきたのですが、
新規性が高いほど「一歩先すら見えない!どうしよう!!」という状況に陥ります。
そんな状況を乗り超える際、とても大事になってくるのが……そう!メンタルです!!!

メンタルの状態によってアウトプットの質は大きく変わるものです。
(楽しいことって、自分が楽しんでる状態じゃないと考えられないヨネ…!)

そこで今回は私がメンタルを健全に保つ材料にしている名言を、
ランキング形式でご紹介します!

第5位 錦織圭(テニス)

「勝てない相手はもういない」

2014年全米オープンでベスト4へ進出した際のインタビューで生まれた名言です。
上位選手への「憧れ」が「対等な存在」に変わった瞬間を象徴する言葉だと思います。

■ こんな時に役に立つ…! 企画を立てる際は競合サービスが存在することが多いです。
それでも冷静に分析して勝ち筋を見つける時などに、この言葉を思い出します!
気圧されたら、勝てる企画なんか出ない!と都度気付かされます。


メンタルスポーツと言われるテニスで活躍している錦織選手ならではの言葉ですね。
他の名言も是非参考にしてみてください!

motiv.top


第4位 宮本茂(ゲームクリエイター)

「アイデアというのは複数の問題を一気に解決するものである」

"マリオの生みの親"として知られる宮本氏のアイディア論として有名な名言です。
多くのクリエイターがこの言葉に影響を受けているのではないでしょうか。

■ こんな時に役に立つ…! 企画を立てる際に必ず意識している言葉です。
「複数の課題」を見定められるよう、様々なインプットを行うようになりました。
プランナーとしての心構えや行動にまで影響を及ぼしてくれた名言です!


宮本氏の言葉からはプランナーとして、クリエイターとして気付かされることが本当に多くあります。是非!

mkazoku.com


第3位 ウォルト・ディズニー (プロデュ―サー)

「夢を求め続ける勇気さえあれば、すべての夢は必ず実現できる」

世界的プロデュ―サーであり、生粋のエンターテイナーでもあるウォルト・ディズニー氏の数ある名言の中でも特に印象的な一言。「夢」を与えることを生業としていた彼の言葉だからこそ、心に刺さります…!

■ こんな時に役に立つ…! 上手くいかなかったり、困難に直面した際に思い出す名言です。
失敗した後に前を向く原動力となるメンタルを生み出してくれます!


ウォルト・ディズニー氏の言葉は、長期的な目標を追う時に必要なメンタルを作りだせます! 特に「夢」や「理想の自分」などを追っている方にオススメですよ!

motiv.top


第2位 イチロー(野球)

「秤(はかり)は自分の中にある。その秤を使いながら、自分の限界を見ながら、ちょっと超えていく。ということを繰り返していく」
「そうすると、いつの日か"こんな自分になっているんだ"っていう状態になって、だから少しずつの積み重ねが、それでしか自分を超えていけない」

イチロー選手が引退会見で記者から「自身の生き方でファンに伝えられたことは?」と問われた際の回答です。 自分の限界を超えるということを非常に上手く言語化されていて、感動したことを覚えています。

■ こんな時に役に立つ…! 成長を意識した行動や挑戦をする際のメンタルを醸成してくれる名言です。
少しだけ自分の限界を超える。それを積み重ねる。常に意識しています!


イチロー選手はとても言語化が上手い方です。個人的にはNo,1の名言製造人間ですので、 是非他の名言も参考にしてみてください。ビジネスシーンで役立つものばかりですよ!

motiv.top


第1位 葛城ミサト(ヱヴァンゲリヲン新劇場版)

「この世界はあなたの知らない面白い事で、満ち満ちているわよ。楽しみなさい」

ヱヴァンゲリヲン新劇場版・破」にて、生きることを達観しているアスカに対してミサトが 語り掛けた言葉です。セリフ自体は何気ないものだったのですが、 「希望」みたいなものが言語化された素晴らしい名言だと思います。

■ こんな時に役に立つ…! Z.O.Eが「座右の銘」としている言葉です。
仕事でもプライベートでも、行動指針とすることで日々を楽しく過ごせています!


栄えある第1位は実在の人物ではないですが…侮ることなかれ! 国民的アニメの中で大人の象徴として描かれたミサトさんの言葉はとても深いのです!

animemeigen.com


最後に

いかがだったでしょうか。
名言とは秀逸に言語化されたメソッドだと思っています。
積極的に取り入れることで健全なメンタルを作るきっかけを与えてくれるので、
名言の引き出しを増やしていくことをおすすめします!


今回紹介しきれなかった素晴らしい名言がまだまだありますので、
健全メンタルの材料集めに是非出掛けてみてくださいね!!


\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //
919.jp

SEOストラテジストとは|検索エンジン最適化のおしごと大解剖

はじめまして!SEOストラテジストのmuntahaです。SEOストラテジストとは、SEO検索エンジン最適化)に関する課題整理・戦略立案・施策策定などを担当する職種です。もともと編集者だった私は、突然この職に任命されて手探りながらもいろいろ取り組んできました。

時には、自分で上位表示を狙ったコンテンツを作ることもあります。例えば、私が書いたこちらの記事Google検索のターゲットキーワードを「体験入社」に設定し、検索結果で8ヶ月以上1位をキープしています。

ten-navi.com

サイトの運用課題ってどんなの?

サイト運用課題の例
サイト運用課題の例

SEOの目的はサイトのアクセスを増やすことであり、そのためにできることはなんでもする、という心構えで仕事に取り組んでいます。

ここでは、たくさんの記事を掲載するサイトを例として、解決すべきサイトの運用課題にはどのようなものがあるのかを解説します。

  • アクセスを増やす

まず、アクセスを増やすためには検索結果での上位表示により記事への検索流入を増やすことと記事本数を増やすことが必要です。

  • SEO・上位表示

上位表示を実現するためには、記事の質を高めることと検索順位への影響要因であるドメインパワーを上げることが重要です。

ドメインパワーを上げるためにはリンクを多く獲得することが必要です。そのための考え方やドメインパワーの調査方法については下記の本に詳しく書かれています。

現場のプロから学ぶ SEO技術バイブル(特典PDF付き)

現場のプロから学ぶ SEO技術バイブル(特典PDF付き)

  • 記事の質

記事の質に関する課題はエンゲージメント(滞在時間、離脱率、スクロール率など)の指標を向上させることとクリック率を向上させることに分けられます。

  • エンゲージメント向上

エンゲージメントを向上させるためには、画像の最適化過不足のない内容結論ファーストなど読みたくなる構成にすることが必要です。

  • クリック率向上

クリック率を向上させるためには、検索結果に表示されるタイトルや説明文を魅力的なものにしなければなりません。

タイトルと説明文
タイトルと説明文

  • 記事本数を増やす

記事の本数を増やすための課題は外注の生産数を増やすこと、記事一本あたりの作成にかかる手間を減らすこと、記事を編集する人の数を増やすことに分けられます。

  • 外注生産数増

外注の生産数(アップする本数)を増やすためには、社内の原稿チェックの負担が減るように記事作成フローを改善する必要があります。

  • 一本あたりの手間を減らす

記事一本あたりの作成にかかる手間を減らすためには、原稿に対するフィードバックを行うMTGの参加者および回数を減らすこと、記事作成をルール化して生産性を高めることが重要です。

  • 人員増

記事を編集する人の数を増やすためには、非常に労力がかかる「ターゲットキーワードを選定する作業」を外注することで、社内の多くの人が編集に集中することが可能になります。

以上のような課題について、解決策を提案して実行をサポートすることが、SEOストラテジストに求められる役割です。

検索アルゴリズムとの終わりなき戦い

検索エンジンアルゴリズム(算法)は発展途上であり、試行錯誤を繰り返しながら少しずつ前進しています。

自社のコンテンツが検索エンジンに高く評価され続けるためには、頻繁に行われる検索エンジンアルゴリズムの変更に対応し、発展段階に応じて戦略を変更し続ける必要があります。

現状を把握するために、検索エンジンから得られる大量のデータから法則性を見出し、統計的な手法で仮説を検証する作業は、高度な数理的思考が必要とされると感じています。

アルゴリズムという言葉は、聞き慣れない方も多いかと思いますが、近世アラビアの数学者アル=フワーリズミーの名前に由来し、問題を有限回の手続きで解く方法のことです。

良いアルゴリズムとは、なるべく少ない手順で正確な解に達する方法のことで、検索エンジンは労力をかけずに関連性の高い結果を返すことのできるアルゴリズムに支えられています。そしてそのアルゴリズムは、見えないところで変化し続けています。

私はこれからも予測が難しい検索エンジンアルゴリズムの変化に対して、的確かつ迅速に対応できるよう、日々邁進していきます。

そして、このブログを読んでくださる方に有益な情報を提供していきます。

それではまた次のブログでお会いしましょう!


\\一緒に『未来社会に挑戦する』仲間を募集中です!// 919.jp