スキップしてメイン コンテンツに移動

投稿

1月, 2019の投稿を表示しています

LinuxサーバーからCommandでGmailを経由でメール送信

ちょっと手間がかかるけど メールサーバーを立ち上げると Relayを利用してスパムサーバーとして使われるとか 色々面倒臭いので Googleサーバーを利用することにしたいですね。 Windowsの場合にもCDO.Messageというコンポーネントを利用して直接に送るのができますが、最近のサーバーバージョンにはTempファイルを権限などの設定が微妙に手間がかかってしまい、giipのMQ(Message Queue)機能を利用してLinuxサーバーがメール送信サーバーとして使われるようにしました。 なのでまずLinuxサーバーにGmail設定。 https://qiita.com/zaburo/items/a6244d32ce5f5fe2c3d1 これもgiip Scriptでできるように…

バーチャルさんが見ている!Vtuberの流行りですかね。

https://virtualsan-looking.jp/ Vtuberが紹介されたのが2017年頃、 流行り過ぎて今は凄い勢いでやってますね。 Twitterとか見てみると凄い数のVtuberさん。 多分最初の人とか後から参加したアイデアのいい何人かは儲けてるけど その以外には単なる趣味でしょ。 Vtuberのメリットは 顔に自身がないとか顔を出したくない人が Youtubeの動画が作れるのが一番のメリットですかね。 私もやってみたい位なので 日本では既にセカンドライフとかの 失敗したビジネスがあったのでどうかと思ってる方もいらっしゃると思います。 セカンドライフはそもそも アプリをインストールしないといけない、 モバイルにはできない、 かなりのパソコンの仕様が必要、 入っても専門家が街を作ってくれないと何もない、 それにお金をかける必要を感じる企業がない。 とのことでしたが、 Vtuberは 今までなじんでるYoutubeをそのまま利用できる。 何も作ってなくてもいい(専門知識いらない) 普通に撮影すればOK モバイルももちろんYoutubeができる全てのデバイスでできる アプリじゃないから手間とか仕様の制限がない 企業さんがいなくても世界が作れる かなと。 ということでだんだん広まって 結局日本ならではの色んな動きがありますね。 やはり2チャンみたいな文化にピッタリかも。

ガートナー(Gartner)さんが言いました。データは21世紀の原油だと!

なのに未だにも データがいくら重要なのかが分からず 捨て続けてるところが多いですね。 現在データ科学というジャンルが流行ってて なんとなく分かってると思います。 しかし 本当にデータが重要なのが分かってますでしょうか? データ原本はそもそも原油なんです。 そのまま使えません。 原油と同様 しかしその原油から 飛行機油、ガソリン、軽油等等 色々出てきてます。 それが精油ですね。 このデータの精油作業が データ科学者のMLなどのお仕事でしょう。 ある人が言いました。 データだけは売れないから顧客に必要なレポートを売らないと! データを売りに来た私のパートナーさんに言いました。 しかし、これおかしくないですか? 原油を抽出したら色んな国から精油企業が買いに来てます。 データも同じだと思います。 データを加工する企業はそのドメイン(Domain、地域または業界)専門家ではないと分かるはずないです。しかしその専門家が全世界のデータを抽出できるわけありません。 だから データを抽出専門と 原油を入れるタンクを持って運ぶ専門家 抽出したデータの1次加工ができる前処理専門家 そしてそれを製品として売れるように最終加工プロダクト専門家 と分ける必要があります。 各分野で専門家がいて 自分の分野で専門になればいいんです。 なんで抽出専門家に最終プロダクトを求めてるのですか? もしデータのお悩みがございましたら 一度相談してみたら如何でしょうか? お問い合わせ

人工知能(AI)のお仕事って一つ?

