タグ

Programmingに関するshozzyのブックマーク (135)

  • エンジニアだってアートしたい - Qiita

    終:どこまでショボいアプリがAppleの審査に通るのか試してみた の記事の補足記事です。 記事中で開発した「二つ名オンライン(以下、FNO)」というアプリを作る過程で、画面デザイン、絵や音楽をどうやって作ったのかについて記載します。 ここで使用したツールの使い方自体はググればたくさん出てきますので、使い方自体の説明は省略します (説明できるほど使い込んでもないです・・・) アートなこともしたい エンジニアだってアートしたいんです クラウドの普及に伴って、一人で出来る範囲が劇的に広がりました サーバーサイドやインフラ周りのエンジニアのジョブチェンジにより、フロントエンジニアが増えたんじゃないのかなと思ってます どうやって作るかより、何を作るかがより一層大事になってきてると感じます そうなると、フロントエンジニアの中で差を出すための一つの手段がデザインになります つまり、アートはエンジニアにと

    エンジニアだってアートしたい - Qiita
    shozzy
    shozzy 2019/04/18
    超いい
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
    shozzy
    shozzy 2011/02/09
    「あとでかく」だった部分が完成してる。執筆おつかれさまー。っと思ったら「共通関数継承」とか、まだいくつか存在してたw 公開状態で少しずつ書いていく手法、斬新だな。
  • Github を Windows で利用する(Git GUI編)

    GithubWindows で利用する方法を紹介します。このエントリーではGit GUIというツールを利用して、 リモートリポジトリの作成 ローカルリポジトリの作成 ローカルリポジトリのコミットとリモートリポジトリへのプッシュ ファイル更新時のコミットとリモートリポジトリへのプッシュ 等について紹介します。「githubの使い方が分からない」というビギナー(私も含め)のためのエントリーです。GUIのオプション設定など詳細な設定は割愛していますので予めご了承ください。 なお、以降の操作を行う前にgithubのアカウント取得は完了させておいてください。 1.ダウンロード githubのサイトにある「Help」をクリック。 右側のメニューから「Intermediate」の中にある「Install Git HTML help」をクリック。 Windowsの説明にある「Msysgit」をクリッ

    Github を Windows で利用する(Git GUI編)
    shozzy
    shozzy 2011/02/04
    Githubを使い始めるなど。SSL鍵の入手はここの手順でやるのが簡単そう。
  • ドメイン特化言語 - Float on the flow

    ドメイン特化言語(DSL)があまり利用されていない(ように感じる)のはなぜだろう。 と、ふと思い、考えてみた。 1.世の中にはDSLが少ない(仮定) 2.優秀なプログラマは汎用言語で自由自在にコードを書けるから、DSL不要。わざわざ作ろうとは思わない。 3.平凡なプログラマはDSLの主要ユーザになりえるが、DSLを作るほどのスキルがない。 4.非プログラマは、DSLなんて知らない。関係ない。 5.よって、いつまでたってもDSLは増えない。 最も成功しているDSLは、SQLかな? 手続き的なものは汎用言語で書けるけど、SQLのように宣言的なものは汎用言語だと書きにくいので。 自分程度のスキルだと、「こんなドメイン特化言語があればなぁ」とよく思うので。 なんか作ってみたいな。

    ドメイン特化言語 - Float on the flow
    shozzy
    shozzy 2011/01/14
    久々にブログ書いたのでブクマもしておこう。
  • Martin Fowler's Bliki in Japanese - ドメイン特化言語

    http://martinfowler.com/bliki/DomainSpecificLanguage.html ドメイン特化言語(DSL:Domain Specific Language)とは、 ある特定の種類の問題に特化したコンピュータ言語のことです。 様々な問題に対応できる汎用的な言語のことではありません。 ドメイン特化言語についてはこれまでも議論されてきましたし、 コンピュータが使われてきたのと同じくらい長い間使われてきました。 DSLを頻繁に使用しているコミュニティにUnixコミュニティがあります。 そこでは、DSLは「リトル言語」や「ミニ言語」などと呼ばれています (この伝統について、Eric Raymondが素晴らしい議論を提供してくれています)。 最も一般的なUnixスタイルのやり方は、 言語の文法を定義し、コード生成機能を使ってDSLから汎用的な言語を生成する、 あるい

    shozzy
    shozzy 2011/01/14
    ドメイン特化言語とか。世の話題は汎用言語に向きがちだけど、業務の効率化にはDSLは欠かせないと思っている。
  • ドメイン工学とテンプレートメタプログラミングとインテンショナルプログラミング - 並列メモ?

    ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER) 作者: クシシュトフ・チャルネッキ,ウールリシュ・W・アイセンアッカ,津田義史,今関剛,朝比奈勲出版社/メーカー: 翔泳社発売日: 2008/04/23メディア: 大型購入: 7人 クリック: 399回この商品を含むブログ (45件) を見る ドメイン工学とテンプレートメタプログラミングとインテンショナルプログラミングの。兎に角分厚いのを何とかして欲しい。そもそも3部構成なんだし。 ドメイン工学はまぁ要約すると、「標準ライブラリとアプリケーションの間には、ドメインという分野共通の部分があるので、その辺はライブラリやアプリとは別の開発方法や視点が必要」とかそんな感じの話。UMLのクラス図みたいな独自の記法を導入したりとか。 テンプレートメタプログラミングはまぁふつーのやつ。UMLの

    ドメイン工学とテンプレートメタプログラミングとインテンショナルプログラミング - 並列メモ?
    shozzy
    shozzy 2011/01/14
    インテンショナルプログラミングとか。「意図」によるプログラミングとな。
  • Webアプリのセッション管理はデスクトップアプリのメモリ管理と同じ - プログラマの思索

    Webアプリ開発で必ずぶち当たる課題、Webアプリ特有の技術、アーキテクチャについて考えてみる。 古くから続く課題を知れば、次世代Webフレームワークがどのように解決しようとして、何を提示しようとしているか分かりやすくなるだろう。 #以下、セキュリティ関係などを除く。 Webアプリは、Ajaxが登場するまで、UIがブラウザで制限されているため、それほど難しい機能を実装できなかった歴史があった。 古くはPer/PHP、そしてJavaに至るまで、Webアプリはステートレスだったから、殆どの機能は閲覧機能とマスタメンテナンス機能にすぎなかった。 なぜなら、Webアプリでは、6時間以上もかかるようなバッチ処理を実装したとしても非現実的だから。 しかし、以前から知られているアーキテクチャ上の課題はあるし、Ajaxの出現によって更にその課題が複雑になった現状もある。 Webアプリを作る時はいつも、下記

    Webアプリのセッション管理はデスクトップアプリのメモリ管理と同じ - プログラマの思索
  • cobalt -福井県で働くWebデザイナーのブログ- » shirokurok制作秘話 ブログパーツ編

  • 「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」

    1時間強でテトリスを作れるのはすごいですね。プログラミング歴を教えてください。 幼稚園のころからですね。当時,セガが「SC-3000」というパソコンを出していて,これが家にありました。あるとき,親が「ベーマガDX」(注:電波新聞社が発行していたプログラミング雑誌「マイコンBASICマガジン」の別冊。様々なパソコン用のゲーム・プログラムなどを掲載していた)を買ってきたので,そこに載っているプログラムを打ち込んでいました。 当時は「これを打ち込むとゲームができる」という認識しかなかったですが。SC-3000には顔のキャラクタがあってそれをBASICのPRINT文で表示して親に自慢げに見せていたそうです。 幼稚園のころに? はい,あまり信じてもらえないかもしれないのですけど(苦笑)。 小学校に入ってからは,PC-88(NEC製の8ビット・パソコン)もあったのですが,それはほとんど使わずに小学校4

    「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」
  • FizzBuzz ループ→再帰→Composite→Strategy→Visitor - プログラマーの脳みそ

    最近FizzBuzzをblogで書くといいよみたいな流れになっている(曲解)ので FizzBuzz - 文殊堂 と id:monjudoh が言ったからというわけではないのだけど、FizzBuzzとアルゴリズムの書き換えの話をしよう。 やや昔のエントリになるけどもJavaでFizzBuzzを再帰で作ったというエントリをみつけた。 public class FizzBazzSaiki{ public static void main(String[] args){ System.out.println(func(args.length>0?Integer.parseInt(args[0]):30)); } public static String func(int i){ if(i == 1) return "1"; System.out.println(func(i-1)); return

    FizzBuzz ループ→再帰→Composite→Strategy→Visitor - プログラマーの脳みそ
  • プログラミング技能の深さと広さとサーチビリティ - プログラマーの脳みそ

    プログラミングの世界にはいろんな技術があるのだけど、深さと広さのどちらを広げるほうがよいのだろう? 広さの需要が多い 業務システム開発の世界というのは、お客さんが求める処理を行うためにはどうしたらよいかを提案し実装し運用する世界で、その多くは画期的なアイデアや難しいテクノロジーを必要としない。既存の技術を組み合わせて「やりたいこと」を実現できればそれでいい。簡単にできるなら、なおいい。 これは、知識の広さを問われる世界。「こういうことしたいんだけど」「XX使ってはどうですかね」そういう引き出しをたくさん持って、状況に合わせて提示するという能力。お客さんは凄いテクノロジーかどうかではなくて「やりたいことができるようになったかどうか」が大事なんだ。 そんなわけで、プログラムで飯をっています、という人は意外なほど技能が浅いことがある。浅い技術でいいからそれを提示するという需要が世の中にはたくさ

    プログラミング技能の深さと広さとサーチビリティ - プログラマーの脳みそ
    shozzy
    shozzy 2009/08/16
    自分より詳しい人と接する機会って重要ですね。それでも探索範囲は限られてるわけですが…
  • ゆとりiPhoneプログラマの為のメモリ管理 | fladdict

    主にFlashのガベコレで脳が弛緩してる、ゆとりiPhoneプログラマ向けのメモリ管理術。しち面倒なRetainCountの管理を30秒で解決するよ。 1:とりあえず NSMutableDictionary を1個作る。このDictionaryはプロパティとして保持する。 2:alloc / init でインスタンスを作るときは、[[[ClassName alloc]init]autorelease] と必ずオートリリースをつける。 3:[NSString stringWith〜] のように、allocとinitを経ずにインスタンスを作る場合は、自分で勝手にretainをしない。 4:作成したインスタンスは持続的に必要な場合、NSMutableDictionary に突っ込む。 5:必要なくなったインスタンスは、NSMutableDictionary から remove する。 こうすると

  • VBAの限界 - Javaの日々

    shozzy
    shozzy 2009/07/14
    統合開発環境は重要だよねという話。/今まさにVBAのリファクタリングで困ってるorz
  • プログラミングできる人とできない人との間の深い溝 - masatoi’s blog

    どうしてプログラマに・・・プログラムが書けないのか?を読んでいて出てきたので出展の一つを訳してみた。Separating Programming Sheep from Non-Programming Goatsの和訳。 プログラミングというものには向き不向きが強く出るということはわりと知られていると思うが、このエントリではプログラミングができるかできないかは比較的簡単なテストによって、プログラミングの訓練を始める前の段階で分かると主張している。どうしてプログラマに・・・プログラムが書けないのか?では、そもそもこの事前テストをパスしていないような人達までプログラマとして応募してくると言っており、その判定法として有名なFizzBuzz問題を挙げている。 追記(2019/2/28) 注意: なおこの論文はしばらく前に著者の一人によって撤回されたようです Camels and humps: a r

    プログラミングできる人とできない人との間の深い溝 - masatoi’s blog
    shozzy
    shozzy 2009/07/09
    これは興味深い。けど、確かにそうなんだよな。HTMLとか表計算は比較的教えやすいけど、プログラムになると途端に教えづらくなる。
  • 「変数は箱」という例え方について - @katzchang.contexts

    1. 変数とは値を入れる箱のようなものであること 2. 値を別の箱にコピーしても元の箱の内容は変化しないこと 3. 新しい値を箱に入れたら元の内容は消え、新しい情報で上書きされること http://d.hatena.ne.jp/tonoccho/20090623/1245765236 「変数は箱」っていう例えは昔からよくある言い方だけど、ちょっと違和感があったのでメモ。 「箱を作る」のはオブジェクトの生成で、変数に対するオブジェクトの代入は箱へのラベル付けというイメージで捕える方が無難じゃないかと思う。Javaでいうプリミティブ型の説明としては正しいけど、このままオブジェクトを考えると辛いよねと言いますか。 Javaで言えば、 "new Object()"が「箱を作る」 "hoge = new Object()"は、「箱を作る」と同時に「ラベルを付ける」。Objectの形の箱を作って、"h

    「変数は箱」という例え方について - @katzchang.contexts
    shozzy
    shozzy 2009/06/27
    「箱とラベル」も「フック」も参考になる。/とはいえ、わかるひとにはわかる世界でもあるしなぁ。新人さんとか入ってきたら、なんとか教えるしかないわけだけども。
  • Martin Fowler's Bliki in Japanese - 流れるようなインターフェース

    http://www.martinfowler.com/bliki/FluentInterface.html 2005/12/20 数ヶ月前、Eric Evansと一緒にあるワークショップに参加した。 そこで彼がとあるインターフェースのスタイルについて語ったのだが、 我々はそれを「流れるようなインターフェース(fluent interface)」と名づけることにした。 一般的なスタイルではないが、もっと評価されるべき代物だ。 おそらく例を示したほうがいいだろうから、そうしてみることにする。 一番簡単な例は、EricのtimeAndMoneyライブラリだろう。 時間の間隔を作るには、通常は、以下のようにする。 TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock,

  • ガツンと言ったかどうかは別にして - 宇宙行きたい

    そうしたら、ヨシオリが出てきて、さらに「ガツン」といった。 「コードが多くても、実際の作業としては ctrl+space を押すのが大半だから、生産効率に差はないんですよ。」 ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを blog と言ったんだ.まぁ,言ったんだけどなんというかイヤな言い方をすると, 「喧嘩売る気は無いけど売られたら買うよ」的な気持で言っただけなのです. で, Javaを愛する人というのは、決してJavaを崇拝なんかしてなくて、Javaの欠点を誰よりも憂いている。 java-ja15回で考えたこと - プログラマーの脳みそ というように別に崇拝はしてなくて欠点ももちろん承知してるんだけど, 欠点は補えば良いだけなので例えばSeasarのようなFWだったりIDEだったりするわけです. なので 「Google App Engineは、Python版以外にJava

    ガツンと言ったかどうかは別にして - 宇宙行きたい
    shozzy
    shozzy 2009/06/26
    同意。別に宗教戦争なんてしなくていい。したくない。いろいろあってそれでいいじゃない。
  • 全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

    この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Railsrubyということを言う人もいるよね)。 少なくとも僕は、Eclipse

    全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
    shozzy
    shozzy 2009/06/17
    これはすばらしい。Eclipseでさくさくほげほげする術が詰め込まれてる。手を動かしながら読まねばー
  • ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを技術ブログ

    ぼくは水曜日にTokyo Cloud Developerの集まりに出た。 そこで、LLのひとから、「Google App Engineは、Python版以外にJava版も出たけど、サンプル見たけど、たくさんコード書かなければいけなくて、正直どこがいいのか教えて欲しい」という質問があった。 blogに名前を出していいかの了解を得ることを忘れたので、ここには、LLの人としか書けない。 ぼくは、そこで一言申し上げた。あるいはそれは、「申し上げた」というような生やさしいものではないかも知れない。端的な言い方をすれば、ガツンと言ってやった。 客観的に見て、ぼくはガツンと言ってやったと思う。LLな方々を前に、「いまどきのフレームワークは進化しているから、言語による差なんて余りない。仮に、Javaのほうが二倍コードを書く必要があったとしても、開発の中でコードを書いている時間より考えている時間のほうが圧倒

    ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを技術ブログ
    shozzy
    shozzy 2009/06/17
    コメント欄がひどいことになってるw/こういうのって宗教論争になっちゃうよね。
  • グローバルフック・ザ・キーボード

    今日は、過去に書いたコードの中から、キーボードフックを実装するクラスを紹介しましょう。 .NETではフックに関して、「グローバルフックは使えない」と説明されています。DLLにグローバルフックで使用されるコールバック関数を実装しなければならないのに、.NETではそのDLLを作れないからです。 なんですが、何故かWH_KEYBOARD_LLやWH_MOUSE_LLはグローバルフックが可能なようなのです。理由は定かではありませんが。ひょっとしたら何らかの環境依存があるのかも知れません。ですから当然動作保証などできません。少なくとも私の環境では動いています。 コードそのものはそう大したことはしていません。SetWindowsHookExとその周辺を軽くラップした程度です。 テクニックとしては、直接SetWindowsHookExが要求するコールバックを外に見せるのではなく、コールバックメソッドその

    グローバルフック・ザ・キーボード
    shozzy
    shozzy 2009/06/14
    キーボードのグローバルフック(C#)