So-net無料ブログ作成
前の10件 | -

Twitterまとめ投稿 2018/06/19 [Twitter]


コメント(0) 

Twitterまとめ投稿 2018/06/18 [Twitter]


コメント(0) 

プログラミング言語のインデントの話 [プログラミング]

今、C++のソースを扱っていて、インデントの仕方がTabだったりスペースだったりと統一感がなくてイライラしますw。基本4タブなので、大抵のエディタでは問題ないのですが、何というかいつの日も気持ち悪さをはらんでしまうインデント問題。Tabの持つ便利さが問題を起こしている気もします。

インデントにはスペース文字
2個分
4個分
8個分
が主だと思います。その他は変態野郎という事でw。8個なんてデカいインデント誰が打つんだ、というWindowsなプログラマもいるかもしれませんが、Linuxでデフォルトなエディタやビュアーであるviやlessでは普通はTabがスペース8個分で表示されるはずです。

4タブが主流になったのは、WindowsのIDEやエディタがそうだったからだと思います。まぁ普通に字下げの単位として四文字というのはちょうどいい長さであるというのもあると思う。2タブだとTabを使う意味があまりないし、8タブだとやっぱり普通に使うには長すぎる。

LLなどのスクリプト言語だとスペース二つ分のインデントも多い。というか、JavaScriptで初めてそういうのを見たような気がする。2タブも悪くないと思う。何にしてもTab文字を使わず、スペースですぐに入力できるというのが良いと思う。ただインデントとして見やすいかどうかというのは微妙な話だ。

何にしてもTab文字とスペース文字を混ぜてインデントしないでほしい。色々気持ち悪い。

コメント(0) 
共通テーマ:パソコン・インターネット

Twitterまとめ投稿 2018/06/17 [Twitter]


コメント(0) 

Twitterまとめ投稿 2018/06/16 [Twitter]


コメント(0) 

Twitterまとめ投稿 2018/06/15 [Twitter]


コメント(0) 

ブログの最近 [ソフトウェア]

ランキングに載る25位以下に落ちてからもういいやと思って積極的にブログを書いていませんでした。しかし、全体のランキングがそこそこ上がっても、パソコン・インターネットのカテゴリはあんまり上がらないなぁ。まぁ上がった方が良いけど、今はそれほど気にしなくなった。正直あんまりメリットがなかったから、もうマイペースでいいかなぁと。

今、文章の共有にEvernoteを使っているのだけれど、あまり使い良くない。それというのも、Webにアップするタイミングがローカル保存時ではなかったりするからだ。意識してアップロードしないと、複数の端末で開けていると上書きされる危険性が増える。勝手にアップロードする仕様にしたところで、コンフリクトを検知しなければ同じことなんだよね。

だからDropboxとかOneDriveやGoogleドライブを使ったところで、つまるところそんなに違いはないのだけれど、特に容量がかなり制限されているEvernoteを使う意味があんまりなかったりする。というか、Evernoteで便利な機能を使っていなくて、基本エディタの機能しか使っていないところにニーズが感じられないんだろうな。

Dropboxとかのサービスはファイル共有ソフトとはあまり言わないよな。ファイル共有サービスと言えば、怪しいP2Pのファイル交換ソフトの類と混同しないだろうけど、一時期流行ったWinMXとかWinnyとかの印象がどうしてもある。実際、自分のマシン間での共有という意味が強いと思うのだが、URLにして外出しできたりするので、まぁファイル交換の意味もないわけではないのだが。何にしてもクラウド上にファイルがあると楽できることも多い。

クラウド上にあってもローカルにすべて落としてきて同期するか、ただ単にURLとして落としてくるのが主かという違いは各ソフトであると思うけど、ローカルストレージに余裕があるのであれば、ローカルに保存できる形が望ましい。ただ落としてくるだけだと、編集して元に戻すという作業がかなりしんどい。

そんなわけで、今DropboxでWindowsとUbuntuをつなごうとしている。Dropboxはアメリカの当局に盗み見られているという話だが、盗み見られて悪いものは書いていないのでまぁいいかと思っている。というかOneDriveとかLinuxでは使いにくいみたいだから、GUIなローカルのファイルシステムとして使えるものがいい。

ともあれ、今は日本語がUTF-8で統一して使えるのでしんどくなくていいですよね。今もエディタにはEUCとかShiftJIS対応がされているわけですが、それもそれほど重要じゃなくなっているのはいいことです。Unicodeがこれほどすんなり広がるとは思っていなかったけど、みんなが必要としていたものだったのは普及の速度からして明白であった。

Unicodeはプログラミングの中では内部的に良く使われていたみたいだし。Windowsですらわりと初期の方から内部的にUnicodeを使っているというのを見ていた気がした。確かに多言語を扱うにあたって、プログラムコード的に文字化けするぐらいならまだしも不具合が起こったら面倒くさいしね。何にしてもどんなデータが入ってくるか分からない状態というのは精神衛生上あまりいいことではない。何よりセキュアではなくなりそうだしね。

そういえば、Webページの日本語の文字化けは最近見ないなぁ。ブログみたいな文章ジェネレータが多くなってきて、ローカルでEUCやShiftJISなどの思い思いの文字コードで編集することが少なくなっているからなんだろうね。というか、今どきFTPでHTMLファイルを上げて更新している人なんてほとんどいないんじゃなかろうか。まぁそのためのCMSなわけだし。

コメント(0) 
共通テーマ:パソコン・インターネット

Twitterまとめ投稿 2018/06/14 [Twitter]


コメント(0) 

Twitterまとめ投稿 2018/06/13 [Twitter]


コメント(0) 

NVENCをC言語のソースに組み入れたい [プログラミング]

NVENCを既存のC言語のソースに入れ込みたいと考えているのですが、SDKのソースがC++で書かれていて容易にC言語のものには組み込めないようです。C++のソースにC言語の関数を取り入れるのは難しくはないけど、逆はちょっと面倒くさい。APIの関数はC言語っぽいんだけどな。

最終的にはC++で処理を書いて、extern "C"で処理の入り口を書くという事になるのでしょう。正直、キメラっぽくて気持ち悪い状態なわけですが、そうしないとVideo Codec SDK側のソースをC言語で書かないといけないのだろうと思われます。具体的にはNvHWEncoder.cpp、dynlink_nvcuvid.cpp、dynlink_cuda.cppなどC++の記述があるところで、これをC言語に書き換えれば問題ないのかもしれませんが、SDKの中身が変わった時にソースのコピペで対応することができなくなってしまいます。自分が書いた側の対応も必要でしょうが、いちいち両方とも手を入れないといけないのはしんどすぎます。

そんなわけでVideo Codec SDK側のソースには手を入れないことにしました。一番手間のかからない方法でかつ確実性のある方法でやろうと。でも、C言語のバイナリにC++のバイナリを組み合わせて動作させるのは気持ち悪い気はします。その前にCUDA用にnvccでコンパイルしたバイナリをC言語のソースに混在させていたので、それと大した違いはないのかなと思って我慢します。

移植のために意気込んで色々準備していましたが、CプログラミングではなくC++とMakefileの扱いになってしまいますね。特殊な使い方をしていないもののC++はあんまりやりたくないんだよなぁ。Objective-Cよりかやだ。

タグ:NVENC
コメント(0) 
共通テーマ:パソコン・インターネット
前の10件 | -