社会人1年目SEのブログ

読書ネタ、技術ネタ、etc

Twitter、Instagram、Facebookの開発者アカウントの申請を簡潔に紹介

こんにちはー。てらしーです。

今日は、Twitter、Instagram、Facebookの開発者アカウント申請・登録を簡潔の紹介します。(2018/12月現在)

Qiitaに投稿か迷いましたが、コードを書かなかったので、はてなブログで説明していきます。

今回は、開発者アカウント申請・登録の説明のみで実際APIを使用するまでには、更にやるべきことがあります。

Twitter、developer accountの申請

下記リンクから、Twitterのアカウントでログインします。

https://apps.twitter.com/

ログインに成功すると下記画面が表示されます。 f:id:marky10:20181202183004p:plain

  • 新しいアプリ作成前に、Twitterデベロッパーアカウントを申請して承認を受ける必要がある。

  • 承認後、developer.twitter.comから新しいアプリを作成可能。

  • 近い将来、apps.twitter.comで既存のアプリを引き続き管理可能。

  • developer.twitter.comを通じ、開発者ポータル内の全開発者向けツール、APIへのアクセス、アプリケーションの管理を統合

端的に言うと新しいアプリを作成前に、developer.twitter.comから開発者アカウントを作成する必要があると記載しています。 この画面では、【Apply for a developer account】を押下します。

開発者をアカウントを申請する画面に遷移し申請が行えるようになります。

f:id:marky10:20181202210129p:plain

左側のSTATUS: IN PROGRESSにはアカウントを申請するまでの行うべき内容が記載されていて、緑のチェックが入っている箇所が現在の進行中の内容です。

●User profile

この画面にはザックリ以下の内容が記載されています。

  • メールを受け取ることに同意

  • 関連づけるユーザプロフィールを選択

  • デフォルトは現在の@ユーザ名は開発者アカウント管理者になる

  • 組織の開発者アカウント作成する場合は、組織の@usernameを使用可能

  • APIエンドポイントにアクセスするために特別な権限が必要

  • チームメイトを招待し、後で開発者アカウント設定で権限の再割り当て可能

デフォルトの現在の@ユーザ名を使う場合は【Continue】を押下します。

●Account detaiuls f:id:marky10:20181202212154p:plain ザックリ以下の内容が記載されています。

  • 組織と個人どちらで使用するか

  • アカウント名と主要な運用国は。

まず、上段のラジオボタンは上が組織用、下が個人用です。今回は個人用なので下の【I am requesting …use】を選択します。

続いて中段〜下段のAccount nameでは【開発者アカウントとして使用するユーザ名】を入力し、Primary country of operationdでは【Japan】を選択し、最後に【Continue】を押下します。

●Use case details

300文字以内の英文を記述する必要がある箇所があり一番の鬼門です。 f:id:marky10:20181202213604p:plain f:id:marky10:20181202213615p:plain ザックリ以下を記載しています。

  • どのユースケースに興味があるか

  • 何を構築しているのか300文字以上の英文で目的、方法・手法、Twitterユーザとどう対話するか、Twitterのデータをどう表示するのかの4つから記述。

作成した製品サービス、Twitterの中身等を政府に提供するか

上段のWhat use case(s) are you interested in?には興味のあるユースケースを選択します。 それぞれ左上から説明していくと、学術研究、広告、広告の受け手分析、チャットボットと自動化、消費者/エンドユーザの体験、エンゲージメントと顧客サービス、ツイートを公開して管理、学生プロジェクト/コード学習、トピック分析、トレンドとイベント検出、その他となっています。

自分に合ったものを選べばいいとは思いますが、【Publish and curate Tweets】 か【Sutudent project / Learning to code 】辺りが無難ですね。

中段のDescribe in your own words what you are buildingでは何を開発・構築したのかを300文字以上の英文で記述します。それで、何について書いたらいいのかというとその下にある1〜4に即して書いていけばOKです。 参考までに日本語訳は以下の通りです。

  1. TwitterのAPIを使用するための核となる目的

2.実施しようとしている分析や、使用する方法手法についての詳細

3.ユースケースに、Tweeting,RetWeeting,または好きなコンテンツが含まれているか?含まれている場合は、Twitterユーザとどう対話するか

