【知識】俺のためのプログラム覚え書き【共有】

■ このスレッドは過去ログ倉庫に格納されています
2013/02/03(日) 21:15:45.06
さあやってまいりました。
プログラムのノウハウをメモしていこうよ。
VB.NETだよ全員集合
就職できないよ

つっこみ歓迎!
ナレッジマネジメントしていこう。
2013/02/03(日) 21:44:10.29
はい、ではまず第一問

VB2010 のスレッドタイマーについて

タイマーは、必ず、一度、UIスレッドで tick 処理を開始する。
tick 処理内でスレッドを作成しても、
tick 処理自体がUIスレッドで遅れてしまう可能性がある。

時間の流れ→→
===−−−===−−−==−−==== ←UIスレッド
−↓−−−−↑−−−−−↑−−−↑−↓− ←やりとり(詳細は下記)
−==================− ←タイマースレッド

−@−−−−A−−−−−B−−−C−D− ←上記やりとりの説明用の番号

@ UIスレッドがタイマーを開始
A 一定間隔(インターバル)経過後、
  タイマーがコールバックメソッドを開始させる。
  コールバックメソッドはUIスレッドで処理される。
B Aと同じ。(インターバルは変更可能)
C Aと同じ。
D UIスレッドがタイマーを Dispose。

このように、タイマースレッドは別スレッドで常に動作し続け、
決められた時間が経過した後、UIスレッドで
コールバック処理を開始する、ということを繰り返す。
必ず、UIスレッドに踏み込むので、UIスレッドがビジー状態の場合、
処理が遅れる。(マルチスレッドになっていない。)

ということでOK?

プロポーサルフォントのバカァアアアアア
2013/02/03(日) 22:40:00.66
俺の頭が臭い
2013/02/03(日) 23:21:02.23
ハイエナはメスにもペニスがある。
2013/02/04(月) 00:33:46.82
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
2013/02/04(月) 08:26:12.31
callback関数の名前がきまっている
2013/02/04(月) 09:11:44.92
Thread クラスとか、Timer クラスとか、
不便極まりないから、
自分で Thread クラスをラップしたクラスを作って、
スレッドに引数を渡したり戻り値をもらったりできるようにして、
それを使いまわす、というのはよくあること?

プログラマーは、こうした自作クラスをいくつも用意して、
案件に合わせて組み合わせている?

熟練プログラマーほど、自作クラスを豊富に用意していて、
開発が早いというものなの?

俺もこれからクラスをいっぱいつくっていくぞ。

自作Threadクラス、
暗号化クラス、
フォルダツリークラス、
などなど。

みなさんは、どんな自作クラスを用意していますか?
2013/02/04(月) 09:29:25.48
自作クラスを押し付ける熟練プログラマーって最悪だよね
2013/02/06(水) 11:31:33.70
Haskellで既存コードから設計書を書きだすツールでも作るか・・・
10片山博文MZパンク ◆0lBZNi.Q7evd
垢版 |
2013/02/06(水) 19:46:37.26
二次方程式の解の公式の分子式を有理化した形の方が解の精度が高くなる事がある。
2013/02/07(木) 00:50:33.46
4c ≪ b^2 の時だな
2013/02/11(月) 02:00:16.91
1985年4月より電気通信事業は自由化されたわけだが、事業者としてサービスを提供していくには引き続き郵政大臣の認可、登録、届出を要する。

電気通信事業者は、大きく、第一種電気通信事業者と第二種電気通信事業者に分けられるが、両者の違いは大変分かりやすく、
前者が自ら通信回線を保有してサービスを提供していくのに対して、後者は前者から回線を借りてサービス提供を行うというものである。
某調査会社によると、前者が保有する通信回線には、公衆回線でも専用回線でもよく、また有線に限らず無線であってもかまわない。

第一種電気通信事業者は、郵政大臣の認可を必要とし、事業者には外資規制がある。

また、サービスの料金設定や事業者間の回線を相互に接続する際には、郵政省の許可を必要とする。

日本電信電話(NTT)や国際電信電話(KDD)が第一種電気通信事業者の典型であるが、
市外電話や専用回線サービスをてがける長距離系事業者や、通信衛星を介した専用回線サービスを展開する事業老、
無線呼出し(ポケットベル)サービスを行う事業者、携帯電話サービスを行う事業者、国際通信を専門に扱う事業者などもそうである。
某調査会社によると、1997年4月1日時点では、138社が第一種電気通信事業者としての認可を受けている。

第二種電気通信事業者は、さらに特別第二種電気通信事業者と一般第二種電気通信事業者に区分けされているが、
特別第二種電気通信事業者は大規模の事業者、または専用回線を用いて国際間の接続を行う事業者であり、
一般第二種電気通信事業者とは、小規模の事業者または特定者向けのサービスを展開させている事業者のことである。

