タグ

プログラミングに関するwnoguchi0727のブックマーク (45)

  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • 「ふつうのLinuxプログラミング」でLinuxの基本概念やシェルの仕組みについて学んだ - $shibayu36->blog;

    最近golangでCLIツールを作っていたのだけど、Linuxのお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうのLinuxプログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道 作者:青木 峰郎SBクリエイティブAmazon このLinuxにおいてC言語でプログラミングする方法を、Linuxでの重要な概念も含めて教えてくれる。このを読めばとりあえずC言語を使ってLinux用のプログラムを書き始めることが出来るようになりそうだった。 それでC言語を使わない場合でも役に立つの?ということだけど、非常に役立ちそうで面白かった。なぜなら、単なるプログラミングの方法を教えてくれるだけではなくて、 Linuxの重要な考え方をファイルシステム・プロセス・ストリームという概念にまとめて教えてくれ

    「ふつうのLinuxプログラミング」でLinuxの基本概念やシェルの仕組みについて学んだ - $shibayu36->blog;
  • Markdownエディタを作って月15万円稼ぐためにやったこと — Inkdrop

    自分でもびっくりしてるいぬさん僕はフリーランスをしながら脱受託を目指してアプリを作って生活しています。だいたい1年のうち7割ぐらいをアプリ作りの時間に充てています。稿では、Inkdropというマルチプラットフォーム対応のMarkdownエディタを一人で開発して月15万円の売上を達成するまでにやった事を包み隠さずにシェアしたいと思います。 Inkdropの月間売上の推移やったこと概要毎日感じるちょっとした問題を見つける自分自身がこれだ!と思えるまでプロトタイプを作るプライベートβ期間でヘビーユーザを作る継続性を重視して価格をつける決済処理はStripeで楽に実装する良いランディングページを作るユーザサポートを最優先にする自分の得た知見を惜しまずブログに書くクオリティで勝負する批判を全て無視する毎日感じるちょっとした問題を見つける僕は別に特別でもなんでもありません。人は意外と同じ事を感じたり

    Markdownエディタを作って月15万円稼ぐためにやったこと — Inkdrop
  • とりあえず新人はこれを読んどけ!エンジニア歴10年以上の先輩おすすめ本7選

    男の一人暮らしは慣れないうちは、なかなか大変ですよね。 家に帰ってきてから、ご飯も作って、片付けもしなきゃいけないし、掃除も洗濯も……となると「もうどーでもいいやー」となってしまったり……(笑)しかし、そんな人も無印良品のお助けアイテムを使えば、生活の質が向上しちゃうかも……?今回は、週に1・2回以上は必ず無印良品に通うという「ムジラー男子」の皆さんにアンケートを取り、「一人暮らしの男性におすすめのアイテム」を教えていただきました!! ※記事は2024/3/1時点の情報です。詳細は各公式ページをご参照ください。

    とりあえず新人はこれを読んどけ!エンジニア歴10年以上の先輩おすすめ本7選
  • POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア

    POSTD は、ニジボックスが運営する、エンジニアに向けたキュレーションメディアです。ニジボックスはWebサービスの企画、制作、開発、運用を一貫して担うリクルートの100%子会社です。 リクルートグループのオンラインサービスをはじめ、様々な業種・業界・業態のサービス開発を行っております。

    POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
  • 最近話題のWeb言語 Elixirのご紹介 | DevelopersIO

    ここ最近、Elixirという言語がWebプログラマー界隈で話題になっています。 ElixirはErlangのVM上で動くRuby風味の関数型言語で、RailsコミッタのJose Valimさんが作ったプログラミング言語です。 この言語はErlangの並行性とRubyの開発生産性を持っています。 今回はこの言語が出てきた背景と文法の特徴について書こうと思います。 Elixirが注目されている理由 ここ数年、Webアプリケーションは以下の問題を抱えています。 C10K問題 10000以上のクライアントがサーバに同時接続すると、HWの性能は足りていてもOS、ソフトウェアの問題で処理が破綻する ムーアの法則の限界 CPUチップメーカーの製造するチップのクロックレートの成長に陰り。代わりにマルチコアアーキテクチャのCPUが開発されている リアルタイムWeb サーバ、クライアントが常時接続するアプリケ

    最近話題のWeb言語 Elixirのご紹介 | DevelopersIO
  • プログラミング原則一覧 - Strategic Choice

    見つけた時に逐次エントリしている「プログラミング原則」カテゴリの一覧です。不定期に追加しています。プログラミング一般デメテルの法則DRY原則YAGNIKISS原則OAOOUNIX哲学可逆性曳光弾直交性契約による設計 DbCプログラマの三大美徳PIEの原則SLAPパフォーマンスチューニングの格言驚き最小の原則オブジェクト指向プログラミングパルナスの規則抽象データ型サブタイプ求めるな、命じよコマンドとクエリ分離原則オブジェクト指向設計パターン言語生成・使用分離の原則パターンの定義IOP

  • How To Become A Hacker: Japanese

    なぜこんな文書を書いたか わたしは Jargon Fileの編集者で、またその他似たような有名文書いくつかの著者なので、しばしば熱心なネットワーク初心者から「ウィザード級の大ハッカーになるにはどうやって勉強すればいいの?」といったようなお尋ねメールを頂きます。でもかつて 1996 年に、こんな大事な問題を扱った FAQ や Web 文書 はみあたらないことに気がつきました。というわけで、これを書き始めました。多くのハッカーがいまやこれを決定版と見なしているし、つまり実際に決定版なんだと思います。でも、この問題について自分が唯一無二の権威だと主張するつもりもありません。気にくわなければ、自分なりのヤツをどうぞ。 この文書をオフラインで読んでいるなら、最新版は次のところにあります。 http://www.catb.org/~esr/faqs/hacker-howto.html なお、この文書の

  • 優秀なJavaScriptの開発者になるための5か条 | POSTD

    (注記:7/15、いただいた翻訳フィードバックを元に記事を修正いたしました。) 子供の頃、私の興味は互いに関係性のない様々な分野に及んでいました。数学歴史も大好きでした。 ルネッサンスマン 、つまり 博学者 と言う、複数の分野に秀でた人になりたいと思っていました。これはとても難しい課題で、私は突如として、器用貧乏な人になってしまう危機に直面したのです。 私は特定の分野に特化しなくては、と考え始めました。そうすればたとえルネッサンスマンにはなれなくても、少なくとも、器用貧乏にならなくても済むと思ったのです。どうしたらソフトウェア開発をするのに必要な広い知識を保ちながら、1つの分野で専門性を高めることができるのでしょうか。 この記事では、過去5年間、私が良いJavaScript開発者になるために使ったテクニックとリソースの概要をお伝えしようと思います。 最近の多くのWeb開発者は、ある共通の

    優秀なJavaScriptの開発者になるための5か条 | POSTD
  • IT業界が欲しいのは開発が出来る人!プログラミングだけでは・・・ | ScrapEngineer

    プログラミングをする方が最近増えているかと思います。 仕事でプログラミングを行う職業プログラマ、趣味でプログラムを行う趣味プログラマ、就活のスキルために勉強するプログラマ等、最近色々あるみたいですね。 ただ、プログラムが出来る=開発が出来るのではないのです。 プログラムと開発って似て非なるものです。 そしてIT業界が欲しいのは開発が出来る人間です。 開発ってプログラミングのことでは? 厳密には違います。 開発とはプログラミングを含めたソフトウェアを作ることです。 例えて言うなら開発は家を建築し終えるまでことです。 プログラミングはその中で大工の作業のみしか担当していません。 一連の工程を家を建てることに例えてみると以下のようになります。カッコ内は開発の作業。 お客様と家のことを決める(要件定義) ↓ 設計(設計) ↓ 基礎工事(インフラ系作業) ↓ 建築(プログラミング) ↓ 内装・外装(

    IT業界が欲しいのは開発が出来る人!プログラミングだけでは・・・ | ScrapEngineer
  • 技術系ブログを書いてくれてる人に申し上げたいこと6つ

    はじめにいつもお世話になってます! 助かってます! ありがとうございます! 解説サイトの人は特にありがとうございます! How to doは多いけど、Why I did in this wayで書かれてる記事が極端に少ないことたぶん備忘録として書いている人が多いと思うんだけど、マニュアルのような書き方が多い気がします。いやまあマニュアルがないよりは遥かに嬉しいことなんですが。重ね重ねいつもありがとうございます。 『AしてBしてCすると、コレができる! かんたん!』で終わっていることが多いです。多いというか、ほぼこれです。 『ほげほげのためにA、もげもげのためにB、FUBARのためにCすると、コレができる』というように書いてくれると相当嬉しいです!別に『これこれをクリックして…』とか『bashとはうんたらかんたら』とか詳細を書かなくてもいいので、こういう目的のためにやったと書いてくれると嬉し

  • PHP、Perl、Ruby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」:phpspot開発日誌

    PHPPerlRuby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」 2010年03月11日- Run This! PHPPerlRuby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」。 ブラウザ内の<pre>コードで記述した部分を、その場でそのまま動かすことができ、うまくサイトに組み込めばより訪問者にとってわかりやすいページを作ることが出来そうです。 例えば、PHPの入門サイトなんかでは挙動を一瞬で確認できてしまいます。 具体的には以下の言語に対応しています。 Ada, Assembler, AWK, Bash, bc, Brainf**k, C, C#, C++, CLIPS, Clojure, COBOL, Common Lisp, D, Erlang, Forth

  • プログラミング用フォント Ricty

    お知らせ Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 序文 Ricty(リクティ)は Linux 環境での研究・開発を想定したプログラミング用フォントです。テキストエディタやターミナルエミュレータ、プログラミング言語やマークアップ言語に対する使用に適しています。Inconsolata と Migu 1M の合成、および、プログラミング用フォントとしてのいくつかのチューニングを行う生成スクリプトを配布しています。Inconsolata 作者の Raph Levien 氏、Migu 1M 作者の itouhiro 氏、M+ M Type-1

  • 英語のコメントや issue で頻出する略語の意味 (FYI, AFAIK, ...) - Qiita

    〔提案に対して〕いいと思う;問題ないと思う;〔コードレビュアーが、問題ないコードに対して〕レビュー終了;(コードの)承認

    英語のコメントや issue で頻出する略語の意味 (FYI, AFAIK, ...) - Qiita
  • Javaで入力チェックを正規表現で行う - dirablueの日記

    入力チェックを正規表現で行いたい場合、以下のようなパターンが使える 「ASCII文字」のみ public static final String MATCH_ASCII = "^[\\u0020-\\u007E]+$";「英字」のみ public static final String MATCH_ALPHA = "^[a-zA-Z]+$";「数字」のみ public static final String MATCH_NUMBER = "^[0-9]+$";「ひらがな」のみ public static final String MATCH_HIRAGANA = "^[\\u3040-\\u309F]+$";「カタカナ」のみ public static final String MATCH_KATAKANA = "^[\\u30A0-\\u30FF]+$";「半カタカナ」のみ public

    Javaで入力チェックを正規表現で行う - dirablueの日記
  • Cocoaの素、Objective-Cを知ろう - @IT

    Objective-C初心者のための入門連載です。Objective-Cとは何かの基礎知識から、さまざまな基構文/文法(変数、データ型、nil、配列、プロパティ、アクセサ、クラス、スーパークラス、ルートクラス、サブクラス、ポインター、メソッド、インスタンス、リンク、ラッパークラス、コンパイラディレクティブ、id、メッセージ式、文字列操作、forなどの繰り返し(ループ)、列挙子、ディクショナリ(連想配列)、高速列挙、オブジェクト指向、継承、プロトコル、多重採用、セレクター、クラスクラスター、カテゴライズ、カテゴリ、メモリ管理、ガベージコレクション、参照カウンターなど)を、書き方が分かる豊富なサンプルコードとともに解説します。

  • プログラミングもクラウドへ―― 学習&開発環境Webサービス23選まとめ

    プログラミングもクラウドへ―― 学習&開発環境Webサービス23選まとめ:安藤幸央のランダウン(67)(1/3 ページ) オンラインのプログラミング環境や、オンラインでコードを書いて学べる学習サイト9選、ビジュアル(子ども向け)プログミラングWeb環境5選を紹介する。 道具としての開発環境 今となっては昔のことですが、机の上でノートに鉛筆でソースコードを書いてプログラミングしていた時代がありました。現在のプログラミング環境から振り返ると、そういう作業はアルゴリズムを考え、頭で想像したコードを書き下ろしており、脳内エミュレーターのようなものだったのかもしれません。 最近のプログラミング環境は、規模も複雑さも肥大化しつつ、プログラミングに関する情報もツールも大変充実したものです(マイナーな環境の情報が少ないことや、新古の情報が混在している問題はありますが)。 Web上の情報も書籍も豊富で、自分

    プログラミングもクラウドへ―― 学習&開発環境Webサービス23選まとめ
  • Rails でよくある 5 つの間違い - 杉風呂2.0 - A Lifelog -

    以下の文章は、Mike Perham 氏のブログ記事を翻訳したものです。原文は2012年5月5日に公開されました。 Five Common Rails Mistakes http://www.mikeperham.com/2012/05/05/five-common-rails-mistakes/ Railsをそれなりに仕事で使ってきて多くの Rails アプリを見てきて、悪い Ruby コードを読み書きした。この記事では、だいたいすべての Rails のコードベースで見られる共通の間違いを5つ挙げる。 1. スキーマの仕様がないマイグレーション データモデルはアプリケーションのコアだ。スキーマに制約がないと、データはコードベースに存在するバグにより徐々に蝕まれていき、フィールドに値が入っているか信頼できなくなる。ここに Contact スキーマがあるとしよう。 create_table

    Rails でよくある 5 つの間違い - 杉風呂2.0 - A Lifelog -
  • コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ

    誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan

    コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知