4.Twitterのデータをユーザにどう表示するか?TwitterのコンテンツをTwitterから表示する場合は、ユーザにTwitterの中身を表示する方法と場所を説明。

英語が苦手な場合は、日本語で文章を作成→Google翻訳に流す→翻訳がおかしな箇所は修正という流れで300文字以上で大丈夫です。

最後に下段のWill your product,service...government entityでは、あなたの製品サービス、または分析は、Twitterコンテンツまたは派生情報を政府機関に提供するかについて記載されています。

政府期間に提供しなければ【NO】を選択します。

全ての内容にチェック、記載が終了したら【Continue】を押下します。

●Terms of service f:id:marky10:20181202223503p:plain f:id:marky10:20181202223635p:plain ここでは利用規約を確認します。【By clicking on the box...】を選択後【Submit application】を押下します。

●Email verification

この画面に遷移ができれば、申請が完了です。 申請完了後、以下のメールが届きます。 f:id:marky10:20181202224327p:plain 届いたメールを押下すると以下の画面が表示されます。ひとまずこれで終了です。 f:id:marky10:20181202224339p:plain

Instagram、developer accountの申請

下記リンクから、Instagramのアカウントでログインします。 https://www.instagram.com/developer/

ログインに成功すると下記画面が表示されます。 f:id:marky10:20181202230626p:plain

  • Instagrram API Platformは自動化されていない、高品質なアプリとサービスを構築可能

  • 個人が独自のコンテンツを共有サービスのアプリケーションを作成可能

  • 広告主が視聴者、メディア・視聴者の権利を守っている

  • メディアを適切な帰属関係で共有支援

端的に言うと、Insgagram API Platformを使えば、個人で高品質なアプリ、サービスを構築することができますよーと記載されています。、 中段の【Register Your Application】を押下します。

すると開発者のサインアップのページが表示されます。 f:id:marky10:20181202230911p:plain

テキストボックスは、上から開発者のWebサイト、電話番号、APIを構築するための目的となっています。 Webサイトは自分のWebサイト、電話番号は自分の電話番号、APIを構築するための目的は、Twitterの時に記述した300文字以上の文章を参考にしながら書くのがいいのかなと感じます。

テキストボックスに記述が全て終了したら【I accept the API】を選択し、【Sign up】を押下します。

●Manage Clients

この画面にに遷移できたら開発者のアカウントの登録が完了です。 f:id:marky10:20181202231628p:plain

Facebook、developer accountの申請

下記リンクからFacebookアカウントにログインを行います。 https://developers.facebook.com/

ログインに成功すると下記画面が表示されます。 f:id:marky10:20181202231951p:plain 【スタートガイド】を押下します。

f:id:marky10:20181202232225p:plain 【次へ】を押下します。 f:id:marky10:20181202232405p:plain 【アプリ名】【連絡先メールアドレス】を入力し【Next】を押下します。 f:id:marky10:20181202232624p:plain 一番当てはまるものを選択します。

下記画面に遷移できたら、開発者アカウントの登録完了です。 f:id:marky10:20181202232715p:plain

JavaSpriptのLT大会に参加しました。

先日、JavaScriptのLT大会に一般参加してきました。

SurviveJS LT大会 #SurviveJS05

JavaScriptに関することならなんでも!のLT大会です。

今回は、スポンサーLTも含め、10分前後のLT x 8 でお送りします。

会社の研修期間中にJavaScriptを使い最新技術を調査してから、JavaScriptにハマり勉強するようになったので、ちょうど勉強中のJavaScriptを知識を広げるいい機会だと感じ参加しました。

開催地は、今書いているはてなブログやはてなブックマークを運営する株式会社はてなの東京オフィスでTwitterのハッシュタグは「#SurviveJS05」でした。 以下参加メモです。

LT1 スポンサーLT

開催場所を提供したスポンサーである株式会社はてなのエンジニアの方の登壇でした。主に、株式会社はてなの紹介がメインの内容でした。

・行なっている事業 →ポータルサイトはてな(はてなブックマーク、はてなブログ)、はてなブログmedia、イカリング2、うごメモはてな、GigaViewerなど

