信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

LIST OF ARTICLES

記事一覧

  • テクログ

    データレイクを知って一発で好きになりました

    皆さん初めまして。初めましてじゃない方も初めまして。しゃむぽんです。先日、AWS Summit Tokyo 2019に行ってきました。超絶にわか知識な状態で挑みましたが、結果とても有意義な3日間になりました。様々な用語やサービスを知りました。今更知ったのかよって思われるものもあると思いますが、少なくとも自分にはどれもこれも新鮮ですごくタメになりました。その中でも一番個人的に気に入ったのがデータレイクという概念です。ビッグデータを整理するための概念で、AWS社の説明では「規模にかかわらず、すべての構造化データと非構造化データを保存できる一元化されたリポジトリ」だそうです。AWSだとS3ですね。いや純粋にすごくないですか?今まで自分の感覚ではデータベースの構造化データと画像や動画のような非構造化データの間にはなんかこう絶対的な超えられない壁みたいなものを感じてましたからね。ほんと衝撃でした。っていうだけの話なんですけどね。データレイクで調べるとすごいタメになる記事いっぱい出てきますのでもっと知りたいという方は是非調べてみてください!逆にいやもうそんなんとっくに知っとるしって方は生暖かい目で見ていてくだてか教えてください。にわか知識なのであんまり深掘りもできそうにないので今回はこの辺で。ほいでは!
  • テクログ

    お話アプリ

    今年のGWは10連休でしたね。個人的に興味のあった機械学習による会話アプリを試してみました。「ありがとう」と文字を入力しますと「どういたしまして」のように返答文を考えて、返してくれるアプリです。以下のqiitaの記事を実動作させることを目指します。日本発の機械学習フレームワークchainerでの実装ですね。Seq2Seqといった「ある文章A」⇨「ある文章B」に変換する技術になります。https://qiita.com/kenchin110100/items/b34f5106d5a211f4c004独学で本当に正しいやり方かは保証できませんが以下に試したことを記載します。日本語の語句ごとの分解はMeCabを使用します。pipで入れます。MeCabで生成した際、応答側のテキストは各応答文末に、文の終わりを示すため'<eos>'を入れます。学習にはGoogleのColaboratoryを使用します。Colaboratoryを使用する理由は、設定を変えると無料で(時価70万円相当!?)ハイスペックGPUを使用できるからになります。CPUでも学習は可能ですが遅いです。。Colaboratoryによるファイルのアップロードダウンロードがわかりにくいのですが、以下を実行する感じです。□アップドーロ-----------------from google.colab import filesuploaded = files.upload()-----------------□ダウンロード-----------------from google.colab import filesdownloaded = files.download('{ファイルのお名前.weights}')-----------------□ちゃんとアップロードできたか確認%%bashlsここでの学習のポイントは学習はGPUで行いますが、重みの書き出しはCPU用に変換します。webアプリ化のため機械学習したモデルをDjangoからつなぎ込みますが、ここでの文章生成の推論はCPUで行うとになると思います。-----------------model.to_cpu()serializers.save_hdf5(outputpath, model)model.to_gpu(0)#また処理をGPUに戻してあげる。-----------------またtotal_lossをprintして確認しながら進めました。損失が減っていくとそのデータに対しての学習がうまくいっていることになります。機会がありましたら、続きの学習した重みとモデルを使用して実際に文章を生成するところを記載したいと思います。
  • テクログ

    個人的に考えるWEBサービス作成で技術的に重要だと思う要素はURLの扱いです

    URLを管理する機能が最も重要かなと思っています。 たとえば、アプリケーションのURLを管理するクラスさえあれば、パンくず、ページネーション、SQL生成の前処理、View切り替え、SEO対策、などの処理が複雑にならずに済むと感じるからです。 ルーティングの機能に各URLセグメントに名前付けが可能であれば、何かしらのID、何かしらの日付、などをセグメントの順番に関係せずに取得できますので、新たに使用するWEBフレームワークにそういった機能が無いかのチェックはしたいところです。  FuelPHPでは、routes.phpにこう書きます。正規表現を利用して数値のみを許可しています。 Controller で取得するときはこんな感じです。 debug::dumpで出力した画面です。 このブログはPythonでDjangoを使用して作成されていますが、上記と同様にセグメントに名前指定をしています。もしかすると、一般的なWEBフレームワークには備わっている機能なのかもしれません。
  • テクログ

    ブラウザテストフレームワークの5月でした

    ブラウザテストフレームワーク、使ってますか!単体テストもいいけど、やっぱりユーザが使って実際ちゃんと動作してるの?ってのが気になりますよね。最近はjsでいろいろやることも多いし、関連するところが動かなくなったり。(jsの単体テストやれって話もありますが)で、有償無償問わず、いろいろと見てみました。結構網羅したり、試したりするだけでもそれなりにかかったので、なんとなく一覧的に。・いわゆるツールでの自動テスト系teststudioRanorexAutifyTestCompleteUnified Functional TestingROBOWAREuipathkatalon studioimacros・いわゆるブラウザテストフレームワーク(E2Eテスト用)Seleniumを直使用CodeceptionCodeceptJSNightwatch.jsWebdriverIOScrapywatirAppiumSelenideGebおよびSpockCapybaraSplinterCasperJSSST (selenium-simple-test)重要視した点としては、パッとつくれて、パッと動かせる。なんだこれ、どうやるんだ、みたいなのはなし。……ということで、有償の自動テストツール系について、可能なものは体験版を入れてちょっと動かしたりしました。「ちょっと」なのはあえてちょっとだけやって、それでもできないのならば簡単じゃない!ということでした。もちろんデモや動画をみてると、「なんかすごいことやってるし、なんでもできそう…」となりますし、実際理解すればなんでもできるのかもしれません。でも少しだけいじっただけでは全く思ったとおりに動かないんですよね。というわけでツール系はなくなり、ブラウザテストフレームワークの検証となりました。テストコード書かないといけない、というのは確かに手軽とはいえないですが、サンプルがあればあとはその改良をつづけていけばなんとかなる、という思惑です。現状のサポート具合、活発さ、書きやすさ…などからCodeceptionCodeceptJSが残り、mac,PCでのブラウザテストはクリア。実機もやりたい、ということでAppium連携をしたり…ということをやっていましたよ。実機動作は結構コツが必要だったり、iPhoneだとやりたいことがどうしてもできない部分があったり…となりましたが、それ以外は結構思ったとおりのテストができましたので、毎回確認しないといけない動作がある、とか、そういった場合には役に立つのではないでしょうか。一個小ネタでいえば、テストをAWS Lambdaに連携させて、外への影響を確認したりする、ということもやってみました。純粋なE2Eテストの範疇からは外れるかとは思いますが、やはりどうしても確認したい内容もありますので、そういうものもいかがでしょう。ちなみに最終的に残ったのはCodeceptJS+Appiumでした!(以下イメージ画像
  • テクログ

    AeとPs

    最近AfterEffectsで映像を作る際、PhotoshopやIllustratorの連携機能をよく使います。以下はモーションをほとんどつけてないのでかなり雑ですがとりあえず作った何かです。PhotoshopでデザインしてAEに持ってきた感じです。CC glass wipeを使ったら光沢が波打つ感じになりました(初めて使った。。)図形を一つずつレイヤー分けすればもっと細かくモーションつけられるんでしょうがいかんせんちょっと面倒ですね。Illustratorの場合はパスを持ってこられるのでより細かく動かせるので好きです。上記のデザインはPhotoshopの混合ブラシを使っているのですが、これ大好きなのでAEにも搭載してほしいっす。これのモコモコした部分を細かく動かしてみたいのですがよくわかりませんでした。ブラシを途中で切って全体をレイヤー分けしてアニメーションするしかないのではとか思ってるのですが絶対非効率的ですよね・・・中途半端なかんじですが今回は以上です。
  • テクログ

    セッションマネージャーでSSHクライアントツールとおさらばしよう!

    マスオです。最新 – AWS Systems Manager セッションマネージャーで EC2 インスタンスへのシェルアクセスを実現少し古い公式ブログ記事ですが、最近になって当社でも使い始めた機能です。一言で表現するなら 「EC2インスタンスにSSH/RDP不要でブラウザからリモート接続できる」という機能です!Tera TermやPuttyとは長い付き合いなのですが、とうとう別れの日が来たのかもしれません。導入方法は某有名サイトなど多数の記事があるので割愛しますが、この機能の画期的な点としては ❏SSH/RDP接続用クライアントツールが不要  ブラウザがあれば良い ❏接続ポートや鍵の管理が不要  IAMで一元管理できる ❏操作ログの監査がAWSで完結  S3/CloudwatchLogsで操作履歴が確認可能の三点かと思います!今まで社外からSSH接続する際にはVPN接続してーとか、そもそも秘密鍵もってなかった誰かーとかおいおい誰だよ設定ファイル変えたのーとか時々あって管理が追い付いてない感が満載でしたがこの機能を併用する事でシンプルに解決できたらなって思ってます。現状では一部サーバにしか適用していないですが、運用実績を積んで範囲を拡大していきたいと考えてます。皆様もお試し下さい。それでは、また!