Linux 行数がファイルを指定行分で分割する。

Linuxのターミナルで、たまにCSVファイルの行数がおおすぎて、エクセルで開けないケースがる、ちょっと前のエクセルで、65536までしかダメったかな?

そんな場合は下記コマンドで分割
下記は50000行毎に分割する例。
実行すると、xaa xab ・・・などいうファイル名で分割ファイルが作られます。

# split -l 50000 file_20110826.csv

C++ ビット操作によるフラグの扱いメモ

C++でアセンブラを触る際非常に高速軽量化に必要なビット操作、
それ利用した、ビット操作によるフラグの扱いを下記にメモします。

 

変数の各ビットを、フラグとして使用する。

 char cflag = 0; → 0000_0000 → フラグ8つ

8ビット       ビット(2進数の表記)

           で8ケタ。0か1か、

           が8つ扱える。

 

サンプル

 

 0 0 0 0_0   

     未使用    ③ ② ①

 

生死を扱う ②性別を扱う ③無敵かどうか

 

0ビット目・・・1なら生、0なら死

 1ビット目・・・0なら男、1なら女

 2ビット目・・・0なら通常、1なら無敵

                                       

        1にする  0にする  調べる          

0ビット目    |1     &(~1)  &1が0でなければ  

(生死)                             

1ビット目   |(1<<1) &(~(1<<1)) &(1<<1)が、0でなければ

(性別)                             

2ビット目   |(1<<2) &(~(1<<2)) &(1<<2)が、0でなければ

(無敵)                             

 

//———–インクルード————————–

#include <stdio.h> //基本的な入出力のヘッダファイル

#include <stdlib.h> //itoa()などに必要なヘッダファイル

 

//――――――メイン関数―――――――――――――――――――――――――――――――――――――――――

void main()

{

char cflag = 0; // (2進数では 0000_0000)

 

//―――――0ビット目を調べる――――――――――――――――――――――――――――

if(cflag & 1) //cflagの0ビット目(生死)だけを調べる。

{

printf(“0ビット目は1。生きているn”); //0ビット目が0でない(1)なら、生存

}else

{

printf(“0ビット目は0.死んでいるn”); //1ビット目が1でない(0)なら、死んでいる

}

 

cflag = cflag | 1; //0ビット目を1にする

printf(“0ビット目を1にする。死んでいた場合、生きかえるn”);

 

//生きているか死んでいるかもう一度表示

if(cflag & 1) //cflagの0ビット目(生死)だけを調べる。

{

printf(“0ビット目は1。生きているn”); //0ビット目が0でない(1)なら、生存

}else

{

printf(“0ビット目は0.死んでいるn”); //1ビット目が1でない(0)なら、死んでいる

}

 

cflag = cflag & (~1); //0ビット目を0にする。

printf(“0ビット目を0にする。生きていた場合、死亡するn”);

 

if(cflag & 1) //cflagの0ビット目(生死)だけを調べる。

{

printf(“0ビット目は1。生きているn”); //0ビット目が0でない(1)なら、生存

}else

{

printf(“0ビット目は0.死んでいるn”); //1ビット目が1でない(0)なら、死んでいる

}

}

 

練習問題

 

1、性別や、無敵かどうか、なども、サンプルと同じように確認せよ。

 

//———–インクルード————————–

#include <stdio.h> //基本的な入出力のヘッダファイル

#include <stdlib.h> //itoa()などに必要なヘッダファイル

//――――――メイン関数―――――――――――――――――――――――――――――――――――――――――

void main()

{

char cflag = 127; // (2進数では 0000_0000)

char Moji[33]; //文字列を扱うchar型配列を宣言

itoa(cflag,Moji,2); //cflag2進数にしてMojiに代入

printf(“cflag = %sn”,Moji); //cflag2進数にした値を表示

 

//cflagの0ビット目を調べる

if(cflag & 1) //cflagの0ビット目(生死)だけを調べる。

{

printf(“0ビット目は1。生きているn”); //0ビット目が0でない(1)なら、生存

}else

{

printf(“0ビット目は0.死んでいるn”); //0ビット目が1でない(0)なら、死んでいる

}

 

//cflagの1ビット目を調べる

if(cflag & (1<<1)) //cflagの1ビット目(性別)だけを調べる

{

printf(“1ビット目は1。男n”); //1ビット目は0でない(1)なら、男

}else

{

printf(“1ビット目は0.女n”); //1ビット目は1でない(0)なら、女

}

 

//cflagの2ビット目を調べる

if(cflag & (1<<2)) //cflagの2ビット目(無敵かどうか)だけを調べる

{

printf(“2ビット目は1。無敵n”); //2ビット目は0でない(1)なら、無敵

}else

{

printf(“2ビット目は0。無敵じゃないn”); //2ビット目は1でない(0)なら、無敵じゃない

}

}

 

androidアプリ xmlで画像とテキストを重ねる

androidアプリで画像とテキストを重ねる方法メモします。
下記はImageViewTextViewを重ねた例です。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

	<ImageView 
	        android:id="@+id/imageview1"
	        android:layout_width="fill_parent"
	        android:layout_height="wrap_content"
	        android:src="@drawable/setsuden"
	        android:background="@null" 
	        />
    <TextView 
    		android:text="@+id/TextView01" 
    		android:id="@+id/TextView01" 
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content" 
    		android:textSize="10sp">
		</TextView>