・はてなブログのミッションは知る」「つながる」「表現する」で新しい体験を提供し、人の生活を豊かにする

・昔は、収益が広告一辺倒だったが、現在は広告+得たノウハウを基に、企業に提供したりして収益を出していて堅実

・社外勉強会推奨、勉強会、合宿、サマーインターンを開催

LT2 「forループを越えて」

高階関数が何か、forループを使うことよりのメリット、使用上の注意の内容でした。

・高階関数とは関数を引数にとる関数か関数を戻り値として返す関数 map(f),filter(f),reduce(f,init),some(f),every(f)等がある

・Array.mapだとforループと同様な動きが可能

・forループと比べたメリットは何をやりたいかfnの中身を見れば分かり、fnを切り出してテストも可能=メンテが容易で平和なコード

・使用上の注意は戻り値を意識しなければならず、reduceは便利ではあるがほどほどに。

LT3 iOSエンジニアだけどWebアプリを作ってみた

作成したWebアプリケーションの前提知識のお話があり、その後作成したWebアプリケーションの内容でした。

・ブロックチェーン→データの受け渡しがそのネットワークに参加している参加者同士で行われ、データの保有も全ての参加者がしている

・P2P→クライアントがデータ保持しているため、1つのクライアントが落ちてもサービスが継続可能

・イーサリアム→仮想通貨の1つ 取引:スマートコンストラクタ 開発言語:Solidity。クライアントソフト:Geth

・PCにGethを入れてアクセスしGethを間借りで、イーサリアムのP2Pネットワークにアクセス可能。

・ブラウザ上で取引に関する関数を立ち上げ、取引の計算などを記載していき処理を行う。

・JavaScriptと連携方法→Solidityを書いた上で、Web3というオープンソースを使用。Solidityからインポートし、JavaScriptでは画面の処理を作る。

・簡単にウェブサービスとして公開可能

LT4 RemoteFacesの開発

登壇者の方が作成したRemoteFacesというツールについての内容でした。

・普段、リモートオフィスをしていてSlack,github,skype等コミュニケーションはとっているが、なんか寂しい。 → RemoteFacesを作成

・ウェブカメラの静止画を共有するツールで使用すると、ツールを使用した人の顔が左上に一覧として表示される 複数人の顔を表示させるため画面サイズ小さい

・サインインすることなく、使用可能

・通信はピアツーピアでサーバーを経由しない

LT5 React Native for Webの使いどころ

ReactNative for Webについての内容でした。

・React Native for Web→React Native用のコンポーネントでReact Native用に作ったものでもWebブラウザで使用できる。 採用事例 Twitter Lite PwaのTwitter公式クライアント

・ネイティブアプリをReactNativeで作ればコンポーネントで共通化できる

・ReactNativeにはモバイルに適したコンポーネントが揃っているためFor Webを使ってそれらをWebに輸入し、モバイルらしいUiを作っていける

・Webでもネイティブでもそうそう変わらないボタン、入力欄、アイコンなどのコンポーネントに絞って共通化可能

・React Native用のコンポーネントライブラリをWebアプリに流用可能

LT6 少しずつVue.js

JQueryを使っていたビューアプリケーションVue.jsを使い改善していったという内容でした。

・新規事業は要件がわからず、設計ができず、UIがいつまでも決まらない

・リリース後も終わりではなく、バグ修正しながら新規機能追加し、優先度が低くても契約したものは実装する必要あり

・冷静になるとJQueryが辛く工数めちゃくちゃかかる。

・ReactやVueが流行っている理由→HTML CSS Javascriptをグローバルに管理するには歴代のウェブには複雑になる中で複雑なコンポーネントを部品化する必要があるがそれを可能にするため。

・Vue.jsの導入①→既存のRailsコードを部分的に導入できるVue.jsを導入

・Vue.jsの導入②よく使う機能をコンポーネント化し、情報量が多いページをコンポーネントで分割

・コンポーネント設計の失敗→コンポーネントの粒度に統一感がなく再利用性がいまいち。

・今はサーバサイドでよりフロントエンドで頭を悩ますことが多い→顧客のUI体験のレベルが上がったことが原因

LT7 npmパッケージを作って公開してみよう

npmパッケージの作ってから公開の流れの内容でした。

