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

  • Rubyで文字列を `Kenkenization` する - Qiita

    うちのチームにkenkenというニックネームのメンバーがいて、日々がんばっています。 今日、pyamaさんというひとが「kenkenってタイプするの面倒だからkenにしなよ」と横暴なことをいいだして、「こりゃマズい、kenkenの入力を効率化しないと勝手に名前を変えられてしまう!」というわけで、みんなで知恵をふりしぼりました。 既存手法 kenkenという文字列は、kenという文字列がふたつ並んでいます。つまり、プログラマの三大美徳のひとつ「怠惰」という観点からすると、同じ文字列の入力を2回繰り返すのは、とてもダルいことです。 これを解決するために、まずはストレートに以下の案がでました。 確かに、2回同じ文字列の入力を繰り返すことは避けられました、しかし、繰り返しは避けられたものの、puts "kenken"に比べて、総入力文字数という観点では、むしろダルくなっているのは否めません。 そこ

    Rubyで文字列を `Kenkenization` する - Qiita
    pyamax
    pyamax 2019/09/05
    “pyamaさんというひとが「kenkenってタイプするの面倒だからkenにしなよ」と横暴なことをいいだして、”
  • The Story of Method Lookup - Qiita

    おおむね以下の点を理解することを目標に、CRubyのメソッド呼出がどのようなフローで実行されているかを見ていく。対象バージョンは2.4.1。 Rubyで定義されたメソッド、C拡張で定義されたメソッド、コア内部で実装されたCのメソッドはそれぞれCRuby内部でどういったデータ構造で保管されているか それらはそれぞれどのようなアルゴリズムで検索されるか それらはそれぞれどのような流れで実行されるか メソッドキャッシュはどのように実装されており、どういう時使われるのか バックトレースの管理などメソッド体の処理以外には何が行なわれているのか send命令とopt_send_without_block命令とrb_funcallの間では何が異なるのか なおこの記事のタイトルは、RubyConf 2015の時 Messenger: The (Complete) Story of Method Look

    The Story of Method Lookup - Qiita
    pyamax
    pyamax 2019/04/23
    なるほどなぁ。Ruby沼にハマってきた。
  • ロリポップマネージドクラウドでLaravelアプリのセットアップ手順 - Qiita

    ちょっとお仕事で、セットアップ手順を確認する必要があったので備忘録的にメモします。 権限周りはあんまり気にしてないのでセキュリティ面で大丈夫かはちょい不安 とりあえず某学校の教え子は俺に焼肉奢っておくと良いと思う。 手順1 composerをインストール ユーザーディレクトリをいじれないので、/var/www/binにcomposerを設置して、パスを通します。 cd /var/www mkdir bin cd bin php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php mv composer.phar composer export PATH=$PATH:/var/www/bin vi ~/.bash_profile

    ロリポップマネージドクラウドでLaravelアプリのセットアップ手順 - Qiita
    pyamax
    pyamax 2019/01/07
    いせきさんじゃん。
  • Goで書けるタスクランナーMageが快適すぎて捗る - Qiita

    Goを始めてからずっと Robo や Task といったYAMLベースのものでビルドタスクを書いていたのですが、プロジェクトが増えてきて限界を感じました。 YAMLベースと言ってもタスクの記述部はあくまでもただのシェルであり、せいぜい「Makefileよりは読みやすいよね」程度。シェルへの依存度が高いと、どうしてもこういう問題が目立ってきます。 環境依存で「動きません」って他のメンバーに言われがち。MacLinuxで date コマンドのオプションが違うとかよくある。かといってビルド用のDockerイメージを作るほどではまだない grep sed 等で正規表現の魔術的な操作が増えると、一見何やってるのか分からなくなりがち エラー処理が雑になりがち。パイプの途中のエラー拾うとかしんどい 遅い。並行処理書くのもしんどい 個別のタスクをライブラリ化してインポートしたいけど、決まったやり方がない

    Goで書けるタスクランナーMageが快適すぎて捗る - Qiita
    pyamax
    pyamax 2018/06/06
    これ後でよく調べる
  • MetabaseがRedashの苦労を吹き飛ばすくらい熱い - Qiita

    昨年末からデータ可視化ツールを諸々触る中で Redash おもろいわ〜ってなってたんですが、QiitaでMetabaseの記事を目にしてしまったので使わざるを得なかった。投稿者様ありがとうございます!! https://qiita.com/acro5piano/items/0920550d297651b04387 面白さに勢いで書いてしまったので、拙い点はご容赦ください。 結論から言えば、MetabaseはRedashより遥かに使いやすかった!!(あくまで可視化系ツールを最初に触る人としてはという枕詞つきですが) Docker使ってる身としては、docker composeでシコシコとセットアップしなくても、docker run 一発で起動できるのは楽で助かる。もちろん、docker compose は様々なコンテナをまとめてセットアップする点で楽なのですが、1ツール1コマンドで起動するの

    MetabaseがRedashの苦労を吹き飛ばすくらい熱い - Qiita
    pyamax
    pyamax 2018/01/06
    この手のツール別にセットアップの手間どうでもいいと思う
  • カーネルモジュール作成によるlinuxカーネル開発入門 - 第一回 hello world - Qiita

    はじめに 記事の内容はUbuntu16.04でのみ確認しています。同名の電子書籍においてはUbuntu 18.04に対応しています。 記事の目的は、linuxのカーネルモジュール(以下カーネルモジュール)というものの作成を通じてlinuxカーネル(以下カーネル)の開発に最低限必要な知識をつけることです。C言語のポインタがわかる程度の開発スキルがあれば多分読めると思います。 記事は、過去にセキュリティ&プログラミングキャンプ2010というイベントの中のLinux開発者育成コースにおいて使用した資料を加筆、修正したものです。1つの記事に納めるのは無理がある分量なので、(不定期)連載という形式をとることにしました。 記事に記載されているコードを実際に試すためには、仮想化機能を持つCPUを搭載したPCにインストールされたUbuntu16.04が必要です。CPUの仮想化機能を持っているどうか

    カーネルモジュール作成によるlinuxカーネル開発入門 - 第一回 hello world - Qiita
    pyamax
    pyamax 2017/07/20
    これは一つアイディアが生まれる気がする案件だ。
  • 期待のSSH認証方式「STNS」を試す - Qiita

    これは、2016年のアドベントカレンダーを書く時間がなかったときの、逃げ道に用意してあった記事です。 すっかりアップロードを忘れていました。 そのため、手元のタイムスタンプでは 2016/12/08最終更新 となってますのでご注意ください。 はじめに Linuxのユーザー管理にLDAPを使うのにうんざりしている人、いますよね。 RDB系と違って癖があるので、説明するのも大変だったりします。 STNSはそんな方々にとって理想的な代替手段になりそうなOSSです。 セットアップしてみる 上記の通り、この手順は 2016年12月頃に検証したログ です。 手順を鵜呑みにせず、 必ず最新の情報を確認してからセットアップしてください。 試験環境はCentOS6です。 インストール インストール手順に従ってyumリポジトリが公開されています。 それを使用する場合はこちら。 ### バグがあると嫌なので、

    期待のSSH認証方式「STNS」を試す - Qiita
    pyamax
    pyamax 2017/06/04
    期待のやつじゃないですか・・・
  • mruby で C 言語の構造体をラップしたオブジェクトを作る正しい方法 - Qiita

    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

    mruby で C 言語の構造体をラップしたオブジェクトを作る正しい方法 - Qiita
  • 運用の問い合わせチケットを10分の1に削減した話 - Qiita

    Help us understand the problem. What is going on with this article? 会社で働いていると、運用チームからの問い合わせがあると思います。 問い合わせというものは、割り込みに繋がり生産性を下げるのでなるべく減らしていきたいものです。 Redmineで管理されているオープンなチケットを10分の1に削減した話をまとめます。 常時、約50枚ほどオープンなチケットを5枚ほどに減らしました。 問い合わせが多くて辛みを味わっている方の参考になれば。 概要 Web自社サービス タスク管理ツール Redmine 毎日、5枚ほどチケットが増える 運用と開発がそれぞれ20人ほど こんな環境です。 改善のきっかけ うちのチームは、当番制で「問い合わせの窓口」(以下、窓口)となる人を作ります。 窓口の人がチケットを解決したり、有識者にチケットを委譲した

    運用の問い合わせチケットを10分の1に削減した話 - Qiita
    pyamax
    pyamax 2016/10/22
    良い記事。今まさしく僕もやっていて、僕はもう少し技術で解決したいなという思いがある。ルールを作ってそこに準じるよりは人が気持ちよくやるだけでルールに添えるような仕組みにしたい。その隙間を技術で埋める。
  • Linuxユーザ管理の決定版? 〜STNSとサーバレスで夢が広がる〜【cloudpack大阪ブログ】 - Qiita

    こんなん作りました STNS+AWS API Gataway+DynamoDBでサーバレスユーザ統合管理 https://github.com/shogomuranushi/stns-apibackend これなんなん? STNSという簡易LDAP的なユーザ管理のOSSとAPI Gateway、DynamoDBを組み合わせたもの 何が出来るん? 複数台のLinuxユーザ管理を手軽にサーバレスで出来る 今までのユーザ管理は何があかんかったん? How Use

    Linuxユーザ管理の決定版? 〜STNSとサーバレスで夢が広がる〜【cloudpack大阪ブログ】 - Qiita
    pyamax
    pyamax 2016/08/26
    ここまでやりきってもらえるの本当にありがたいです。
  • STNSのバックエンドをつくろう - Qiita

    この夏、あるシステムでSTNSを使えそうな気がしました。 STNSとは何か、ですって? なら落ち着いて、時代が求めたSTNSと僕 // Speaker Deck を読みましょう。 OK、読みましたかね。 で、ユーザのDBにSaaSの何かを使えればいいなとおもってバックエンドを書けるかなという試み。時代とはつまり私だった。 この記事で出てくるコードを置きました。 https://github.com/sawanoboly/stns_backend-sinatra-example STNSのバックエンド仕様を調べました 注: こちら、記事作成時点のSTNS APIバージョン1.0の仕様についての調査です。※バックエンドの指定にv2をつけなければそのまま使えます。 API v2.1(またはそれ以降)については http://stns.jp/en/interface STNS製作者のP山さん曰く、

    STNSのバックエンドをつくろう - Qiita
    pyamax
    pyamax 2016/08/04
    僕はこの夏、神を見ました。
  • Go言語の並行処理デザインパターン by Rob Pike 前編 - Qiita

    少し古いですが、Rob Pikeの並行処理デザインパターンのビデオで取り上げられたコードまとめです。 オリジナルのソースコードはこちらで見れます。 Generator ジェネレータ package main import ( "fmt" "math/rand" "time" "runtime" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) rand.Seed(time.Now().UnixNano()) c := boring("boring!") // Function returning a channel. for i := 0; i < 5; i++ { fmt.Printf("You say: %q\n", <-c) } fmt.Println("You're boring: I'm leaving.") } func

    Go言語の並行処理デザインパターン by Rob Pike 前編 - Qiita
    pyamax
    pyamax 2016/06/03
    あとで
  • シェルだけで色々こなす、便利なシェル芸 - Qiita

    シェルだけで、ファイル名だけ変更、またはファイルを一括指定 ファイルパス展開で{a,b,c}記法を使うと、パスの一部(例:ファイル名)だけが違う複数ファイルを簡単に指定できます。

    シェルだけで色々こなす、便利なシェル芸 - Qiita
    pyamax
    pyamax 2016/05/02
    便利
  • あなたのサーバは本当に安全ですか?今もっともイケてる脆弱性検知ツールVulsを使ってみた - Qiita

    はじめに サーバ管理をしている身としては、 セキュリティ は常に付きまとう悪魔みたいなもので、このセキュリティに関しては何をどこまで頑張ればいいのか不透明な部分が多い。 脆弱性に関しては、CVEなど、毎日情報は入ってくるが、それがどのサーバの何に関連したものなのかなんていちいち調べてられないし、どの脆弱性がすぐに対応しなければいけないもので、どの脆弱性があとあと対応すればいいものなのかなんてわからない。 実際のところ、大きな話題になった脆弱性くらいしか緊急で対応してないという人は多いのではないかと思う。 そんな中、満を持して登場したのが vuls !! 各サーバの脆弱性情報を取得して、個々のサーバそれぞれでどんな脆弱性があり、どのくらいやばい脆弱性なのかを検知できるようになった! 今回はこのvulsを紹介します。 Vulsとは 公式でロゴが発表されたので、差し替えました 公式ドキュメント:

    あなたのサーバは本当に安全ですか?今もっともイケてる脆弱性検知ツールVulsを使ってみた - Qiita
    pyamax
    pyamax 2016/04/30
    早く使いたい。
  • RailsでAPI開発する前に知っておくべき4つのこと - Qiita

    $ bin/rails g scaffold user name:string mail:string password:string invoke active_record create db/migrate/20151214145437_create_users.rb create app/models/user.rb invoke test_unit create test/models/user_test.rb create test/fixtures/users.yml invoke api_resource_route route resources :users, except: [:new, :edit] invoke scaffold_controller create app/controllers/users_controller.rb invoke test_un

    RailsでAPI開発する前に知っておくべき4つのこと - Qiita
  • うっかり起動してしまった時間のかかるプロセスをtmux上に付け替えたい - Qiita

    うっかり生のシェル上で時間がかかるプログラムを起動してしまって困ったこと、ありませんか。 こういう時に使えるコマンドに、reptyrがあります。 インストール Debianなら

    うっかり起動してしまった時間のかかるプロセスをtmux上に付け替えたい - Qiita
    pyamax
    pyamax 2015/12/16
    便利。
  • 1