作成者別アーカイブ: Sayahamitt

C/C++でツイッタークライアントを作るのに必要なもの

C++でわざわざツイッタークライアントなんぞ作ろうとしている僕ですが、段々と部品単位では動くようになってきたので、自分用のまとめも兼ねて、ツイッタークライアントをフル(?)スクラッチするときに作るべき物たちを書いて置こうかとおもいます。

 

実際にはBASE64エンコード/デコードやSSL通信関係の部分は先人の方々のコードを使わせて頂いているので”フル”スクラッチとは言えないのですけれど、C++標準ライブラリとOpenSSLだけを使ってツイッタークライアントを作るとしたら何が必要なのか、というお話です。

続きを読む

UbuntuのUnity-Launcherのショートカットから任意のコマンドを実行

最近はちまちまとコードを書くことが多いので、基本的にUbuntu環境を使っているのですが、時としてWindowsのようにデスクトップに置いたショートカットから引数を与えてプログラムを起動したくなることもあります。

 

「コマンドに引数を入力するのが面倒ならエイリアスを定義すればいいじゃない」という指摘は御もっともなのですが、端末エミュレータを引数付きで起動したいときはそれでは困るというわけで…

僕は端末エミュレータとしてTerminatorを好んで使っているのですが、こいつ、画面を水平、垂直に区切って、レイアウトを作ることができて、そのレイアウトを保存し、更に起動コマンドに保存したレイアウトの名前を引数として与えると最初からそのレイアウトのまま起動してくれるという便利な奴なんです。

 

でも…「コマンドに引数を与えるって事は、一度は別の端末を立ち上げないといけないよね…?」

続きを読む

Makefileって難しい

アホみたいなことで一日くらい潰したので備忘録。

C++でCUIのツイッタークライアントを作るべくここ最近ずっと無駄な苦労を重ねているSayahamittです。

 

作業しているフォルダにソースファイルが増えてきて、そろそろGitで管理すると面白いかな? なんて思ったのですが、作業フォルダにはヘッダファイルとボディファイルがディレクトリに別れず直に散らばっていて、しかもそのディレクトリでコンパイルするものだからオブジェクトファイルと実行ファイルも散乱しているし、挙句の果てには実験的なコードとその実行ファイルまで同じディレクトリに同居しているという始末…

 

さすがにこれではGitで管理しようにも監視下に置くファイルとそうでないファイルが同じディレクトリに混在してしまって面倒な事になりそう…

 

ということで、ソースファイルとコンパイル中間ファイルをディレクトリに分けて、Makeでコンパイルすることにしました。そうすればMakefileにcleanも書けるのでディレクトリに溜まったゴミファイルの削除も楽になって一石二鳥!!…と、簡単には行きませんでした。(;´д`)トホホ…

続きを読む

C++でURLエンコード

C++でツイッタークライアントなぞ作ろうと思ったはいいものの、いざ始めてみると分からないことが多すぎて何をするにも時間が掛かって仕方がない…

そんな僕の無知と実力の無さを物語るつまづき第一弾!!

HTTPリクエストってURLエンコーディングしないといけないの?

なんて事もちゃんと理解してなかったので自戒を込めてURLエンコーダを書きました。
続きを読む

Linux向けツイッタークライアント作り始めるつもり

ニートな夏休み、惰眠を貪るSayahamittです。
 
さて僕は一応情報系の学科の学生なわけですが、情報と言えば通信、「通信出来ないなんてpoison」と叫ばれる(?)今日このごろ、恥ずかしながらソケットプログラミングはおろか、通信系のプログラミングを一切行ったことがありませんΣ(゚д゚lll)
 
これでは流石にマズいのでC++の勉強も兼ねてコマンドラインベースのツイッタークライアントでもこさえて見ようかと思います。

続きを読む

C言語で食事をする哲学者問題を解く

こんにちは、最近の暑さで夏バテ気味なSayahamittです。 大学の学期末テストとそれに伴う課題ラッシュが終わりました。 その課題の一つに「食事をする哲学者問題」を解くアルゴリズムをC言語で実装しろ、 というものが有ったので、僕なりに解こうとした過程と結果を綴りたいと思います。

以下、無知な初心者のほざき、覚書

 

続きを読む

文字列終端でハマった

こんにちは、Sayahamittです。

TLに流れてきたAOJの問題を解答しようとしたらあらぬ勘違いで1時間くらいハマったので

戒めを込めて書きます。

解いたのは次の問題

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0006&lang=jp

20文字までの半角英数字の文字列入力に対して、文字の順序を反転させて出力せよ。

という簡単な問題です。 続きを読む

C++によるエラトステネスの篩の実装

こんにちは、Sayahamittです。

2月中旬は本州太平洋側が二度の記録的な大雪に見舞われ、我が家も慣れない雪かきに追われました。

雪かきをしてしまった後、やることもないので久々に素数に遊ばれようかと思った次第です。(とても素数で遊んだ、と言えるレベルじゃない(´・ω・`)

さて、素数を求めるアルゴリズムは幾通りもありますが、今回は素数探索アルゴリズムの代表格であるエラトステネスの篩を素直に、バカ正直に実装してみたので覚書程度に記事にします。

C++で、と銘打ってありますが楽をするためにC++を使っただけです。本当はC言語で書くべきである程度のコードしか書いていませんがご容赦ください。

続きを読む

Linux環境でCapsLockをCtrlにする【メモ】

自分は常用の環境をLinux(Ubuntu)にしてまだ日が浅いですが、某Eエディタを使っている所為もあってかAキーの隣にCapsLockではなくてCtrlが欲しい気分が高まってきました^^;

ググってその通りにやっただけですが、忘れた時に調べ直すのも面倒なので記事にします。

続きを読む

モニターアームを設置してみた

こんにちはSayahamittです。

この度、以前から導入しようと企んでいたモニタアームをついに手に入れました!!

モニタアームと一口に言っても種類は数多とあり、関節の自由度や耐久性、動きの良さなど、メーカーや製品によって多種多様で悩ましい限り。

品質と機能と値段の兼ね合いを考えるとブランドものは買えないな…と思いつつ選んだ結果…

続きを読む