・npmを公開するためにはhttps://www.npmjs.com/に登録が必須で無料・有料・エンタープライズの3種類

・登録したら$npm adduserを実行し、username password e-mailを入力しtokenを登録

・npmパッケージ作成から公開の流れ:プロジェクト作成→コンポーネント作成→ビルド→ローカルで確認→パッケージ公開

・プロジェクト作成時githubを 用意すると管理が楽

・通常はes5でビルドしないとコンパイルエラーになるが、React Nativeの場合はビルドしないでOK

$ npm run buildでビルド、$ npm linkでローカル確認、npm publishで自動的に公開可能

・1日で2、3回しか$ npm publishできない

LT8 シンプルさを求めてReactに回帰する話

Reactはいいぞーという内容でした。

・型定義ファイル、たくさん入れるといろんなところで崩れたりする →インターフェース多重継承し複雑な型継承

・Redaxウェブツール→多数のコンポーネントを管理ができ本来の開発と関係ないところでGithubとにらめっこすることを解決

・ジェネリクスで型指定し型あっていないと、エラーを出す

・必要なストア、必要なコンテナを指定

最後に

JavaScriptは学習したばかりで、知らないことが多かったので、とても勉強になったLT会でした。特に、React Nativeはまだ知識がなく、初めて聞く単語が多かったのでJavaScriptを一通り理解したら、学習してみようと感じました。

本日も最後まで読んでいただきありがとうございました。

Qiita始めました

こんにちは、てらしーです。

はてなブログを始めて3回目ですが、本日ははてなブログ以外にも新しいブログを始めたので、報告という形でブログを書きます。

何のブログを始めたか

私が始めたブログはQiitaの技術ブログです。 まず、Qiitaの技術ブログとは以下の特徴を持つブログです。

プログラミングや情報技術に関する知識も多様化し、細分化されている昨今、すべてを網羅的にカバーすることには限界があります。 そのため、それぞれの知識をシェアして補完しあうことがWebエンジニアを中心に行われているのはご存知でしょうか。

自分で情報や知識を得るだけでなく発信することで頭の中が整理できますし、自分の専門分野の方と繋がることで更に深い視点に気付くことができるでしょう。 特に、プログラマの技術情報共有サービス「Qiita」では、プログラミングに関する様々な知識を ユーザー同士が活発に共有しており、プログラミングや開発者中心の情報共有プラットフォームといえるでしょう。 引用元 Qiitaってなに?よく分からない人向けQiita基礎知識

要するに、情報技術やプログラミングに関する知識をプログラマや開発者同士で、情報共有するためのブログがQiitaというブログです。

なぜQiitaを始めようと思ったのか?

これから、投稿しようと思っていたい内容が、がっつりプログラムのコードを書いたものでした。 その時に、はてなブログで投稿するより技術的に特化しているQiitaに投稿したほうが適切だと感じ、Qiitaは自分が主役というよりは技術が主役のブログなので、より役に立ってもらえるのではないかと感じ、Qiitaを始めました。

Qiitaとはてなブログの使い分け

もちろん、Qiitaを始めたからといって、はてなブログをやめるわけではなく、Qiitと使い分けしながらはてなブログも今後続けていきます。 具体的な使い分けとしては下記を考えています。

Qiita

・がっつりプログラミングコードを書いたもの

・もしあれば、まだ、あまり知られていない共有したい技術ネタ

・多くの人に知ってもらいたい技術

はてなブログ

・読書ネタ

・日々の雑記

・勉強会や、LT会のレポート

・軽い技術ネタ

・社会人1年目の社会人として感じたこと

最後に

本日のブログも最後まで読んでくださりありがとうございます。 更新はスローペースですが、確実に更新をしていくのでよろしくお願いします。

6ヶ月の新入社員を終えて

こんにちは。てらしーです。

4月頭からつい先日9月29日までの6ヶ月の新入社員研修が終了し、先日10月1日にようやく配属となりました。ただ、二週間程度は社内でのお手伝いなので本格的に仕事をするのは10月中旬からです。早く実務がしたい…

それはさておき、新入社員の研修期間、通常の企業だと1ヶ月~3ヶ月の短い期間での研修が多く3ヶ月以上研修をやる企業は少ないですよね。