</RelativeLayout>

重ねるためのミソは、RelativeLayoutで囲います。

 

http://boco.hp3200.com/primer/hello02-2.html

上記記事が参考になりました!

androidアプリ、ウィジェット等で、画像を透過

androidのウィジェットなどで、丸いウィジェットなど画像で用意したいときに、
画像を透過したいときがある、そんなときは下記透過処理。
ウィジェット用意のXMLに下記ように記述。

    <ImageView
        android:id="@+id/imageview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/setsuden"
        android:background="@null"
        />

下記がみそ。

        android:src="@drawable/setsuden"
        android:background="@null"

http://ccandroid.blogspot.com/2011/04/imageview.html 

上記が参考になりました。
ありがとうございます!

 

 

使えるandroidのキーボード(IME)アプリ『GO キーボード』が非常に使える

 

最近やっとスマートホンのXperia acroを手に入れ色々とandroidアプリを触っていて、
これは使えるとおもったIMEアプリ、つまり入力する時に使うキーボードのアプリで大分気にいったのを紹介します!

いくつか入れてためしてみたのですが、無料で一番使いやすかったので紹介。

その名も『Go キーボード』 というアプリで、
箇条書きでよい点をあげるとこんな感じ。

  1. 多言語対応
  2. カスタマイズが豊富
  3. 音声入力
  4. 入力方式をすばやく変えられる(十字キー入力モードや、携帯の入力方式、パソコンの入力方式など、言語も選択したものをすばやく変更できる)
  5. ボタン長おしなどで、色々と特殊文字の入力もすばやくできる
  6. テーマなど、豊富なプラグイン

『GO キーボード』

 

ただ身の回りで動かない端末が結構あるようなので、
そこがクリアできれば無料で最強かと思われます。。w

ちなみに自分が利用している端末はXperia acroのAU版です。

 

jQueryを使ったアニメーショングラフが作れるjsライブラリ!

最近はJS=jqueryなぐらい、javascriptといえばjqueryという感じですが、
今度はカッコイイデザインのグラフを作る際も、jqueryを使ったライブラリでできてしまうそうです!

それがこれ!

『Elycharts』
http://elycharts.com/examples

いままで、結構グラフ部分をこだわろうとするとFlashを使ったライブラリを選択せざるおえませんでしたが、JSだけでここまでできればもうFlashをわざわざ利用する必要もなさそうです!
(めちゃくちゃ派手だと難しいかもしれませんが汗)

もうブラウザはJSの奴隷かもしれません。。。;

HSPコンテスト2011 スマートフォン向け機能のHSPDishも注目

毎年開催されている、HSPコンテスト2011が本日から開催されたようです!
今回はスマートフォン機能の「HSP3Dish」を使った、HSPDish賞というのがあるらしいです!

HSPでついにスマートホンアプリが作れてしまうのか!!と期待です。

HSP3Dishが使えるHSPは↓
「HSP3.3RC1」 

今後もHSPには注目したいと思います!

 

 

 

 

CentOS5にプロクシサーバ(Squid)をインストールしたメモ

CentOS5にプロクシサービスのSquid(スクイード?)をインストールした際のメモ。

1.squidをyumでインストール

# yum -y install squid

2.squid設定ファイルのaclとhttp_accessを設定
今回はローカルネットワークからのみ許可する設定です。
/etc/squid/squid.conf
内のaclの設定↓

acl localhost src 127.0.0.1/255.255.255.255

※localhostというacl名を定義
※src=アクセス元のIPアドレス。127.0.0.1/255.255.255.255 =アクセス元がローカルネットワーク。

上記のように下記を設定

acl squidtest src 192.168.1.0/255.255.255.0

 

次に下記を追記し、acl名squidtestを許可

#http_access allow our_networks
http_access allow squidtest

 

3.squidを起動

#/etc/rc.d/init.d/squid start

また、squidを今後再起動時に自動起動させるなら下記も忘れずに

#chkconfig squid on

コードスニペット ツールのまとめ(比較)

プログラマは知っといた方がいいコードスニペットを下記にまとめます。

・Webで一元管理なら『my code stock』(アカウントの登録のみ無料)
https://mycodestock.com/overview.html

mycodestock
※Webなのでブラウザが使えればOK

 

・Webではなく完全に自分のマシンだけで管理したいなら『Snippely』(ダウンロード 無料)
ダウンロードするので、オフラインでも動きます。
http://code.google.com/p/snippely/

Snippely
※AIRで作られているので、MacでもWindowsでもOKでした(AIRはインストールしておく必要あり)

 

他にもエディタの連携したコードスニペッドがいろいろありますが、実際に利用していないので、下記にざっくりまとめ。

Windowsであれば

  • http://www.qsnipps.com/(Windows Linux共有可能 シェアウェア)
  • エディタについているものであれば
    VisualWebDeveloper(無償)
    VisualStudio   etc…
Macであれば
個人的に一番やりたいのが、eclipseでコードスニペットが利用したいです。
ちょっと調べてみましたがなかなかできずに、おわってます。
知っている方いられましたら、是非おしえていただければ幸いですw