タグ

プログラミングに関するwamanのブックマーク (291)

  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
    waman
    waman 2018/04/14
    『列名は sex です。規格通りなので大きな声で設定しましょう』
  • マーチン・ファウラー氏「リファクタリング 2nd Edition」で20年ぶり内容刷新、サンプルコードはJavaScriptに。Web主体で書籍はエッセンシャル版の位置づけ

    マーチン・ファウラー氏「リファクタリング 2nd Edition」で20年ぶり内容刷新、サンプルコードはJavaScriptに。Web主体で書籍はエッセンシャル版の位置づけ マーチン・ファウラー氏が20年ぶりに大幅に内容を刷新した書籍「リファクタリング 2nd Edition」を今年秋に出版する計画だ。サンプルコードはJavaからJavaScriptに変わる。また、コンテンツ体はWebサイトとなり、書籍はそのエッセンシャル版の位置づけとなる。 「リファクタリング」とは、ソフトウェアの機能追加や変更、性能向上などに備えるため、開発されたコードの外部に対する振る舞いは変更せず、より整理された、あるいは洗練されたコードに書き換えること、あるいはその手法のことを指します。 いまでは開発者の間で広く知られているこのリファクタリングについて、その目的や手法などを書籍としてまとめあげ、出版したことで啓

    マーチン・ファウラー氏「リファクタリング 2nd Edition」で20年ぶり内容刷新、サンプルコードはJavaScriptに。Web主体で書籍はエッセンシャル版の位置づけ
    waman
    waman 2018/04/05
    『JavaScriptを選ぶというのは大いなる皮肉でもある。というのも、多くの読者がご存じと思うが、私はJavaScriptを好んでいないからだ』
  • プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!

    今やどんなビジネスでもITが関係している。ITを支えているのはソフトウェアだ。あらゆるものがソフトウェアで実現される時代になった。そんな事業や生活に密接に関わるソフトウェアだが、その開発について知られていないことも多い。 とくに経営者がプログラミング経験がないことで、ソフトウェア開発のリーダーシップをとるときに的外れなマネジメントをしてしまうことがある。あまねく経営者がプログラミング経験があれば良いのかもしれないが、それは現実的ではない。 プログラミング経験がなくても、せめてソフトウェア開発の特性について知っておくと良さそうなこともあると思い、なるべく専門用語を使わずに稿を書いた。 プログラミングは製造ではなく、設計である いまだにソフトウェア開発を、ビルや家屋の建築に喩える人がいるし、工場でモノを製造するようにプログラムが作られると思っている人もいる。 ここが間違いのもとだ。ハードウェ

    プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!
  • オーバーフローが引き起こした面白いバグの話|Rui Ueyama

    一度聞いたら忘れられないような印象深いバグというものがある。僕は数値のオーバーフローと聞くと必ずこの2つのバグを思い出してしまう。どちらも面白いエピソードなのでちょっと紹介してみよう。 一つ目は、初代Civilizationにあったバグである。Civilizationは文明間で戦う戦略シミュレーションゲームで、チンギスハンとかエリザベス女王みたいなプレイヤーを選んで、世界制覇か宇宙開発競争での勝利を目指すというゲームだ。 初代Civilizationにあったバグは、非暴力主義のガンジーが突然核攻撃してくるというものだった。原因は文明が民主主義を採用すると攻撃性が2下がるというロジックだった。初代Civではガンジーの攻撃性は全プレイヤー中で最小の1なのだが、ゲームが進んでインド文明が民主主義を採用すると、攻撃性がマイナス2されてオーバーフローで255になり、ガンジーがゲーム中で突如、極度に攻

    オーバーフローが引き起こした面白いバグの話|Rui Ueyama
  • ヒトの細胞がプログラミング可能に:米研究チームが109通りの「論理回路」の作製に成功

  • 4 Techniques for Writing Better Java - DZone

    waman
    waman 2017/07/18
    『Covariant Return Types』『Joint-Union Generic Types』『AutoCloseable Classes』『final Classes and Methods』
  • monadからeffectへ - Just $ A sandbox

    追記 もう少しまともなeffect入門記事を書きました myuon-myon.hatenablog.com この文章は今から5-10年後に万が一effect systemが流行り始め、今のHaskellのような立ち位置になった場合に備えて書いています。 effect systemについて Haskellはモナドを用いて純粋・非純粋を切り分けることができる言語で、computational effectを扱うために導入されたものだった。 かつては関数 A -> B で一緒くたにしていたcomputationは、 A -> T B と、文脈 T をもった関数として表現できるようになった。ところでこのようなcomputational effectとしてのモナドを言語機能に組み込むには2つの方法があって、 Meta Language方式 (Haskell) Programming Language

    monadからeffectへ - Just $ A sandbox
    waman
    waman 2017/07/12
    『effect systemはいわば添字付きのモナドであり、プログラム A -> B を文脈 T とそこでのエフェクト e があって A -> Te B として表現するものである』
  • GoogleによるAPIデザインガイドの公開

    Mark Fussell氏とYaron Schneider氏とDaprを知ろう 日のエピソードでは、Thomas Betts氏がMark Fussell氏とYaron Schneider氏に、分散アプリケーション・ランタイム(Dapr)について話を聞いた。最新のInfoQ Architecture and Design Trends Reportでは、Daprはポータビリティとクラウドアプリケーションのための設計というアーリーアダプターのアイデアの一部となっている。

    GoogleによるAPIデザインガイドの公開
  • nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)

    Cの系譜を継ぐC#ではnullが長らく使い続けられてきたが、最近ではその存在が大きな問題だと認識されている。前後編でこの問題を取り上げ、今回(前編)はnullを取り巻く事情について考察する。 ← 前回 連載 INDEX 次回 → 近年、nullの存在は、billion dollar mistake(10億ドル規模の損失をもたらす過ち)と呼ばれるくらい忌避されるものになっている。 nullは、低コストでそこそこ安全に参照を扱えるという意味で悪くない妥協ではあるが、技術が進歩した現在ではもう少し賢い参照の扱い方があるはずである。C#のように、これまでnullを認めてしまっているプログラミング言語で、今からそれを完全になくすというのは現実的ではないが、nullに起因する問題を少しでも避ける手段はこれからでも追加していけるだろう。 今回は、nullが生まれるに至った背景から始め、nullが抱える問

  • Introduction to Low Level Bit Hacks

    I decided to write an article about a thing that is second nature to embedded systems programmers – low level bit hacks. Bit hacks are ingenious little programming tricks that manipulate integers in a smart and efficient manner. Instead of performing operations (such as counting the number of 1 bits in an integer) by looping over individual bits, these programming tricks do the same with one or tw

    Introduction to Low Level Bit Hacks
  • オラクル、ノンプログラマのための開発ツール「Project Visual Code」発表、SaaSを容易に拡張。Oracle OpenWorld 2016

    オラクル、ノンプログラマのための開発ツール「Project Visual Code」発表、SaaSを容易に拡張。Oracle OpenWorld 2016 オラクルがサンフランシスコで開催中の「Oracle OpenWorld 2016」。初日の基調講演で、同社CTOのラリー・エリソン氏は、ノンプログラマのための開発ツール「Project Visual Code」を発表しました。 Project Visual Code発表 ラリー・エリソン氏。 Project Visual Codeを発表する。これはノンプログラマのための開発ツールだ。 モダンなUIコンポーネントでモバイルアプリケーション、デスクトップアプリケーションのどちらも開発できる。 Oracle SaaSと統合されており、Oracle SaaSアプリを拡張するのに理想的なツールとなる。SaaSアプリと同じUIコンポーネントを使える

    オラクル、ノンプログラマのための開発ツール「Project Visual Code」発表、SaaSを容易に拡張。Oracle OpenWorld 2016
  • 頼むからプログラミングを学ばないでくれ

    編集部注:稿を執筆したBasel FaragはiOS Engineerだ。(そう彼は思っている)。GPUプロセッサー、ロボット、AIなどへの興味の他にも、Baselはコンピューター・サイエンス、天文学、哲学に興味を持つ。かつて彼は、「the Draft Punk of people」と称された。彼はこのフレーズの意味を理解していないが、それはほめ言葉だとは理解している。 最近のテック業界で広まりつつある考え方がある。皆がプログラミングを学ぶべきだという考え方だ。しかし、その考え方には問題がある。プログラミングは、読み書きする能力のような必須のスキルではないのだ。

    頼むからプログラミングを学ばないでくれ
  • 読み間違えると恥ずかしい!デザイン・プログラミング用語15選 | UX MILK

    ITの制作現場では、どんな職種でもコードや開発言語などの話題は避けて通れません。ただでさえカタカナ用語の多い業界ですが、プログラミングやコーディングの用語などはカタカナですらなく英語表記ですし、中には読み方が不明確なものもあります。 チームメンバーもさることながら、他社の人と話すときに間違った読み方を使っていたら恥ずかしいですよね。今回は間違いの多いと言われる用語や、議論を読んでいる言葉をピックアップしてみました。 ※更新:米国英語の発音記号を追加しました Webデザイン系 width【wídθ, wítθ】 正:ウィズス、ウィドゥスなど 誤:ワイズなど HTML/CSSの幅指定で使う「幅」という単語です。よく使うものの、発音の仕方に自信が持てない人も多そうです。 height【hάɪt】 正:ハイト 誤:ヘイト 上記とセットで間違えられやすい単語。「高さ」という意味で、ウェブでなくとも「

    読み間違えると恥ずかしい!デザイン・プログラミング用語15選 | UX MILK
    waman
    waman 2016/05/18
    『nginx 正:エンジンエックス 誤:エヌジンクスなど』単純に読み方分からんかった。 『IEEE 正:アイトリプルイー 誤:アイ・イー・イー・イー』
  • MITがSICPを教えなくなった理由

    Programming by poking: why MIT stopped teaching SICP | posterior science このNYC Lisp meetupの動画で、Gerry Sussmanに対する質問として、SussmanとAbelsonの古典、The Structure and Interpretation of Computer Programs(SICP)に基づく、伝説的な6.001講義をなぜMITはやめたのかと聞かれている。 Sussmanの回答としては、SussmanとHal Abelsonは1980年代から延々と教え続けるに嫌気が差し、1997年に、学部長の事務所に行って、「俺らはやめる。後どうするからは勝手に考えろ」と宣言した。より重要なこととしては、SICPのカリキュラムは、今日のエンジニアリングに求められるエンジニアを育てることができないからで

  • 睡眠時間の短さを競い合う「寝てない自慢」はダメという理由

    By herval 人間の脳は睡眠中にも活動し、記憶の整理や定着を行っているといわれています。生き物にとって寝ることは非常に大事なわけですが、「昨日も徹夜しちゃったよ~」と寝てない自慢をする人も少なくありません。しかし、睡眠時間を削ることを長い目で見ると、後になって重い「ツケ」が回ってくると指摘するエントリが公開されています。 Sleep deprivation is not a badge of honor — Signal v. Noise — Medium https://m.signalvnoise.com/sleep-deprivation-is-not-a-badge-of-honor-f24fbff47a75#.fegiyikxq ブログでこのエントリを公開したDHH(David Heinemeier Hansson)さんは、「夜に寝ないで済まそうとすることは、高利貸しからお

    睡眠時間の短さを競い合う「寝てない自慢」はダメという理由
    waman
    waman 2016/04/03
    『他の人よりも生産性が10倍高いプログラマーと普通のプログラマーとの違いは、10倍多くコードを書いているからではないとDHHさんは語ります。その代わり、生産性が高い人は10倍高い問題解決能力を発揮している』
  • ソースコードの減らし方 - 基本的な考え方と10個の方法 - クラウドワークス エンジニアブログ

    ステップ数で評価が決まる現場では全く役に立たないテクニックではありますが、ソースコードの減らし方について紹介したいと思います。 開発Div. エンジニアのayasudaです。 2014年の夏にジョインし、会社名と同じサービス、クラウドワークス の開発に携わっています。 ご覧の通り、消したソースコードの方が多いので、ステップ数換算だとマイナスの働きしかしてませんね! 記事では、特に Ruby on Rails の運用されているプロダクトコードにおける、ソースコードの減らし方について紹介していこうと思います。 基的な考え方 ソースコードを減らすときの大原則は「ボーイスカウト・ルール - プログラマが知るべき97のこと」です。 普段、ソースコードを触るときに、一つでも良いので簡単な改善を入れる。これを積み重ねるのが大事です。 一度に一気に直そうとするのはあまり良くありません。大抵の場合、デグ

    ソースコードの減らし方 - 基本的な考え方と10個の方法 - クラウドワークス エンジニアブログ
  • AutoMapperと静的クラスに関する議論

    APIを設計する時、静的クラスは少し悩みの種である。きわめて頻繁に機能を公開するために静的関数とインスタンスメソッドの両方が議論されてきた。 静的関数の主な主張はシンプルなことである。インスタンスの作成と管理、依存性注入などを心配することなくコードのどこででも使うことができる。そして、新しいインスタンスを作成しないためガベージコレクト、パフォーマンスの面で優位だ。 それはあなたが状態を管理している場合を除いてだ。そしてすべての静的関数は、負荷の高いロックや同期技術を伴う可能性のあるスレッドセーフに作る必要がある。また個々の呼び出しはスレッドセーフであっても、一連の呼び出しをひとつのアトミックトランザクションとして呼び出す必要がある。これはAutoMapperの物語への入り口である。 もともとは静的関数をベースにしながら時間をかけてAutoMapperはますます構成可能になってきた。そしてそ

    AutoMapperと静的クラスに関する議論
  • 小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena

    子どもへのプログラミング教育は早ければ早いほどいいというものではない。 最近子どもへのプログラミング教育が話題になることが多いけど、恐らく小学3年生までの子どもへの効果はほとんどなく、小学4年生でもほとんどの子どもには難しいと思う。 人間の知能の発達には段階があって、必要な段階に達していないうちにそれが必要な教育を行っても効果は望めない。 まず、なんでこのエントリを書いたかというと、プログラミングには適した発達段階があるということを知らないと、その発達段階に達する前にプログラミング教育を行って、もちろんプログラミングは出来なくて、その子には適性がないという判断をしてしまうとうことが起きてしまうんじゃないかと思ったからだ。 まだ適した段階まで来てないだけなのにプログラミング教育をして失敗して「この子にはプログラミングができなかった/興味をもたなかった」という実績を作ってしまうことによって、将

    小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena
  • 【合計600冊以上】無料で読める技術系の電子書籍 2015年版まとめ - ニートの言葉

    おはようございます。こんにちは。こんばんは。 あんどうです。 早いもので年末ですね。 僕は先週の金曜(2015/12/25)で仕事納めをしまして、冬休みを満喫しております。 さて、今回は冬休みのために無料で読める技術系の電子書籍をまとめました。 これからも詳細を追記・更新していきますので、ぜひブックマークしてくださいませ。 そして、オススメのものがございましたらコメントでお知らせください。 オライリー Web開発(10冊) IoT(19冊) デザイン(11冊) DebOps(17冊) データ解析(22冊) Apress(23冊) セキュリティAndroid 機械学習 IoT Microsoft 公式サイト(31冊) ブログ(約500冊) 日語で読めるもの ケヴィン・ケリー著作選集(3冊) オライリー 謎の表紙で有名なオライリーですが、一部の書籍をオープンにしています。 ジャンルごとに

    【合計600冊以上】無料で読める技術系の電子書籍 2015年版まとめ - ニートの言葉
  • 良いコードとは

    「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、当のインサイトを見つけるUXデザインUXリサーチYoshiki Hayama

    良いコードとは