サーバー(Ubuntuサーバー8.04 TLSを実行)でいくつかのタスクを実行するために、いくつかのスクリプトを作成する必要があります。タスクは定期的に実行されるため、スクリプトをcronジョブとして実行します。
タスクを「グループA」と「グループB」に分けました。(少なくとも私の考えでは)少し違うからです。
タスクグループA
ファイルからデータをインポートし、場合によっては再フォーマットします。再フォーマットとは、データのサンティゼーション、正規化、データの「列」での計算などを行うことを意味します。
変更されたデータをデータベースにインポートします。今のところ、インポートの大部分にmySQLを使用していますが、一部のファイルはsqlLiteデータベースにインポートされます。
注:ファイルのほとんどはテキストファイルですが、一部のファイルはバイナリ形式(私が開発したC ++アプリケーションによって作成された独自の形式)です。
タスクグループB
- データベースからデータを抽出する
- データに対して計算を実行し、データベースにテーブルを挿入または更新します。
私のコーディング経験は主にC/C ++開発者ですが、過去2年ほどPHPも使用しています(+この質問の目的に関係のない他のいくつかの言語)。私はWindowsのバックグラウンドを持っているので、まだLinux環境に足を踏み入れています。
私の質問はこれです-私は上で説明したタスクを実行するためにスクリプトを書く必要があります。シェルスクリプトで使用するC++アプリケーションをいくつか作成できると思いますが、スクリプト言語で作成した方がよいと思いますが、これは誤った想定である可能性があります。私の考えでは、スクリプト内のものを変更する方が簡単です。機能を変更するために再構築する必要はありません。さらに、C++でのC++データの変更には、PerlやPythonなどの「自然な」スクリプト言語よりも多くのコード行が含まれる傾向があります。
ここにいる大多数の人々がスクリプトが進むべき道であることに同意すると仮定すると、ここに私のジレンマがあります。上記のタスクを実行するためにどのスクリプト言語を使用しますか(私の背景を説明します)?
私の直感は、Perl(shudder)が上記のすべてのタスクを実行するための最も明白な選択であることを教えてくれます。しかし(そしてそれは大きなことです)。しばらく前にPerlについて非常に悪い経験をしたので、Perlについて言及するだけで、つま先が丸くなります(Perl Camelの本と「Perlでデータを変更する」を何年も前に購入しましたが、それでも「grok」することはできませんでした。構文は私にはかなり不自然に思えます-何度もそれを学ぼうとしましたが-可能であれば、私は本当にそれを見逃したいと思います。PHP(私はすでに知っています)も確かではありませんCLIでスクリプトを作成するのに適した候補です(これを行う方法などの例はあまり見たことがないので、間違っている可能性があります)。
最後に言及しなければならないのは、これを行うために新しい言語を学ぶ必要がある場合、これを行うために必要な主要なコマンド/機能を学ぶのに1日以上費やす余裕がない(時間の制約)ということです(スクリプトを実際にデプロイした後は、いつでも言語の詳細を学ぶことができます)。
では、どのスクリプト言語をお勧めしますか(PHP、Python、Perl、[ここにお気に入りを挿入])-そして最も重要なのはなぜですか?または、シェルスクリプトで呼び出す小さなC ++アプリケーションの作成に固執する必要がありますか?
最後に、スクリプト言語を提案した場合は、数行で示してください(Perl mongers-私はあなたの方向を見ています[あまりにも不可解です!])私が試していることを行うためにあなたが提案した言語をどのように使用できるかすなわちする
- データ操作のためにデータ列に簡単にアクセスできるある種のデータ構造にCSVファイルをロードします
- 列データをmySQLテーブルにダンプします
- mySQLテーブルからデータ構造にデータをロードして、スクリプト言語で列/行にアクセスできるようにします
うまくいけば、スニペットによって、私にとって最も急な学習曲線をもたらす言語と、シンプルでエレガントで効率的な言語(これらの2つの基準[優雅さと浅い学習曲線]が直交していないことを願っています)をすばやく見つけることができますが、私は彼らがそうであるかもしれないと思う)。