最近流行ってる人工知能(AI, Artificial Intelligence)のお仕事 全てが同じ? だと思ったら問題あります。 まずAIを語る前にデータ分析のお話から始めましょう。 データを分析するとき必要な分野は大きく3つに分けられます。 出典:  https://towardsdatascience.com/introduction-to-statistics-e9d72d818745 Data Analyst:数学と科学専門のデータだけ分析できる人 Domain Specialist : 該当分野のビズネスをはっきり分かってデータが意味するのを分かっている業界専門家 Hacker : コンピュータ専門のサーバーとデータストレージを自由にコントロールできる人。 この中でDomain Specialistは元々その業界にいるのであまり気にしてません。 今一番Data Scientistとして知られているのがData Analystです。 この人はMLライブラリを利用してデータを回すだけ。もちろん経験によって分析の品質と分析の方法、手順が変わって全然違う結果になってしまいますが、これはある程度決まってました。 実は、これだけでありません! データ収集専門家: 必要なデータの大半はインターネット上にあるのであれを大量に持ってくる技術をCrawlまたはScrapingと言います。今までは検索エンジンなどでしかあまり使ってないですが、現在はMLでは必ず必要な部門になりました。 インターネットからHTMLデータを抽出してURLをParsingしたらイメージ、リンクなどを分けてまたCrawlを続け必要な本文だけ持ってくるのにかなりの経験が必要です。 これが前処理の最初に必要な技術でこれだけの専門家がいます。 一つの検索エンジンからたくさんのリクエストをしたりするとブロックされるのでProxyを自由に利用するとかの細かい経験が必要な分野です。技術力より経験が必要な部分ですね。 自然語処理専門家(言語処理専門家): 次は拾ったデータと元々あったデータの中で言語から必要な単語抽出及び基本形を単語とか名詞だけ抽出するのがNLP(Natural Language Proces

今利用している開発言語は最高の言語ですか?

この前同僚と話した内容です。 彼はPythonが最高だと思ってるんですが、 そのように考えて他の言語を下見する人が多いので Pythonは初心者ようで全てCから派生したよ。 と言ったら急に喧嘩のようになりました。 まあ、このような意見対立は好きなので色々真剣に話しました。 しかし! 私が間違ってるところがありました。 Pythonの話ではなく 全てがCから派生したのではありませんでした。 Fortranはそもそも弾道計算用の数学中心の言語だったので独立してるしCより早く始まりました。 その以外にはそんなに私の意見に問題はなかったですが、 Pythonは計算とML(Machine Learning)がしやすく計算用のLibraryが多く含まれていますが、一番の問題はバージョン毎に全く違う言語のようになってしまい、新しいバージョンでも前のバージョンのコードが使えない場合が多くて環境のバージョン管理が難しいです。 このような経験が.Net Framework 3.5と4.0にありましたね。 その他には大体新しいバージョンを入れたら前のバージョンがこのまま利用できたりして問題なかったけど。 あ、Power shell 2.0も4.0にいきなり上がって前のバージョンは使えたけどかなりのOSに2.0がインストールされて4.0に上書きが難しかった経験があります。 しかし、MSさんから4.0のFunctionを2.0で使えるようにソースを公開して2.0の環境でもFunctionのソースさえ追加したらそのまま使えました。 これが言語の完璧さっていうかサポートの規模ではないかと思います。 そしてPythonはそもそもプログラマーのために作られた言語ではないので初心者用と言えるのではないでしょうか。 Cはやはり初心者が使いにくいし。 VBAはもともと初心者用って言われたけど私は好きでした。現在もClassic ASPでWebを作ったりしてるし。 しかし自分がメインにしている言語が舐められたら腹たつ人多いですね。 一番大事なのは言語ではないのに。 まだまだですね。

サーバー作業及び開発の環境作りTip

いつも思ってるのが 開発者及びサーバー管理者はすぐ作業ができる環境が必要で どこに行っても自分の作業用ノートパソコンを抱えています。 ということで、 私なりのコツがあって紹介させてもらいたいです。 もちろん私の方が絶対正しいのではないので 自分のコツに参考になればと思うだけです。(汗) まずは自分のノートパソコンがメインにならないようにするのが大事! 例えば作業が必要な時スマホでもiPadでも作業ができればいいんじゃないですか。 画面が小さいとかタイピングが面倒とかの話は慣れればOKだし、Bluetoothキーボードさえあれば問題ありません。 まず、作業環境を全てつなぐ必要があります。 私の場合には 作業PCまでの接続:Chrome Remote Desktop Connection 作業PCのファイルのちょっとした確認:Google Drive + Resilio Sync 遠隔操作:giip 作業環境の仮想化:Oracle VirtualBox Chrome Remote DesktopとResilio SyncはスマホとiPadに入れといます。 そして作業用のPCは会社に置いときます。 giipはインストールするのではなくGoogleアカウントで一度ログインするだけでOKです。 両方アプリを入れたら 携帯でも会社のパソコン画面が見れて操作ができちゃいます! しかしセキュリティーの問題は会社によりますので 合わせる必要がありますね。 結構厳しいところはこのようなツールは全てブロックされているし、 セキュリティーを守る必要があるので外部接続手続きなどを行い、VPNなどで接続する必要があるところもありますね。 Remote Desktopで接続できる環境なら 部屋のデスクトップでも作業中のまま帰っても引き続き作業ができます。 既に作業に必要な環境は揃っているし、新しく作る必要がありません。 その次はOracle Virtual Boxを利用してPC環境丸ごとバックアップ。 パソコンのデータが消えたり故障で新しくもらったパソコンに作業環境設定に何日もかかった経験持ってる方結構いらっしゃると思います。 私の

