goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PHPで、ある対象文字列中に複数あるキーワード(文字列)が1つでも含まれているかどうかを知りたい

2015-10-26 16:17:40 | PHP
トライ木、パトリシアツリーを作成するのは除く。
KMP(クヌース–モリス–プラット)法でごにょごにょすれば、というのも却下。

そうすると、方法は3つくらい?

1.foreachを使って、
    各キーワードが対象文字列中にあるかどうかをチェックする
  のを、全キーワード分行う


[PHP][疑問]ある文字列が、複数のキーワードのうち一つでもマッチするか判定する方法について
http://www.happyquality.com/2012/02/04/1959.htm

のはじめのほう


2.正規表現をつかう。キーワードを|(OR)でつなげて、 preg_match

上記サイトの下のほう、または(具体的には)

PHPでの文字列検索について教えてください
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1186431091

の解答


3.複数のキーワードを1つの配列とする。str_replaceでその配列を渡して、置き換えが起こるかチェック


ある複数の単語が文章中に含まれるかどうかを調べる方法
http://honey8823.hateblo.jp/entry/2015/08/05/173129



なんか、1が、早いという結果?
やっぱ、ソフトでがんばるより、ハードを早くしたほうが「勝利」だよね(^^;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ドローンをAndroidで操作したりGoogleMapと合わせるのに必要そうなオープンソース

2015-10-26 12:24:24 | ネットワーク
10月25日オープンソースカンファレンス2015 Tokyo/fallに行って聞いてきた内容のメモメモの続き。

つぎは

オープンソースのドローン用フライトコントローラー「Dronecode」の概要

をメモメモ




Dronecode:Linux Foundationのプロジェクトの1つ
  yacto,TIZEN,Auto motive Grade Linuxなんかも同じレベル
  TIZENとAuto motive Grade Linux
   →大手企業が参加

Linux foundationによるDronecodeの概要
→ハード、ソフトとも公開
 マルチコプター、無人ビークル、VTOL
 ぱろっと、日本国内企業も参加
 ROSの管理元も

ドローンを取り巻く環境
・DJI社が有名:完全垂直統合
・DroneCodeの中心メンバーは3DRでMakersのクリスアンダーソンが率いる
3.3のベータからの6ヶ月間RCが1~8

なぜDroneCodeが必要か?農業用ドローンで考える
・無人機での農薬散布:散布量が決まっている
  1分でまく(均一に)
  ポイントを指定してはいけない→見える範囲で人がやる
   →一定速度でまくのが、むすかしい
   →でもそういうドローンはない
     →フィードバック機能がないから


・本来のフライトにかかわる部分はそのまま使用
・ポンプのモーターを飛行速度で制御する部分を追加
・ハード的にもポンプのモーターの速度コントローラーも作りこむ
→本来のアプリに必要な部分

オープンソースハードウェア紹介
・マイコン系
 PX4→PIX HAWK→
 APM2.6
 PIXHawk Fire Cape(PXF):びーぐるぼーど Ubuntuで制御するドローン
 NavIO+ らずぱい2+ボード らずびあんでうごく

ドローンアプリの開発「Dronekit」
・フライトコントローラーに制御・アプリを作れるSDK
 →オープンソース
・テレメトリデータなども簡単に受け取れる
・Android,PC(Python)、クラウド

Dronekit for Android
・Androidからドローンへ制御コマンド
 データ受信
夏にセミナーがあった

Dronekit Python APIの概要
・ちゅうしんてきAPI すべてできる
。自律飛行
・非同期
・Waypointの作成と管理
・ラジコンチャネルの書き換え

Dronekit Cloudの概要
・電波法上日本では飛行しているものが、直接クラウドと通信できない
  一回地上波で受けて、クラウドへ
  ログの保管
  ログ解析
    JSON,Kmz

Dronekitを使うと?農業用ドローンで考える

DronecodeとROSの概要
2か所
・フライトコントローラー
・オフビークル(地上局)
フライトシュミレーションができる
すらむ:自己位置推定

すぐに試せるROS対応フライトコントローラー

オープンソース国産フライトコントローラーの開発
96ボード Visual スラムを動かす

大学、研究者向けDronecode対応ドローン
→共同購入しましょう!

国内でのDronecodeの活動
 Facebook

DCoJA(どこじゃ)の設立
→Dronecode Japan Association (DCoJA)
 勉強会などを行っていく予定

FPVを使う場合
 →3陸特をとって、1G帯でできる

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

OpenFlow1.3対応のオープンソース「Lagopus Switch」を聞いてきた

2015-10-26 09:20:06 | ネットワーク
10月25日オープンソースカンファレンス2015 Tokyo/fallに行って聞いてきた内容のメモメモの続き。

つぎは

オープンソース!OpenFlow1.3対応!
日本初のネットワークスイッチOS「Lagopus Switch」

をメモメモ




今日覚えてほしいこと
・ネットワークはプログラミングできる
・サーバーで動作するソフトウェアスィッチ

現状のネットワーク機能の課題
・多様なユーザーニーズ
・自律分散
・装置の制限
・人手中心のオペレーション(CLI全盛)

既存スイッチCLIの例(魔法の言葉)

なぜSDN
・大規模なデータセンターを低コストに運用したい
・構成変更を迅速に行いたい
・サービス要件からネットワークを設計したい

どのように
・ネットワーク機器の制御部をプログラム可能に
・ネットワークをプログラムから触れるように

制御と転送を分離(OpenFlow)
・利点・プロトコルおよびスイッチ仕様の標準化

OpenFlow概要(スイッチの動作)
・IF THEN(マッチ&アクション)
・L1~L4まで
  Forward
  Drop
  Modify Field
 →ハードウェアによる

IPのデータ転送
・IPは相手先で転送
・OpenFlowは、宛先、送信元、トラフィックの捻じ曲げ可能

データセンターでの例
・データセンターにおけるネットワーク仮想化の課題
・従来技術を用いた場合の課題
・OpenFlowによる構成(Hop-By-HOP)
・SDNを構成するオープンソース
  コントローラー
  スイッチ OpenVSQITCH,

OpenFlowでSDNを体験してみたい
・NW制御部
・データプレーン:OpenVSwitch,Lagopus,LINC

Lagopus
・NFVやSDNを実現するソフトウェアコンポーネントを提供
・ソフトウェアパケット処理の適応領域の拡大
・ネットワーク研究のツール・ライブラリとしての活用

ネットワーク
 ショートパケット:134サイクルしか使えない・・・
 1KBは1600クロック

Lagopus
・OpenFlow1.3に最も適したソフトウェア
・DPDKを活用した高性能データプレーン
・外部連携API

ネットワークのエッジのノード

Lagopus vSwitchの構成

パケット処理の高速化

IntelDPDK
・X86アーキテクチャに最適化されたデータプレーン用ライブラリとNICドライバ
・BSDライセンス
・ふつうのサーバーで80GBPS


性能向上に向けての工夫や実装
 →詳しくはソースコード
性能評価
・10GBPSは超える

オープンソース化
 2014年7月31日に公開

柔軟なネットワーク
・展示でも
  半透明人間カメラ(202の奥)
・SDN Japan2014
  前に来たら早いネットワーク
・ブラジル-日本間の映像伝送実験

SDN IXの背景
・DDOSのトラフィック削減→OpenFlowを使う

まとめ
・高速なLagopusソフトスイッチをオープンソースとして提供

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向

2015-10-26 03:19:46 | Weblog
10月25日オープンソースカンファレンス2015 Tokyo/fallに行って聞いてきた内容のメモメモの続き。

つぎは

分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向

をメモメモ




・自己紹介
・Hadoop概要
 オープンソースの大規模分散処理フレームワーク
 Doug CuttingがJavaで開発
 Hadoop→Dougさんのお子さんのお気に入りのぬいぐるみ

10年目のHadoop
・MapResuce
・YARN
→大容量、多件数
 →MapReduceにこだわらない
  →ここ数年、あらたなステージへ

Hadoopの構成
・集中管理型の分散システム
・おおきく2つのコンポーネント
  分散ファイル   HDFS
  分散リソース管理 YARM(YARN上でMapReduce)
→集中管理型の分散システム
 並列分散処理の面倒な部分を解決してくれるミドルウェア

HDFSとは
・分散ファイルシステム
  外から見ると1つの巨大なファイルシステム
  hdfs dfs -put ファイル名
  hdfs dfs -ls

 舞台裏では
  ブロックサイズで分割される
  複製され、スレーブサーバーに格納

MapReduceとは
 複数ワーカーで並列に処理できる仕組み
 Map処理、Reduce処理
 YARN上のアプリケーションの1つ
 hadoop jar サンプルジョブ.jar

YARNとは
・Yet Another Resource Negotiator
・「蓄積+処理」の構成から、リソース切り出し
・理由
  Hasoopのスケーラビリティ
  スループット向上
  MapReduce以外の処理実行

マスターサーバーの負荷軽減
Jobtracker TaskTracker
→マスターサーバーの管理コストが大きい

YARN
 Resource Manager NodeManager
→アプリケーションの管理はメンバーに依存
 リソース情報はリソースマネージャーで管理
 ますたーサーバーの管理コスト減る

スループットの向上
・Mapスロット、Reduceスロット
→コンテナ単位で払い出し(Map,Reduceの区別なし)

Hadoopエコシステム
・Hadoopはためる・処理するに特化
 →エコシステム

。MapReduceを直接Javaで書くと、こーどが。。
→エコシステム
  Apache Hive:HiveQL(SQLとは若干違う)
  Apache Pig

よくあるぎもん
・SQLのような複雑な処理→組み合わせて

低レンテンシ処理は苦手

Apache Tez:YARN上での処理に最適化された実行エンジン
 DAG(ゆうこうグラフ)により実行計画
 GUI HiUE
 メッセージかふか

最新動向
・大規模、多件数:仕組み手法は成熟
・MapReduceにこだわらない:ベースは完成、成長著しい
・新たなステージ:群雄割拠
  SQL On Hadoop

あらたな分散処理エンジンの出現
Spark
・オンメモリで実現

まとめ


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする