「STL」を含む日記 RSS

はてなキーワード: STLとは

2023-12-19

anond:20231218170707

買え。2,3万の廉価な中華機じゃなく、6,7万~10万ぐらいの名の知れたFDM機を買え。光造形は最初は避けろ

んで、thingiverse.comで面白そうなSTLダウンロードしてプリントしまくって部屋をガラクタで埋めろ

フィラメントも金かかるが最初メーカー推奨品を使え

1kgリール2本ぐらい使ってコツがつかめたら、他社フィラメントに手を出すのもいいかもしれない

ただ、フィラメント変える度にプリンタ調整する必要がある。造形第一に考えるなら、メーカー推奨フィラメントを使い続けるのをおすすめする

いきなりマシン買うのに躊躇いがあるなら、まずは3D CADツールで、自作モデルを作れ

とりあえずのおすすめFusion360だが、慣れてるツールがあればblenderとかでもよい。最近3Dモデリングツールにもプリンタ向け機能プラグインが出ている

で、STLファイルを吐け。STLが吐ければそれはもう3Dプリンタで出力できる。プリンタを買うだけだ

自分はFDMの3Dプリンタを買って10年ぐらいになるが、ずっと使っている

光造形は3年前に試したが、こちらは埃を被っている。液体の運用が気を使うから

プリンタ用途だが、日用便利品を作るのがいいと思う。が、これが一番難しい

正直言って100均に行けばだいたいの便利アイテムはある。それをあえて無視し、あるいは「100均のあのアイテムを真似しよう」と、そこそこの価格プリンタフィラメントを使い、誰もテストしてない不良品かもしれない自作アイテムを使うのだ

しかし、これを自宅で生産改良できるのがプリンタメリットなので、ガンガンCADを書き、ガンガンプリントし、ガンガンテストして、ガンガン作品ゴミ箱へ投げ、その結果としてマイベスト自作アイテムを作り出す

1時間ぐらいCAD描いたら、プリンタに出力を投げて、1時間ぐらいゲームなりネットなりして待つ。そうすると、CADで画面内に描いた絵が現実の立体物となってプリンタの造形ベッドに乗っている

それをいじってテストし、思っていたよりパーツが細くて華奢だの、結束バンド通して固定する予定の穴が小さいだの、ハマるパーツがハマらないだの問題を見つけてまたCAD描きに戻る

これを繰り返す。2時間ぐらいで1サイクル回せれば、半日使うと3,4サイクル回せて、どんどん完成品として洗練されていく

これは楽しいよ。買おう

2022-08-06

RustはCの代替になりそう(個人の感想です)

C++全然詳しくないので、それこそSTLがどうこうみたいなのは正直分からない。

あくまでCとの比較なんだけど、一般的に難しい方の言語と言われるRustでも、Cのソースに比べたら全然読みやすいことにびっくりした。

特にポインタ周りの記述は、&とか*の書き方がCから少し変わっただけなのに、ぐっと読みやすくなってる件。

これならCやRustを使う上で絶対的必要な、メモリの話も理解やすいだろう。

なので先にRustを学んでおけば、後でCに取り掛かる際のハードルはだいぶ低くなりそう。

そうなると、今だと全くのゼロからプログラミングを学ぶなら順番としてはPythonGo→Rustになるのかな。

正直JavaC#Swift必要になってから学んでも遅くはないし、Goを知っていれば多分そこまで難しくない。

VBに至ってはExcelAccessマクロに手を付けなきゃいけないときが来ない限り、全く知らなくても問題ない。

というか初心者最初に触る言語VBというのだけは絶対に避けたい。

2021-01-01

メーカーSIer勤務の年収600万のプログラマー技術スタック

先に言っておくがたいした技術習得していない。

この程度でも600万は稼げるという夢を持つか、こんなのでもちょっと何かが違うだけで600万稼げるか否かが分かれてしま業界に闇を感じるか、600万程度で何ドヤってるの?と思うかはご自由にどうぞ(外資系ってもっと稼げるの?)。

歳は30台前半。学部卒。BtoB向けのパッケージ製品の開発プロジェクトで、設計コーディングテストあたりを担当している。仕様について発注元との折衝もやっている。

業務で使う技術のうち、自分自身がそれなりに習得しているものだけを書く。プライベートしか習得使用していない技術は別。


以上。

PythongitDockerkubernetesもAnsibleもCIツールAWSGCPRuby on Railsも知らなくてもなんとかなってしまっている。業務でこれらのスキル要求されることは(今のところは)ないから。

楽でいいと思う一方、このままだと将来ヤバいとも思っている。いざ転職となったときに詰みそう。

でもいざとなったらググっていくらでも独学できるだろうとたかをくくっているので焦ってはいない。

というか「その他」のところに書いた能力が高ければ世の中大体はなんとかなるんじゃないの。知らんけど。

ちなみに自分は構築できないというだけで、プロジェクトではJenkinsとかgradleとかbabelだかwebpackだかでビルド環境は整えられている。

あとプライベートで、単純な仕様独自言語コンパイラフロントエンドC++LLVMで作っている(これで金が稼げるとは微塵も思っておらず、完全にただの趣味)。

2020-11-29

anond:20201129193740

素直に称賛するわ。偉いよ。それこそ君は5年前の本に載ってたようなMakerじゃないか

おれは書いてる通り高いとか大変そうとか色々理由をつけてやって来なかった側だわ。パソコン触っててこのデータSTLファイル出力して何かすれば3D プリントして何かできるんだろうけどなってたまに思ってるくらい。なんもやってない。

でも君に触発されていつかAmazonセールでこれはと思えるものが出てくるようになった頃には必ず買おうと思う沼に入りたいよ。

その頃ネットのどこかですれ違ったら弟子入りさせてくれ(笑)

とりあえずそのサイトは覗いてみるわ。そもそもおれは横増田だけどな!

anond:20201129190707

でも、3Dプリンターがなかった時代はその金型までが大変だったんだと思う

3Dプリンターは…、みたいにダラダラ書いたけど、自分なりの結論としては、3Dプリンターは試作用途には断然アリだと思う

精度が多少悪かろうが、ときどき大失敗しようが、基本CAD通りの物体がとりあえず手に入るというメリットは大きい

からCAD3Dプリンターを行ったり来たりして試作を詰めていって、

これ以上ないところまで行ったらDMMに頼むとか金型作るとかが3Dプリンターの使い方としていいと思う

最終完成品を3Dプリンターで作って一般消費者に売ろう、とか考えると失敗すると思う

Togetterのまとめのどこだったか失念したんだが、3Dプリンターミニチュアライフルとか作ろうとしてたと思う

それをワンフェス?だったかその手のイベントで売りたいみたいなんだけど、そのライフルが曲がって出力されてしまい、

かなり一喜一憂しているのを読んで、あー、光造形でも理想通りにはならんのだなー、と思ったり

うろ覚えだけど、光造形だとたしか印刷する位置によって、真ん中なのか端っこなのかで精度が変わるとかあったと思う

FDMでもあるw普通にあるw

同じ部品を一度に多く欲しいときに、コピーして並べて出力するわけだけど、その出力結果が配置した位置によって精度が異なってしま

ネジみたいなものだと致命的

まあネジを出力するのは3Dプリンターパフォーマンス自慢的な意味合いもあるので、規格にあるネジなら3Dプリンター出力はオススメできない

ネジ以外の部品も同様で、規格にある部品ホームセンターに行ったほうが無難

でも、3Dプリンターがない時代だったら、樹脂材ならプラ板とかエポキシパテとかプラモフルスクラッチまがいのことをしなければならなかったけど、

それに比べれば3Dプリンターの方が断然楽ではある

から3Dプリンター無駄な代物ではないのだけど、夢を見すぎて買うと痛い目に遭うと思う

買う前にThingiverseとか見て、こういう使い方だったらできるのかなあ、と購入後の使い道を想像してみるといいと思う

