ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

ruby の検索結果:

rubyで指定回数実行して、最大数に達した時エラーにする書き方をまとめる

…oop take$ ruby loop.rb 1 2 3 まぁ、普通のloopだ。インクリを自分で書くところがイケてない。 while num = 1 while num <= 3 do puts num num += 1 end 結果は同様。終了条件をwhileで書ける分短くなるが、インクリを自分で書くところはイケてない。 for for num in 1..3 do puts num end rubyではforは使わないeachを使えって説はよく見るけど連続した数値オブジ…

ansibleでvagrant上のVMにgitlabをインストールするplaybookを書いた

はじめに ついにansibleでレシピを書きました。本はこの本を一通り読みました。良い本です。 初めてのAnsible作者: Lorin Hochstein,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2016/04/16メディア: 大型本この商品を含むブログ (2件) を見る ansibleのバージョン 実際使わなかったんですが、iptables moduleを使うために2.0をいれました。1.9からのアップグレードは失敗したので、pip unin…

自動構成ツール「itamae」をMacのローカル環境管理に使ってみる

…ostgresql ruby-build autoconf libyaml openssl rbenv tmux jq mysql pkg-config readline tree レシピを書く brew.rb %w(ansible libevent oniguruma postgresql ruby-build autoconf libyaml openssl rbenv tmux jq mysql pkg-config readline tree).each do |pk…

Infrastructure as a codeの世界へ行く

… エージェントあり。Ruby製。冪等性あり。レシピはRubyベースのDSL。 Chef エージェントあり。Ruby製。冪等性あり。レシピはRubyベースのDSL。Puppetと似てるな。 Ansible エージェントレス。Python製。冪等性あり。レシピはyaml。 itamae エージェントレス。Ruby製。冪等性あり。レシピはRubyベースのDSL。 社内で実績あるのはPuppetなので、Puppetになりそうな予感です。 インフラテストツール ServerSpec も…

open3でシェルコマンドを実行してラップする

…すが、せっかくなのでrubyで統一感を出したいと思い、open3を使って実装してみることにします。 open3 外部コマンドを実施して、標準出力、標準エラー出力、終了ステータスが得られる、とても便利。 kaihar4.com - Rubyのopen3が便利だった話 まず、サンプルのcapistranoのtaskを書きました。 deploy/local.rbにローカル定義。 server 'localhost', user: 'root', roles: %w{web} dep…

capistranoでリモートサーバへのコマンド実行を自動化する

…ritten in Ruby. 元々railsプロジェクトを複数のサーバ(productionとstaging)に一気にデプロイをするためのツールです。バージョンが3系からrailsから独立したんですね。 ただこれ考えようによってはリモートサーバにシェルコマンドを送り込むツールとして使うこともできて、今回はその使い方で手順を自動化しようと言う話です。 ちなみに実際の手順書は数十ページに及ぶわ、対象サーバは10種類以上あるわ、1台やるのに30分〜1時間かかるわで、自動化の価値は…

クールでエレガントなドキュメント作成をするのにasciidocかなり良いぞ

…みたいですが、後発のruby製のasciidoctorのほうが楽だったのでそちらをおすすめします。 これはmacかlinux環境が必要なので、windowsユーザにはいちいち持って行って変換するのが少しめんどくさいかもしれませんね。 gem installでいれて、コマンド叩くだけです。クッソ簡単。 iconを出す方法 asciidocでは NOTEやCAUTIONといった注意書きを書けます。これを書くと画像が出て欲しいんですが、デフォルトでは出ません。こんなやつです。 As…

SoftwareDesign4月号を読んだ - オブジェクトストレージの教科書 / OpenStack - Swiftを使ってみる

はじめに SoftwareDesign4月号を買いました。 take-she12.hatenablog.com 今回は特集2、オブジェクトストレージ編です。 オブジェクトストレージの教科書 Amazon S3やOpenStack Swiftの例をあげながら、オブジェクトストレージは何か?を説明しています。part2では分散オブジェクトストレージのアーキテクチャとしてOpenStack SwiftとCephを紹介。さらにpart3では国内のオブジェクトストレージサービスの例とし…