インターネットマーケティングのInsightを探す方法?

インターネット上には数多くの ウェブサイトが存在してます。 ユーザーが検索すると 自分のホームページが最初に来たら いいでしょう? それは間違ってます! ユーザーが 最後に決める直前で見えた方が もっと効果がいいのです! では ユーザーのインターネット旅行(User journey)には どんな流れになっているのでしょうか? 一つ例を挙げてみます。 車を買いたいです。 最近興味ができたのがSUVです。 じゃ、何から検索かけますか? 最初は 四人乗りSUV SUV比較 オススメSUV SUV口コミ などなど色んな検索語が出てるでしょう。 トヨタとかマツダとかの検索語は 最初に出てきません。 まあ、最初からベンダーを決めてから 検索する人もいますが。 しかし、この検索を続くほど 具体的になります。 結局最後には2・3種類の車が 残って検索語はハッキリします。 トヨタプリウスアルファ テスラX 最初検索したSUVとかないですね。 結局ユーザーが買う前 たどり着く検索語が重要ですが、 たどり着くまで何回見えたかも重要になるんです。 そこで ユーザーのネット旅行(User Journey)が 重要なんです。 ユーザーの行動パタンをみて ユーザーを洗脳することができたら このユーザーは最初は他の車を頭に入れたのに 検索するほどよく見られた車が頭に残るのです! これを誘導するのが ユーザー行動分析マーケティングです。 もっと詳しく知りたいですか? あなたは既に私に洗脳されてますよ!(笑) では続きは次回! 知りたい情報はいつもコメントに残してください。

Android StudioにGithubを繋いで見ました!

まだまだ素人ですが、 Android Studioに既存設定されて運用されているGithubを繋いでみたんですが、 これでは解決が完全にできなかったです。 まず参考にした記事はこちら https://dev.classmethod.jp/smartphone/android/android-studio-git-integration/ 親切な説明にしたがってGithubを登録してみました。 上記の記事では新しいプロジェクトのみできます。 しかし既にgit clone コマンドでダウンロードしてソースを修正したので修正したのをどうかしたい。 まあshellから git push origin master しちゃってもいいですが、 せっかくのツールなので設定をしてみたいです! それで色々やってみたら VCS > Check out from version control > Github を選択して設定し、 新しいDirectoryに一度ダウンロードをします。 そこで変更したファイルを上書きする。 そしてBuildをし直してエラーがなかったら VCS > Git > Push を選択してソースをアップデートします。 これで完了かな?

Trello上手く使ってますか?使い方に関して情報共有しませんか?

他の人のTrelloを共有してもらって見るとリストが 「案件」、「処理中」、「作業完了」、「テスト」、「保管」 などになっています。 そのリストの中にカードがあり、カード毎に作業者がメンバーとして割り当てられています。 悪くないやり方でほぼ同じやり方ですね。 しかし一つのリストに100個のカードがあった場合どうやって探してますか? もちろん自分に振り分けられているのをフィルターをかけたり検索したりしたらいいですが、メンバーの登録をうっかり忘れたら? よくありますね。 そして検索ごカードが多くなると面倒臭い。 私の方はチーム毎にボードを作成し、またメンバー毎にボードを作成するようにしてます。 それでチームボードにはメンバー毎にリストを作ります。 「Lowy」、「jGam」、「...」 まずは私のボードにカードを作成します。 カードに必要な情報を入れて完成。 そしてそのカードのURLをコピーして私のボードの今週の作業というカードにリンクを貼ります。(もちろん日付をつけて週毎にカードを作ってます。) そのあとカードをチームボードの割り当てたいメンバーのリストに移し、メンバーを入れます。 そうするとそのメンバーが現在何をやっているかが一目でわかっちゃいますね。 メンバー達は自分の作業が終わったらカードを私のリストに移動します。 そして私が検査をして問題なかったらリンクを週間作業カードに貼ってアーカイブします。そうするとアーカイブされても確認できます。 ラベルは4つだけ使ってます。 緑:告知、Noticeですね。 黄色い:作業中または定期作業 オレンジ:重要・確認要 赤:緊急対応必要 これで今誰が仕事がどの位詰まっているか、どの作業をやっているか、作業の割り当てバランスがよく取れているかが確認できます。 そして他の部署との連携もボード単位で移せるので他のボードから依頼がきても一応私のリストにおけば検討して割り当てるか却下するかが判断でき勝手に他の部署から我々のチームメンバーを使うことを防げます。 会社のためという意味ではいっぱい使っちゃっていいですが、それが退職の大きい原因になったら会社としても損が大きいと。 もし他の意見がございましたらコメントをお願いします!

