Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

2015-01-01から1年間の記事一覧

Javaで優先順位をつけて複数のキーでソートする方法

2020-07-30 久々にPureなJavaを書きました(*´Д`) 複数のキーでソートする書き方の説明 いろいろ書き方はありますが、 対象のクラスにComparableをimplementsして compareTo()をオーバーライドすると ソート順を定義できます。 そのうえで、 -1(左が先) 0…

C++のmapとJavaのmapの挙動が違う件

C++でmapを書いててinsertしまくってましたが、 あれれ?Javaと挙動が違うということに気付きました。 mapでinsertするとC++ではキーが重複したときに、 insertされず、valueが上書きされない。 一方、Javaのほうはputしたときに 最後にputしたものでvalueが…

わかりにくい関数ポインタを返す関数

関数ポインタって変な文法ですよねってお話です。 もちろんポインタの文法もいろいろツッコミどころはあるのですが (このせいでポインタよくわからんな人が続出)。 例えば次の宣言はぱっと見すぐにわかる人はC言語マスターです。 void (*func(const char *…

Parallels Desktop for MacでExcelを快適に使うための設定

Mac

Parallels Desktop for Macの紹介 MacにはBootCampというのがあってWindowsを別パーティションにいれて、 起動を切り替えて使うことができますが、 いろいろ問題があります。まず、切り替えるのに再起動が必要なこと。 これだけでも結構不便なのに、さらに問…

C言語の不可解なエラー(GCC) - 配列の宣言時にconst変数を指定したとき

stackoverflowで英語の練習を兼ねてダメダメ英語を連投してました。 そのうち迫害されるんじゃないかと思います(*´Д`) そんなわけで、Cのプログラムを書いていたのですが…… 不可解なエラーが…… 問題になったコード #include <stdio.h> #include <string.h> const int MAXLINE =</string.h></stdio.h>…

Windows 10のスタートメニューの格納場所など

しばらくWindows 8を使っていて、スタートメニューの格納場所を忘れてしまいましたのでメモ。 Windows 10に移行してから ここにアンインストールしたはずのソフトのゴミが残っているので掃除。 一応レジストリ周りも見直しています。放置してもよいのだけれ…

特定のフォルダ以下で拡張子がmp3のファイルだけ残したい

大掃除がてら音楽を整理していたら、 10年くらい前に持っているCDをmp3化したファイルがあって 歌詞が載っているリンクやhtmlのファイルが ご丁寧に一緒に入っていました(;´・ω・) htmlファイルとかどうでもいいからmp3ファイルだけ残したい。 しかし、まとも…

はてなブログのサイドバーのカテゴリーの簡単カスタマイズ

