Sphereとともに

scalaとかplayframeworkとか。技術ブログにしたいなと。環境は Windows7x64, mac です。たまに声優さん情報が混ざります。最近ちょっとClojure触りました。

Applicant Tracking System (ATS) とは

個人メモ

ATSとは?

人材採用のための道具である。

経験や直感による採用はもう古い、人材採用に広がるデータ・ドリブンなアプローチ | TechCrunch Japan

なぜATSが必要か

企業によっては一日に幾つもの面談をして合計何百人という人たちを管理しなければならない。 そうなってくるとエクセルでやるのは少しツライものが出てくる。 そういう時に採用管理のツールが必要となる。(逆に言うとエクセルでまかなえるならわざわざ使う必要はないということ。)

採用に関して

日本の人口減少に歯止めがかからず、今後"優秀な"人材の確保は困難になってくる可能性が高い。 今までのように新卒一括採用で大量に取るだけではなく、中途採用で優秀な人材を獲得することが重要となるのではないだろうか。

人事の動向

人事は自分たちが会社を成長させるための重要な柱であることをキチンと認識して優秀な人材を積極的に取っていく必要がある。 しかし、人事も無闇矢鱈にやってもダメで、情報を整理・管理して数値化して最適な採用計画を立てて採用活動を進めていかなければならない。

海外のATS

www.softwareadvice.com

アメリカの傾向

人事とは会社を成長させるための採用というプロフェッショナルな技能を求められる職種であり、アメリカではリクルーターの育成に力を入れている。

www.works-i.com

http://www.works-i.com/pdf/r_140404.pdf

さいごに

仕事を自分で探すのではなく、リクルーターに探してもらう。 そんな風になるといいなぁ

How Google Works (ハウ・グーグル・ワークス)  ―私たちの働き方とマネジメント

How Google Works (ハウ・グーグル・ワークス) ―私たちの働き方とマネジメント

Redux ちょっとわかってきたこと

reducer と action の関係

actionはどういう挙動がありますよーっていう定義。 reducerはその定義に対して実際どういう動きしますよーっていう実際の処理を記述する。 だからreducerはstoreとactionを引数に受け取って新たなstateを返す関数となる。 (reducer と action が紐づく)

dispatch

Reduxではdispatchが既に定義されている。

Store | Redux

dispatchはstateを変更する唯一の方法である。 dispatchはactionを引数に取り、dispatch actionのオブジェクトを返す。

store と reducer の関係

ひとつの Redux application にストアは一つ。 createStoreという関数が定義されていて第一引数にreducerを受け取るようになっている。 createStoreを使用することでreducerとstoreを紐付ける事ができる。

createStore | Redux

Exampleにもあるように createStore で reducer の紐付いた store を定義し、store.dispatch で action の種類と値を渡してやることで reducer の処理が実施され store の内容が更新される。

fluxフレームワークreduxについてドキュメントを読んだメモ - fukajun - 僕はvimで行きます -

redux-form

gist.github.com

入門 React ―コンポーネントベースのWebフロントエンド開発

入門 React ―コンポーネントベースのWebフロントエンド開発

いけにえと雪のセツナ Original Soundtrack

いけにえと雪のセツナ Original Soundtrack

Redux Dispatching Function 超適当訳

Dispatching Function

A dispatching function (or simply dispatch function) is a function that accepts an action or an async action; it then may or may not dispatch one or more actions to the store.