https://www.thingiverse.com/

GitHubにもロボット作ったり人工知能の車とか作ってる人がCADデータSTLがあるので探してみるといいか

Thingiverseの注意点は、絶対投稿者本人が出力してないだろ、と思えるような精巧すぎるものとかはスルーした方が無難

あと、いいね!みたいな評価が高くても、評価者も作らずにいいね!を押してるので、

作品ごとに、自分も出力してみた、みたいな箇所があるので、それを見て色んな人がそれぞれのプリンターでどう出力されたかを見るといい気がする

まあ「沼」だね

3Dプリンターは沼

でもArdinoのケース作ったり、Arduino組み込んだロボットみたいなの作ったり、やろうと思えばRC飛行機とか作れるし、

自分で出力して、自分で楽しむ、なら問題ないんだよなあ

ときどき夢見すぎる人がいて、これがあれば市販プラモみたいなのコピーし放題じゃん、みたいに思うと痛い目に遭うと思うけど

あと、自分の家の洗濯機排水口の接続部に問題が会ったので、3Dプリンター部品設計して出力して自分で直したw

メーカーWeb調べたら古くてサポート切れてるわ、

賃貸管理人に問い合わせたら、修理業者と一緒に部屋に行くんで都合が良い日を教えろだの、壊したんかーおまえはーみいたいな剣幕で対応されて、

いや、壊してないから、どっちかというと排水口より自分の古い洗濯機問題から、と思って、どうしよーかー、と思ってたんだけど、

あ!3Dプリンターあるじゃん

と思って、排水口と洗濯機の結合部を定規で簡単に測って、簡単部品設計して、まずはPLAで出力

水が流れすぎることが原因だと思われたので、流量制限する部品設計した

2回目の出力で設計問題なさそうなことが分かったのでABSで出力し直した、で数年間問題なく使えてるw

PLAは水に弱いしお湯で変形したり溶けてしまうので

2020-11-02

anond:20201030201448

最近ブチ切れたコードの一部

public virtual class DataInfo {
    public Integer p;
    public Integer c;
    public Integer r;
    public Integer v;
    public String name;
    public DateTime time;
    // ...
}

public class CellInfo extends DataInfo {
    public String stl;
    public Integer cntl;
    public String[] lines;
    // ...
}

public class FormInfo extends CellInfo {
    public Integer err;
    public String org;
    public String mod;
    public String type;
    public Integer size;
    public Integer step;
    // ....
}

2020-09-29

https://paiza.io/projects/iJuWP7skT8Tq0T41_jIH-w

スレッドプールが突如として

STLから消える勢い 

ロックだねぇ、音が聞こえるよ

俺たちWinからLinuxはよくわからない

2020-07-05

gccでいうところの-O3オプションを使った場合STLのemplaceの方が最適化され得るinsertにお前のコンパイラ成るんだ? なぜを今調査

すべてのコンパイラ最適化オプションを入れた場合に、なぜ、あなたコンパイラはemplaceの方がinsertより高速化するのか いま調査

デバッグ用にinsertにはいくつかの冗長性があるがコンパイラオプションで消える

それをすべて消してもemplaceの方が高速化されるコードをいま探してる

それがあると それなりに新発見なので それを さらに コンパイラに改造を入れて最適化した場合それでもできなくてAPIを追加しなければ

コンパイラ最適化では高速化しないと判断した論文検索

2020-06-15

sort =[](auto &b,auto &e){pstl::execution::par_unseq, b, e);

test();

sort =[](auto &b,auto &e){pstl::execution::par, b, e);

test();

sort(auto &b,auto &e) =stl::sort(b,e);

test();

こんなかんじ?

2020-05-22

YES,New generation Optimizer STL/C++ Level Code Optimizer.I think too. you can!

X86以前のコードレベル自動的コード最適化をかけた後にX86最適化を行う。このさいに文法的最適化ではなくX86が最速になるようにCのコードを並び替える。

これはたしか新時代オプティマイザーなんだろう。だれが発案したの?

 

