タグ

programmingに関するdynamicsoarのブックマーク (184)

  • プログラミングスタイルガイドのスタイルガイド - Qiita

    文書は、プログラミング言語向けのスタイルガイドに向けたスタイルガイドである。 文書へのフィードバックはQiita上のコメントにて受け付ける。 構造 対象を明確にする そのスタイルガイドがどのような状況のどのような対象に向けたスタイルガイドであるか規定すること。 状況や対象は広すぎてはならない。 理由: 対象はスタイルガイド記述者には自明かもしれないが、似て非なる言語に誤用されたり、特定分野のアプリケーション向けスタイルガイドが他分野のアプリケーションを理不尽に拘束したりすることがある。これを防ぐべきである。 良い例: 「文書はRuby on Railsアプリケーション向けのスタイルガイドである」 「スタイルガイドはX社におけるRubyプロジェクトに適用すべきスタイルを規定する」 悪い例: (何も書かない) 「文書はX社におけるすべての開発に適用される ... 述語メソッドや述語関

    プログラミングスタイルガイドのスタイルガイド - Qiita
    dynamicsoar
    dynamicsoar 2015/08/25
    おもしろい
  • Using Notepad++ instead of the Arduino IDE - Sriram Iyer

    Let’s face it, the Arduino IDE is terrible. I’d rather use Notepad++ to do the writing and then merely use the Arduino IDE as a dumb pipe to compile and upload the code. There’s a couple of things that need to be done for the transition to be as seamless as possible. Firstly, we need Notepad++ to open Arduino’s INO files by default. This isn’t much of a problem. You simply right-click any INO file

  • Windowsのコマンドプロンプトを便利に使うための10のミニテクニック

    はじめに Windowsの操作の基GUIですが、ファイル操作などを手早く行うためにコマンドプロンプトを使うこともあると思います。稿では、Windowsのコマンドプロンプトをより便利に使うためのちょっとしたテクニックを10個紹介します。 対象読者 Windowsのコマンドプロンプトをある程度使ったことがある方 動作確認環境 Windows Vista Windows XP 一部の機能は、Windows XPでは利用できません。文内で都度補足します。 コマンドプロンプトからエクスプローラに移動する コマンドプロンプトで作業中に、カレントディレクトリのファイルをエクスプローラで操作したくなることがあります。たとえば、カレントディレクトリにあるいくつかのファイルをほかのディレクトリにコピーする場合、各ファイルの名前をキーボードから入力するより、マウスを使ったほうが簡単です。そんなときに便利

    Windowsのコマンドプロンプトを便利に使うための10のミニテクニック
  • gfortran(1): GNU Fortran compiler - Linux man page

    gfortran(1) - Linux man page Name gfortran - GNU Fortran compiler Synopsis gfortran [-c|-S|-E] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro] [-foption...] [-mmachine-option...] [-o outfile] infile... Only the most useful options are listed here; see below for the remainder. Description The gfortran command supports all the options supported by the

  • Cygwinのターミナルエミュレータminttyの導入 - Qiita

    minttyとは minttyは端末エミュレータです。PuTTYを基に開発されました。名前も似ていますね。ちなみにMinTTYという名前だったこともあります。 minttyとPuTTYを比較しますと、 minttyのほうがPuTTYより更新が頻繁です(latest releaseが、minttyは2013-4-7で、PuTTYは2011-12-10)。 minttyのほうがかっこいい(と私は思います)。 そんなminttyを導入して遊んでみましょう。 Cygwinの導入 minttyの導入じゃないの?と思われるかもしれませんが、2011年の終わりにminttyはCygwinのデフォルトの端末となりました。なのでCygwinを導入すればminttyが使えます。MSYSを使うという方法もありますが、せっかくなのでCygwinにしました。 さっそくhttp://www.cygwin.com/ か

    Cygwinのターミナルエミュレータminttyの導入 - Qiita
  • PoderosaからCygwin接続できず – Imai blog

    あたらしくPoderosaとCygwinをインストールして、PoderosaからCygwin接続するとcygtermがアプリケーションエラーになりました。 cygterm.exe – アプリケーションエラー アプリケーションを正しく起動できませんでした(0xc000007b)。 [OK]をクリックしてアプリケーションを閉じてください。 Cygwin起動時の[cygwinへの接続]ウィンドウの下の方に、 シェルがうまく起動できないときはCygTermをコンパイルしなおして下さい。 とあるので、CygTermをコンパイルしなおしたら起動できるようになりました。CygTermのソースはPoderosaについていたので、単にCygwin上でmakeを実行するだけです。 試した環境 Windows 7 Pro. SP1 64bit版 Poderosa Version 4.3.8b Cygwin 1.

  • 今から始めるPython その1 - YATTSUKE BLOG

    YATTSUKE BLOG なんか音楽英語Pythonとかの他愛も無いブログだったのですが、海外で暮らしてるとトランプが大統領になってから日英語圏の温度差が酷いので政治の話をツイッターでしてました。でも2020年大統領選挙で保守派論陣アカウントと共に凍結。マスクがツイッター買収で6代目がようやく復活。現在、政治の重い話はnoteに書いてます。ココログはPCとかPythonLinux音楽へ戻す。 トップへ 最近、Pythonに興味を持っているけどもどう始めていいかよくわからないという人をよく見かけます。ちょっと前にかいた「二年前 Ruby + MATLAB + R + Python 今 95% Pythonな例」にもアクセス数があるので、似たような人が増えているのかなと思います。 ただ、Pythonの場合は必要な情報は主に英語になりますし、周りに使っている人が少ないと、最初の慣れ

    今から始めるPython その1 - YATTSUKE BLOG
    dynamicsoar
    dynamicsoar 2015/06/11
    なるほどなーでも自分の場合まさにまわりに合わせてまずMatlab覚えないとだな…んで余力あったら自力でpythonに移植できればフリーで使える、か
  • Makefileで.modの依存関係を上手く書く方法 - @author pyridoxin

    .modとは Fortranプログラムでmoduleが含まれるファイルをコンパイルする場合(モジュール名).modというファイルができる。 .modファイルはuse文を使うことで他のファイルからでも参照可能である。 moduleを使った例(mod.f90) module mod integer ,parameter :: ten=10 end module mod useを使った例(use.f90) program use use mod write (*,*) ten end program use 上記二つのファイルをコンパイルして実行ファイルを作る場合、以下の操作が考えられる gfortran -c mod.f90 gfortran use.o -J(mod.modがあるディレクトリ) 依存関係 上記操作で最終的に生成されるa.outの依存関係を考えると以下の通りになる a.out→

    Makefileで.modの依存関係を上手く書く方法 - @author pyridoxin
  • 2D衝突編その5 円と線分から多角形と円へ

    ホーム < ゲームつくろー!< 衝突判定編 2D衝突編 その5 円と線分から多角形と円へ 多角形は線で構成された閉じた図形です。多角形と円が衝突しているかどうかを判定できれば、複雑な形状をしたものと球とを正しく衝突判定させる事ができるようになります。効率はあまり良くありませんが、知って損はありません。 ひとつ注意。ここでの多角形は「凸多角形(多角形のどの内側の角度も180度以下である多角形)」です。凹多角形だとうまくいきません。 ① 多角形の定義 まず多角形を定義します。記号化がちょっと面倒なのですが、配列のような書き方にしておきます: 多角形 : 頂点P[n](x[n], y[n]) 円は言わずもがなですが、中心点の座標と半径で定義できます: 円 : 中心点C(xc, yc)、半径r では下の図を御覧ください: この図は多角形の一部と幾つかの衝突を起こしている円の状態を示しています。C1

  • なぜソフトウェア論文を書くのは難しい(と感じる)のか

    「ソフトウェア開発で得られる経験や知見を成果とする論文(=ソフトウェア論文)を書くことは難しい」とよく言われますが,「なぜ難しいのか」の分析はこれまで十分にはなされていません.論文では誌のソフトウェア論文特集を編集した経験から,「ソフトウェア論文を書くことがなぜ難しい(と感じる)のか」の分析を試みます.問題は「著者の作文の問題」だけではなく,ソフトウェア自体,ソフトウェア工学,査読者,社会状況にも要因があることを示します. 要因が多岐に渡るので結論を短く言うことが難しいです.あえて言えば「著者の作文技術にも問題はあるが,(著者の責任ではない)質的な難しさも別にあるので,著者が自らハードルを上げてしまうことは避けるべき」「ソフトウェア論文の追試としての価値を査読者は評価すべき」です.また作文技術の問題を解決する一助として,ソフトウェア論文の執筆チェックリストを最後に示します.

  • YBlog - Vim as IDE

    tl;dr: How to use vim as a very efficient IDE In Learn Vim Progressively I’ve show how Vim is great for editing text, and navigating in the same file (buffer). In this short article you’ll see how I use Vim as an IDE. Mainly by using some great plugins. Vim Plugin Manager There are a lot of Vim plugins. To manage them I use vim-plug. To install it: ☞ Note I have two parts in my .vimrc. The first p

  • コーディング規約をまとめてみた (Ruby編) - bojovs::blog

    色々なところで見かけるコーディング規約を見て意識はしているのですが、 その時の気分で書き方を変えてしまうことが多々あったので、自戒を込めてコーディング規約をまとめてみました。 「なぜこの規約が存在するか」を明確にするために、できる限り理由も併記しています。 ただかなり主観的な部分があるので、あまり意味がないかもしれません…。 「この記事のこの規約は気に入らない。」と思うことがきっとあると思います。 その時はコメント欄などに理由も合わせて書いてくれると嬉しいです。 この記事ではRubyのコーディング規約をまとめています。 近いうちにRailsとCoffeeScriptのコーディング規約もまとめるつもりです。 Rubyのコーディング規約は以下のページを参考にまとめました。 https://github.com/styleguide/ruby https://github.com/bbatsov

    dynamicsoar
    dynamicsoar 2015/01/29
    “インデントにはスペースを使用し、幅は2とします” 自分もこれなんけど、異端かと思ってたらrubyでは多いのか!
  • クロージャ - Wikipedia

    クロージャ(クロージャー、英語: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数にて利用可能な機能・概念である。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートする言語によるプログラミングでは、単に関数の中に関数を定義することができるだけでなく、その際に、外側の関数(エンクロージャ)で宣言された変数を暗黙的に内側の関数に取り込んで操作することができる。主な利点としてはグローバル変数の削減やコールバック関数記述の簡素化が挙げられる。 典型的に

    dynamicsoar
    dynamicsoar 2015/01/28
    “メソッド・関数の中でラムダ式・無名関数が使え、その中から外のローカル変数を読み書きできれば、一般的にはそのプログラミング言語はクロージャを使えると呼ばれる”
  • 「オブジェクトをイミュータブルにしろ」って言うけど、それってたとえば状態が変わったらオブジェクト作り直すってことでしょ、ちょう非効率じゃん。って思ってたんだけど、 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    オブジェクトの内部の値がイミュータブルであれば、今後もその値は変更されないことが保証されているので、新しい状態を持った新しいオブジェクトの内部の値のうち、変更のない部分(つまり値のうちのほとんど)は古いオブジェクトの値をそのまま参照すればよく、コピーする必要がないということを @takkkun が言っていて(正確には、イミュータブルなリストに新しい値を追加した新しいリストを作るときには、中身をコピーする必要ない。変更されないことが保証されてるから、という話だった)目から鱗が落ちたのでここに記して置こうとおもった。 で終わろうと思ったんだけど、もう少しちゃんと書く。 ミュータブルな世界では同一性の問題がある。 たとえば playerA と playerB の HP がたまたまおなじ 10 であったとしても playerA と playerB の HP 変数が同じ数値オブジェクトを参照していた

    「オブジェクトをイミュータブルにしろ」って言うけど、それってたとえば状態が変わったらオブジェクト作り直すってことでしょ、ちょう非効率じゃん。って思ってたんだけど、 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    dynamicsoar
    dynamicsoar 2015/01/27
    スッと入ってきた。なるほどなー。例えがうまいのかな
  • メモ化 - Wikipedia

    メモ化(英: memoization)とは、プログラムの高速化のための最適化技法の一種であり、サブルーチン呼び出しの結果を後で再利用するために保持し、そのサブルーチン(関数)の呼び出し毎の再計算を防ぐ手法である。メモ化は構文解析などでも使われる(必ずしも高速化のためだけとは限らない)。キャッシュはより広範な用語であり、メモ化はキャッシュの限定的な形態を指す用語である。 メモ化という用語は1968年にドナルド・ミッキーがラテン語の memorandum(覚えておく)から作った造語である[1]。memorization(記憶、暗記)は同根語であってよく似ているが、メモ化という言葉は情報工学では特別な意味を持つ。 メモ化された関数は、以前の呼び出しの際の結果をそのときの引数と共に記憶しておき、後で同じ引数で呼び出されたとき、計算せずにその格納されている結果を返す。メモ化可能な関数は参照透過性を備

    dynamicsoar
    dynamicsoar 2015/01/27
    普通にやってたけどメモ化っていう呼び名があったのね/自動とか構文解析とか、奥は深いのか…
  • 値型と参照型とミュータブルとイミュータブルと - Qiita

    しばしば値型と参照型の動作の違いをイミュータブルなオブジェクトの挙動とごっちゃにしている例があるようなので整理。 ついでに派生してイミュータブルとか破壊的とか非破壊的とか。うまく文章まとまりませんでした。 値型と参照型の動作の違い(結論) 次のような例で動作の違いが出る。 [TestClass] public class ReferenceTypeTest { [TestMethod] public void MainMethod() { // あるクラスのあるプロパティを 1 にしてインスタンスを生成 var someInstance = new SomeClass { SomeProperty = 1 }; // メソッドに渡す SomeMethod(someInstance); // 値は 2 に書き換えられている Assert.AreEqual(2, someInstance.So

    値型と参照型とミュータブルとイミュータブルと - Qiita
  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
  • C Sharp - Wikipedia

    C#(シーシャープ)は、マイクロソフトが開発した、汎用のマルチパラダイムプログラミング言語である。C#は、Javaに似た構文を持ち、C++に比べて扱いやすく、プログラムの記述量も少なくて済む。また、C#は、Windowsの.NET Framework上で動作することを前提として開発された言語であるが、2023年現在はクロスプラットフォームな.NETランタイム上で動作する。 デスクトップ・モバイルを含むアプリケーション開発や、ASP.NETをはじめとするWebサービスの開発フレームワーク、ゲームエンジンのUnityでの採用事例などもある。 マルチパラダイムをサポートする汎用高レベルプログラミング言語で、静的型付け、タイプセーフ、スコープ、命令型、宣言型、関数型、汎用型、オブジェクト指向(クラスベース)、コンポーネント指向のプログラミング分野を含んでいる。 共通言語基盤 (CLI) といった周

    C Sharp - Wikipedia
    dynamicsoar
    dynamicsoar 2015/01/22
    「改良点」のところだけ読むと非常に良さそうだな…
  • C++の記号一覧 (List of C++ symbols) - gununuの日記

    検索のしづらいC++の記号の意味をまとめてみました。C++11、C++14をはじめとして網羅的に集めたつもりです。 C言語についての記述もありますが、共通した記号であってもC++とCでは文法や動作の子細が異なる場合がありそのまま適用できないことがあります。また掲載してある記法は説明のために載せているのであってすべてが推奨できるわけではないことにご注意ください。用語や分類、解説はかなりいい加減です。 型[要素数]配列型(要素数は定数でなければならない。要素数を省略した型は不完全型)。 typedef int array[5]; //配列型int[5]にarrayという名前を付ける。 void f(int ptr[]); //関数の宣言に用いてvoid f(int* ptr);と同じ void f(int ptr[5]); //この場合要素数の記述は無意味で上記と同じ。 //動的配列の確保(ま

    C++の記号一覧 (List of C++ symbols) - gununuの日記
    dynamicsoar
    dynamicsoar 2015/01/22
    「auto 関数名(仮引数リスト) -> 戻り値型」これずっと探してた…なるほど…助かった。/アロー演算子検索可能性悪すぎて死ねる…/まさかのはてブでなくローカルブクマ前にしてた…
  • GCC for both x64 & x86 Windows! - MinGW-w64

    Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution. The development and community are very active and welcoming with new contributors every month and simple installers. Headers, Libraries and Runt