第二種電気通信事業者については、特別であっても一般であっても、外資規制は適用されていない。

また、特別第二種電気通信事業者の場合には、郵政大臣の登録制、一般第二種電気通信事業者の場合には、郵政大臣への届出制となっている。
某調査会社によると、第二種電気通信事業者についてはさらに自由化される方向で検討されているが、
第一種電気通信事業者が自ら保有する通信回線を用いたサービス内容を拡充させていくなかで、厳しい経営を強いられつつあるという背景もある。
2013/02/11(月) 02:23:50.55
1873年(明治6年)11月10日 : 内務省が設置される。
1885年(明治18年)12月22日 : 逓信省(第1次)が設置される。
1943年(昭和18年)11月1日 : 逓信省(第1次)と鉄道省が廃止されて、運輸通信省が設置される。
1945年(昭和20年)5月19日 : 運輸通信省が廃止されて、運輸省と逓信院が設置される(逓信院は内閣に設置)。
1946年(昭和21年)10月28日 : 行政調査部が設置される。
1946年(昭和21年)7月1日 : 逓信院が廃止されて、逓信省(第2次)が設置される。
1947年(昭和22年)12月31日 : 内務省が廃止される。
1948年(昭和23年)1月7日 : 内務省から地方財政事務を引き継ぎ、地方財政委員会(第1期)が設置される。
1948年(昭和23年)3月7日 : 国家公安委員会に国家消防庁が設置される。
1948年(昭和23年)7月1日 : 行政調査部が廃止されて、行政管理庁が設置される。
1949年(昭和24年)6月1日 : 逓信省(第2次)が廃止されて、郵政省、電気通信省が設置される。地方財政委員会が廃止されて、地方自治庁が設置される。
1952年(昭和27年)8月1日 : 地方自治庁が廃止されて、自治庁が設置される。電気通信省が廃止されて郵政省に統合される。国家消防庁を改組して、国家公安委員会に国家消防本部が設置される。
1960年(昭和35年)7月1日 : 自治庁が廃止されて、自治省が設置される。国家消防本部を改組して、自治省の外局として消防庁が設置される。
1972年(昭和47年)7月1日 : 総理府の外局として公害等調整委員会が設置される(土地調整委員会及び中央公害審査委員会を統廃合)。
1984年(昭和59年)7月1日 : 行政管理庁を廃止して、総務庁が設置される。
2001年(平成13年)1月6日 : 中央省庁再編により、郵政省、自治省、総務庁などを統廃合して総務省が設置される。総務省の外局として消防庁、公害等調整委員会(総理府から移管)、郵政事業庁が設置される。管区行政監察局は管区行政評価局に改称。
2003年(平成15年)4月1日 : 郵政事業庁が廃止されて、日本郵政公社が設立される。
2007年(平成19年)10月1日 : 日本郵政公社が解散して、日本郵政株式会社及び日本郵政グループの4会社(郵便事業株式会社、郵便局株式会社、株式会社ゆうちょ銀行、株式会社かんぽ生命保険)に移管・分割される。
2013/02/11(月) 02:36:55.53
1885年 逓信省(ていしんしょう)創設
1891年 逓信省電務局電気試験所設立

逓信省(ていしんしょう)は、1885年に農商務省から駅逓局(郵便業務)と管船局を、工部省から電信局と燈台局を承継、駅逓の逓と電信の信をあわせて逓信省とした。
明治20年(1887年)2月8日、逓信省は「今より(T)字形を以って本省全般の徽章とす」と告示した。
一説には、徽章としてはじめに発表されたのは漢字の「丁」(てい)を図案化したもので、
これは「甲乙丙丁」の「丁」が逓信(ていしん)の「てい」の読みに合うからだとされている。
「逓信」をローマ字(訓令式)で表した「Teishin」の頭文字だという説もある。
しかし後日、これが万国共通の料金未納・料金不足の記号Tと紛らわしいことが判った。
そこで2月14日に「テイシンショウ」の片仮名の「テ」を図案化した「〒」に変更し、2月19日の官報で「実は〒の誤りだった」ということにして発表したといわれている。