SoftwareDesign4月号を読んだ - 良いプログラムの書き方(Ruby編 お作法を意識して可読性や保守性を高めよう)

…の記事を読んだので。Rubyの特集だけでもささっとやるかぁと思いました。 blog.jnito.com 加えてOpenStack Swiftは社内でも触っているし、最近サーバルームに篭って結線いじってるので光ファイバ+ラック選定の特集、DevOps座談会と関心のある特集ばかりだったので買いました。今回は特集1の良いプログラムの書き方Ruby編を追っていきます。 今すぐ実践できる良いプログラムの書き方 他の言語も目は通しましたがRubyだけ動かしてみることにします。 Ruby編…

社内でブログ書きたすぎてwordpress立てた話

…で、構築ノウハウや、rubyのちょこっと動かしてへぇ〜って思ったネタなんかは溜まっていきます。これは格好の技術ブログの的なんですが、どうも社内から社外のはてなブログに書くのは気持ちの上で乗らず(別に社内情報が流出しなければいいんですが)、さらに社内製品だと何を書いていいか気を使うし、仕事終わったあとに書こうったって思い出せないしで気が進まないでいました。 まぁ別にブログに書かなくても自分でやった仕事はノウハウとしてmarkdownでまとめているんですが、やっぱり小ネタはブログ…

「技術学習の分類とそれについての雑感」を読んで振り返る自分の技術学習方法

…な現象(プログラミング言語の論理上ありえない事象)が起きて、その障害調査をするにも途方にくれてしまいました。 やはりOSレベルで何が裏で動いているのかっていうところを理解しないといけないので、以下の本を読もうと思ってます。 tatsu-zine.com Rubyの力もつくということでちょうどいいなと。 あとは3の観点で、動くサービスを作って世に出すサイクルを早めていきたいです。1はその過程でついてくるのかなと思ってます。 おわりに 物事を分類するって大切。目標がクリアになる。

my thingsを使ってtwitterのつぶやきをslackに通知する

はじめに 最近お試しで同期とslackを使ってみています。一緒に勉強してるJavaScriptのこと以外にも、自分の勉強していることをつぶやく場としても使ってみたり。同期もはてなブログをやっているので、はてなブログに関するチャンネルもあります。 今回はせっかくなので、以前組んだブログの更新予告をslackに流し込む方法がないか探ってみました。 take-she12.hatenablog.com my things はじめて知ったんですが、IFTTTのmobile版といったとこ…

ニュースサイトを参考にブログのカテゴリ分けを再考する

…変換するんやね、本当rubyはやりたいことだいたいできるな。 出力結果はちゃんとこんな感じになります。 [take@tk2-207-13166 ~]$ cat script/output.txt | head 日報をgitlabで管理すると結構いいよ, ソフトウェア開発,ソフトウェア開発-備忘録 2月のアクセス解析と人気記事まとめ, ブログ node.jsでクローリングしてことわざの使用例をつぶやくbotを作った, ソフトウェア開発,ソフトウェア開発-node.js ブログの…

node.jsでクローリングしてことわざの使用例をつぶやくbotを作った

…実現したいじゃない。rubyです。(笑) MacBook-Air:kotowaza take$ cat kyoyo-daite.rb require 'rubygems' require 'twitter' # initialize @array = [] # open file File.open('kotowaza_result.txt') do |file| file.each_line do |line| @array << line.split(",") end e…

atomutilで全エントリーのタイトルとカテゴリを取得する

…"ソフトウェア開発-Ruby", "ソフトウェア開発-シェルスクリプト", "ブログ"] title: 「脳が認める勉強法」から考える、自分にとってベストの勉強法, category: ["本", "教育"] title: 日報をgitlabで管理すると結構いいよ, category: ["ソフトウェア開発", "ソフトウェア開発-備忘録"] title: ブログの記事ネタリストをtoodledoで管理する, category: ["ブログ"] title: node.jsで…

英語でプログラミング言語を学ぶ「JavaScript: The Good Parts 」Object編

