タグ

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

  • 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

  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

  • C++11: Syntax and Feature

    C++11の文法と機能(C++11: Syntax and Feature) Copyright (C) 2013 江添亮. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GN

  • C++踏み込み編

    ホーム < ゲームつくろー! < C++踏み込み編 C++踏み込み編 基礎はやっぱり大切です。 曖昧・うろ覚えはありませんか? 「これって何だろう」と疑問に思っている事、ありません? ここでは、それらについて踏み込んで解説してみます。 思いつきと行き当たりばったりの更新になるでしょうが、 きっと役立つ備忘録です。

    dynamicsoar
    dynamicsoar 2015/01/15
    痒いところに手が届いてる(気がする)
  • C++ AMP Overview

    Note C++ AMP headers are deprecated starting with Visual Studio 2022 version 17.0. Including any AMP headers will generate build errors. Define _SILENCE_AMP_DEPRECATION_WARNINGS before including any AMP headers to silence the warnings. C++ Accelerated Massive Parallelism (C++ AMP) accelerates execution of C++ code by taking advantage of data-parallel hardware such as a graphics processing unit (GP

    C++ AMP Overview
  • _T("")マクロだのL""マクロだのLPCTSTRだのの世界一詳しい解説

    _T("")マクロについて 初心者の方へ 下の説明を読むのが面倒なら次のように設定を変更すれば わずらわしい思いはしなくてもよくなります。 また、下の設定をすればLPCTSTRとか訳の分からないものはconst char *と同じ意味になり、 自分でコードを書く時にも_T("") などと書く必要もなくなります。 VisualStudio2005での設定例(2003や2008でもほとんど同じです): プロジェクト名で右クリックしてプロパティを選択 (ここでは太文字でcppTestと書いてあるやつ) 左側のツリーで構成プロパティ→全般を選択するとこのようなものが出てくる。 デフォルトでは文字セットのところが『Unicode 文字セットを使用する』となっているはず。 これを『マルチバイト文字セットを使用する』に変更してOKを押すと設定完了。 上級者向けの説明 おそらくVisual Studio2