Centralized log service configuration settingss

Log type
The logs are not all the same, but the purpose are different depending on the type.
– application log
– accessibility log
– security log
– other

Overall view of log processing
– collect: AmazonS3, Amazon Kinesis, Amazon DynamoDB, Amazon RDS(Aurora)
– process: AWS Lambda, KCL Apps
– analyze: Amazon EMR
– save: Amazon Redshift, Amazon Machine Learning

Logs output from AWS services
Log specific to each environment such as OS and application

戦略

1. git hub commit
2. aws route 53複数
3. mysql -> csv
4. mysql -> S3
5. s3-> mysql …. 9/23
5-2. SSL
6. Travis CI
7. Capistrano
8. Ansible
9. Mackerel …….. 9/24
10. ELB
11. laravel bootstrap
12. laravel TinyMCE …. 9/25
13. Vue.js ….9/27
14. sketch …9/28
15. mysql設計書 9/29
16. シェルスクリプトによるbatch …9/30
17. 設計(TR,概念図)
18. struts …10/1
19. TD …10/2
20. Fluentd / Embulk …10/3
21. 設計(TR,概念図)
22. Dancer …10/4
23. 提案書作成 …10/5
24. Zabbix
25. Oracle
その他: photoshop, illustrator、python, cdn, postfix, redmine

よし!行けるかな。。。。 いや、これで行ってみよう!

トラッキングcookieの仕組み

1. javascriptのタグからアクセスしてきたユーザーにcookieをsetする (例えばFXのページ)
2. 別のページをアクセスした場合に、1でsetしたcookieを読み込んで、1に関連する広告を配信する

< async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></ >
<!-- auction -->
< class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-5909906903001543"
     data-ad-slot="6431329951"></ins>
< >
(adsbygoogle = window.adsbygoogle || []).push({});
< >

まず、広告を出しているページが何のページか理解できないといけない。
pythonで解析できるようにしたい。

titleはbeautiful soupで解析する。

import requests, bs4
res = requests.get('http://hpscript.com/blog/')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
print(soup.title)

[vagrant@localhost app]$ python3 index.py
ソフトウェアエンジニアの技術ブログ – ABCD: Always Be Coding and Design

1. javascriptからpython fileにurlをpostしたい。
2. titleをpythonで形態素分析したい。
いけるか?

adsenseのタグの中身を解析しよう

まず、アドセンスのタグの中身を見ていきます。adsbygoogle.jsを読み込んでますね。

script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"
<!-- ddd -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-5909906903001543"
     data-ad-slot="8015520319"
     data-ad-format="auto"></ins>
script
(adsbygoogle = window.adsbygoogle || []).push({});
script

insタグの中身↓
class=”adsbygoogle”
style=”display:block”
data-ad-client=”ca-pub-5909906903001543″
data-ad-slot=”8015520319″
data-ad-format=”auto”

はInsertの略で、で囲まれた部分が後から追加された部分
ad-clientとad-slotがユニークな値のようです。

adsbygoogle.jsの中身をみていきましょう

ああああああああああああああああああああああああああああああああああああああああ

AWS https通信で位置情報を取得する

AWSに入ります。

__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
21 package(s) needed for security, out of 31 available
Run “sudo yum update” to apply all updates.

cyberduckでも入ります。

index.phpをつくります。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>位置情報取得サンプル</title>

  <script>
    // Geolocation APIに対応している
    if (navigator.geolocation) {
      alert("この端末では位置情報が取得できます");
    // Geolocation APIに対応していない
    } else {
      alert("この端末では位置情報が取得できません");
    }

    // 現在地取得処理
    function getPosition() {
      // 現在地を取得
      navigator.geolocation.getCurrentPosition(
        // 取得成功した場合
        function(position) {
            alert("緯度:"+position.coords.latitude+",経度"+position.coords.longitude);
        },
        // 取得失敗した場合
        function(error) {
          switch(error.code) {
            case 1: //PERMISSION_DENIED
              alert("位置情報の利用が許可されていません");
              break;
            case 2: //POSITION_UNAVAILABLE
              alert("現在位置が取得できませんでした");
              break;
            case 3: //TIMEOUT
              alert("タイムアウトになりました");
              break;
            default:
              alert("その他のエラー(エラーコード:"+error.code+")");
              break;
          }
        }
      );
    }
  </script>
</head>
<body>
  <h1>位置情報取得サンプル</h1>
  <button onclick="getPosition();">位置情報を取得する</button>
</body>
</html>


wow, 緯度経度が取れました。※渋谷にいます。
httpsならいけるんですね。
リダイレクトで取得するとすると、地域はやはりipアドレス + geo liteでしょうね。
問題は年齢、性別をどのように取得するか。
まずは、アドセンスの仕組み解析からでしょうか。
アドセンス、ASPのタグの中身を見ていきましょう。

facebook広告のセグメント

facebook広告のセグメントを見てみます。

基本設定
– 地域、年齢、性別、言語
1.地域・・・市区町村、指定した場所から半径〇km
いまその地域にいる人、その地域に住んでいる人、その地域にいた人
2.年齢・・・13歳~65際まで 1歳単位で設定可能
3.性別・・・男性、女性、両方(男性、女性すべて)
4.言語・・・国籍もセグメント可能

詳細ターゲット ~利用者層~
5.恋愛対象
6.交際ステータス
7.学歴
8.職歴
9.子どもの年齢
10.世代
11.ライフイベント

