タグ

ブックマーク / qiita.com (130)

  • programming - コードを書き続けるためにやってること - Qiita

    プログラミングの生産性を上げるには - Cside::Private とても面白かったのでマネしてみた。人それぞれあると思うので自分のスタイルを。 といっても、かなり不真面目なので参考にはならないと思う。 1 . README.rst を書く まず最初に何がしたいのか、どんなことをしたいのかを書く 概要、ゴール、実装方法、使用ライブラリ、TODO などを書いていく そして README.rst に擬似コードを書き始める コンパイルが通る必要は無い コメントもガンガン書いていく とにかく issues とか使わず全て README.rst に書いていく 一通り出来てきたら Trello にタスクを移す 2 . 擬似コードでプロトを書く コードを書いてみないと分からない事が多いのでまずはコードを書く よく iPhone でコードを書いているのだが、オレオレ言語で書いている Erlang っぽい

    programming - コードを書き続けるためにやってること - Qiita
    hiromark
    hiromark 2014/05/22
    部分的にはやってる
  • Vimでとても簡単かつ直感的にCSVを編集する方法 - Qiita

    Vimでとても簡単かつ直感的にCSVを編集する方法は以下の通り。 1. 以下のVimプラグインをインストールする。 https://github.com/rbtnn/rabbit-ui.vim https://github.com/rbtnn/rabbit-ui-collection.vim 2. Vimから以下のコマンドで編集したいCSVファイルを選択する。 :RabbitUICollectionEditCSV ./a.csv 3. 使い方は以下の通りです。 jキー: カーソルを下に移動する kキー: カーソルを上に移動する hキー: カーソルを左に移動する lキー: カーソルを右に移動する eキー: セルの値を編集する Enterキー: 終了する(保存する) qキー: 終了する(保存しない) ※ 結構重くなるんで、実際運用するのには向いてませんよw。Vimでこういうこともできるんだ程度

    Vimでとても簡単かつ直感的にCSVを編集する方法 - Qiita
    hiromark
    hiromark 2014/05/22
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
    hiromark
    hiromark 2014/05/20
    ふむ。
  • CentOSの初期設定で最低限やること(@さくらのVPS) - Qiita

    続いてrootに関する設定を行います。 以下ではrootになれるユーザーおよびsudoコマンドの実行ユーザーの設定を行っています。 # vim /etc/pam.d/su # 以下の行のコメントを外す auth required pam_wheel.so use_uid # visudo # 以下の行のコメントを外す %wheel ALL=(ALL) ALL

    CentOSの初期設定で最低限やること(@さくらのVPS) - Qiita
  • 第20章:Scalaでアクター! - Qiita

    ついに アクター について語る時がきました。 Scalaの醍醐味の一つです。 そして難しいです。。。 でも、アクターを使うと並列処理を扱うことが簡単になります。 ただアクターには色々な種類があるので、そこが簡単じゃないかも。。。 アクターの歴史 2.9のアクターは知らないんだけど、2.10からは標準のscala.actorパッケージが非推奨になっていて 今後削除されるみたいなんだ。 そして、今後はAkkaのアクターを使うことが推奨されている。 The Scala Actors API Akkaとは Typesafe社が開発していて、高い抽象度・並行・スケーラブルなアプリケーションを実装するためのScalaJavaのイベント駆動の分散並列型アプリケーションフレームワークです。 Typesafe社は、Scalaの生みの親Martin Oderskyの会社ですね。 アクターとは ところで アク

    第20章:Scalaでアクター! - Qiita
  • エンジニアなら知っておきたい障害報告&再発防止策の考え方 - Qiita

    システムには障害がつきものです。どんなにしっかりと作られたサービスであっても思わぬところで、バグやミスが発覚して、トラブルになるものです。大事なのはこういった障害を次への糧にしていくこと。失敗というのは大事な資産なので、管理できるようにしましょうという話。 あわせて読みたい あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ メンタリングの方法について基礎をまとめました。内心でなく行動を変えることが障害報告とも共通します。 新入社員が来てメンターになれって言われたけど、どうすればいいのかという対話テクニック 半年で40kg痩せた!ダイエットでわかるリーンなプロジェクトマネジメント手法 心理的安全性ガイドライン(あるいは権威勾配に関する一考察) 障害の種類と障害報告について 障害には、小さなもの、たとえば画面に表示されているテキストの乱れから、すべての画面で50xエラーが発生

    エンジニアなら知っておきたい障害報告&再発防止策の考え方 - Qiita
  • 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内

    新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • Play2(Scala)のFilter機能で事前・事後処理を記述する - Qiita

    Play2(Scala)のFilter機能で事前・事後処理を記述する はじめに BounscaleというオートスケールするHeroku Addonを作っています。 Bounscaleでは実験的にPlay2(Scala)への対応を実施中です。 オートスケールするにあたり、各種リソースの監視が必要なのですが、リソース値の取得をするためにPlay2のFilterの仕組みを利用しています。 Filterの使い方について下記にまとめます。 Filter? FilterというとJavaのSevletFilterやRuby on Railsのfilterなど、Webアプリケーション開発では比較的浸透した用語だと思います。 処理としてはある特定のURL/コントローラへのリクエストについて、共通的な事前/事後処理を提供する機構です。 J2EEパターン(懐)のIntercepting Filterが語源なのか

    Play2(Scala)のFilter機能で事前・事後処理を記述する - Qiita
  • Scala: Listにインデックスを振りながらmapする方法 - Qiita

    val list = List("a", "a", "a") list.zipWithIndex.map { case (item, index) => index + "番目の" + item } Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Scala: Listにインデックスを振りながらmapする方法 - Qiita
  • PHPでスクレイピング【Goutte vs. Simple HTML DOM Parser】 - Qiita

    PHPスクレイピングをしようと思って検索すると、Simple HTML DOM Parserというライブラリと、Goutteというライブラリが紹介されてあるようです。 昔から存在してPHPスクレイピングの定番になっているのが、Simple HTML DOM Parserらしく、紹介記事も多い。 Goutteは、パフォーマンスが良いらしいが、比較すると記事が少ない。 そこで、記事は、パフォーマンスバトルと実装方法についてまとめておきます。 「SayMove!のランキングページから、動画のタイトルを取得する」でベンチマーク対決していただきます 1, Simple HTML DOM Parserのベンチマーク 1-1, 導入 Simple HTML DOM Parserの公式サイトにアクセスして、ダウンロードして、作業ディレクトリにsimple_html_dom.phpを配置する。 1-2,

    PHPでスクレイピング【Goutte vs. Simple HTML DOM Parser】 - Qiita
  • シェルスクリプトを書くときに気をつける9箇条 - Qiita

    最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

    シェルスクリプトを書くときに気をつける9箇条 - Qiita
  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
  • Nginx導入時、サクッと対応しておくと良いかもしれない - Qiita

    HTTPレスポンスヘッダにサーバのバージョンの表示を消す なぜ必要? 潜在攻撃者への情報提供になることも。 もし使用中バージョンの脆弱性が明らかになった時、恰好の標的になるとか。 対応 nginx.confのhttpディレクティブに server_tokens off; を追加。

    Nginx導入時、サクッと対応しておくと良いかもしれない - Qiita
  • Java8のCollectorをfor文と比較しながら一から作って理解する - Qiita

    Java8になってたくさんの機能が追加されたッッッ!!!。Stream APIもその一つ!!! lambda関数は理解できた!Stream APIの各機能も大体理解できた。。 だけど、collectメソッド、およびその引数に渡すCollectorがよく理解できなかったので、関数型の考え方に不慣れながら簡単なものを作ってみるところから勉強してみた! collectとは? ストリームの終端処理の1つ。ストリームから流れ出るデータをまとめて1つのデータを返す。 reduceみたいな動きと似ているけどもっと汎用的に記述ができるらしい。返すデータがまたもやストリームでもよい。 collect関数に渡す引数がCollector。つまりストリームからなにか新しいデータを作りだしたいときにCollectorを用意すればなんなりと作り出して左辺に代入できるのだ! OreOreData ood = strea

    Java8のCollectorをfor文と比較しながら一から作って理解する - Qiita
  • 調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 - Qiita

    なるほど、最近ソケット通信、ソケット通信と言ってるのはUNIXドメインソケットの事か! UNIXドメインソケットって何がいいの? Performance Analysis of Various Mechanisms for Inter-process Communicationに素晴らしい検証があった。 It was hypothesized that pipes would have the highest throughtput due to its limited functionality, since it is half-duplex, but this was not true. For almost all of the data sizes transferred, Unix domain sockets performed better than both TCP so

    調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 - Qiita
  • 人類は Java をターミナル内で書く手段を確立していた - Qiita

    X なしで Eclim を使う方法。 導入 Vagrant や Docker の流行により、気軽に仮想マシンを使う時代になっています。すると開発にも仮想マシンを使うようにしてホストマシンはできるだけ汚さない方向に持って行きたいことになる。手軽に使いたいため当然 X 環境などは構築しない。 ここで問題になるのは IDE を前提にした言語。 IDE はウィンドウシステムの中で動くため、仮想マシンを X なしで使うと IDE の機能を使えず開発が厳しくなってくる。 具体的に言うと Java 、ジャバ、ジャヴァである。 書くときはあまりにも長い名前をタイプしたくないため補完が欲しくなり、読むときは名前解決のためのタグジャンプが欲しくなる。 追記 僕のモチベーションは VM の中に開発環境を閉じ込めてしまいたくて、かつ X を使いたくないところにあります。そうじゃない人はホストマシンで開発なり VM

    人類は Java をターミナル内で書く手段を確立していた - Qiita
  • Ruby 2.1.1 GC Tuning - Qiita

    Help us understand the problem. What is going on with this article? Ruby2.1では、RGenGCによりかなりパフォーマンスが改善されている。 また、チューニングパラメータが増えているが、まとまった日語の解説が無かったので書いてみた。 間違いがある可能性があるので、指摘は歓迎です。 RGenGCとは RGenGC(Restricted Generational Garbage Collection)については、まずはこれを読むべし www.atdot.net/~ko1/activities/rubyconf2013-ko1_pub.pdf www.atdot.net/~ko1/activities/2014_rubyconf_ph_pub.pdf Ruby 2.1: RGenGC · computer talk by

    Ruby 2.1.1 GC Tuning - Qiita
  • Redis Sentinelで自動フェイルオーバー - Qiita

    この投稿は自分のブログ記事からRedis Sentinel関連の項目だけ抜粋したものです。追記事項があればブログの方に書いていきます。 「Redisの監視/分析系ツールまとめ」 http://rest-term.com/archives/3045/ Redisプロジェクトで開発されている、Redisサーバの死活監視/通知および自動フェイルオーバー機能を提供する管理サーバ(redis-sentinel)です。v2.4.16または2.6.0-rc6以降のバージョンから利用可能になりました。公式ドキュメントを参考にしつつ動作確認をします。 環境: CentOS 5.9 (x86_64), Redis 2.6.10 構成 ここでは2つのホストでSlaveを2プロセス、Sentinelを3プロセスの構成で試します。 Master db0:6379 Slave db0:6380, db1:6379

    Redis Sentinelで自動フェイルオーバー - Qiita
  • Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming) - Qiita

    Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming)agilelean はじめに Kent Beck氏がスタートアップのイベントに登壇し、素晴らしい講演をしたビデオを友人のタイムラインから見つけました。Startup Lessons Learnd: Kent Beck talks beyond agile programming アジャイルマニュフェストは10年が経過して、誰かの為にソフトウェアを作っていた時代から、スタートアップの時代に移行し、内容が一部古くなっていました。ところがこの講演でKentBeck氏は、それに対する素晴らしい回答をしてくれています。この内容が2010に行われているとは驚きです。 今回、このビデオを未熟なりにディクテーションして、適当ですが、日語訳を作ってみました。人に承認を取るつも

    Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming) - Qiita