はてなブログのサイドバーに設置できるカテゴリーのパーツいいのですが、 縦1列に並んで、非常に長くなっていやだ(´・ω・`)というのがあります。 カテゴリーが多くなると余計に長くなっていやだ。 ということで、ちょっとだけデザインを加えてカスタマイズし…

Windowsのジャンクション(junction)とシンボリックリンク(symblic link)違い

2020-08-18 2020-08-18更新 記載が間違っていたので修正しました。 概要 ジャンクションとシンボリックリンクの違い ネットワーク先へのリンクについて 他マシンから参照について どちらを使えばよいか 結論 参考 概要 Windowsにはショートカットと似た機能…

簡単な線形計画法問題の解法

線形計画法、大学の講義かもしかしたら大学受験の時に やっていたような気がするんですが、 毎度なんでか解き方忘れてしまって、 その場で時間をかけて考えてしまうんですよね。 いい加減、解法を丸暗記しないとなぁとメモです。 IT系の試験ではなぜか頻出で…

スマホで見たときにGistのレイアウトが崩れる問題の修正

CSS

Gistのコードをスマホで見ると…… Gistのコードを貼りつけているとPCで見ている分には全く問題ないのですが、 スマホで見たときに、Gistの行が重なってレイアウトが崩れることがあります。 細かい条件はわかっていないのですが、 どうも1行に表示しきれるかど…

Windows 8.1およびWindows 10で個人用フォルダーの名前(アカウントの表示名)の変更方法

アカウントの表示名、そしてそれはまだいいとして、個人フォルダーの表示が漢字になってるぞ ……しかも本名だ。まぁ実際には英字のフォルダなんだけどさ。。。と愕然とした人は多いはず。 いつの間にやら個人用フォルダー(C:\Users以下のフォルダ)の表示され…

Visual C++でデバッグ時の出力をIDE(Visual Studio)上に出す方法

Visual Studioの出力ウィンドウまたはイミディエイトウィンドウに なにか文字列を出力したい時は コンソールアプリケーション、Windowsアプリケーションに 関わらず、OutputDebugString()を使うとそれが実現できます。 使い方はputs()と同様です。改行はつけ…

Rubyプログラミング練習 〜tcl/tk編〜

とりあえず、見よう見まねで書いてみました。 言語仕様はなんとなく抑えました。だけど、Rubyらしい書き方や どう書くべきかというのはわかっていません。 returnも書くべきか書かないべきかよくわからないのですが、 Ruby 1.9以降はreturn書いても遅くなら…

AOJ(Aizu Online Judge)やってみた

競技プログラミングでAOJやってみました。 最初よくわからんかったのですが、 ここも自動で提出したコードを即時にチェックしてくれる いいところです! なぜか人間がチェックするものだとずっと勘違いしていました(笑) 他の人の回答も手軽に見れるところも…

スマートポインタ(shared_ptr)を使ってみる C++11

C++

スマポだよ!スマポ!ナマポまだ使ってんの?ぷぷぷ(๑˃̵ᴗ˂̵)و 大半の用途でスマポに置換えるべきだと最近思います。 布教もかねて、C++ってアレだよね?レガシーなあれだよね? と思われている方もいると思いますが……誤解です。 確かにC++03までだと古臭い言…

STL入門 第6回 ~list編~ 3

久々にC++ STL入門の記事を再び書きます。 いやぁ、実はすごく良いサイトを見つけたので、 そこのリンクを貼るがために 自分用にブログにリンクをペタリとしたかっただけなので そのついでに記事を書いてしまいました。std::listです。 他の言語と違ってこの…

競技プログラミング メモ

まだまだ競技プログラミングは初心者です(´・ω・`)。 とりあえずテンプレがあったほうがいいのでテンプレをメモります。 すごいのになるとマクロの嵐ですよね…あれはすごい。 とりあえずテンプレ using namespace std; namespace patch { const int Failed =…

アプリケーションにアイコンを追加する方法

C++

アプリケーションにアイコンを追加する方法です。 追加方法は言語によって異なりますが、C++での説明をします。 アイコン用の画像はICO形式(拡張子 .ico)でなくてはいけません。 一番お手軽なのはPNG形式のファイルなどから変換してやる方法です。 C#の場合…

Macの環境構築(ブラウザ+メーラー+ターミナル周り)

Mac

Macを購入してワクワクしていましたが、 触る時間があまりなく放置していました。 そんなわけでこのGWに思い切って環境構築を始めました。すでに実施した環境構築は下記です。 コンピュータ名の変更 アカウント名およびユーザディレクトリの変更 ウィルス対…

生粋のドザー、ついにマカーにクラスチェンジ(本当に最初にやる環境設定など)

Mac

ドザー歴15年、M$帝国で純粋培養されながら生きていました( ^ω^ ) 古の術、AUTOEXEC.BATとCONFIG.SYSは触ったことはありませんが 中級窓使いくらいにはなっていました。Windows 8.1なんかはわりと好きです。 スタートメニューがあれとかあれとかあれとか…

グローバルフックを使ってみた

グローバルフック(またはシステムフック)を使ってWindows APIで遊んでみました。 フックというのは 引用元: wikipedia 主に元のプログラムに対する機能追加・拡張やカスタマイズの手段として使われるほか、デバッグのための情報収集にも有効である。このよう…

MySQLでハマる Communications link failure

2020-05-18 2020/05/18 追記 いまだにアクセスがあるのでコメントを書きます。 これは古い記事ですが、今でも通用する内容かと思われます。 かなり怪しい記憶ですが、当時のバージョンは Java 6 Struts 1.2 Spring 1 MySQL 5.5 iBatis(バージョン不明だが、…

std::function, std::bind, std::mem_fnでハマって解決したのでメモ

std::functionにメンバ関数を入れてやるにはどうすればいいのやらと試行錯誤。 まずは非メンバ関数の場合 こちらは悩まずこんな感じでいけた。 std::function 非メンバ関数版 #include <iostream> #include <unordered_map> #include <functional> template <typename T> T plus(T p1, T p2) { return p1 + p2;</typename></functional></unordered_map></iostream>…

近代汎用術式Boost C++ 1.57.0をVisual Studio 2013で使う ~導入と使い方~

まだ多重継承でダイヤモンドの錬成をしていない僕ですが、 ついに近代汎用術式に手を出すことにしました。 現時点で最新版のBoost C++ 1.57.0をVisual Studio 2013で使うためのメモです。 汎用術式でありながら暗黒術式ではあるのですが、導入と使うのは割と…

printf系の書式文字列のエスケープでハマったけど解決した

printf系の書式(フォーマット)文字列でエスケープしなきゃなんないのはどれかわかってなくてハマりました。 正解のコード char buffer[80]; char format[20]; // 20もあれば用は足りるので…… printf("なんかいれてね : "); //sprintf(format, "%%%d[^\\n]%%*…

DXライブラリとC++でRPGのサンプルを作りました

DXライブラリとC++によるソースコードを公開しています。 ソースコード ソースの中身の詳細については Github上のReadMe.mdを参照してください。タイトルに一部ちょっと嘘があります。作ったという部分です。 自分で全部作ったのではなく、下記に掲載してい…

クラス内のオブジェクト(クラス・構造体)を関数で返したもののpublicメンバに対して代入を行う

なんともややこしい表現ですがこういうことです。 もう一度タイトルですが、 クラス内のオブジェクト(クラス・構造体)を関数で 返したもののpublicメンバに対して代入を行う な… 何を言ってるのか わからねーと思うが おれも何を言っているのかわからなかっ…

クラスのメンバ変数の引数付きのコンストラクタの呼び出し方のメモ

C++

あんまり使わないのでどうやってやるんだっけなメモ。 おまけでスマポ(スマートポインタ)についてもさらっと書いてみました。 クラスのメンバ変数の引数付きのコンストラクタの呼び出し方 メンバイニシャライザ(メンバ初期化子)を使うことで解決 #include <iostream></iostream>…

誰得??配列の範囲外アクセスが起きないぐるぐる回る配列を作りました。

C++

C++で演算子のオーバーロードを使ってたとえばa[5]の配列で a[6]とかやると、a[0]を指すようにする謎配列を作りました。 PythonとかPerlの配列に似てるような感じのものですね。単にオーバーロードの練習をしたかっただけという…… ソースコード #include <iostream> #i</iostream>…