タグ

programmingに関するusadamasaのブックマーク (111)

  • APIデザインにおける七つの大厄介 | POSTD

    (編注:2016/7/29、頂いたフィードバックを元に記事を修正いたしました。) APIをデザインするということは、科学であり技術でもあります。多くの頭の良い人たちが失敗を重ねてきました。成功している人たちは、APIの主な目的を念頭においてデザインしているのです。その目的とは、「開発者たちをウンザリさせる」ということです。 親愛なる仲間たち、その崇高っぽい追求を称えるべく、「APIデザインにおける七つの大厄介」を共に数え上げようではありませんか(私がしたことを見てください)。 リスティクル(箇条書き形式の記事) を書くつもりはないのですが、少なくともタイトルは 教養ある宗教的文献が参照元 です。 まず、ルールを決めましょう。ここでは、成功し、きちんと機能しているAPIを取り上げます。ですから、「動かない」とか、「大量のセキュリティホールがある」といったことは厄介ごとに数えません。「致命的」

    APIデザインにおける七つの大厄介 | POSTD
    usadamasa
    usadamasa 2016/03/09
    ただのAndroidSDKへの悪口だった。
  • Boost tour 1.60.0 merge

    Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Hiro H.

    Boost tour 1.60.0 merge
  • C++ マルチスレッド 入門

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami

    C++ マルチスレッド 入門
    usadamasa
    usadamasa 2015/07/11
    マルチスレッド、人類には早過ぎる。
  • 歌舞伎座.tech #8 「C++初心者会」を開催した

    歌舞伎座.tech#8「C++初心者会」 - connpass 5月17日に、歌舞伎座.thch #8 「C++初心者会」を開催した。 今回は、勉強会の初心者が発表できる場を設けようという意図から、発表枠には、初心者枠とガチ枠を設けた。これにより初心者が積極的に発表しやすくなるはずだ。さて、問題は参加者と発表者が集まるかどうかだ。いざフタを開けてみると閑古鳥が鳴いているようでは極めて痛い。 さて、connpassで告知と募集を開始すると、参加枠が即座に埋まっていく。どうやら勉強会の需要はあるようでまずは一安心だ。発表枠も埋まり始めたが、その参加者を見ると、どうも、技術的、勉強会的にみて、初心者とは思われない。 さて、公開直後の参加申し込みの波がひけてみると、参加枠と初心者枠は埋まっているものの、ガチ枠が埋まらない。どうやら、みなチョットデキル的な謙遜精神を発揮してしまったようだ。仕方がない

    usadamasa
    usadamasa 2015/05/18
    “AtCoderにログインしてページをダウンロードしてコードを生成してアップロードするまですべてが自動化されている。どうやら、問題文は無視して、入力と出力のサンプルから、入力に対する正しい出力の計算方法を推定
  • インターフェイスを設計するために読んだ技術書まとめ - 自由課題

    アーキテクトの(機能面での)主要な仕事の1つに、システムを構成するサブシステム/コンポーネントの境界、つまりインターフェイスを決める、というものがあります。またはそこまで大げさに捉えなくても、例えばライブラリのAPIを設計する、というのは単にプログラミングをする、ということとは少し違う視点が求められるように思います。 案外インターフェイスを考えるという観点での技術書まとめがないような気がしたので、需要があるかわかりませんが関連して読んだを紹介しておきます。なお、個人的なキャリア上、C++/Javaが対象です。(色々経験したら随時追加するかも知れません) 何か他にいいがあったらぜひ教えてください。 言語仕様をきちんと知る まずはAPIを設計する対象言語をよく知る、ということは必要であると思います。これだけだと、結果的にプログラミングに精通するということとあまり変わりはないかも知れません。

    インターフェイスを設計するために読んだ技術書まとめ - 自由課題
  • Git活用法 ー コードはいつも1行ごとにドキュメント化されている | POSTD

    コードには1行ごとに隠しドキュメントがあります。 次のコードスニペットの4行目を書いた人は、何か理由があってDOMノードの clientLeft プロパティにアクセスしたのでしょうが、結果的に何もしていません。これはかなり不可解です。なぜこうしたのか、あなたは説明できますか? 今後、この呼び出しを変更したり削除したりしても安全でしょうか? // ... if (duration > 0) this.bind(endEvent, wrappedCallback) this.get(0).clientLeft this.css(cssValues) 私ではなく他の人があなたにこのコードを見せたとして、誰がこの行を記述したのか、どんな理由があったのか、このままの状態にしなければいけないのか、あなたはおそらく説明できないでしょう。ただし、プロジェクトを進めているときは大抵の場合、バージョン管理シス

    Git活用法 ー コードはいつも1行ごとにドキュメント化されている | POSTD
  • watson - inline issue manager

    Create issues while you code without ever having to interrupt your flow. Keep track of a todo item, bring attention to a bug, or just annotate code in an easy and seamless way with watson.

    usadamasa
    usadamasa 2013/11/23
    ソース中にコメントを書くことでissueを管理できるツールwatson。
  • Vim-users.jp - Hack #125: 矩形選択で自由に移動する

    usadamasa
    usadamasa 2013/08/26
    vimの矩形選択で行末にテキストがなくても自由にカーソルを動かすことができる設定。:set virtualedit+=block
  • The 67th Yokohama kernel reading party

    Explaining glibc malloc internals. slide: http://www.slideshare.net/kosaki55tea/glibc-malloc

    The 67th Yokohama kernel reading party
    usadamasa
    usadamasa 2013/05/01
    libcのmalloc実装について解説。大学の講義一回分の量。
  • blog.paz-para.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    usadamasa
    usadamasa 2013/05/01
    vimでファイルを新規作成したとき拡張子に応じて定型文を挿入する機能、テンプレートの簡単な説明。rubyやるのに#coding:utf-8てやるのめんどいから調べた。
  • http://sekailog.com/2012/07/programming/

    usadamasa
    usadamasa 2012/07/10
    各言語入門まとめ。HTML,CSS,VBA,PHP,Obj-C,Bash,Python,Vim,あとプログラミング一般。おお見事にSIer的領域をガン無視してる。
  • GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して

    GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内

    GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して
    usadamasa
    usadamasa 2012/04/13
    GoFの23のデザインパターン一覧と使い所のまとめ
  • gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    以前gitで一度行った変更をなかったことにする方法4つを紹介しましたが、 日常的に git を使用していると他にも様々な 「なかったことにしたい」「元に戻したい」 という状況に遭遇します。 そのひとつひとつについて対処方法を紹介していきます。 目次 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。問題2: トピックブランチをマージしたけど実はまだ不完全だった。マージをやり直したい。問題3: リリース後に発覚したバグ。原因は30日前に自分が行ったコミットだった。なかったことにしたい。問題4: 新しいコミットしようとして間違えてgit commit –amendで書き換えてしまった。元に戻したい。問題5: 色々作業していたら作業ディレクトリの内容が混沌としてきた。一度綺麗な状態にしたい。問題6: 作業ディレクトリにゴミファイルが溜まってきた。一度綺麗

    gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
    usadamasa
    usadamasa 2012/03/23
    "gitでアレを元に戻す108の方法 - TIM Labs"
  • time_t - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2009年2月) 古い情報を更新する必要があります。(2019年3月) 出典検索?: "Time t" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL time_t型は、システム時刻を表現あるいは保存するために標準Cライブラリが定義しているデータ型である。この値は標準のtime()ライブラリ関数によって得られる。このデータ型は、標準の <time.h> ヘッダファイルでtypedefによって定義されている。ISO Cでは、time_tを数値型と定義しているが、データ型・値の範囲・周期や、エンコーディング方法は定義していない。また、時刻の値に対す

    usadamasa
    usadamasa 2012/02/17
    "2009年2月13日 23:31:30 UTC、UNIX時刻が1234567890に到達する祝賀が行われる見込みである。この日は偶然にもグレゴリオ暦で13日の金曜日である。16進数で表したUNIX時刻の0x50000000(1342177280秒)も、偶然13日の金曜日である(2012年7月13
  • 64bit OS と 32bit OS でのデータ型の相違一覧

    Perl-XS なモジュールを 64bit OS で使っていると、ごく希に変数型サイズが問題で不具合を経験することがあります。例えば、メジャーどころで言えば、日語係り受け解析器のCaboCha/南瓜を例に挙げますと、 src/common.h の103〜107行目 static inline void replaceString (std::string &s, const std::string &src, const std::string &dst) { unsigned int pos = s.find (src); if (pos != std::string::npos) s.replace (pos, src.size(), dst); } の unsigned int pos = s.find (src); の部分ですが、32bit 環境では問題は発生しませんが、64bi

    usadamasa
    usadamasa 2012/02/17
    "ポインターを操作する場合は、環境依存しないように sizeof 関数でサイズを取得して、size_t 型の変数で値を受け取って操作するのがベターと思います。"
  • gitでリポジトリからのチェックアウト時に文字コードを変換する » tune web

    ようやく実現できたのでやり方をメモ。 設定ファイルで拡張子に基づくフィルタリングをすればOK。 ProGitの情報によるとリポジトリから取ってくるときをsmudge、リポジトリに突っ込むときをcleanと呼ぶらしい。 以下はリポジトリ内のソースファイルがUTF-8 BOM有、改行コードがLFCRの場合の設定例。文字コード変換はnkfを使っています。 WindowsのVisualStudioに合わせると上記設定が望ましいが、Linux環境でgccを使うにはBOM無しにして、改行コードをLFにする必要がある。 まず.gitconfigファイルに以下を追加する [filter "fixencoding"] clean = “/usr/local/bin/nkf -w8 -Lw” smudge = “/usr/local/bin/nkf -w -Lu” これでsmudgeでUTF-8 B

    usadamasa
    usadamasa 2012/02/15
    gitでリモートからpull/pushするときに文字コード及び改行コードを変換する設定。nkfを使用するので、リモートはwindowsの設定に準拠したほうがいいのかな?
  • 平安彩票 -首页

    测风塔风速风向监测系统解决方案 1 概述项拟根据测风场现场测风塔布局图设计一套风速风向监测系统����������。测风场共有6基测风塔以75米半径圆周分布�����,每基测风塔按照一定高度分布安装5台风速风向气象传感器����������。系统按照要求定时采集每台风速风向传感器的数据并上传至数据中心后台服务器�����,服务器完成对各个风速风向监测点数据的接收、存储和分析整理�����,并对数据库进行管理����������。具备实时数据浏览、历史数据检索、数据曲线功能����������。2 系统组成测风场风速风向监测系统由超声波风速风向传感器、供电系统、气象采集器、光纤交换机和后台监测主机组成����������。如图1所示为测风场系统框图:图1�����。�����。�����。 道路交通气象监测预警系统解决方案 平安彩票高速公路气象监测预警系统设计方案一、项目总体概述及系统构架

    usadamasa
    usadamasa 2012/02/11
    "cscopeはシンボルの定義場所や関数の定義,コールされている場所とかを探してジャンプとかもしてくれるツールです.ctagも関数の定義場所にジャンプしてくれるツールです.二つを使うとソースの編集がチョー楽になりま
  • grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々

    "GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。 例えば、、、 $ export GREP_OPTIONS="--color=auto"とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね! オプション無しで実行した場合 GREP_OPTIONSを設定してから実行した場合 おまけ: --colorの色を変えたい場合 環境変数 "GREP_COLOR"に色コードを指定してやると良いです。 例えば、ハイライトを黄色にしたい場合とかは、以下のような感じ

    grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々
    usadamasa
    usadamasa 2012/01/30
    "GREP_OPTIONS"という環境変数を設定しておくと、grep実行時に自動的に付加してくれるとのこと。
  • 「HACKING: 美しき策謀 第2版」で脱・初心者エンジニア - As a Futurist...

    今年もあまりを読めていないのですが、かなり評価の高いを数冊読んでいます。その中でもピカイチにオススメしたいのが表題のです。最近第 2 版が出たようです。って、実はまだ読んでる途中なんですけどね。。。 「教科書」として素晴らしい出来 このの何よりもすごいと思った点は、頭から読んでいってすんなり全てが飲み込める点です。ここまで頭に吸い込まれるは久々に読んだ気がします。普通技術書だと、サンプルコードがあって、実際に実行してみてねーこんな感じになるから、って書いてあるんですが、自分で実際に実行してみないとイマイチピンと来ないことがあります(サンプル動かなかったりとかもある)。そういうは、通勤時間とかにちょこちょこ読むにはちょっとしんどいです。 HACKING がすごいのは、第 2 章のアセンブリやヒープ・スタックの解説、さらに第 3 章のバッファオーバーフロー等の脆弱性を突くといった部

    「HACKING: 美しき策謀 第2版」で脱・初心者エンジニア - As a Futurist...
    usadamasa
    usadamasa 2011/12/13
    "「バッファってのを確保した領域を超えて入れると危ないコードを実行させられるんだよ」というのをメモリの様子がアドレス付きで目で見て分かる様に解説してくれています。"
  • - 自動化のための nmake 入門講座 - 基本的なパターン

    usadamasa
    usadamasa 2011/11/18
    "Makefile を作る最初の動機として挙げられるのは,自分が複雑なコマンドを何度も入力していることに気づいたときです.こういったコマンドを簡単に実行できなければ,開発に必要なリズムを得ることができません."