…狙いだったんですが、Rubyでいうclass、Javaでいう継承、というように、概念を他言語に例えながらコミュニケーションを取れるのは大きかったですね。逆にこの本は(日本語の本を読んでませんが)最初の言語だったら難しいと思う。そもそも入門本ではないと思うけど。 今後 4章のfunction、付録AのAwful Parts、付録Bのbad Partsをやって、それから何かモノを作ろうという方針になりました。時間をかけすぎるのもよくない。でも本当にいい挑戦ができてると思います。あ…

「一行バカ売れ」から考えるブログや書籍のタイトル付け

…本から新たにこういうことをしよう、というものが増えたわけではないですが、普段自分が考えてることは できるだけ具体的に書く 述語を書く という点です。少し長くなったとしても、何をしたのか、何を使ったのか、名称は具体的に入れます。そしてこの記事の主題は何なのかという述語は記述するようにします。「rubyについて」とかは最悪かなと。 おわりに 名前付けというのは重要です。ブログタイトルに関しては今のところ自分の中で結論が出てるので、これからも読んでもらえるようなタイトルをつけたい。

atomutilを使って全記事のタイトルと本文を取得する

…の投稿予告ツイートをrubyで書く② 複数ページ取得&amp;xmlマージ編</title> <title>新しい言語・フレームワークの学び方を議論した</title> <category term="本" /> <category term="教育" /> <category term="ソフトウェア開発" /> <category term="ソフトウェア開発-備忘録" /> <category term="ブログ" /> <category term="生活" /> <…

はてなブログの投稿予告ツイートをrubyで書く② 複数ページ取得&xmlマージ編

…ku-tweet! ruby /home/take/script/hatena-yokoku.rb # delete xml file rm *.xml いやーゴミみたいなシェル書いてしまいましたね!!!!!!!!!ループぐらい使わんかい! nextページの取得 そもそも普通にクエリを投げると10記事分しか取得できなくて、?page=<ページ番号>で次のページが取得できるんですが、ありがたいことに1ページ、2ページという風に連番になってません。以下の形で次のページ番号が取得で…

新しい言語・フレームワークの学び方を議論した

…発表してくれた同期はRubyとPythonという武器が2つあるので、作りたいサービスやアプリが先にあって、それを実装して身に着けていくというスタイル。いや、理にかなってるよな。 となると今私がやってる「javascriptさすがに書けないのまずいし、Ruby on Railsだけってのも問題だし、node.jsやるかー(作りたいものは特にない)」はマズいってのはよくわかる。モチベーションが実際続かない。 かといって、作りたいものがなければ学べないのか、って話になるし、作りたい…

同期との勉強会を終えて学んだこと

…運営アプリを作った。Ruby on Railsを学んだ。 Ansibleを知った。使ってみた。 「いいスライド」とは何か考えた。 Vagrantを知った。今は気軽にVMを作って壊せる。 Githubに作ったものを公開する仲間をいた。自分もそうなりたいと思った。 あげきれないですね。全ての発表が大事なきっかけで、自分にとってのエネルギーでした。得たものは本当に多い。 まとめ 1mmも後悔してない、終わるのは寂しい。 多分勉強会ってのは、モチベーションのコントロールが1番の課題。…

Amazon商品紹介にアソシエイトIDを設定

…事のうち半分ぐらいだった印象。30分ぐらいで終わりました。 やるならはやいほうがいいですね。 ちなみにこれで本格的に稼いでやろう!なんて気はなくて、どうせ紹介記事書くんだからアフィリエイト貼るかーぐらいです。多分、たいした額稼げないしね。 きっかけはこの記事だったりする。記事の影響が可視化できるね。信頼できるひとの紹介してる本は買ってみようという気になる。 tango-ruby.hatenablog.com Grammar in Use Intermediateはやるつもり。

はてなブログ更新予告ツイート投稿スクリプトをrubyで書いた

…utput.xml ruby /home/take/script/hatena-yokoku.rb これを以下のcronで呼んでいる。 # crontab 0 8 * * 1,3,5 take /bin/bash -lc '/home/take/script/hatena-yokoku.sh >>/tmp/exec.log 2>>/tmp/exec_error.log' 月水金の朝8時に実行する。 bashの設定読み込みは不要だったかもしれない。 なぜ出力したxmlファイルの…

