タグ

2014年9月3日のブックマーク (7件)

  • GoでNewなんとかのような関数を不必要に提供しないほうが良い理由 - Qiita

    構造体を定義して、それに対してメソッドを定義して、最後にその構造体をアロケートして初期化するNewなんとかという関数を用意する、というのを何の疑問も持たずに行っているならちょっと考えものだ。途中まではよいが、Newなんとかみたいなのは別に必須ではない。 メソッドとゼロ値 Goでは新しい値は「ゼロ値」で自動的に初期化される。ゼロ値は型ごとに違うが、数値なら0、文字列なら空文字列、ポインタやインターフェイスならnil、といった具合の値だ。構造体ならそれぞれのフィールドがゼロ値で初期化される。 メソッドはそのレシーバーの値のゼロ値に対して問題なく動くように書くほうがよい。構造体Tを割り当てて初期化する関数としてNewTみたいな関数を用意するのは、当に初期化が必要なとき以外はやらないほうがよい。 なぜか、というといくつか理由がある。 NewTの代わりにnew(T)を使うようにすると、エクスポート

    GoでNewなんとかのような関数を不必要に提供しないほうが良い理由 - Qiita
    atm_09_td
    atm_09_td 2014/09/03
  • vmstatのように扱えるモニタリングツール『Collectl』コマンド | 俺的備忘録 〜なんかいろいろ〜

    今まで、 『nmon』や『Glances』、『saidar』といった監視ツールを紹介してきたが、今回はvmstatライクなコマンド『Collectl』コマンドを紹介する。 このコマンドは、vmstatのように出力した結果を外部ファイルに出力させる事が出来るツールだ。 1.インストール まずは、以下のコマンドでインストールを行う。 sudo apt-get install collectl # Debian/Ubuntuの場合 sudo yum install collectl # RHEL系の場合 2.コマンドの実行 さて、それでは実際に『Collectl』コマンドを実行してみよう。 まずはヘルプの内容から。 $ collectl -h defined(@array) is deprecated at /usr/share/collectl/formatit.ph line 3149. (

  • JavaScript初級者から中級者になろう — uhyohyo.net

    このページの最終更新日:2019年7月4日 JavaScript。主にWebページを作るのに使われるほか、現在ではさまざまなところで活躍しているプログラミング言語です。 このページはJavaScriptの中級講座です。最新鋭ではないかもしれませんが、読み進めれば大抵のものを自分で作れるようになることでしょう。 言い訳とJavaScript歴史 / 問い合わせ 最近の更新2017/10/05 全ページを手直ししました。十六章第六回を追加。2017/11/9 十六章第二十一回・十六章第二十二回を追加。2017/12/2 十七章第三回・十七章第四回を追加。2017/12/3 十七章第五回・十七章第六回・十七章第七回を追加。概要コンテンツは第一篇と第二篇に分かれています。 JavaScriptは昔からWebページに動きを与えるものとして用いられてきましたが、第一篇ではそのような、昔からあるJav

    JavaScript初級者から中級者になろう — uhyohyo.net
  • ヒープに対する攻撃とその対策

    攻撃手法を技術的に理解するための連載、今回はスタックと並んでよく耳にする「ヒープ破壊」を取り上げます。 連載目次 前回取り上げたスタックオーバーフローは比較的理解しやすい攻撃手法なのですが、今回取り上げるヒープオーバーフローは少々分かりにくい面があります。恥ずかしながら、筆者自身、これまでなかなか理解ができていなかったのが実情です。スタック管理と比較すると、ヒープ管理はとても複雑で、解説が難しいのですが、ここではできるだけ単純化し、ポイントとなる点をご紹介していきます。 ヒープメモリとは スタックとヒープは、どちらもプログラムに動的なメモリ領域を提供するための仕組みです。スタックは関数の呼び出しなど、プログラムの制御に伴って利用されるもので、コンパイルの結果としてスタック操作が組み込まれるため、プログラマーが意識することは少ないと思います。 これに対してヒープは、プログラム中でmalloc

    ヒープに対する攻撃とその対策
  • ユニーク制約の使いどころ - 設計者の発言

    前回記事で説明したように、主キーは「ユニーク制約をともなうインデックス」ではなく、「来的なユニークキー(一次識別子, Primary Key, PK)」である。すなわち、「NULL値をとらないし、レコードのライフサイクルにおいて値が更新されないユニークキー」だ。テーブルはユニークキー(候補キーともいう)をいくつも持ち得るが、その中で少なくとも1個は主キーとして位置づけられる必要がある(*1)。 「来的なユニークキー」はわかった。では「来的でないユニークキー」とはどんなものか。その使いどころや効果的なテクニックについて説明しよう。 まず次のモデルを見てほしい。主キーが「顧客コード」であることが<...>で示されている。これに「顧客名+所在地」の組み合わせでユニーク制約({...}で示してある)を与えた例だ。同名顧客名があり得るため、SKには「所在地」も含めてある(顧客名や所在地は正規表

    ユニーク制約の使いどころ - 設計者の発言
  • プログラミング初心者が中・上級者になるためには、GithubのリポジトリをWatchすればいいんじゃないかな - iakioの日記

    よく、プログラミングを学ぶ方法として「まずは何か作りたいものを見つけて、、、」といったアドバイスを見かける。たしかに何かを作り上げることで学ぶことも多いのだけれど、どちらかというとそれは実装方法よりもデプロイだったりライブラリやツールの使い方といったところの方が大きいように感じる。 一方で、実装方法については、自分で問題を解決しているだけだとどうしても自分の考え方にとらわれてしまう。 プログラミングの上達のためにきっと一番大切なことは環境で、近くに良い師匠がいるのであれば様々な問題の解決方法を学ぶことができるだろう。 そうでない場合は、インターネット上でお手を見つけるのが良いと思う。 あまり大きすぎず、ある程度活発なお気に入りのプロジェクトGithubで見つけてWatchする。毎日届くNotificationをざっとで良いので目を通す。最初はほとんど意味がわからないだろうけどかまわない

    プログラミング初心者が中・上級者になるためには、GithubのリポジトリをWatchすればいいんじゃないかな - iakioの日記
  • PowerShell の Pipeline と C# の LINQ の簡単な比較とかなんとか - tech.guitarrapc.cóm

    てきとーです。ふぇぇ、まさかりこわいです。 PowerShell といえば Pipeline 処理。 C# なら LINQ がわかりやすい対比になると思ったのでてきとーな記事をでっち上げてみます。 今回は文字列(string) を題材にします。 目次 目次 わかりやすい例 : フィルタ PowerShell LINQ Redis の info 結果で試す 文字列のデリミタを探す PowerShell LINQ なにができるようになったの まとめ おまけ わかりやすい例 : フィルタ とりあえず Where ですよねー。 PowerShell Pipeline 処理といえばてけとーにプロセス取得してフィルタしてとか Get-Process | where Name -eq "powershell" あるいは、v4からの .Whereオペレータを使って Pipeline使わずつなげると [Sy

    PowerShell の Pipeline と C# の LINQ の簡単な比較とかなんとか - tech.guitarrapc.cóm