詳細ターゲット ~興味・関心~
スポーツ・アウトドア(アウトドア活動、スポーツ)、テクノロジー(コンピュータ、家電・エレクトロニクス)、ビジネス・業界(ビジネス、中小ビジネス、小売業、広告、オンライン、営業、マネージメント、マーケティング、起業、エンジニアリング、デザイン、経済、ファイナンス、不動産、建設、建築、医療、看護・介護、科学、航空、農業、銀行サービス、高等教育)、フィットネス・ウェルネス(エクササイズ、ジョギング、フィットネス、フィットネスクラブ、ダイエット、栄養、ヨガ、ズンバ、ウェイトトレーニング、ボディービルディング、瞑想)、レジャー施設(音楽、読書、映画、テレビ、ゲーム、ライブ・イベント)、家族と交際関係(友情、出会い関連、ウェディング、結婚、子育て、母親、父親、家族)、買い物・ファッション(衣料品、ファッションアクセサリー、ショッピング、美容、玩具)、趣味・アクティビティ(ペット、ホーム・ガーデニング、乗り物、旅行、政治・社会問題、時事)、食品・飲料品(飲料品、お酒、食品、料理、クッキング、レストラン)

業界に特化した検索エンジンをつくろう

googleの検索エンジン
-> crawlerが巡回
-> DOMを取得して配列に保存する

自作検索エンジン
-> crawlerが特定サイトを巡回
-> テキストを取得して、mongoDBに保存?

どういうアルゴリズムでリスト表示するか?
->最新のデータ
->クリック数

検索フィールド
->bodyに検索文字を含んでいた場合?

→データセットをmongoDBから取り出して、それをソートし直すのはいささか効率的でないような気がする

– タイトル、テキスト、リンク先を表示する。

そういえば、Googleにソートってないですね。
->レコメンドをどう出すか?

とりあえず、mongodbに入れるところから、始めよう。pug, sassも使いたい。
[vagrant@localhost freelance]$ mongo
MongoDB shell version: 3.2.20
connecting to: test
Server has startup warnings:
2018-07-21T18:36:29.147+0900 I CONTROL [initandlisten]
2018-07-21T18:36:29.148+0900 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
> show dbs
app 0.078GB
local 0.078GB
mydb 0.078GB

iosでIFRSコンバーターアプリを作ろう

IFRSの特徴
◆原則主義(プリンシプル・ベース)
IFRSは、財務報告に関する原理・原則を明らかにするとともに、例外規定は極力認めず、その解釈や運用は、企業の 判断に任せる考え方です。一方、日本基準は、詳細で具体的な規定や数値基準を設ける対照的な「細則主義(ルール・ベース)」と云う考え方で、制定されています。

◆資産・負債アプローチ
IFRSは、資産・負債の評価とその差額としての純資産、つまり、財政状態計算書に計上されている財産価値を重視しています。その財産価値の、会計期間の期首から期末までに増加した(または減少した部分を利益(または損失)として認識します。利益算出の考え方を「資産・負債アプローチ」と云います。そしてこの認識された利益は「包括利益」と呼ばれています。
従来の日本基準では、収益から費用を差し引いた利益を重視し、その計上された純利益の結果、純資産が増加すると云う考え方で、これを「収益・費用アプローチ」と云います。

◆公正価値アプローチ
IFRSでは、将来の経済的便益の提供能力の算定と云う考え方から、公正価値による評価が重視されます。公正価値は、「・・・・・当事者間で資産が交換され、負債が決済される価額」と定義されますが、平たく云えば、「時価」を指しますが、IFRSでは、資産や負債の公正価値変動額が「包括利益」の一部を構成しますので、「資産・負債アプローチ」と資産・負債の公正価値評価と包括利益の算定には密接な関係があります

◆その他、財報告における経営管理区分(セグメント)を重視した「セグメント・アプローチ」(日本基準でもセグメント情報に採用済み)、財務情報の比較可能性の重視、形式より実質(実態)を優先して、企業の経済的実態をを明らかにしようとしている考え方等がIFRS基準書全体に共通する特徴となっています。

為替レートは?
IFRSでは、まず機能通貨を決定し、機能通貨による帳簿記入を行う
-売上に関連する通貨
財貨及び役務の販売価格に大きく影響を与える通貨
競争力及び規制が財貨と役務の販売価格を主に決定することになる国の通貨
-仕入に関連する通貨
労務費、材料費や財貨や役務を提供するためのその他の原価に主に影響を与える通貨

外貨建貨幣性項目:決算日の為替レート
取得原価で測定される外貨建非貨幣性項目:取引日の為替レート
公正価値で測定される外貨建非貨幣性項目:公正価値で測定された日の為替レート

外貨建取引は、取引日における当該外貨と機能通貨の間の換算は、原則、取引日レートで行い認識します。
なるほど、為替レートはAPIで取得してもダメということですね。

view controller と navigation controllerを配置していきます。

ヤフオクをつくろう 機能要件

まず必要な機能とDBのテーブル

ユーザー(ユーザー名、住所、連絡先、)
出品(商品名、説明文、最低価格、即決価格)
入札(入札者、入札価格)
落札(落札者、落札価格)
評価(評価対象者、評価)

ユーザー登録、出品、評価はいつものパターンですが、問題は入札のところですね。
順番につくっていきましょう。
まずは、残り時間からつくっていきます。

翻訳のアルゴリズムは?

前:ルールベース翻訳や統計翻訳
->文法や単語などのルールを一つ一つ登録して翻訳

後:ニューラルネットワーク
->1文をバラバラにして単語レベルで翻訳をするのではなく、1文をひとまとめにして翻訳

そうなのか、VoiceTraとかも統計翻訳の機械学習かと思ってた。。
NICT(情報通信研究機構)
http://www.nict.go.jp/
ここは興味ある。金融庁以来。

しかし予算500億も使ってんのかよ。。コロプラの売上高と一緒じゃんか。。ちくしょー羨ましすぎる。。
https://www.nict.go.jp/pdf/business-report-2016.pdf