投稿

【インターンステラ】Google Cloud 入門記

はじめまして。岩佐です。
よろしくお願い致します。

Google Cloud Platform について学習したのでメモします。
最初に Mac OS X 用の Google Cloud SDK を https://cloud.google.com/sdk/docs/quickstart-mac-os-x?hl=ja からダウンロードし、手順通りにインストールします。プロジェクトは事前に用意して頂いたものを使用しました。

Compute Engine 入門ガイド の内、     ・インスタンスの作成と起動     ・インスタンスのステータスの確認     ・Linux インスタンスへの接続 を行いました。  ローカルのターミナルから Compute Engine API を有効化する方法がわからなかったので、Google Cloud コンソールの API ライブラリから行いました。

Google Developers Codelabs の2つのチュートリアル
1, Getting started with App Engine (Python) 2, Deploying a Python Flask Web Application to App Engine Flexible
で、App Engine (Flexible) を用いたアプリケーションの作成、実行、デプロイについて学びました。こちらはターミナルではなく Google Cloud Shell を使用しました。
2番のチュートリアルの5ページ目に
    $ gcloud service-management enable vision.googleapis.com
などのコマンドが出てきますが、「service-management」オプションではなく、「services」を使うことで実行できました。
$ gcloud services enable vision.googleapis.com
上記の内容を終えた後、作成したインスタンスを削除しました。

本日は初日だったので、Google Cloud の学習を通して雰囲気を知ることが目的でしたが、はじめてのツールや知らない言葉の数々に戸惑いました。これを書く段階で頭の中が整理できていないので、今後理解を深めていきたいと思います。

【インターンステラ】Django学習備忘録

Djangoでテストをする際の問題
作成したアプリに対してテストを行おうとした際、発生したエラーの解決策をここに残します。


$ python manage.py test contacts.tests.tests_models
テストを実行しようと上記のコマンドを入力した際、
Traceback (most recent call last):   File "manage.py", line 24, in <module>     execute_from_command_line(sys.argv)   File "/Users/ ...     tests = self.test_loader.loadTestsFromName(label)   File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName     parent, obj = obj, getattr(obj, part) AttributeError: 'module' object has no attribute 'tests'
というエラーが発生しました。
ディレクトリ構造はこんな感じ . └── contacts    └── tests     └── tests_models


$ python manage.py test $ python manage.py test contacts は実行できるのに...(正確な結果は出ていない)
この問題はcontacts下のtestsディレクトリ内に__init__.pyが存在していないことが原因でした。 解決策としてtestsディレクトリ内で $ touch contacts/tests/__init__.py を実行するだけで良かったみたいです。 __init__.pyを作ることでそのディレクトリをパッケージとして扱ってくれるようになります。
解った今なら簡単ですが、解るまでに大分かかりました。





【インターンステラ】自然言語処理の導入手順

こんにちはyouです
今回は、自然言語処理の開発をする際の導入方法を紹介します。
環境

MacBookPro13macOS High Sierra 10.13.2 Betapython3 3.6.4
導入するツールは以下のものです

fastTextMeCabmecab-ipadic-NEologd(辞書)辞書の導入 まずHomebrewでMeCabと辞書、そして必要なツールをインストールします。 $ brew install mecab mecab-ipadic git curl xz wget$ git clone --depth 1 git@github.com:neologd/mecab-ipadic-neologd.git $ cd mecab-ipadic-neologd $ ./bin/install-mecab-ipadic-neologd -n -a 最後のは辞書少し時間がかかります。 MeCab-Pythonの導入 次にMeCab-Pythonを以下コマンドでインストールします $ python3 -m pip install mecab-python3
これでMeCabを使用できますが、NEologdの辞書を指定しなければならないので、以下のようにしてMeCabのデフォルト辞書を変更します。 $ nano /usr/local/etc/mecabrc # dicdirのパスを変更 ;dicdir = /usr/local/lib/mecab/dic/ipadic dicdir = /usr/local/lib/mecab/dic/ipadic-neologd fastTextの導入 最後にfastTextを導入します。 pipで必要なツールをインストールしたあと、wgetでパッケージを持ってきてmakeでビルドします. $ python3 -m pip install NumPy SciPy $ wget https://github.com/facebookresearch/fastText/archive/v0.1.0.zip$ unzip v0.1.0.zip$ cd fastText-0.1.0$ make 以上で導入は完了です。 次回はその使い方を紹介します。

【インターンステラ】Twitterのツイートを形態素解析