結構詰まってたjenkinsとgitlabの自動配信設定(解決済み)

顧客からの依頼がgitlabからソースをmergeしたら自動でWebサーバーにDeployしたいということでした。 gitlabのソースが更新されたら自動でWebサーバーに配信する設定をしていましたが、 ネットで調べた通りにしてもテストがなかなかできなくて困ってました。 それで結局解決できて、 内容を公開します。 まず、gitlabからdevelopバージョンにmergeしたらどうやってjenkinsからわかってるのか?とのことです。 ここでwebhookという機能を使います。 そもそもwebhookに関して詳しくなかったので、 gitlabのwebhookを設定しようとしたんですが、 gitlabからの変更をjenkinsに送る仕組みだったのです! なので最初設定すべきなところはgitlabではなくjenkinsだったのです! ということでjenkinsに接続します。 初心者なので全てブラウザから行います。 jenkinから同期したいプロジェクトの設定に入ります。 もし設定が初めてなら次の記事をご参考ください。 https://talklowy-jp.blogspot.com/2019/01/jenkinsgitlabgiip.html ビルドトリガーの部分から Build when a change is pushed to GitLab. GitLab webhook URL: http://10.10.10.153:8080/project/jDeployDevelop のところをチェックします。 したら、入力画面がいくつが出てきます。 全てそのままにして下に「advaced」というボタンがあります。クリックして設定を拡張します。追加された入力項目の一番下にSecret Tokenというところがあり、その右下に「generate」ボタンがあります。何も入力しないで(入力できません;)「generate」ボタンを押します。 すると何かが出てきます。それをコピー 上のチェックしたところのURLとSecret Tokenの二つをコピーしたらOKです。 次はgitlabをブラウザで開きます。 自分のプロジェクトのところからsettings > integrations をクリックすると w

jenkinsを利用してgitlabのソースアップデート時自動配布を設定したところgiipより難しい!

顧客の依頼でJenkinsをインストールしてWebサーバーにソース自動配布システムを作成しています。 まだ完了ではないので途中で書き込みアップデートが頻繁にある可能性があります。 まず、gitlabとJenkinsのインストールは難しくないと思い飛ばします。 gitlabのソース配信設定にはrsyncを使いました。 gitlabサーバー:gitlab.littleworld.net jenkinsサーバー:jenkins.littleworld.net 本番Web01~03サーバー:web01.littleworld.net ~ web03.littleworld.net 開発Web:develop.littleworld.net StagingWeb : master.littleworld.net 開発ソースは3バージョンに分けてます。 develop master release gitlabは顧客の開発部から設定するので放置。 開発ソースをアップしてテストして完了したらmasterにマージし、最終テストを行います。問題無かったらreleaseをします。 その時、releaseだけは手動で配信、developとmasterは自動でWebサーバーに配信したいという旨です。 ということでJenkinsからプロジェクトを作成します。 まずはCredentialsを作成 Add Domainをクリックしてドメイン作成 Domain Name : git.littleworld.net 作成されたドメインの詳細に入ったら左側にAdd Credentialsが出てきます。(探すの大変!)Add CredentialsをクリックしてCredentialsを作成します。 Kind:username with password Scope : global username : gitlab接続用のID password : gitlab接続用のpassword ID : 自動生成されるので空欄 Description : username と一緒に表示されるので書いといたら使いやすい 作成したら次はプロジェクトです。 Job名:jDepService Build > Source > gitを選択  Re