みんなx86で最適化を考えるがCのレベル等価コードであれば並び替えたほうが、さらX86最適化されるケースはあり得る。

たとえば、ライナーサーチだと判定できたら、さらに最速なアルゴリズムにCを置き換えることは不可能ではない。

 

コンパイラアルゴリズム最適化まで許可された場合 Pythonなどで培われた技術を使ってアルゴリズムコード最適化をしてCのコードアルゴリズムごと改変してもよく、その後X86最適化を行うことは、次の時代にはふさわしいと私は思う。

例:ライナーサーチをもっとはやいサーチアゴリズムに、このC言語コードライナーサーチだと判別して、コンパイラ自分関数化した後に、もっとはやいサーチに関数ごと置換する。

その考え方はすごい。

さすが。これは日本も負けてられない。(結構前の技術らしいです)

anond:20200521225730

プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。

JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScript改名されたり、規格を話すときECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。

Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。

Javaは初期のころオートボクシング / アンボクシングもなく、ストイックオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコード簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である

PHPWebネイティブ言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能初期化していない変数最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列数字臨機応変に切り替える機能もあり(今もそうかは知らん)、数字文字比較比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。

C#Hello Worldくらいしかいたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。

C++黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーション腱鞘炎になることもない。PC Unixにも最初から環境インストールされているか簡単インストールできるので毛嫌いせず使うとよいと思う。

Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。

CSS...はプログラミング言語なのか?そうか。

TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。

Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるからカーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。

これ以下のランキングのもその気になったら書こうかな。

2019-06-19

anond:20190619123640

 設計図とか大袈裟すぎる……。

 FDM方式なら熱収縮で反って寸法が変わるから、寸法公差とか書き込んでも意味ないんじゃ?

 大きめに作って削るか?何度も印刷して試すか?両面テープとかで貼り付けるか?という風になると思う。

 強度が不安ならポリカーボネイトフィラメントでも使えば?

 3Dプリンタで造形したいならSTLデータがあればいい。

 STLデータ無料で使えるBlenderでも作れる。

 昔はBlender情報が少なかったけど、今は情報もたくさんあるらしいし。

 とりあえずBlenderの入門本でも買ってみれば?

 簡単な形なら1ヶ月もあれば作れるようになるはず。

 3Dプリンタ印刷するのに設計図というほどの本格的なものはいらない。

 適当モデリングしてエクスポートSTLを選ぶだけ。

2019-01-20

C++人生台無しにした。

柴田望洋先生明解C++

STL標準講座

テンプレートテクニック

・Effective C++

More Effective C++

・Modern Effective C++

C++ポケットリファレンス

・入門Qtプログラミング

実践Qtプログラミング

・Effective STL

Boost C++ Librariesプログラミング

オブジェクト指向における再利用のためのデザインパターン

C++ テンプレート完全ガイド

OpenCV for C++

・大規模C++ソフトウェアデザイン

MakeGitなどコマンド系の技術書 複数

・Database系の技術書 複数

ネットワーク系の技術書 複数

Linux系の技術書 複数

Windows系の技術書 複数

自作ハード系の技術書 複数

・他の言語技術書 複数

15年かけC++を独学した。

上記書籍を何度も熟読し、

C++実装も規格書も、C++によるライブラリ実装

Boostソースコードも常に読むよう心がけた。

土日も祝日も平日朝も平日のしごと終わった後の夜も、

ずっと一人で努力し、風呂トイレ、布団の中でも勉強し、プログラムを書いた。

基本情報処理ソフトウェア開発者試験ネットワークスペシャリストとデータベーススペシャリストを取得した。

しかし、正社員はもとより、時給2000円の派遣プログラマも時給1200円のアルバイトスキル不足で何十社受けても一社採用されない。

とはいえ面接官のレベルは「STLなんて初めて聞いた」「gccて何かの会社?」

C++企画書(誤字ではない)を書いてる人なんてのがいるの?」

「じょーほーしょりしけんてのがあるの?外国の話?」

