タグ

関連タグで絞り込む (186)

タグの絞り込みを解除

programに関するefclのブックマーク (675)

  • 型安全性とは何か | POSTD

    以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論

    型安全性とは何か | POSTD
    efcl
    efcl 2014/09/04
    型安全とは何かについて
  • クラスの「継承」より「合成」がよい理由とは?ゲーム開発におけるコードのフレキシビリティと可読性の向上 | POSTD

    コード構造における重要な問題として、複数のクラスを共有する場合に合成と継承のどちらを用いるかという点があります。“has a”の関係と、“is a”の関係と言われる2つの対比です。例えば、“ソファには綿が入っている”と、“ソファは家具である”という違いのようなものです。この例では2つの違いは非常に明白ですが、実際には、“has a”の関係でも“is a”の関係でも意味を成すケースがたくさんあります。ゲームのキャラクターについて、これはコリジョンボックスを持っているかと聞くのと、これは衝突可能なオブジェクトかと聞くような場合です。この2つは全く同じことではありませんが、それぞれが(または両方一緒に)衝突を処理する主構造として用いられ、どちらの方がよいかは必ずしも明白ではありません。私の経験では、直感的には継承の方がよいと思うことも多いのですが、それだと問題がたくさんあって結局は合成の方がよか

    クラスの「継承」より「合成」がよい理由とは?ゲーム開発におけるコードのフレキシビリティと可読性の向上 | POSTD
    efcl
    efcl 2014/09/03
    継承と合成。 ゲーム的なのだと合成のほうが柔軟に対応しやすい
  • プログラミングの世界観を変える衝撃!Paradigms of Computer Programmingで震えるほどの知的感動を体験した

    MOOCのedXでParadigms of Computer Programmingという講座を受けた。 LouvainX: Louv1.01x: Paradigms of Computer Programming | edX 感動というものを頭に走る電撃と定義するならば、 このCourseは自分にとって、まちがいなく最高の感動だった。 プログラム言語のパラダイムやコンセプトが紹介される。 5つのパラダイムが紹介される。 Functional Programming(関数型プログラミング) Object-Oriented Programming(オブジェクト指向プログラミング) Deterministic Dataflow Programming(決定性データフロープログラミング) Multi-Agent Dataflow Programming(マルチエージェントデータフロープログラミン

    プログラミングの世界観を変える衝撃!Paradigms of Computer Programmingで震えるほどの知的感動を体験した
    efcl
    efcl 2014/08/31
    プログラミングのパラダイムについてまとめてあるページ。
  • YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました | tech - 氾濫原

    ちょっと時間に対して話したいことが多すぎて、各分野での掘り下げが足りなかったとは思いますが、一通り下のほうまで盛りこみました。 電子工学について:自分は学校で電子工学を体系的に学んだことはありません。 YAPC 会期中はそこらへん歩いてます。

    YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました | tech - 氾濫原
    efcl
    efcl 2014/08/30
    アセンブリとかハードウェアとかローレベルへの道のり
  • 【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary

    original: The introduction to Reactive Programming you've been missing (by @andrestaltz) (translated by @ninjinkun, reviewed by @ma0e) あなたはリアクティブプログラミングと呼ばれる新しい方法が気になっている。 勉強するのは大変で、良い教材がないのでさらに難しい。私が勉強を始めたときは、まずチュートリアルを探した。見つけたのは一握りの実践的なガイドだけ、しかもそれらは表面をなぞっているだけで、リアクティブプログラミングのアーキテクチャ全体像を構築しようとしてはいなかった。ある関数を理解するのに、ライブラリのドキュメントは役に立たないことがある。 これを見て欲しい。 Rx.Observable.prototype.flatMapLatest(selector,

    【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary
    efcl
    efcl 2014/08/21
    関数型リアクティブプログラミングについてをJavaScriptを例に解説してる。 ストリームとは、時間順に並んだ進行中のイベントの列。 RxJSはPromiseからストリームに変換もできる
  • Pattern Matching

    In this article we briefly describe the generic topic of pattern matching in programming languages. We’ll see that this powerful technique is present in our every day programming, even if we may not notice it. A matching is a process of checking whether one thing has the same or similar representation as another thing. There are two basic matches: value to value match value to pattern match Value-

    efcl
    efcl 2014/08/19
    パターンマッチについての解説
  • srclib

    srclib is a hackable, multi-language code analysis library for building better software tools. srclib makes developer tools like code search and static analyzers better. It supports things like jump to definition, find usages, type inference, and documentation generation. srclib consists of language analysis toolchains (currently for Go, Python, JavaScript, and Ruby) with a common output format, a

    efcl
    efcl 2014/08/16
    Go言語やJavaScript等の言語解析をし結果を共通のフォーマットで出力することで、 M-by-N problemを解決するのが目的のツール。 エディタx言語の数だけプラグインが必要になる問題の解決。
  • GitHub - hashicorp/hcl: HCL is the HashiCorp configuration language.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - hashicorp/hcl: HCL is the HashiCorp configuration language.
    efcl
    efcl 2014/08/13
    設定ファイル言語
  • 新装版 リファクタリング 既存のコードを安全に改善する | オーム社eStore

    プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(“Refactoring: Improving the Design of Existing Code”)が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行! 旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。

    新装版 リファクタリング 既存のコードを安全に改善する | オーム社eStore
    efcl
    efcl 2014/07/27
    ファウラーのリファクタリング本の電子版がでた
  • 就活日記(0) エントリー

    カナダからワーホリビザも切れるというところで帰国した。仕事も無いし金もないので日で就職活動を開始した。その記録を残す。 使った転職サイト転職活動するにあたってはWantedlyを使用した。ソーシャルリクルーティングサイトの中では最近他のエンジニアからよく聞くホットなサイトだ。 使ってみて一番いいなと思った点はいきなり「選考開始!面接!」というよりも、「まずは話を聞いてみたい」から会社と関係を始めることが出来る点。求人文章を読んだだけでは会社の中の雰囲気まで伝わらないというのが実際。「興味はあるんだけどなー。でもまだ面接に行くほどでも…」みたいな温度感だと大体その会社をブクマしただけで応募までは行かないと思うが、Wantedlyはその辺の応募のハードルが低くて良い。 またWantedly登録後、(自分はプロフィールを充実させておいたのだが)企業からも「遊びに来ませんか?」という招待が来るこ

    就活日記(0) エントリー
    efcl
    efcl 2014/07/10
    便利な就活日記だ http://bit.ly/1qMddKq Wantedly
  • HealthKit + PromiseKit事始め 基本的なデータの読み書き | Technology-Gym

    iOS8からHealth.appとHealthKitというフレームワークが追加されました。 HealthKitはCoreDataのようなアプリ間で共有できる健康データの読み書きや健康情報に関する単位やformatter、統計計算が行えるフレームワークです。 HealthKitApple Developer HealthKitが扱う範囲は幅広いため、この記事ではデータの書き込みと読み込みを例にHealthKitの基的な使い方について学んで行きたいと思います。 2014年7月25日(金)に第1回 Tech-Gym byプラスアール @SMS 【iOS勉強会、開発者向け】 : ATNDというイベントで、Healthkitについて喋ります。 詳細はTech-GymというiOS勉強会を開催しますの方を見て下さい。 基的なクラス HealthKitではかなりの数のクラスや単位の定義等が用意さ

    HealthKit + PromiseKit事始め 基本的なデータの読み書き | Technology-Gym
    efcl
    efcl 2014/07/09
    HealthKitを使ったデータのRead/Writeのやり方について。 非同期APIコールバックのPromiseラッパを使ったコントロールフロー
  • GitHub - Koruri/Kibitaki: [DISCONTINUED]

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Koruri/Kibitaki: [DISCONTINUED]
    efcl
    efcl 2014/06/22
    "Kibitaki (黄鶲) は、 M+ OUTLINE FONTS をベースに英数部分を Adobe Source™ Code Pro に差し替えたフォントです。"
  • Interaction Lab. @U.Tsukuba

    efcl
    efcl 2014/06/08
    ペアプロ論文
  • ペアプログラミング学習における状態の推定――つまずきの解決の成功と失敗に見られる会話の違い | CiNii Research

    タイトル別名 ペアプログラミング ガクシュウ ニ オケル ジョウタイ ノ スイテイ : ツマズキ ノ カイケツ ノ セイコウ ト シッパイ ニ ミラレル カイワ ノ チガイ Collaboration Estimation in Pair-programming Learning: Conversation Differences between Success and Failure in Problem Solving プログラミング教育では,プログラム言語の文法やプログラム書法を理解する能力とアルゴリズムを組み立てる能力が要求される.プログラム言語の文法や簡単な例題を理解することができても,実際にプログラムを作成するときにはいくつかのつまずきが発生する.プログラミングを行う方法の1つとして,2人1組になって行うペアプログラミングがある.ペアプログラミングによるプログラミングは協調作業

  • Chris Lattner's Homepage

    As a high level summary, I am a well-known leader who is distinguished by a hands-on approach to building systems. I am co-founder and CEO of Modular AI. I built and scaled many open source compiler infrastructures, including LLVM, Clang, MLIR, and CIRCT. These span the gamut of fundamental systems at the HW/SW boundary - powering iOS, Android, CUDA, TensorFlow, and countless other products and te

    efcl
    efcl 2014/06/04
    Swift作者。 Objective-CやRust等などからのインスパイアやXcodeのPlayGroundはLight Tableから来てる感じ。 LLVMコンパイラ部分についても書かれてる
  • Anti-Patterns and Refactoring

    Lecture on "Anti-Patterns and Refactoring" given at the University of Zurich in the class Advanced Software Engineering[1] [1] www.ifi.uzh.ch/seal/teaching/courses/ase14.html

    Anti-Patterns and Refactoring
    efcl
    efcl 2014/06/02
    アンチパターンとリファクタリング
  • モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita

    はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:

    モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita
    efcl
    efcl 2014/05/28
    変数名等の名詞や品詞について。 複数形の問題(可算名詞か不可算名詞)
  • Nitra goes Open Source! | The JetBrains Blog

    IDEs CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Amper Educ

    Nitra goes Open Source! | The JetBrains Blog
    efcl
    efcl 2014/05/28
    ASTを書いておくとIDEがシンタックスハイライトやリファクタリング等に利用でき要素を自動的に作り出せるようにするためのNitraがBSDライセンスで公開
  • parallel と concurrent、並列と並行の違い - 本当は怖いHPC

    2017/01/10 誤字脱字を修正しました 2016/11/07 内容を修正しました 2010/09/17 文章を修正しました 一般的に、parallelは並列、concurrentは並行と訳されます。検索してもずばり書かれた物がなかったので、僕なりの理解を書いてみます。 (注:言葉の定義の問題なので、複数の流儀があり得ます。端的に言えば、いわゆるCPUSIMD命令を「並行」と見なすかどうかに違いが現れます) 参考リンク: http://d.hatena.ne.jp/NyaRuRu/20060129/p2 http://d.hatena.ne.jp/muimy/20070322/1174526368 一番妥当(だと思う)定義 一言で言えば、 Concurrent(並行)は「複数の動作が、論理的に、順不同もしくは同時に起こりうる」こと Parallel(並列)は、「複数の動作が、物理的に

    parallel と concurrent、並列と並行の違い - 本当は怖いHPC
    efcl
    efcl 2014/05/25
    "並行=疑似並列" JavaScriptの並行とかはそんな感じ
  • bliki: Fluent Interface

    A few months ago I attended a workshop with Eric Evans, and he talked about a certain style of interface which we decided to name a fluent interface. It's not a common style, but one we think should be better known. Probably the best way to describe it is by example. The simplest example is probably from Eric's timeAndMoney library. To make a time interval in the usual way we might see something l

    bliki: Fluent Interface
    efcl
    efcl 2014/05/15
    メソッドチェーン的な流れるようなインターフェースについて @ 2005