ディスパッチング関数は action か 非同期 actionを受け入れる関数です。 それは、その後、またはストアに1つ以上のアクションをディスパッチしてもしなくてもよいです。(google翻訳

We must distinguish between dispatching functions in general and the base dispatch function provided by the store instance without any middleware.

一般的なディスパッチ関数とミドルウェアなしのストアインスタンスによって提供される基礎のディスパッチ関数と区別しなければならない。

The base dispatch function always synchronously sends an action to the store’s reducer, along with the previous state returned by the store, to calculate a new state. It expects actions to be plain objects ready to be consumed by the reducer.

基礎のディスパッチ関数はいつもアクションに同期的にストアのリデューサーにアクションを送信します。 ストアによって返される前の状態と共に、新しい状態を計算します。これは、アクションが減速によって消費されるプレーンなオブジェクトは準備ができていることを想定しています。

Middleware wraps the base dispatch function. It allows the dispatch function to handle async actions in addition to actions. Middleware may transform, delay, ignore, or otherwise interpret actions or async actions before passing them to the next middleware. See below for more information.

ミドルウェアは基礎のディスパッチ関数をラップします。 ディスパッチ関数は同期処理も非同期処理も行えます。 ミドルウェアは次のミドルウェアに渡す前に変換、遅延、無視、アクションを解釈、アクションを同期する。

入門 React ―コンポーネントベースのWebフロントエンド開発

入門 React ―コンポーネントベースのWebフロントエンド開発

Redux 超適当訳

Dispatching Function

A dispatching function (or simply dispatch function) is a function that accepts an action or an async action; it then may or may not dispatch one or more actions to the store.

ディスパッチング関数は action か 非同期 actionを受け入れる関数です。 それは、その後、またはストアに1つ以上のアクションをディスパッチしてもしなくてもよいです。(google翻訳

We must distinguish between dispatching functions in general and the base dispatch function provided by the store instance without any middleware.

一般的なディスパッチ関数とミドルウェアなしのストアインスタンスによって提供される基礎のディスパッチ関数と区別しなければならない。

The base dispatch function always synchronously sends an action to the store’s reducer, along with the previous state returned by the store, to calculate a new state. It expects actions to be plain objects ready to be consumed by the reducer.

基礎のディスパッチ関数はいつもアクションに同期的にストアのリデューサーにアクションを送信します。 ストアによって返される前の状態と共に、新しい状態を計算します。これは、アクションが減速によって消費されるプレーンなオブジェクトは準備ができていることを想定しています。

Middleware wraps the base dispatch function. It allows the dispatch function to handle async actions in addition to actions. Middleware may transform, delay, ignore, or otherwise interpret actions or async actions before passing them to the next middleware. See below for more information.

ミドルウェアは基礎のディスパッチ関数をラップします。 ディスパッチ関数は同期処理も非同期処理も行えます。 ミドルウェアは次のミドルウェアに渡す前に変換、遅延、無視、アクションを解釈、アクションを同期する。

入門 React ―コンポーネントベースのWebフロントエンド開発

入門 React ―コンポーネントベースのWebフロントエンド開発

Redux Reducer 超適当訳

Reducer

Glossary | Redux

A reducer (also called a reducing function) is a function that accepts an accumulation and a value and returns a new accumulation. They are used to reduce a collection of values down to a single value.

reducer とは 関数である。accumulationとvalueを受け取って、新しいaccumulationを返すものである。

valueの集合を一つのvalueにすることを手掛ける。

Reducers are not unique to Redux—they are a fundamental concept in functional programming. Even most non-functional languages, like JavaScript, have a built-in API for reducing. In JavaScript, it's Array.prototype.reduce().

Reducersは関数型プログラミングの基礎概念でありRedux特有のものではない。

In Redux, the accumulated value is the state object, and the values being accumulated are actions. Reducers calculate a new state given the previous state and an action. They must be pure functions—functions that return the exact same output for given inputs. They should also be free of side-effects. This is what enables exciting features like hot reloading and time travel.

Reducers are the most important concept in Redux.

Do not put API calls into reducers.

Reduxにおいて accumulated value は state オブジェクトであり、 accumulate された値はアクションです。 Reducerは以前のstateを受けて新しいstateを返す純粋関数のアクションです。(純粋関数とはインプットが同じであれば必ず同じアウトプットを返す関数のこと) 副作用がなくホットリローディングやタイムトラベルのような特徴がある。 Reducers は Reduxにおいて最も重要な概念である。

APIを呼び出すようなコードをreducersに入れてはならない。

入門 React ―コンポーネントベースのWebフロントエンド開発

入門 React ―コンポーネントベースのWebフロントエンド開発

React Redux createStore 適当訳

createStore(reducer, [initialState], [enhancer])

createStore | Redux

reducer (Function): A reducing function that returns the next state tree, given the current state tree and an action to handle.

reducer とは state を返す 関数で 現在のstate と 操作するための action を引数とするものである。

[initialState] (any): The initial state. You may optionally specify it to hydrate the state from the server in universal apps, or to restore a previously serialized user session. If you produced reducer with combineReducers, this must be a plain object with the same shape as the keys passed to it. Otherwise, you are free to pass anything that your reducer can understand.

stateの初期状態。

[enhancer] (Function): The store enhancer. You may optionally specify it to enhance the store with third-party capabilities such as middleware, time travel, persistence, etc. The only store enhancer that ships with Redux is applyMiddleware().

store 増強剤(?)

Store

Store | Redux

アプリケーション全体の store tree を保持する。
stateを変更する唯一の方法はactionをディスパッチすることである。
storeはクラスではなく、いくつかのメソッドを持った関数である。
storeを作成するためには createStore に root reducing function を渡す。

入門 React ―コンポーネントベースのWebフロントエンド開発

入門 React ―コンポーネントベースのWebフロントエンド開発

iframe に html を書き込む

<html>
    <head>
        <script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
        <script src="index.js"></script>
    </head>
    <body>
        <div id="inframe"></div>
    </body>
</html>
$(document).ready(function() {
    var iframe = document.createElement('iframe');
    document.getElementById('inframe').appendChild(iframe);
    var doc = iframe.contentWindow.document;
    doc.open();
    doc.write('hello');
    doc.close();
});

ポイントは $(document).ready でhtmlが読み込まれるのを待ってから iframeの要素を作成すること。 iframeは createElement で追加すること。

じゃないとなんか上手く行かない。 フロントエンドはようわからん

開眼!  JavaScript ―言語仕様から学ぶJavaScriptの本質

開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質