「ほとんどのエンジニアには解けるが、下位3%のダメなエンジニアにだけ解けないパズル?」を解いてきた。

…5公開 tango-ruby.hatenablog.com 読者登録してるもので、見たときがたまたま公開直後だったようで、1番乗りでした。(笑) 07-Feb-2016 takeshe12 今回はcurlからブラウザでやるものになって、より多くのエンジニアが楽しめるようになっててよかったです! 感想 今回はブログで書かれている通り、「誰でも解ける」を目指しただけあって、かなりやさしい。やっぱり、途中で諦めてしまうってのは作者からすると悲しいのも想像できる。 反面、今回のパズル…

カテゴリ分けのベストプラクティスを考える

…てはいけませんし、「Ruby」と「プログラミング」が同じ階層にあってもいけません。 では異なる粒度が存在したときにどうするか。そのためには抽象化の作業が必要です。「歌詞」「ギター録音」「作曲」とあれば「音楽」と抽象化できます。 この抽象化の作業がテクニックが必要になってくると考えます。抽象化するときに「複数フォルダに存在しうるもの」が出てくるからです。 同一階層の粒度が全て揃っていることをゴールとして、どのように粒度を揃えるか、抽象化をしていくかを考えていきます。 複数フォル…

はてなブログの投稿を複数twitterアカウントでシェアするrubyスクリプト書いた

…2の検索と3の投稿をrubyのtwitter-gemで書いて、それを1日1回vpsからcronで実行します。 twitter-gemに関してはこの記事を参照してください。 qiita.com さくらvpsのセキュリティ設定 どんだけ今更なんだよってことですが、個人的な開発のgitlab用にしか使ってなくて、毎月1000円お布施させていただいてます。(笑) ログインしてゴリゴリ何かやるって使い方もまったくやってなくてほこりかぶってるんですがこれを機にセキュリティ設定見直しました…

「ほとんどのエンジニアには解けるパズル4」を解いてきたよ

…した。 tango-ruby.hatenablog.com 前回、前々回の記事はこちら。 take-she12.hatenablog.com take-she12.hatenablog.com 基本的にcurlコマンドを使ってリクエストを発行して、レスポンスに対していろいろ謎解きをする。やっぱり最後の最後で笑えるものをいれてくるところが好きだ。 この記事をきっかけに「Webを支える技術」も読み始めました。 ・・・えっとネタバレができないので今回も書く内容がないんだけど(笑) …

フルスタックエンジニアか一次請けのPMか、今後の身の振り方を考える

…覚があります。言語もRuby(Ruby on Rails)だけしか今は触っていませんし、(C、Javaの経験はあるものの、もう忘れている。。。)サーバ関係も、まだまだ「利用者」でしかないと思っています。つまり使い方を学んでいるだけでそのコアな内容は知らないままです。 この1つのフレームワークに偏っていることや、利用者視点でしか技術を見ていないところがまずいと思っています。 特定の会社、特定のフレームワークに最適化したエンジニアなどは特に危険でしょう。動作原理を知らずコピペ中心…

bufferでtweet予約投稿する

…書く * urlが勝手に短縮されるので先に変更してから書かないといけない (はてブのurlは投稿日時形式にしているから予測はできるのだけれど) これを自動化してないのは結局スマートじゃねぇじゃないかと。 まとめ 数日これでやってみますが、自分でスクリプト組もうかなと考えています。ruby + cronでVPSからやろうかなと。 ちなみにIFTTTはダメでした。自動投稿されたアカウントが、#はてなブログ を含むツイートをしたとき 同じ内容を投稿する ってできればいいんだけどね。

はてなブログmarkdownのシンタックスハイライトする言語を調べた

…いいですよね。以下はruby。 puts hello! def method puts "hi!" end はてながサポートする言語 help.hatenablog.com めちゃくちゃ多い そのままべって貼り付けて数えた。アルファベットの26と記号の1を引くと合計544。544て。 MacBook-Air:ruby take$ wc -w syntax-highlight 571 syntax-highlight Atomがサポートする言語 普段のmarkdownエディタは…