co-roのブックマーク (82)

  • 本の虫: 邪悪なC形式のキャストにしかできないこと

    注意:邪悪で汚らわしいC形式のキャストは、いやしくもC++プログラマたる者は、使うべからず C++では、玉虫色のC形式のキャストの機能を、三つに分割した。static_cast、reinterpret_cast、const_castである。しかし、この三種のキャストでは、C形式のキャストを完全に代替できないという声をよく聞く。曰く、「どうしても書けないキャストがある」と。 それはよく聞く話だが、では実際にどのようなキャストなのかということは、誰も審らかにしない。誰も知らないキャストであれば、特に使えなくても問題ないはずだ。ただし、「C形式のキャストならばできるキャストが、新しいキャストを組み合わせてもできない。どんなキャストかは知らないが、とにかくできないと聞いている。故に新しいキャストはクソだ」などという論調で、C++の改良されたキャストを使わぬC畑の外道がしゃしゃり出てくるのも困る。そ

    co-ro
    co-ro 2022/03/08
  • InfiniBand プログラムに必要な基本的な概念

    このページでは InfiniBand Verbs プログラムをはじめるのに必要な基的な概念を説明する。 この文書の情報は RDMA_CM API を使ったプログラムをする場合にも有効だと思われる。 以下は関連ページ。 InfiniBand プログラムの覚え書きのインデックス 更新履歴 (2014.03.29) 作成。 (2014.04.04) 6.2 QP番号とマルチキャストと 8 章以降を追加 (2014.04.16) 12.3 Partition を追加 (2014.05.11) API にリンクを貼る 目次 1. イーサーネットを振り返ってみる 2. では InfiniBand Architecture は? 3. InfiniBand Fabric 3.1 LID Routed Network 3.2 構成部品 3.3 Subnet Management 4. メモリモデル:ゼロ

  • 第10回 ヘッダー・ファイルをのぞいてみよう

    Cのプログラム先頭付近に,“#”で始まる命令がいくつか固まって書かれていることがある。中でもよく見かける#includeは,拡張子“.h”の「ヘッダー・ファイル」をソースコードに取り込む命令だ。「取り込まれるヘッダー・ファイルの中には宣言や定義が記されている」などと,には書いてある。この宣言とか定義とは一体どのようなもので,どんな役割を果たしているのだろう? ヘッダー・ファイルと#で始まる命令について調査した。 Cのコンパイルは2段階に分かれている Cの,特にコマンドライン・インタフェースのプログラムには, #include <stdio.h> という1行が,半ば「おまじない」のように記述されている。もちろんこれはおまじないなどではないが,printfなどの関数やifなどの命令語とも違う。#includeや#defineのように,Cプログラムで使われる“#”の付いた予約語を「プリプロセサ

    第10回 ヘッダー・ファイルをのぞいてみよう
  • そのドメイン名、使い終わった後も面倒を見続ける覚悟がありますか?:Geekなぺーじ

    2013年参議院議員通常選挙の広報活動を目的として、2013senkyo.jpというドメイン名が登録(および利用)されています。 これに限らず、このような形で各案件ごとに専用のドメイン名を利用したPR活動が、世界中で頻繁に行われています。 公開予定の映画のタイトルや期間限定で発売される商品名をドメイン名に使ったプロモーションなどが、その典型的なものであるといえるでしょう。 しかし、そのような形態で登録・利用されているいわば「期間限定のドメイン名」では、「使い終わった後のこと」が、しばしば忘れ去られてしまうことがあります。 たとえば、今回取り上げた2013senkyo.jpは汎用JPドメイン名です。 汎用JPドメイン名は日国内に住所があれば誰でも登録できます。 そのため、仮に今回の選挙終了後にこのドメイン名の使用を終了した場合、登録料さえ払えば基的に誰でもこのドメイン名を再登録し、次の登

    co-ro
    co-ro 2013/07/16
  • 2週間経って感じるリモート勤務の「予想以上」 - ITエンジニアとして生きる

    リモート勤務を始めてから2週間が経ちました。 今回はその中で感じた色んな「予想以上」について書きたいと思います。 「予想以上」に遠隔地のハンデを感じないこれは一番不安視していたことでもあるんですが、現時点では遠隔地にいることで仕事に支障が出るということは感じていません。 ハートレイルズでは資料やコードは色んなクラウド環境を利用して共有しています。 その資料は膨大で見きれないなんてことはなく、良い意味で単純化されていて理解しやすい資料となっています。 そのため、ゴールや大体の方向性は共有した資料を通じて自然と合ってきます。 また、業務中はSkypeをオンラインにしていて疑問/質問等があればメッセージでやりとりして解決しています。 やりとりする中で言って頂いたんですが 「分からないことは何でも聞いてください、納得するまで聞いてください」 というスタンスでやりとりしているので、方向性がズレそうな

    2週間経って感じるリモート勤務の「予想以上」 - ITエンジニアとして生きる
    co-ro
    co-ro 2013/07/16
  • プログラマを目指す人が本を読む前に読むべきネットの記事 - もとまか日記

    最近、プログラマ向けの書籍を紹介するのが流行ってたようで。 全てのプログラマが読むべきベスト10冊見習いプログラマが読んだら、すぐにジョブレベルが上がる10冊見習いプログラマが読んでも、ほとんど無意味な10冊きれいなソースコードを書くために読んでおくべき10冊 - ひがやすを blogPythonのプログラマを志したおいらが買ってよかった5冊の 「プログラマ向けの書籍」という点で言えば、確かにこれらのを読むといいのかもしれません。ちなみに私はどれも読んだことないです。スミマセン。 ただ、一つだけ気になったのが、これからプログラムを始めて、アプリを作ってみようと志してる方が、これらの記事を読んだ時に果たしてどう思うんだろ?ってことでした。 「こんな高価で難しそうなを読まないといけないの・・・?」 とか、思ってしまわないだろうか、と。もちろん、そういう趣旨の記事ではないのは分かってる

  • コンソール・アプリケーションの出力を取り込むには?[C#、VB]

    連載目次 「TIPS:コマンド・プロンプトを表示せずにコンソール・アプリケーションを実行するには?」では、Windowsアプリケーションなどから外部のコンソール・アプリケーションを実行する場合に、コマンド・プロンプトを表示させずに実行する方法について解説しているが、この際、実行する外部アプリケーションによっては、その画面出力がプログラムで必要になることがある。 稿ではプログラムからコンソール・アプリケーションを実行し、その出力を取得する方法について解説する。 標準出力とそのリダイレクト 題に入る前に、コンソール・アプリケーションの出力について簡単に説明しておこう。 たいていのコンソール・アプリケーションは実行結果などを画面(通常はコマンド・プロンプト)に表示するが、これはコンソール・アプリケーションが画面に描画を行っているわけではない。コンソール・アプリケーションは文字を「標準出力」に

    コンソール・アプリケーションの出力を取り込むには?[C#、VB]
    co-ro
    co-ro 2013/06/21
  • C#コーディング規約の個人的なまとめ

    コーディング規約は非常に色々なものが提案されているが、その色々なものを見て来た中で、かなり自分勝手な方向でまとめてみる。 はじめに コーディング規約というのは、さまざまな団体で独自に定められており、時にはそれが競合することもあろうかと思う。特にC++のプレフィックス関連が顕著だと思う。それに比べて、C#は割りと落ち着いたコーディング規約が根付いているのか、私の短いプログラミング人生の中で、そこまで読みにくいと思ったコードを見たことがない。これは、C#の言語構造やVisualStudioの自動整形も関係しているのかもしれないが。 というわけで、厳格なコーディング規約を設けずとも、それなりに読めてしまうC#でも、やはり規約を定めて、より読みやすく、統一性を持たせたコードを生産することは、非常に有意義なことだと考える。 代表的な記法 C#の命名規約についてを参考にしてほしい。一部を抜粋しておく。

    C#コーディング規約の個人的なまとめ
  • .NET Coding Conventions - C#

    Coding conventions are essential for maintaining code readability, consistency, and collaboration within a development team. Code that follows industry practices and established guidelines is easier to understand, maintain, and extend. Most projects enforce a consistent style through code conventions. The dotnet/docs and dotnet/samples projects are no exception. In this series of articles, you lea

  • オープンソースのコードを取り込んだ時のライセンス表記について - 30歳からのブラウザづくり

    GPLのコードを1行でも取り込んだ場合は、ソフトウェア全体をGPLで配布しなければいけませんが、BSDやMITライセンスのコードを一部取り込んだ場合のライセンス表記ってどうなってるんだろう?と思っていろいろ調べてみた。 BSDライセンスに関しては、Wikipediaによると以下のような記載がある。 「無保証」であることの明記と著作権およびライセンス条文自身の表示を再頒布の条件とするライセンス規定である。この条件さえ満たせば、BSDライセンスのソースコードを複製・改変して作成したオブジェクトコードをソースコードを公開せずに頒布できる。 ようするに、「無保証の明記」と「著作権表示」をどこかに書いておけばOKということのよう。 ちょっとひっかかるのが「ライセンス条文自身の表示」の部分。ライセンス条文を書いてしまったらBSDライセンスのコードを再利用しているソフトウェア全体がBSDライセンスで配布

    オープンソースのコードを取り込んだ時のライセンス表記について - 30歳からのブラウザづくり
  • バージョン管理システムとは何か〜GitとSubversionの違い | トリコロールな猫

    毎日ブログ書くぞ!と思って技術ネタ以外のものも書いてみてますが、やっぱそれなりに準備しないといいものは書けない。 ということで、ネタがたまってくるまでは技術ネタでがんばるぞと。 iPhoneアプリを作ってApple Storeに公開したい いきなりの所信表明。つーか「2013年にやりたいこと」に書けよって話ですが。 ずいぶん昔にVBの練習用に作ったとても単純なアプリを、iPhoneアプリで作ってみようという試みです。 作りながらはまったとこなんかをブログに書いて行けばネタにも困らないし。 でもここ数日のアクセスログを見ていたら、普通のブログはリピーターがつきやすく(RSSでの購読が増える)、技術ネタは検索結果から直接飛んでくるという傾向がよく分かったので、そのうちトップページだけ分けようかとも思ってます。 将来的にはGithubにアップしてみたいなと思っていますが、いきなり全世界に公

  • JIRAとGitでDRYなワークフローを実践する

    こんにちは、加藤です。誰かに振られたわけではなく自主的に、JIRA Advent Calendar 2011の17番目として参戦します。 ジラリアンとしては、1年半位前にEatwitという自社製品のiPhoneアプリの開発からJIRA+GreenHopper / Confluence / Fisheye を使い始めて、ようやくひと通りの機能が使えるようになってきたレベルです。その前はTracを使っていました。受託案件ではRedmineも使っています。 Fisheye経由でJIRAとGitを連携 エアーズではバージョン管理にGitを使っています。共有リポジトリはJIRAやFisheyeと同じサーバー(Mac mini)にgitosisというソフトウェアを使って設置してあります。プロジェクトによっては、GitHubやBitbucketも使いますが、社内にある共有リポジトリは速くて快適です。 G

  • - UML超入門_第1章

    1章では,なぜUMLを使うのかというお話からはじめて,UMLの意味と歴史 をおさらいします. また,実際の開発プロセスでの一般的なUMLの利用法についても外観します. UMLはUnified Modeling Languageの略で,オブジェクト指向分析,設計におい てシステムをモデル化する際の記法(図法)を規定した言語(ビジュアル・ラン ゲージ)です.UMLは現在のソフトウェア開発において事実上の標準となってき ており,これを学ぶことは開発者として必須要件になってきました.では,何 のためにUMLで図を書くのかって?用途はいろいろ考えられますが,以下の3 つのレベルが考えられます. レベル1: プログラムを書く前に,図で自分の考えを整理する. レベル2: チーム開発において,図でコミュニケーションする. レベル3: ユーザや顧客と仕様を検討する. それぞれのレベルでの使い方を簡単に説明し

    co-ro
    co-ro 2013/06/11
  • 会議の進め方

    会議の事前準備(進行担当者編)← 会議をスタートさせたら、以下のようにして参加者の気持ちを明るくさせて、好意的かつ積極的に会議を楽しんでもらう。 開始 ルール・役割の確認 進行表の消化 ことばの確認 遅刻・中座への対応 終わり方 色々な工夫をして臨んでいても 「今日のために勉強しました」 「これだけ準備しました」 「会議のを読みました」 のような自己宣伝をしない。 →会議の進め方(参加者編) 会議を座ってしてはいけない理由 集合研修のポイント 内勤の仕事の進め方 仕事が速いと言われる方法

  • 社内ハッカソンの企画・運営を行いました - seri::diary

    去る5月18日、19日に社内ハッカソンを行った。 その企画・運営の1人として裏方の仕事を一手に引受け、色々と面白い経験が出来たのでまとめてみる。 1.目的 最初は「なんかみんなでワイワイやりたいね」的なところから始まったと記憶しているのだが、 えらい人「会社のお金使うからなんか有意義なことしたいね」 人事「じゃあ社外の人呼んでうちのエンジニアの空気を知ってもらってPRに使えたらよくね?」 えらい人「社外ゲスト付きハッカソンだ!」 ということで、多分うちの会社でも初であろう、社外ゲスト+社内のエンジニアによるイベントということで方針が決まった。 俺氏「でも初のエンジニアイベントで社外の人招いてやるのは(主に俺が)大変では」 えらい人「一番むずかしいと思うことは最初にやっとくんだよ」 2.企画 ハッカソンに参加したことはない。だから実は何も分からなかったが、他のハッカソンのレポートとかを読みま

    社内ハッカソンの企画・運営を行いました - seri::diary
  • 資料公開 タスク管理超基礎(学生向け)

    先週金曜日に慶應SFCのPBLの授業の中でチーム開発ではなぜタスク管理が必要なのか、タスクはどのように作るべきなのかについて基中の基を説明しました。 その際の資料を公開しておきます。 既にチームとして開発を行っている方にはたいして役にたたないと思いますが、新入社員とかへの説明には役にたつかもしれません。 プロの方でも役にたつかもしれないのは最後のページだと思うので再掲しておきます。 タスクの管理の仕方。 やらなければいけないことをなるべく網羅する(いきなり全部は無理) 誰がみても分かるように 何が出来るとそのタスクが終わるのかの条件をはっきりさせる 計画をたてやすくするために大きなタスクは処理しやすい大きさに分ける 進捗状況を分かるようにする(誰がやってる?もう終わった?) リストは定期的に見直す

    資料公開 タスク管理超基礎(学生向け)
  • クライアント版WindowsでIISをインストールする

    対象OS:Windows 2000 Professional/Windows XP Professional/Windows Vista Home Premium/Windows Vista Business/Windows Vista Enterprise/Windows Vista Ultimate/Windows 7 Home Premium/Windows 7 Professional/Windows 7 Enterprise/Windows 7 Ultimate 解説 クライアント版Windows OSであるWindows 2000 ProfessionalやWindows XP Professional、Windows Vista、Windows 7には、Webサーバ/FTPサーバ機能を実現するためのIIS(Internet Information Services)が標準で提

    クライアント版WindowsでIISをインストールする
    co-ro
    co-ro 2013/06/06
  • RAIDレベルを理解しよう

    RAIDは複雑な技術であり、その導入・運用にはさまざまな知識が必要だ。その中でも最初の難関といえる「RAIDレベル」について、分かりやすく解説。 重要な情報を蓄えるディスク・サブシステムを、不意のディスクの故障などから守ったり、あるいは高速化したりする技術として、RAID(Redundant Arrays of Independent(Inexpensive) Disks)はすでに一般的になった感がある。少なくとも、ローエンドを除くサーバについては、もはやRAIDを組み込んだディスク・サブシステムは必須といっても過言ではない。また、「動向解説:最新IDE RAID事情」で触れているように、IDE RAIDの登場によって、ハードウェアRAID製品の初期導入コストも下がってきており、ローエンド・サーバはもとより、クライアントPCでもRAIDを採用しやすくなってきている。 このように、コスト面で

    RAIDレベルを理解しよう
    co-ro
    co-ro 2013/06/06
  • 米国成人のスマートフォン普及率は56%、Androidは28%、iPhoneは25%

    米国の調査機関Pew Research Centerが現地時間2013年6月5日に公表した調査結果によると、同年4~5月時点における米国成人のスマートフォン所有率は56%となり、2年前に行った同様の調査の35%から大きく伸びた。米国成人の携帯電話所有率は91%で、そのうち61%がスマートフォンを利用しているという。 この調査は、2013年4月17日~5月19日にアンケートを実施し、18歳以上の米国人2252人から回答を集めた。スマートフォン所有率が50%を上回るのはPew Research Centerが同様の形式で調査を開始して以来初めてという。 これによると、スマートフォン普及率が最も高い年齢層は25~34歳で、81%がスマートフォンを所有している。この後18~24歳が79%でこれに次ぎ、以下は年齢が上がるほど普及率が低下する。35~44歳は69%、45~54歳は55%、55~64歳は

    米国成人のスマートフォン普及率は56%、Androidは28%、iPhoneは25%
  • 状態遷移表を使用したテスト手法【前編】

    状態遷移表による設計手法について解説。今回は「状態遷移表を使用したテスト手法」の【前編】として、ホワイトボックステストとブラックボックステストについて詳しく解説する。 はじめに 組み込みソフトウェアが抱える一番の課題は「設計品質の向上」です。連載の主役「状態遷移表」であれば、“イベント”と“状態”の全ての組み合わせを捉えることができるため、「モレ」「ヌケ」のない品質の良い設計が可能です――。ということで、これまで状態遷移表設計手法について詳しく解説してきました。具体的には、“要求分析モデル”“設計モデル”“状態遷移表からの実装”などのテーマを中心に、その設計手法を見てきました。 ご存じの通り、組み込みソフトウェア開発において、“手戻り作業”は非常にコストが掛かり、とても非効率なものです。そのため、前工程で不具合要因をきちんと抑えることが重要です。ただし、不具合が前工程で抑えられたからとい

    状態遷移表を使用したテスト手法【前編】