タグ

programmingに関するwasamin0130のブックマーク (325)

  • 競技プログラミングでコーディングの際気を付けていることとか - うさぎ小屋

    競技プログラミングでコーディングの際気を付けていることとか Sep 25th, 2015 9:27 pmc++に関して、特に競プロ特有のものを中心に。整理とか兼ねて。なんか全体に当然なことしか書いてない。 テストケースで確認する サンプルケース等による確認が、コマンド一発でなされるようにする。コンパイル成功毎に実行する。 考えている際に紙に書いた例等は全てテストケースとして追加しておく。 簡単にやるには、以下のようにファイルに保存し、 test/sample-1.in test/sample-1.out test/sample-2.in test/sample-2.out test/sample-3.in test/sample-3.out test/your-case-1.in test/your-case-1.out test/your-case-2.in test/your-

  • 詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方 - プログラムモグモグ

    PDFのファイル構造を理解すると、テキストエディタでも直接PDFファイルを作ることができるようになります。このエントリーではPDFファイルの基礎要素を説明し、簡単なPDFファイルを例にしてファイル構造を説明します。更に、テキストを渡すとPDFファイルを吐いてくれる簡単なプログラムや、PDFを読み込んで簡単な解析をするプログラムを書いてみます。 目次 目次 まえがき オブジェクト 間接参照 ファイル構造 Hello, world! ヘッダ トレーラ 相互参照テーブル PDFを生成するプログラム 日語の扱い方 日語を含むPDFを生成するプログラム グラフィックス PDFを読むプログラム あとがき まえがき 1990年代前半、アドビシステムズは、どのプラットフォームやデバイスでも文書を確実に表示・共有できることを目的としてPDFファイルフォーマットを開発しました。 PDFの表示ソフト

    詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方 - プログラムモグモグ
  • Gitのつくりかた | メルカリエンジニアリング

    はじめまして。サーバサイドエンジニアの @DQNEO です。 今日はGitのつくりかたをご紹介します。 C言語学習教材としてのGit Gitと同じものをゼロから作って何の意味があるのか?と思いますよね。 私がこの再発明をやり始めた動機は「C言語を書けるようになりたい」でした。 実際に途中までやってみたところ、 C言語がチョットデキるようになった Gitの内部構造に詳しくなった というメリットが得られました。 C言語を勉強する題材は、テトリスとかWebサーバとか他にいくらでもあるのですが、Gitを実装してみるのはかなりおすすめです。理由は下記の通りです。 内部構造が意外と単純 (ローカルで動かす分には)ネットワークの知識が不要 普段使っているツールで外部仕様がわかっているので、やるべきことが明確 余談ですが、家Gitのソースコードを参考にしようと思って読んでいたら、Linus Tovals

    Gitのつくりかた | メルカリエンジニアリング
  • 関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも

    codicとは codicは、日頃、変数名や関数名に頭を悩ませるプログラマのためのネーミング辞書です。 以前は、プログラマ向けの単語辞書といった感じだったのですが、Ver.3からは、「日語を入力すると、ふさわしい名前を勝手に生成してくれる」という仕様になりました。 例えば関数名を作るのに、「従業員数を取得する」と入力するだけで「get_employee_count」という名前を勝手に生成してくれます。 これだけでも、かなり便利なんですが、codicにはその他にも、プログラミングのための便利な機能が満載だったので、その使い方などを紹介したいと思います。 codicの使い方 codicの主な機能は、日語を入力すると、勝手にネーミングを生成してくれると言うことです。 ただ、ちょっとした使い方次第で、より便利に利用できるので、その使い方などの紹介です。 基機能 まずは、基的な機能、「日

    関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも
  • プログラマなのに知らなかったら恥ずかしい英単語集 - Qiita

    1. send, deliver, dispatch, announce, distribute, route send : (命令・依頼などによって)行かせる、送る deliver : 配達する; 引き渡す,明け渡す; 手渡す dispatch : 〈軍隊・特使などを〉〔…へ〕急派する,特派する announce : 人に〕〈…を〉知らせる,発表する distribute : 〈ものを〉〔…に〕分配する route : 貨物などを〉〔…のルートで〕発送する 2. find, search, extract, locate, recover find : (努力して)見つけ出す search : (何かを見つけようとして注意深くまたは徹底的に)捜す extract : 〈エキスなどを〉〔…から〕抽出する locate : 〈…の〉位置を突き止める recover : 〔廃物などから〕〈有用

    プログラマなのに知らなかったら恥ずかしい英単語集 - Qiita
  • YAPCの発表で紹介した本 - hitode909の日記

    YAPC発表で,良いを紹介しました オブジェクト指向入門 これは最高のです 下巻はいま在庫なかったので困る オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング) 作者: バートランド・メイヤー,酒匂寛 出版社/メーカー: 翔泳社 発売日: 2007/01/10 メディア: 単行(ソフトカバー) 購入: 11人 クリック: 307回 この商品を含むブログ (132件) を見る オブジェクト指向入門 第2版 方法論・実践 (IT Architects’Archive CLASSIC MODER) 作者: バートランド・メイヤー,酒匂寛 出版社/メーカー: 翔泳社 発売日: 2008/08/29 メディア: 単行(ソフトカバー) 購入: 5人 クリック: 97回 この商品を含むブログ (52件) を見る ドメイ

    YAPCの発表で紹介した本 - hitode909の日記
  • リアルタイム通信で利用されるプロトコルと手法 - tech.guitarrapc.cóm

    NOTE: 記事はすでに内容が古く、今読んでも役に立つ度合いはほぼないです。 記事は、先日社内勉強会のために準備した、Webサービスのリアルタイム通信周りのまとめシリーズ の1つを転載して公開するものです。 まだまだわかっていないことが多いので、ぜひぜひ間違っている点などにご指摘いただければと思い公開します。 ぜひぜひ優しくマサカリをいただけると泣いて喜びます! 目次 目次 はじめに プロトコルと手法 前世代のやり方であるComet について Polling 系 Streaming 系 過渡期といわれてる手法 将来有望といわれてる手法 Polling メリット デメリット 向いているシーン Long Polling (Comet) Polling の発展版 メリット デメリット LongPolling 自体は双方向通信ではない 接続が閉じられるケース 向いているシーン Server S

    リアルタイム通信で利用されるプロトコルと手法 - tech.guitarrapc.cóm
  • アプリとプログラムが動く仕組みをトレタCTO増井雄一郎氏が解説 - ログミーTech(テック)

    株式会社トレタのCTO・増井雄一郎氏がアプリやプログラミングの仕組みについて社内勉強会で解説しました。アプリはどのように作られて、どのように動いているのかをわかりやすい例えとともに説明しています。またプログラミングを習得するには数学英語よりも、国語力が求められるそうです。文系の人でもエンジニア仕事をざっくりと理解できるような内容になっています。 お風呂にパソコンを持ち込んでプログラミングしている 増井雄一郎氏(以下、増井):私は「masuidrive」という名前で活動しておりまして、それで検索すると結構いろんなものが出ます。仕事ではこうやってプログラムを書いているんですが、基的に僕は自分の時間もほとんど趣味のプログラミングをしていて、僕の写真を撮るとほぼ100%パソコンが手元に写る。それ以外の時間はほとんど何もしてないという状態になってます。 あまりにプログラムが好きなんですが、実は

    アプリとプログラムが動く仕組みをトレタCTO増井雄一郎氏が解説 - ログミーTech(テック)
  • 言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!

    久しぶりに技術関係のネタ書きます. 「言語処理100ノック」という,自然言語処理関係の問題集があることを知ったので取り組んでみました. これは,東北大学の乾・岡崎研究室でのプログラミング勉強会にて使われている教材だそうです. 「100ノック」の言葉通り,100問の問題からなる問題集をこなすことで,自然言語処理に関する基礎力と,プログラミング言語運用能力が同時に培えるようになっています. こういうものが公開されるとは,「いい時代になったなー」と純粋に思います. www.cl.ecei.tohoku.ac.jp 内容は,自然言語処理だけでなく,データベース,機械学習など,今の言語処理関係の研究に必要なスキルがこれ1つで身につくように設計されています. 対象プログラミング言語はPythonのようですが,基的に他の言語でも問題なく進められるようにはなっていると思います(言語処理に強いプログラ

    言語処理100本ノックを(第5章まで)やってみた - フツーって言うなぁ!
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • 「よいコード」を書くためのはじめの2歩 | GuildWorks Blog

    ギルドワークスさんとパートナーとして一緒にお仕事させていただいています 木目沢(@pilgrim_reds)と申します。 このような場で記事を書かせていただけることになりまして大変緊張しております。 今回は、Kent Beckが書いた「実装パターン」というを紹介したいと思います。 出版社の都合で絶版になってしまっているのですが、素晴らしいですので、もし手に取る機会がありましたらぜひ読んでみてください。 こののテーマは、「よいコードを書く方法」です。 190ページという薄いながら、「よいコードを書く」ためのパターンが100個近く掲載されています。 なにより素晴らしいのは、パターンを紹介するだけでなく、 そもそもよいコードとは何か? なぜよいコードを書く必要があるのか? パターンとは何か? どのようにパターンを選択し、適用すればよいのか? というのテーマの「前提」となる部分がきちんと

    「よいコード」を書くためのはじめの2歩 | GuildWorks Blog
  • ドワンゴの準エンジニア手当という制度が面白い - 続・はてなポイント3万を使い切るまで死なない日記

    ドワンゴにはエンジニア手当というものがあって、プログラマーの給与水準が全体的に高くなっている。要するに優遇されている。 しかし、プログラミングの知識はエンジニアだけでなく企画者、あるいはデザイナーにとっても重要である。したがって、エンジニアから他の職種へのコンバートも積極的に進めるという方針がドワンゴにはあるのだが、このときにエンジニア手当というのが問題になる。要するにエンジニアをやめて他の職種にいくと給料が下がるのだ。 そのため元エンジニア手当みたいなものを作ろうとかいうような話もあったのだが、それはそれで不公平ではないかという議論もあり、結果として準エンジニア手当というものを創設し、一定の技術スキルがあることが試験で認められれば、元エンジニアだろうが、元からの企画者やデザイナーだろうが、給料が上がるという仕組みを導入することにしたのだ。 これがいまドワンゴ社内で盛り上がっているらしい、

    ドワンゴの準エンジニア手当という制度が面白い - 続・はてなポイント3万を使い切るまで死なない日記
  • ファミコンのグラフィックスの省メモリ化テクニックとは? | POSTD

    1983年に発売されたNintendo Entertainment System(NES、日での商品名は「ファミリーコンピューター」、以下「ファミコン」)は安価なのに高性能だったため、大ヒット商品となりました。独自設計のピクチャー・プロセシング・ユニット(PPU)を使うことで、当時としては驚きの映像を生み出すことができました。そして、今でも特定の環境で視聴すればとてもきれいな映像が楽しめます。一番の業績はメモリの利用効率です。グラフィックスを最小限のバイト数で作成することに成功しました。それと同時にファミコンは、開発者に便利で使いやすいツールを提供しました。その点でも、それまでのテレビゲーム機とは一線を画した製品でした。ファミコンのグラフィックスの生成方式を理解すれば、システムの技術的な優れた能力のありがたみが分かるはずです。そして、現代のゲーム製作者が現在のマシンではどれだけ簡単に作業

    ファミコンのグラフィックスの省メモリ化テクニックとは? | POSTD
  • JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア

    以前、オセロの対戦AIの作成しましたが、そこでは実装を簡略化する為に盤面の価値を 盤面の価値 = 自分の石の数 – 相手の石の数 という単純な方法で決めていました。 でも、これには問題があります。 同じ石でも配置場所によって価値は異なるはずです(例: 角は最強)。それが考慮されていません。ゲーム終盤になってくると石の数が重要になってきます。でも序盤から石の数を重視するのは方向性としておかしいです。 という訳で、 序盤から中盤では石の配置場所を重視する終盤では石の数を重視する 形で盤面の価値を算出すれば、結構良さそうなAIになりそうです。 しかし、今度は 「序盤」「中盤」「終盤」をどのように区別するのか?石の配置場所の強弱はどう決めるのか?同じ配置場所でも周囲の状況次第で強弱が異なるのでは? という問題が出てきます。これは作るのが面倒臭そうです。 どうにかしてお手軽かつそこそこ強そうなAI

    JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • プログラミングとなら、できること/図書館となら、できること番外編

    少女:聞きたいことがあるんだけど。プログラミングとかする? 少年:しない。 少女:前に何かちょこちょこっと作ってたことなかった? 少年:コンピュータ周りの雑用をやらせるスクリプトのこと? 大抵は数行くらいの使い捨てだけど。繰り返し使ってるのは、近代デジタルライブラリーからダウンロードして一つのファイルにまとめる奴くらい。 少女:あ、それ欲しい。そういうのってどうやったら作れるようになるの? 少年:うーん、こういうのは禁煙さんが詳しいんだけど。よく使ってるのはPythonってプログラミング言語だけど、これも禁煙さんのオススメだったし。 少女:そうなんだ。ねえ、今度一緒に禁煙さんとこ行かない? 少年:いや、それはちょっと。 少女:あれ?苦手だっけ? 少年:少し。コンピュータの話になると、あの人ちょっと…・・・。 少女:ふーん。じゃあ禁煙さんに教わったこと、教えて。 少年:教わったっていっても大

    プログラミングとなら、できること/図書館となら、できること番外編
  • Gyazoライクな画面範囲選択をC#とReactive Extensions (Rx)で書いた - Qiita

    どうもGyazoのような画面範囲選択について「このUIWindowsで実装しようとすると、千行近いコードをCか何かで書かなければなら」ないらしいですが、雑に作ったScreenCaptureWrapper初版(→画面を動画キャプチャするツールScreenCaptureWrapperを公開)でもとてもそんな長さにならなかったよなぁと思いつつも、Rxを使うとさらにすっきり書けそうだったので、書いてみました。 public static Task<Rect> SelectScreenPositionAsync() { var shapeRect = new Rectangle() { Fill = new SolidColorBrush(Color.FromArgb(0x44, 0x99, 0, 0)), Stroke = Brushes.Red }; var canvas = new Canv

    Gyazoライクな画面範囲選択をC#とReactive Extensions (Rx)で書いた - Qiita
  • 「関数型言語」に関するFAQ形式の一般的説明 - Qiita

    前置き: 特定の言語ではなく、関数型言語一般に関する説明です。 ここに書くのが良いのかわかりませんが、それを考える時間ももったいないのでとりあえず書きます。必要が生じたら移転します。 皆様のご要望や自分の気分(?)により随時加筆修正します。 「それは違うんじゃない?」というご指摘はもちろん、初心者の方の素朴な疑問・質問や、「ここがよくわからない」「こういうことも書いてほしい」みたいなコメントも歓迎します。すぐに対応できない場合もあると思いますがすみません。Twitterのesumii宛でも構いませんが、コメントのほうが他の方も見つけやすくて良いと思います。当然ながら(他者に対しても)誹謗中傷等はご遠慮ください。 いただいたコメントはほぼ文に反映していますので、文を読むために、必ずしもコメントを読む必要はありません。もちろん、興味と余裕(?)があればコメントも読んでいただければ非常に有用

    「関数型言語」に関するFAQ形式の一般的説明 - Qiita
  • ソースコード探険隊

    What's new - 更新履歴 直近20件の新しい記事です。 2024-07-28: Lenovo IdeaPad と ThinkBook の違い・比較 2024-02-28: ASUS ROG ノートパソコン FLOW・ZEPHYRUS・STRIX の違い、比較 2024-01-14: ASUS ノートパソコン製品シリーズの違い・比較 2023-12-10: ゲーム開発に最適なノートパソコンの選び方/おすすめ機種紹介 2023-11-18: 動画編集に最適なノートパソコンの選び方/おすすめ機種紹介 2023-11-03: プログラミングに最適なノートパソコンの選び方/おすすめ機種紹介 2023-09-09: 『ノートパソコン購入ガイド』を公開 2023-04-29: 推理小説『水車館の殺人』の感想 2023-03-26: Lenovo 公式サイトの「ThinkBookとThinkPa

  • 競技プログラミング練習会2015 Normal 第3回 - KMC活動ブログ

    こんにちは。KMC-2回生のid:hnagaminです。5月1日に競技プログラミング練習会の第3回を行いました。 スライドは↓です。この日はグラフと最短経路問題について解説しました。 プライオリティキューとダイクストラ法の解説は来週します。 競技プログラミング練習会2015 Normal 第3回 from Hideaki Nagamine www.slideshare.net 解説の後、練習問題としてAOJの0144:Packet Transportation, 0117:A reward for a Carpenter, 0189:Convenient Location, 2332:時空のスゴロク・ロード, 2492:goto bustersを解きました。 また、今日から部室にhueが導入されました。hueはプログラムによる制御が可能な次世代の照明システムです。この度KMCでは、部内プロ

    競技プログラミング練習会2015 Normal 第3回 - KMC活動ブログ
  • C#実装から見るDDD(ドメイン駆動設計)

    わんくま同盟勉強会@大阪#60でお話しさせて頂きました。 『C#実装から見るDDD(ドメイン駆動設計)』を多少手直しをして、再掲載しました。Read less

    C#実装から見るDDD(ドメイン駆動設計)