といったもので私の実力は全く理解されていなかったのだが。

独身で、一切を我慢して娯楽を全く体験しないまま40歳になってしまった。IT業界人間すべてが恨めしい。

貯金100万もなく、素人が書いたプログラムに対して手順書のとおりにマウス操作してエクセルテスト結果を書くだけの仕事ばかりしている。

C++じゃなくてCかC#Javaか、とにかくC++以外だったらこんな事にならなかっただろうに。

何の意味もない、苦しかっただけの、最悪の人生になってしまった。

2018-12-23

anond:20181223184745

この辺になってくると初心者の人は面倒かな?

解説をつければかなりわかりやす

基本的な書き方


class mystring
{
public:
	char *buffer;
	mystring() 
	{
		buffer = (char*)"";
	}

	void operator = (const char*t)
	{
		int len = strlen(t);
		buffer = new char[len + 47];
		strcpy(buffer, t);
	}

	void operator = (const mystring&src)
	{
		int len = strlen(src.buffer);
		buffer = new char[len + 47];
		strcpy(buffer, src.buffer);
	}

	mystring& operator + (const char*t)
	{
		int len = strlen(buffer);
		int len2 = strlen(t);
		char *buffer2 = new char[len + len2 + 47];
		strcpy(buffer2, buffer);
		strcpy(buffer2+len, t);
		buffer = buffer2;
		return *this;
	}
	mystring&  operator + (const mystring&src)
	{
		return ((*this) + src.buffer);
	}

};


STL化したもの

class mystringV
{
public:
	std::vector<char> buffer;
	mystringV()
	{
		buffer.resize(2);
		buffer[0] = ' ';
		buffer[1] = NULL;
	}

	void operator = (const char*t)
	{
		int len = strlen(t);
		buffer.resize(len+1);
		strcpy(&buffer.at(0), t);
	}

	void operator = (const mystringV&src)
	{
		buffer = src.buffer;
	}

	mystringV& operator + (const char*t)
	{
		int len = strlen(&buffer.at(0));
		int len2 = strlen(t);

		buffer.resize(len + len2 + 47);

		strcpy(&buffer.at(0) + len, t);

		return *this;
	}
	mystringV&  operator + (const mystringV&src)
	{
		return ((*this) + &src.buffer.at(0));
	}

};

考察

様々な話はあるものSTLの方を使えば

いろんな事をプログラマにかわってライブラリがやってしまうということ

どうなんだろうね。

この辺は あまりしっかり おしえてもらえないところではある。

でも プロならみんな 知っている

2014-05-22

3Dプリンタ低価格になってきたか

本物のマンコを元にして作ったSTLデータを売買するサイト

これから出てきそうだね。

もうあるのかな?

2014-02-02

少子化でなんか論評書く奴は北欧福井がわめく前にこれぐらいは見ておいてほしい。

http://www.gapminder.org/world/#$majorMode=chart$is;shi=t;ly=2003;lb=f;il=t;fs=11;al=30;stl=t;st=t;nsl=t;se=t$wst;tts=C$ts;sp=10;ti=1807$zpv;v=0$inc_x;mmid=XCOORDS;iid=phAwcNAVuyj2tPLxKvvnNPA;by=ind$inc_y;mmid=YCOORDS;iid=phAwcNAVuyj0TAlJeCEzcGQ;by=ind$inc_s;uniValue=8.21;iid=phAwcNAVuyj0XOoBL_n5tAQ;by=ind$inc_c;uniValue=255;gid=CATID0;iid=thlR4hyNMEnaVyV_uxRzjfQ;by=grp$map_x;scale=lin;dataMin=12;dataMax=83$map_y;scale=lin;dataMin=0.855;dataMax=8.7$map_s;sma=49;smi=2.65$cd;bd=0$inds=

つい1800年にはニジェールの7.5人/50年という水準を達成した国すら一つもないのがわかる。

あれは一国の福祉制度設計がどうこう程度よりももっと壮大な現象で、今更どうにかなるものでもない。

2013-05-08

