タグ

プログラムに関するtuto0621のブックマーク (23)

  • 橋本商会 » プログラムの写経

    プログラミング初心者が写経する時に気をつけると良い事を4つ説明します。 画像はイメージです プログラムを勉強する時に、写経しろ(すでに完成しているプログラムをから書き写せ)とか言われるが、ちょっと意識するとだいぶ違うと思う 1. 外から書け 例えば、1からnまでの数字を全部表示するプログラムがあるとする。 def run(max) 1.upto(max).each do |i| puts i end end run(10) これを写経する時、上から下に1行目から順に書くのではなくて、まず def run(max) end いちばん外側を書いて def run(max) 1.upto(max).each do |i| end end 中を書いて def run(max) 1.upto(max).each do |i| puts i end end こうなる。 上から書かないのが重要。プログ

    橋本商会 » プログラムの写経
  • linux - 大量のメモリを使用するプログラムからコマンドを実行する方法 - スタック・オーバーフロー

    [頂いた回答・コメント、その後の考察によって得た結論を自己回答として投稿しました。] ターゲットとなるディストリビューション: CentOS 6.2 x86-64 版。ただし、他のディストリビューション -- 特に新しめのもの -- についての情報も歓迎です。 背景 Linux において、プログラム中から、何か別コマンドを実行したい場合、以下のいずれかの方法がよく使われると思います。 fork() + exec系() + waitpid() (その場で完了待ちしたい場合) fork() + exec系()。SIGCHILD を受けて wait系() (親と並列に実行させたい場合) system() ※ その場で完了待ちしたい場合と、親と並列に実行させたい場合の2通りを挙げましたが、今回必要としているのは前者。とはいえ、後者の場合でも問題は共通なので列挙しました。 ところが、大量にメモリを使

    linux - 大量のメモリを使用するプログラムからコマンドを実行する方法 - スタック・オーバーフロー
  • プログラマが勉強すること - きしだのHatena

    今日もプログラマになる勉強する人のところで話をしてきました。 で、また適当にいろいろ書いてました。 http://www.slideshare.net/nowokay/20140228-31742219 今日は特に、この図の内容についてまとめておきます。 ※ このエントリは、主に今日の話を聞いた人を対象としています。前提や補足については省略しています。 まずはプログラミング言語を プログラマというのは、利用者に直接サービスを提供することはできません。コンピュータの上でプログラムを動かして、そのプログラムを使ってもらうことでサービスを提供します。 ※組み込みは前提から外しています。 そのプログラムも、コンピュータで動くものを直接記述することは現実的にできません。 なんらかのプログラミング言語で、プログラムを書くことになります。つまり、プログラマの仕事は直接的にはプログラミング言語をいじくる作

    プログラマが勉強すること - きしだのHatena
    tuto0621
    tuto0621 2014/02/28
    amazonでの「訳が悪い」って評価は「オレは英語読めるんだぞー」って自慢してるだけなので、
  • 私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記

    この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思います。 なお、ここでのオブジェクト指向の定義は、「各言語でオブジェクト指向と呼ばれているものすべて」とします。JavaScalaJavaScriptやSmalltalkやRubyやCommon LispやOCamlがオブジェクト指向と呼んでいるものすべての総称です。もっとまともな定義が知りたい方は以下の記事がおすすめです。 オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smallta

    私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記
  • 存在しない記事 - 標高+1m

    ここにあった記事は消しました。 詳しくは以下: ympbyc.hatenablog.com

    存在しない記事 - 標高+1m
  • 【特典付】『Emacs Lispテクニックバイブル』発売します - http://rubikitch.com/に移転しました

    お久しぶりです。 この度、新著の 『Emacs Lispテクニックバイブル 〜真髄を知るLispの掟〜』 を執筆しました。 このは、すでにEmacsを使っている人が、 Emacsを手足の如く扱うことを目的にしています。 前著『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』は あらゆるEmacs Lispプログラムを活用して、快適な環境を構築するための カタログ的なでした。 紹介された様々なEmacs Lispプログラムによって、 あなたのEmacsは劇的な進化を遂げたことでしょう。 それでも、人間の欲というものは限りないものです。 「このEmacs Lispプログラムのココが気にわない」 「このようなEmacs Lispプログラム欲しいけどないなー」 「世界でただ一つ、俺だけのEmacsを作りたいぜ」 みたいな欲が出てくるんですね。 もし、その感情が湧いたことが

    【特典付】『Emacs Lispテクニックバイブル』発売します - http://rubikitch.com/に移転しました
    tuto0621
    tuto0621 2011/11/20
    待ってました!!
  • ファイル内grep、駆け上がり検索が出来るソースコード検索エンジン、milkode0.2.2をリリースしました。 - ブログのおんがえし

    ruby+groongaで動作するソースコード検索エンジン、milkodeの新バージョンをリースしました。 milkodeは行指向のソースコード検索エンジンとウェブアプリです。手元にある大量のソースコードを登録しておき、特定の一行を見つけることが出来ます。レポジトリに20000ファイルのレコードが登録されていても1秒以内に検索することが可能です。 インストール ダウンロード - Milkode リリースまでの間隔が空いてしまいましたが色々な機能を入れることが出来ました、いくつかを紹介します。 新機能その1 ファイル内grep マッチ行をまとめて表示してくれます、クリックすると各行へジャンプ出来ます。 ファイル内grepの例 ruby-1.9.2-p290/test/pathname/test_pathname.rb - Kodeworld 新機能その2 駆け上がり検索 検索範囲の切り替えを

    ファイル内grep、駆け上がり検索が出来るソースコード検索エンジン、milkode0.2.2をリリースしました。 - ブログのおんがえし
  • 自分でWEBサービスを作りたいと思っている人へ

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    tuto0621
    tuto0621 2010/09/23
    貴重なコンパイルテクニックの説明
  • MarUkun.com is for sale | HugeDomains

  • I love Programming

    日曜プログラマーは何人ものプロが何年もかかって作り上げるような実用プログラムを作ることはできません。しかし、日曜プログラマーの特権はプログラムを純粋に楽しむことができるということです。

    tuto0621
    tuto0621 2010/04/04
    日曜プログラマーは何人ものプロが何年もかかって作り上げるような実用プログラムを作ることはできません。しかし、日曜プログラマーの特権はプログラムを純粋に楽しむことができるということです。
  • iOS 17 - Apple Developer

    ウィジェットとライブアクティビティ ウィジェットがさらに多くの場所で活用できるようになり、パワーアップしました。WidgetKitを使ってインタラクティブな要素やアニメーションによるトランジションに対応すると、ユーザーがウィジェットから直接アクションを実行できます。既存のウィジェットにわずかな変更を加え、iOS 17向けに再ビルドするだけで、iPhoneのスタンバイ画面、iPadのロック画面、Macデスクトップ上で視覚的に美しく表示させることができます。SwiftUIを使用すると、ウィジェットの色と間隔がコンテキストに合わせて自動調整されるため、複数のプラットフォームで使いやすさが増します。 WidgetKitとActivityKitで構築したライブアクティビティがiPadで利用できるようになり、ユーザーはアプリのアクティビティや情報をロック画面からいつでもリアルタイムで確認できます。

    iOS 17 - Apple Developer
  • 文脈自由絵画 Context Free Art http://contextfreeart.org - 言語ゲーム

    Context Free Art というのを試してみた。 再帰的な図形を簡単に描く為のプログラムらしい。いっちょやってみるか。例えば丸を描くのはこうする。丸 (CIRCLE) の他にも四角 (SQUARE) と三角 (TRIANGLE) が描ける。描ける図形は http://contextfreeart.org/mediawiki/index.php/Primitive_shapes に表がある。最初の startshape で図形の名前を指定して、その後に使いたい図形を書く。 startshape MARU rule MARU { CIRCLE {} } 赤く塗って日の丸にするには {} の中に丸の性質を書く。例えば赤にするために hue (色相 0 〜 360) saturation (彩度 -1 〜 1) brightness (明るさ -1 〜 1) を指定した。数字は相対値になる

    文脈自由絵画 Context Free Art http://contextfreeart.org - 言語ゲーム
  • Core War - Radium Software

    メモリ破壊と言えば…… Core War (コア戦争)というプログラミング・ゲームの一種がある。 Core War では Redcode と呼ばれる仮想アセンブリ言語が用いられる。この言語を使って書かれたプログラムを,同一のメモリ空間上で実行し,互いのプログラムを破壊し合う。それで,最後まで止まらずに生き残ったプログラムが勝ちとなる。詳細については Coding Horror の紹介記事がまとまっていて参考になる。 面白いのは,とにかく自己複製を行いまくるプログラムが強い,というわけではないこと。複製は行わず,たくさんの停止命令をメモリ上にバラ撒いて,相手がそれを踏んで止まるのを待つという戦略もある。あるいは,相手のコードの位置を特定してから破壊しにかかる手もある。 Core War とバグによるメモリ破壊は色々とわけが違うけれど,デバッガーのメモリダンプと睨めっこしながらステップ実行でメ

    Core War - Radium Software
  • 各種ゲームのプログラム解析

    目次 はじめに 解析結果についての解説 ファイナルファンタジーIV ファイナルファンタジーV ファイナルファンタジーVI ドラゴンクエストV ドラゴンクエストVI ドラゴンクエストI・II ドラゴンクエストIII ロマンシング サ・ガ2 ロマンシング サ・ガ3 技術資料 ファイナルファンタジーIV ファイナルファンタジーV ファイナルファンタジーVI ドラゴンクエストV ドラゴンクエストVI ドラゴンクエストI・II ドラゴンクエストIII ロマンシング サ・ガ2 ロマンシング サ・ガ3 今後の予定 おわりに はじめに ゲームの内部で起こっている処理を推測するのはなかなか難しいものです。ユーザーサイドから見れば、ゲームの内部処理はほとんど「ブラックボックス」のようなものです。ユーザーサイドでは「(内部で複雑な処理が行われた末の)最終結果」しかわかりませんし、ゲーム中の様々な要素(各種パラメ

  • Account Suspended

  • Pre New Generation Chronicle:上野康平――3次元空間を統べる若き天才プログラマー (1/2) - ITmedia エンタープライズ

    上野康平――3次元空間を統べる若き天才プログラマー:Pre New Generation Chronicle(1/2 ページ) バイナリアンたちを紹介していく「New Generation Chronicle:バイナリアンスレッド」。第1回の井上さんからバトンを引き継いだのは、史上最年少の18歳で天才プログラマー/スーパークリエータの称号をIPAから贈られた上野康平さんだ。 「天才」――こう呼ばれる人物は各分野に存在する。上野康平さんもそんな1人だ。「バイナリアンスレッド」の第1回に登場いただいた井上恭輔さん同様、IPAの未踏ソフトウェア創造事業から天才プログラマー/スーパークリエータの称号を贈られた上野さん。彼が注目を集めたのは、彼が18歳であったことが大きい。 未踏ユースをのぞいてみれば、18歳という年齢は特別若いわけでもない。上野さん自身、未踏ユースの採択時には17歳だった。上野さん

    Pre New Generation Chronicle:上野康平――3次元空間を統べる若き天才プログラマー (1/2) - ITmedia エンタープライズ
  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
  • InfoQ Japan: 最新技術を追い求めるデベロッパのための情報コミュニティ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ Japan: 最新技術を追い求めるデベロッパのための情報コミュニティ
  • まつもと直伝 プログラミングのオキテ 第13回 プログラムを高速化する:ITpro

    プログラムの高速化はプログラマにとって永遠の課題です。しかし,そこには知られざる暗黒面が隠れています。そもそも高速化に意味があるのかを調べなければなりません。次に,どの部分をどの程度高速化するのかが重要です。アルゴリズムの効率にも目配りが必要です。 コンピュータの処理速度は驚くべき勢いで向上しています。現在私たちが使っているパソコンは一昔前のスーパーコンピュータをしのぐ性能を備えていますし,半世紀前に登場したばかりの計算機と比較すると数十万倍の性能に相当します。 このように高速なコンピュータを持っているにもかかわらず,人間の欲望は限りがないものです。プログラムの実行速度はプログラマにとっての永遠の課題のようです。プログラムを高速化していると,「そんなに急いでどこに行く」という気になることもあります。 今回は,プログラムの高速化にまつわるさまざまな「秘密」と「限界」,そして「戦略」について解

    まつもと直伝 プログラミングのオキテ 第13回 プログラムを高速化する:ITpro