1949年 逓信省のうち郵便関係を郵政省、電信電話関係を電気通信省に分割。
1952年 電気通信省が廃止となり、日本電信電話公社(略称:電電公社)発足。
以降1985年に民営化が行われるまでの間、電電公社の存在は、日本の通信に関して推進面でも阻害面でも大きな影響を与えた。
なお公社とは、国の経営する公共企業体であり、当時、日本電信電話公社、日本専売公社(現日本たばこ産業(JT)、日本国有鉄道(現JR各社)を3公社といった。
2013/02/11(月) 02:46:24.79
コンピュータを有効に活用するには、本社と支店を通信回線で接続するオンライン処理が必要になる。1960年代中頃になると、先駆的なオンラインシステムが出現した。

1960年 国鉄の列車座席予約システムマルス(MARS)
1965年 国鉄「みどりの窓口」(座席予約の本格的実施)

座席予約システムとしてはMARSが最初であるが、それをオンライン化して実用化したの仕組みが「緑の窓口」である。みどりの窓口では、
日立HITAC303をベースとしたMARS101が利用された。なお、世界的に有名なアメリカン航空、座席予約システム「SABRE」が稼動したのは、1964年である。

1964年 東京オリンピックでオンラインシステム稼働(日本IBM)
1965年 三井銀行、本店・支店間オンラインを稼働
1968年 電電公社、全国地方銀行間データ通信サービスを開始

東京オリンピックでは、各競技場からの結果をオンラインで収集し編集する最初の試みであり、IBMの1410/1440各2台をオンライン接続するものであった。
そこでのオンライン化技術の転用した三井銀行システムは世界初のオンライン・バンキング・システムだとされている。
当時は民間企業間でのデータ通信には厳しい規制があり、銀行間ネットワークの構築は、電電公社が行うことになった。
しかし、一般企業でのオンライン化が進んだのは1970年代以降であり、当時はファイル転送など限定された処理だけであった。
通信回線を用いてコンピュータを共同利用するTSSが普及したのは、さらに遅れて1970年代末から1980年代になる。
16デフォルトの名無しさん
垢版 |
2013/02/11(月) 02:48:06.39
パケット交換
1961年 (Leonard Kleinrock)がパケット交換に関する最初の論文を発表
1964年 バラン(Paul Baran)がパケット交換網に関する論文を発表
1974年 電電公社、DDXパケット交換網の運用開始

データ通信が行われるようになると、それまでの電話の接続方式とは異なる方式が求められる。
電話では、対話の間は、絶え間なく双方向に情報が流れており、その回線を独占的に確保する必要がある。それを回線交換方式という。
 それに対してデータ通信では、瞬間的には一方通行でよく、データ全体が送信された時点で完全であればよく、その間の経過については問われない。
それで、データ通信やインターネットでは、一つの回線に多数のデータを相乗りさせる多重伝送方式が必要であり、
それには、データを小さなブロックに分割して番号と宛先を付けだパケットして送り、受信側はそれを番号順に並べて再現すればよい。この方式をパケット交換方式という。
 パケット交換方式は、インターネットを含むデータ通信の基礎になった技術である。インターネットの前身であるARPANETでも採用されている。

衛星通信の始まり
1957年 ソ連(現ロシア)、世界最初の人工衛星スプートニック1号成功
1958年 スコア衛星、アイゼンハワー大統領のクリスマスメッセージが入った録音テープを本国に向けて送信
1960年 クーリエ1号、衛星に中継器を搭載。地上からの信号を蓄積して地上に送り返した。
1962年 テルスター1号、テレビや電話の大西洋横断中継実験が成功
1963年 リレー1号による第1回日米間衛星通信テレビ伝送実験。ケネディ大統領暗殺ニュースがテレビ放映された。
1963年 シンコム2号。最初の静止衛星。翌年、シンコム3号。これにより東京オリンピックのテレビ画像が北米に生中継された。
1964年 インテルサット(International Telecommunications Satellite Organization:国際電気通信衛星機構)の前身組織設立。1965年、インテルサット1号(アーリーバード)を大西洋上に静止。
1967年 インテルサット2号が太平洋上に静止。これを用いてKDDIが商用衛星通信を開始。日本も衛星通信時代に入る。
2013/02/11(月) 02:50:21.71
1970年代初頭までの通信回線は、電電公社がすべて管理しており、民間で独自に通信回線を用いることは許されていなかった。
また、当時では通信回線とは電話(音声)だけを想定しており、データ通信は考慮されていなかった。
 データ通信は、自社内だけで特定通信回線だけを用いるときだけに限定されていたのである。そのため、
専用回線を用いた社内でのデータ伝送やTSSの利用は可能であったが、他社利用を目的とした計算センターなどがオンラインでサービスすること、
他社とのデータ交換、自社内でも専用回線が引かれていない事業所からの利用は原則としてできなかった(個別申請で許可されるケースもあったが条件が厳しかった)
 これでは、コンピュータの高度利用ができない。米国などのネットワーク活用例などを知るに伴い、このような規制を撤廃すべきだとの意見が高まった。

そのような動きにより、第1次(1972年)、第2次(1982年)、第3次(1985年)と逐次的に規制緩和が行われてきた。
特に第3次は抜本的な通信回線の開放が行われ、それを通信回線開放、通信自由化、通信民営化などといっている。

1971年 特定通信回線でのデータ通信の利用制限撤廃
1972年 公衆通信回線でのデータ通信の利用制限撤廃(第1次通信回線開放)

特定通信回線のうちデータ通信で利用される場合には、一定条件の下での契約者以外の利用,共同での利用が認められた。
これにより、限定的ではあるが、専用回線を用いた企業間ネットワークが可能になった(音声利用専用回線での他人利用は不可)。
公衆通信回線では、公衆電気通信法の改正により、データ通信の規定が創設され、電電公社によるデータ通信サービス(DRESS、DIALS、DEMOSなど)などが認められた。
このような緩和措置により、計算センターのコンピュータを利用者側に設置した端末からオンラインで利用する形態が、限定的ながら可能になった。
1976年 特定通信回線の他人使用の基準を改正
情報処理業者の制限を大幅緩和して、他社と特定通信回線でのオンライン化が可能。しかし、事前承認が必要。
2013/02/11(月) 02:53:54.38
TSS(Time-Sharing System)とは、通信回線で接続した多数の端末から、1台のコンピュータを共同利用する利用形態である。
そのための技術は、1960年代から研究され実地に適用されてきた。しかし、一般企業の汎用コンピュータでTSSが実用化されるのは、1970年代後半である。

1961年 MIT、CTSS(Compatible TSS)開発
1964年 ダートマス大学、DTSS(Dartmouth TSS)開発
これらは研究者によるデモンストレーションの段階
1967年 MITとIBM、CP-67/CMS開発
IBM System/360 Model67にこのOSを搭載、数十台の端末からの同時使用を実用化
1968年 NEC、阪大の汎用機でTSS稼働
1968年 日立、電信電話公社のDIPS-0でTSS稼働
1970年 富士通、FACOM 230-50にTSS機能搭載
1971年 DEMOS開始
1970年代当初は、国内でも大学や研究所を対象とする限定的な利用であったが、1970年代中頃になると、TSS機能をもつOSを標準搭載する機種が普及しはじめた。
一般企業でのTSS利用は、当初はIT部門でのプログラム開発に採用された。
これまで、紙カードや紙テープにパンチしてバッチ処理をしていたのが、端末ディスプレイでコーディングでき、コンパイルを命令すれば即時に結果が得られる。この環境によりプラグラマの生産性が画期的に向上した。
 さらに、1970年代末から1980年代にかけて、ユーザ部門に設置されたパソコンを端末にして、エンドユーザが汎用コンピュータをTSSで用いるようになる。
2013/02/11(月) 02:57:25.88
オンライン計算サービスの初期例に、電電公社による「公衆データ通信システム」がある。

1970年 DRESS、DIALS開始
1971年 DEMOS開始
電電公社は、一般の加入電話網を使って電子計算機を共同利用するサービスを提供、「公衆データ通信システム」とした。

DIALS (電話計算サービス)
プッシュホンを用いた電卓のようなもので、関数を番号で呼び出し、音声ガイドに従って数値を入力すると結果を音声で伝えてくれる。
従来とは異なるサービスへの好奇心から一時は流行したのだが、この頃からポケット電卓が出現し、その後、急速な価格低下が進んだため、1982年にサービスを停止した。

DRESS (販売在庫管理サービス)
利用者の事務所などに設置した専用端末機とDRESSセンターに設置した大型コンピュータを通信回線で結び、
端末から出荷・入荷などのデータを入力して、日報・月報などの作成、在庫の問合せに応じるシステム。
1980年頃にピークに達したが、その後ユーザ企業内でのオンライン化に押されてスローダウンした。1996年にサービスを終了。

DEMOS (科学技術計算サービス)
Denden Multi-access Online System。大規模TSS(Time Sharing System)。
経営科学計算としてのシミュレーション、技術計算としての建築、土木、機械の設計計算などに利用された。
利用者はキーボード、紙テープリーダからデータを送信し、計算結果はプリンターで受信する方式であった。
高性能の超大型電子計算機であるDIPS-1を利用したDEMOS-Eに発展、利用者数はピーク時では5000以上に達したが、これも社内TSSや商用TSSの普及により、1995年にサービスを終了した。
2013/02/12(火) 22:28:29.39
高速な累乗計算
累乗(x^n)を単純に計算すると、オーダーは O(n)となり効率が悪いです。
そこで、nを2の累乗に分解して計算する高速化手法が一般に知られています。
3^11 は以下のように計算できます。
3^11 = 3^(1+2+8)
= 3^1 × 3^2 × 3^8
= 3 × 9 × 6561
= 177147
この方法のオーダーは、O(log2(n)) です。
http://d.hatena.ne.jp/kazu-yamamoto/20090223/1235372875
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況