http://anond.hatelabo.jp/20130508162927

そりゃあ、それが分からいからこそそういう恥ずかしいことを恥ずかしげも無く言っちゃうわけだからなあ。

具体的にっつっても、突っ込みどころしかなくて突っ込みきれないレベルなわけで、さすがにめんどくさくてやってらんないわけだ。

強いて言うなら、BS側だのPL側だのなんて1冊ファイナンスの本でも読んだ奴なら誰でも言える話なわけ。

(実際増田新人研修かなんかでやったことをそのまま言ってるだけでしょ?)

「我々はプログラミングに強みを持っていますC++STLなどです」とか言ってる奴がいたら「は?」ってなって終わるのと同じ。俺プログラマじゃないけど。

専門性や実績の裏づけがあって言ってるならまだしも、地頭()とやらだけで入ったような新卒が言ってたら完全に失笑なわけです。

自分研修医に舐められるくらいの恥ずかしい存在である、ということをまず認識した上でじゃあどうするのかを考えた方がいいと思うよ。

2013-03-25

プログラミングの入門

プログラム定義

プログラム:定義づけられた物事を進めていく妥当な手順・方法の決定、および物事・手順・方法記述

プログラミング定義

(コンピューター)プログラミング:コンピューターが進めていく物事を定義し、妥当な手順・方法を決定し、記述すること。

プログラミング = デザイニング union コーディング;

デザイニング:進めていく物事を定義し、妥当な手順・方法を決定すること。

コーディング:コンピューターが進めていく定義づけられた物事の決定された妥当な手順・方法を、記述すること。

プログラミングに関わる人々

PG(プログラマー):プログラミングする人。

CD(コーダー):コーディングする人。プログラマーとは限らない。

SE(システムエンジニア):進めていくべき物事を定義する人。プログラマーとは限らない。

PM(プロジェクト マネージャー):(プログラマー)プログラマー。(コンピューター)プログラマーとは限らない。

日本ソフトウェア業界ではSE定義した物事を、何の工夫も無くそのまま記述するCDという体制となっている。

まり「物事を進めていく手順・方法」が余りにも稚拙で、PGと呼べるSECDが居ない。

※「物事を進めていく手順・方法」の巧拙の例としては、

仕様:「等差数列で、1から10までの整数を加算する」

CD: べた書きかループで 1足す2足す・・・

PG: (初項 + 最終項) x 項数 /2

というように、例えば巧拙の差は「上手い・エレガントな方法アルゴリズム」だったりします。

0.以下のような方はプログラマーに向きません。入門しないでください。

継続的に勉強できない(1週間で最低10時間は、何があっても勉強しましょう)

論文・学術書が読めない。(コードはお堅い理論的に筋道立った文章の極致の一つです)

100ページくらいなら一晩で修得してやろうという気合いが無い(一晩で仕様書読み込んで次の日から活かす必要があったりします)

仕事のやり方に疑問を抱かない(楽するためにはどんな苦労も厭わず、常に最善を考えましょう)

・いつかはマネジメントをしたい(人を使うよりも、プログラム組んで仕事させた方が、安くて速くて正確ですよ)

(笑)マネジメント:下僕に進捗という数字を報告させて、自分の握っている進捗管理という方眼紙のマス目を埋める作業。

自身の雇い主にマス目の埋まり具合を報告する作業。

1.入門者になるために、学んでおくべきこと

※ここで以下の1~4を6ヶ月がんばっても挫折する方は、「一山いくらのコーダー」にしかなれない可能性が高いため、

ソフトウェア業界」自体を諦めた方が良いですね。

しがみついてしまうと、真っ当な技術者の足を引っ張ることになります

逐次実行、条件分岐、反復実行

ポインタ最近情報学科のくせに学部ポインタを教えない大学があり、そういうところは真っ当な大学ではございません。

1)O'REILLYの[amazon:C++実践プログラミング]を最初の「ポインタ」まで読んでください。

2)C++の実行環境をC99で整えてください。(環境の準備は自分で面倒を見てください)