本音を言えば、6ヶ月もの研修を新入社員に費やすリソースがあるなら、早く配属をさせてOJTで学習させて実務がしたいと思うこともありました。

しかし、研修を終えてみて、6ヶ月の研修も考え方や行動によっては、意味があるものに変わることに気づきました。

今回は、研修の内容よりも研修期間中のメリット・デメリット、研修期間中、どう行動してきたかに焦点を充てて説明をし、最後にまとめます。今後IT企業に入社をして新入社員研修を受ける人に一番読んでもらいたいのですが、研修期間を終えたばかりの新入社員が書いたほやほやの記事なので、それ以外の人にも最後のまとめだけでいいので、読んで頂き、何か参考してくださる部分があれば嬉しいです。

とはいえ、個人的に考えたり行動したものなので、そういう考えがあるのかー、程度の軽い気持ちで見ていただければ大丈夫です。

6ヶ月の研修内容

6ヶ月の研修は4月~6月の3ヶ月は社外研修機関で、7月~9月の3ヶ月は社内で研修を受けました。

内容は詳しくは書けないのですが、ザックリとしたものとしては、最初の3ヶ月でビジネスマナー・IT基礎・プログラム言語の学習・システムのアプリ部分の開発研修・システムの基盤部分の構築研修・決意表明を行い、残りの3ヶ月で社内研修の復習・部署の説明・最新技術の調査・社内システム開発を行いました。

よくある、新入社員研修に振り返る期間と社内の理解を深めるものが追加されたと考えるとイメージがしやすいと思います。

研修期間中に感じたメリット

よく言われる知識や技術が身につく、学生→社会人へ意識が変わる、人脈形成などは今回は割愛し、それ以外に個人的に感じた研修期間中のメリット5つを説明します。

1.失敗が許される

失敗すると講師の方に指導はされますが、実際に業務でやらかしたわけではないのでこの期間の失敗は基本的にOKです。例えば、DBサーバー、DNSサーバー等を構築した後に、試しに構築したサーバーを壊してみても問題ありません。

2.挑戦する場が与えられる

研修期間中はチームで活動することが何回かあるため、課長・プロジェクトリーダー・テクニカルリーダーなどリーダー的な役職に挑戦できます。しかも、リーダー的な役職に挑戦して万が一失敗したとしても、責任を負うことはありません。

3.時間がある

研修期間中は残業がなく基本定時退社です。学生時代バイトと学業を両立していた身からすると、こんなに自由な時間があっていいのかと思うくらい時間があります。

4.同期の絆が深まる

研修期間中は、同期と行動を共にすることが多いので、自然と仲が良くなります。研修期間中が終わり、各部署に配属となったので今後はわかりませんが、研修期間中は1~2週に1回は同期と飲みに行っていました。

5.なんでも質問してOK

研修の講師の方は、新入社員が何も知らないということを知っていたので、どんなことでも質問してOKです。逆にわからないままことを放置して配属してしまうほうが、迷惑をかけてしまうので、質問はなるべくした方がいいと思います。

研修期間中に感じたデメリット

メリットの反対に個人的に研修期間中に感じたデメリットは4つです。

1.自分がどこの会社の人間か忘れそうになる

特に外部で研修を受けていた時ですが、「どこの会社の人間だっけな」と思うことが3日に1回くらいありました。

2.給料+研修受講費が発生

正直メリットでもデメリットでもあるんですよね。無料で研修が受けられて勉強するだけでお金をもらえると考えるとメリットにもなるし、会社にとって給料=費用なので、研修受講ヶ月×給料+研修受講費用のお金がかかっていると考えるとデメリットにも感じます。同期の1人が考えすぎて深みに、はまってしまったので、あー、そーなんだーくらいの認識でいいと思います。

3.逆に同期と仲が悪くなることも…

嫌いな同期がいれば、ずっと一緒にいなければいけないので余計に仲が悪くなることもあります。また、チーム作業の時に意見の衝突によって仲違いする可能性もあります。ちなみに、あるチームで研修期間中に実際に意見の衝突が発生してしまい、仲が悪くなったのを見ました。

4.価値が生まれず、実績ができない