こんにちはyouです.今回はTwitterAPIとMeCabを用いて形態素解析をやってみました.

手順はまずTwitterAppのページからcustomer key、customer key secret、access token、access token secretの4つのキーを入手し、public streamで全世界のツイートを取得し、MeCabで形態素解析をするといった流れです.

以下ソースコードです.
全世界のツイートから日本語を含むツイートのみに絞り、ハッシュタグやURLを削除した後にMeCabに投げています
#! /usr/bin/env python3 # encoding=utf-8 # twitter-stream1.py import re import tweepy import unicodedata import MeCab from datetime import timedelta CK = "" CS = "" AT = "" AS = "" # StreamListenerを継承するクラスListener作成 class Listener(tweepy.StreamListener): def on_status(self, status): status.created_at += timedelta(hours=9) # 世界標準時から日本時間 if is_japanese(status.text): tweet = format_text(status.text) print(tweet) print(MeCab.Tagger("").parse(tweet.encode("utf-8"))) return True def on_error(self, status_code): print('エラー発生: ' + str(status_code)) return True def on_time…

【インターンステラ】locustでの負荷テスト

こんにちはインターンのyouです.

 今回は前回作成した,GCPのVMでWordPressを動かし,locustでページ閲覧やログインなどの処理の負荷を見てみました.
手順  はじめにGCPのCloudLauncherで「WordPress」と検索しそのインスタンスを作成します. これだけでテスト対象のwebは完成です.  次に,前回作成したインスタンスにSSHで接続し,次のコマンドを実行します. $ sudo su$ pip install locustio$ exit これでlocustを使う準備は完了し,あとは負荷処理の内容をエディタで「locustfile.py」というファイルを作成し,次の様なスクリプトを書きます.
# -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import unicode_literals from locust import HttpLocust, TaskSet, task class UserTaskSet(TaskSet): def on_start(self): self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "test0000"}) self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "testt"}) @task def index(self): self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "test0000"}) self.client.post("/wp-login.php", {"te…

【インターンステラ】企画書作成を行いました

こんにちは、國分です。


今日はとあるイベント企画向けての企画書作成を行いました。
実際に企画書を書くのは初めてで知識がない中での作成でしたがなんとか書き終えることが出来ました。


私は、仮想試着を利用した浴衣レンタルサービスの提案をさせて頂きました。
慣れないプレゼンをして、頂いたのは多くの改善点とアドバイスでした。


確かに見返してみると分かりづらいですし、内容も入ってきませんでした。
さらに金額等の設計も出来ておらず、改善しなければいけない点ばかりでした。
調べて自分は理解できているだけの状況になっていました。


しかしアイデアは良いと言っていただけました。
また、アドバイスも多く頂けたでその点を生かし、誰が見てもわかりやすい、内容のまとまっている企画書の作成を練習していきたいと思います。
イベント自体が行われるかわかりませんが企画が採用されるような企画書を作りたいと思います。


【インターンステラ】Kubernetes を使用した分散負荷テストの方法を学びました

こんにちは、國分です。

インフルエンザで1週間ほど休んでしまい、出遅れを感じている今日はKubernetes を使用した分散負荷テストの方法を学びました。

Kuberntesを使用した分散負荷テストの簡単な手順 ※このテストを行うにあたり、前提条件としてGoogle Cloud PlatformアカウントとGoogle Cloud SDKのインストールが必要です。
まず始めにチュートリアルページの右上部分からファイルをダウンロードします。 その後はターミナルでgcloudコマンドやkubectlコマンドを用いることで、デプロイやポッドの作成を行っていきます。
つまずいた点 まず始めにlocust-masterの導入部分です。 keyを削除すること対処できましたが、教えて頂くまで別の方法を探し続けていました。 また、Webアプリケーションの展開部分ですが、その前の手順のZONE設定が上手くいっておらず、ZONEが使用不可等の内容がエラーとして出てきました。 単純に設定し直すことで対処できましたが、エラー内容から間違っている部分を見つけるのに苦労しました。 振り返って 最終的にはファイアウォールルールの設定まで行いましたが、テストの実行画面を出すことはできませんでした。 今回もエラーに悩まされることが多く、ほとんどの時間を対処法を見つけることに使ってしまいました。 返ってくるエラーに対して的確に対応していくことが必要だと感じました。 そうすることで時間を短縮し、進行速度を上げられるのではないかと思います。
locust自体もままならない状態ですが、少しずつ身につけていきたいと思います。