3)ポインタを用いて、文字のLinkedListクラスを実装してください。

※LinkedListとは以下の仕様を満たすクラスします。(C++JavaのLinkedListを実装)

http://docs.oracle.com/javase/jp/6/api/java/util/LinkedList.html

4)LinkedListの入れ子でTree構造をつくり、再帰を用いて、全要素をコンソール出力するプログラムを作ってください。

5)4)をクリア出来た人は、この本を1年以内に全部読んでください。

ただし、C++は複雑怪奇言語のため、これ以降は知識レベルの修得で構いません。

私は中3の時、STLBoostどころかbooleanの無い時にこの本を9ヶ月で読んでおります

※私が面接に出る場合は、当該内容のLinkedListやQuickSortの概要を直ぐさま説明できる人は、可能性有りと○を出します。

ただし、日本ソフトウェア業界は腐っています

面接で「LinkedListを勉強してきました、直ぐさま説明できます」といって、「そんなの出来て当たり前だ」と言ってくれる会社殆どございません。

大抵はポカーンとして意味不明という顔をする文系人事だったり、「そんな技能必要ない」というところが殆どです。

逆に「できて当然」と言ってくれる会社は、技術をしっかり学べる可能性大です。

2.初級者への道

★ここまでクリアした方は、「入門者」と呼んで差し支えございません。次は「初級者」への挑戦です。

プログラミングは入門者になるだけで1年かかる世界です。

内定もらってから勉強して適正無しと自覚すると、地獄ですよ。

※初級者になるためからは、べらぼうに学ぶべきことが広がります

燎原の火のごとく。

※筆者の立場

Joelさんの「Javaスクール危険」に賛同するので、ポインタ優先ということで。

加えて、Javaクラスインスタンスとstatic変数の話を理解するのに、メモリー意識があったほうが楽だと思う派。

2012-06-28

あのね・・・わかってはいることなんですが・・・

VC2010にもなって・・・

STLが 腐ってるのは いい加減どうにかならないか!!! いか! って言ってもいい?

2012-06-14

http://anond.hatelabo.jp/20120614160514

STLを使うことによる オーバーヘッドは 数~数百バイトオーダーだろ。どんなに見積もってもキロ単位

いくらなんでも、キロ単位を 詰めることは稀 というのがメモリ見解

メモリを最も使うのが、画像画像1枚で数百Kで こっちを何とかしたほうがよほどはやい。

ここで言ってるのはあくまでも、STLを使うことによるオーバーヘッドは メモリが潤沢にあるものと想定してもいいって話で

画像とか開放漏れをしてもいいって意味じゃない。

ここで行ってるCPUは モバイルだな。 電池の持ちにも直結するし、持ってるメモリを0クリアとか、やらなくてもいいと分かり切ってる時でかつ

リストVectorの子要素で、それが莫大に長いと事前にわかってる時だな。

http://anond.hatelabo.jp/20120612090336

最近はもう STLもあるしBoostもあるから ポインタを使うという事自体がレアケースなんじゃねーか?正直もうデフォルトでは教えない。でもいいと思うよ。

ぶっちゃけポインタを理解できない奴にポインタを触らせるな。というのが現場での共通見解

メモリ周りを奴らに触らせるな!と 絶対壊すから

むしろ、constとexplicit と 参照を厳密に使えるようになれって方がよほど重要

引数const char * とか const vector<T>&とかくところを それぞれ char * とか vector<T>とかかかれると

お前待て って話 の方がよほど重要

 

あと ポインタっていつ使うの?って 正直 高速化とかのチューニング以外ではもう使わないと思う。

listとかvectorとかを再発明するぐらいなら、大抵の場合STL使えよと。 逆にSTLじゃだめ Boostじゃだめとなったら、ポインタ必要性を知ってからポインタ学ぶからいんじゃね?

2010-10-19

C++STLmap同士を結合するにはどうしたらいいんだろう?

T/O

ログイン ユーザー登録
ようこそ ゲスト さん