早く仕事をしたいという人には長い研修期間というのは苦痛に感じるかもしれません。これについては考え方・行動を変えれば研修期間が有意義なものに変化します。

研修期間中に行動したこと

1.リーダ的役職に挑戦

失敗を気にせず、リーダを経験できるというのは願ってもないチャンスだったので、チームごとに、システムのアプリ部分を開発する研修ではテクニカルリーダを、システムの基盤部分を構築する研修では、プロジェクトリーダに挑戦しました。また、ただこなすのではなく、常に問題意識を持ち、スケジュールの遅延を抑制し、発言しやすい環境づくりをしました。それが1つの要因となり、どちらの研修でも最優秀プロジェクト賞をもらうことができたのがいい思い出です。

2.インプット量を増大させた

膨大な空き時間があったので、無駄にしてはいけないと考えたため、技術書・ビジネス本を読んだり、外部の勉強会に積極的に参加したりして、インプット量を増やしました。インプット量を増やしたことにより、多くの知識が身につきました。

3.失敗を恐れずに発言や行動

失敗は怖くなかったので、積極的な発言や行動をしました。例えば、システム構築演習では講師役のお客様の要求を聞いてシステム化するということをしました。その際、講師役の要求をそのまま聞くのではなく、要望を汲み取り、講師が想定しているよりも高いレベルの提案を行いました

4.わからないことは、5分以上考え、5分以上調べ、仮説を立てて質問

研修期間中に、質問すべきと伝えましたが、考えたり、調べたりもせずに質問は知識が定着しにくいだけではなく、相手の時間を奪うので、考え仮説を調べた上で質問を行いました。こうすることで、講師の時間を多く奪わずに済み、自分の立てた仮説が正しいか間違っているかの検証が可能であるため早く知識を定着することができました。

5.常にPDCAサイクル回す

PDCAサイクルというのは簡単に言えば、計画を立てて、実行をして、評価をして、改善を行うことを繰り返すことで業務を継続的に改善する手法です。

この手法に基づき、1日1個の目標を立て、目標に対する行動をし、行動に対する評価を行い、改善していくということを行い、問題解決力が入社前より向上しました。

6.教える

ITの研修は、大学時代に情報系を専攻していた人や、専門学校でプログラミングをしてきた人にとっては、物足りないと思います。実際、私も専門学校卒業でプログラミングを学習してきたので、研修の内容自体に既存知識が多く、やや物足りなく感じました。そのため、同期に、プログラミングの要点を纏めた書類を作成し配布したり、JAVA初心者が躓きやすいクラス、多態性、抽象クラス、インターフェース、MVCモデル等は、図や例を用いて相手に伝えるのではなく相手に分かりやすく伝わるを心掛けて教えました。おかげで、同期には感謝され、自分の理解もより深まり、物足りなさもなくなったので、教えて良かったと感じました。 

まとめ

研修期間中は失敗を恐れず挑戦

研修期間は空き時間が沢山あるため、空き時間は有効活用

分からないことは考え、仮説を立てた上で、どんどん質問して解決

1日1個目標を立て、PDCAサイクル回す

教えると感謝され、理解が更に深まる

 

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

初めましてということで自己紹介

 

初めまして、東京のIT系の企業で働く社会人1年目のSEです。

最初の投稿なので軽く自己紹介をします。

 

 

簡単なプロフィール

年齢 21歳

性別  男

出身  埼玉生まれ

職業  システムエンジニア

長所  好奇心が強く行動力がある 新しいことを始めるのに抵抗がない

短所  いろいろなものに手を出しがちで、遠回りになることがある

趣味  読書 ランニング プログラミング 人とお話する

ブログを始めたきっかけ

社会人になり、読書をしたり勉強会に参加するようになって知識のインプット量が増大しました。

しかし、インプットした知識をほとんどアウトプットする機会がなく、得た知識や技術が自分の中に留まるだけになってしまいました。

得た知識や技術・これまで考えたこと・経験を発信しないのは勿体無いと感じ、当ブログを始めました。

当ブログについて

当ブログでは、主に、読書や勉強会などから得た知識や技術ネタを発信します。最後に

初めての執筆ですが、1人でも多くの人の役に立つ情報を発信していきたいと考えているのでよろしくお願いします。