タグ

programmingに関するSWIMATH2のブックマーク (17)

  • GitHub - vekatze/neut: A dependently-typed programming language with static memory management

    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 - vekatze/neut: A dependently-typed programming language with static memory management
  • Mystery Languages

    Tags: Programming Languages, Education Posted on 05 July 2018. How do you learn a new language? Do you simply read its reference manual, and then you’re good to go? Or do you also explore the language, trying things out by hand to see how they behave? This skill—learning about something by poking at it—is frequently used but almost never taught. However, we have tried to teach it via what we dub m

    SWIMATH2
    SWIMATH2 2018/07/13
    同じ構文だけど違う振る舞いをする言語を触ってみさせることでプログラミング言語の設計について教育する話?試してみたい
  • Official page for Language Server Protocol

    The Language Server Protocol (LSP) defines the protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc. The goal of the Language Server Index Format (LSIF, pronounced like "else if") is to support rich code navigation in development tools or a Web UI without needing a local copy of the source code. W

    SWIMATH2
    SWIMATH2 2018/02/20
    Language Server Protocol (LSP) の公式サイト
  • リニューアルした日経電子版が高速すぎてヤバイ件|こんぴゅ

    経済新聞は国内を代表する経済誌だ。その電子版はwebでの継続課金を大成功させ、いまや50万以上の有料会員を擁するモンスターサイトだ。 その日経電子版が11月6日に全面リニューアルしたのだが、公開後、web業界がにわかにざわついた。表示速度が爆速だったのだ。日経公式もモバイルで2倍の表示速度を達成したと堂々と宣言していた。 webサービスは継続率こそ神KPIで、その継続率には速度が大きく影響する。 これはチェキらないとヤバイと感じ、友人のkitakさんとスピードの秘密を調査してみた。 Fastlyをコンテンツキャッシュに使う殆どのデータはFastlyを経由して取得されていた。Fastlyは最近注目を集めているCDN(世界中にエッジサーバーを配置し、高速にコンテンツを配信するサービス)で、非常に高機能でユニークなサービスだ。 一般に、CDNはいったん世界中にコンテンツをばらまくと、それを無

    リニューアルした日経電子版が高速すぎてヤバイ件|こんぴゅ
    SWIMATH2
    SWIMATH2 2017/11/13
    事例って感じ
  • 不慣れなコードベースで短期間に生産性を高めるための7つの方法 | POSTD

    新しい仕事プロジェクトを始める時に、コードベースを一から作ることはめったにありませんよね。なじみのないコードと格闘するのは骨が折れますし、新たに取り込む情報の多さを考えると、気の遠くなる思いがします。Rubyを使っていた環境からNestoriaに移った私の場合は、新しいコードベースの学習に加えて、Perlまで勉強しなくてはならなかったため、二重の苦しみを味わいました。そんな私が、できるだけ短期間で生産性を上げるために使った7つの方法を紹介します。 謙虚になろう プログラミングと聞いて、真っ先に”謙虚さ”を思い浮かべる人はいないかもしれません。何しろ”傲慢”が プログラマの三大美徳 の1つに数えられているくらいですからね。そうは言っても、なじみのないレガシーコードに出くわしたら、あまりにも分からないことが多すぎて、何度もミスをしてしまう自分にきっと嫌気がさすでしょう。このような場合は、謙虚

    不慣れなコードベースで短期間に生産性を高めるための7つの方法 | POSTD
    SWIMATH2
    SWIMATH2 2017/10/11
    自分がするだけじゃなくて、こういうチームにするのが大事っぽい
  • Javadoc ドキュメンテーションコメントの書き方 - Qiita

    出展: プログラム内のコメントの書き方 | 天才まくまくノート はじめに(モチベーション) こんな話があります。あるソフトウェア企業が一人の技術者の採用を決めました。その決め手となった理由は、「公開しているオープンソースソフトウェアのドキュメントが素晴らしかったから」です。彼らは、作成されたドキュメントを見ただけで、その人には技術力がある、一緒に働いて欲しいと判断したのです。 ある国の言語を学ぶために読み書きの練習が必要であるのと同様に、コーディング技術をつけるには、多くの良質なコードを読み、多くのコードを書くことが必要です。設計ドキュメントを書くのも同じことです。日頃から分かりやすいドキュメントを書く鍛錬を怠らず、長年の経験を積んでいかなければ、良質なドキュメントを書く力は身に付きません。今日からドキュメンテーションコメントをバリバリ書いて、ドキュメンテーション力を付けていきましょう。

    Javadoc ドキュメンテーションコメントの書き方 - Qiita
    SWIMATH2
    SWIMATH2 2017/10/10
    前半はドキュメンテーション一般に応用できそうな話だった。
  • P: A programming language designed for asynchrony, fault-tolerance and uncertainty - Microsoft Research

    The programming model in P is based on concurrently executing state machines communicating via events, with each event accompanied by a typed payload value. A memory management system based on linear typing and unique pointers provides safe memory management and data-race-free concurrent execution. In this respect, P is similar to modern systems programming languages such as Rust (opens in new tab

    P: A programming language designed for asynchrony, fault-tolerance and uncertainty - Microsoft Research
    SWIMATH2
    SWIMATH2 2017/05/24
    イベントがファーストクラスの言語?すでにUSBドライバとかAzureで使われてるっぽい?
  • [PDF]プログラミング言語の意味論 (katsumata)

  • Goodbye, Object Oriented Programming

    I’ve been programming in Object Oriented languages for decades. The first OO language I used was C++ and then Smalltalk and finally .NET and Java. I was gung-ho to leverage the benefits of Inheritance, Encapsulation, and Polymorphism. The Three Pillars of the Paradigm. I was eager to gain the promise of Reuse and leverage the wisdom gained by those who came before me in this new and exciting lands

    Goodbye, Object Oriented Programming
    SWIMATH2
    SWIMATH2 2017/03/03
    ひたすら継承より委譲という話っぽい?あとで読む
  • Composing Reactive Animations

    Composing Reactive Animations Conal Elliott Microsoft Research Graphics Group Copyright 1998 Introduction We have all seen a lot of wonderful looking computer graphics, and many of us have spent time playing video games or watching our kids (or their kids) play them. It is clear that computer graphics, especially interactive graphics, is an incredibly expressive medium, with potential beyond our c

    Composing Reactive Animations
  • Haskell/Denotational semantics - Wikibooks

    導入[編集] この章ではHaskellプログラムの意味がどのように形式化されるかという表示的意味論(denotational semantics)を説明します。「square x = x*x というプログラムの意味は、数をその平方数に写す数学の平方関数だ」ということを形式的に規定することはつまらないことにみえるかもしれませんが、それでは f x = f (x+1) のような無限ループするプログラムの意味はどうでしょうか? 以下ではまずこの疑問に対するScottとStracheyのアプローチを例示し、概して関数プログラムの、特に再帰的な定義の正しさについて論じる基盤を得ることにしましょう。もちろん、これらのトピックではHaskellプログラムを理解するために必要なものに集中します。[1] この章の他の狙いは、ある関数がその引数を評価する必要があるかどうかというアイディアを捉えた正格と遅延の概

  • やさしいFunctional reactive programming(概要編) - maoeのブログ

    あと、やはりネットワーク周りなどI/Oの多いプログラムの書きにくさが課題になっている印象。関数的なI/OはFRPで解決できそうな気がするんだけど調べてない。そろそろFRPをちゃんと理解したいなー。 Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ なんて書いてから早1ヶ月半、ようやくFRPが掴めてきたのでわかったことをまとめてみます。 Reactive programmingって何? FRPの前に、一般的にwikipedia:en:Reactive programmingと呼ばれるパラダイムについて触れておきます。reactive programmingとは疑似言語を使ってかなーり大雑把に説明すると、 var a = 1 var b = a + 1 a = 10 // aを書き換える print b // => 11print bの出力は2ではなく11です

    やさしいFunctional reactive programming(概要編) - maoeのブログ
  • 再帰は再帰なんかじゃない!末尾再帰こそが真の再帰なんだ!

    「計算機プログラムの構造と解釈」で末尾再帰というものを知ったので勉強しました。自分の理解を書いてみます。 再帰 再帰呼び出しとはある手続きの中で、再びその手続き自身を呼び出すことと定義される1。でもこの定義は正確じゃない。なぜなら再帰呼び出しは自分自身を呼んでいないからだ。 階乗を考えてみよう。階乗は数学的にこう定義できる。 ふつうRubyで階乗メソッドはこう書く。 factメソッドの中でfactメソッドが呼ばれているので、自分自身が呼ばれているように見える。でもそうじゃない。 最初の引数5を受け取ったfactメソッド(彼をfact5と呼ぼう)は、引数4と共に自分が呼んだfactメソッド(fact4)の結果を待たなきゃならない。なぜならその結果と5をあとで掛けなきゃならないからだ。fact4もfact3もfact2も同じだ。自分が呼んだメソッドの結果を待たなきゃならない。 人間が待ちながら

    SWIMATH2
    SWIMATH2 2016/04/22
    めっちゃ便利っぽいけど考えるのが少し大変そうだ
  • Webアプリケーション開発者から見た、MVCとMVP、そしてMVVMの違い - Qiita

    RubyOnRailsを触れる過程でMVCという概念を学び その後、他のフレームワークでMVCやMVP、MVVMというものを知ったのですが Railsで語られるMVCと他で語られるMVCのニュアンスが若干違うので そこを基点にMVCの違い、そしてMVP、MVVMとは何なのかをまとめてみました。 MVC(Model,View,Controller) 定義としてのMVC 上記でも挙げた通りMVCは使う場面やフレームワークによって ニュアンスが異なっています。 そのため根的な「MVC」の一般的な定義は一体どんなものなのかを見てみました。 Wikipediaからまとめると以下のとおり。 アプリケーションソフトウェアの内部データを ユーザーが直接参照・編集する情報から分離する。 そのためにアプリケーションソフトウェアを 「Model」「View」「Controller」の3つに分割する。 ・Mod

    Webアプリケーション開発者から見た、MVCとMVP、そしてMVVMの違い - Qiita
  • ORM is an anti-pattern | Seldo.com

    I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend

  • mikutterをいじりたおす 第1回 – 愛のらくがき帳

    大学の実験「大規模ソフトウェアを手探る」でmikutterを扱ったお話。 数回にわたって、僕がmikutterをどんなふうにいじり、どんなふうに改悪したのかをまとめていきます。少し冗長で長く感じる(冗長な表現!)かもしれませんが、まったくでかいプログラムに触れたことがない人でもいじれるくらいの細かさを心がけたつもりです。ただし、Rubyの文法はちゃんと知っているという前提で進めていきます。 タグ、もしくはカテゴリ「lecture_doss」で授業の記事のみ参照することができます。 ※ 投稿は一応正式なレポートです。 ※ 一部Gitや発表プレゼンでの実装と異なる部分があるかもしれません。ご了承ください。 もくじ第1回: mikutterとは / パクツイ機能をつける ←いまここ 第2回: ワードミュート(前半) 第3回: ワードミュート(後半) 第4回: 画像投稿(前半) 第5回: 画像

    SWIMATH2
    SWIMATH2 2015/10/22
    大規模ソフトウェアでmikutterを改良しまくった人だ
  • キトー君の悪い口コミ・失敗談と効果・販売店舗情報・安全と危険性・代用自作方法

    キトー君で真性包茎対策ができてしまいます。 包皮を引っ張ることで矯正できてしまうんですよ。 包皮輪狭窄の方も皮を伸ばすことでだんだんと広がっていきます。 テレビや雑誌でも紹介され多くの方が悩みを解決していますのでおすすめです。 そんなキトー君なのですが当に真性包茎・カントン包茎に効果があるのでしょうか?矯正できるのでしょうか、使い心地や評判が気になりませんか?そこで口コミを調べたら失敗談などの口コミが見つかりました。

    キトー君の悪い口コミ・失敗談と効果・販売店舗情報・安全と危険性・代用自作方法
  • 1