「Ruby」を含む日記 RSS

はてなキーワード: Rubyとは

2017-11-21

ruby入門したいんで何読んだらいいですか、という人にrubyはただのインタープリタなので何のライブラリを使うかが大事、とは言わんでしょ、的な事態に遭遇して、モニタの向こうで「あ、はい、賢いんですねー」っていってた

2017-11-13

HPを作れるようになった。次は

まともな職歴がないけど、就職したい!

あわよくばいっぱいお金がほしい!

ということで、取り敢えずHTML5CSS3jQueryWordPressフォトショイラレ勉強した。

そこそこ見栄えのする(と思う)サイトをいくつか作ったり、自作サイトに合わせたWordPressテンプレートを一から作ってみたりした。

 

……が、次に何をすればいいのかわからない。

Web制作は思ったより楽しいけど、最初から作りたいものとかはないし、また新しいサイトを作るのとかはだるい

Rubyでもやればいいのかね?

機械学習かに興味わかないかPython勉強するつもりないんだけど。

 

というか、Webデザイナーって平均年収低いんだね。後から知ったよ……。

2017-11-12

anond:20171112213518

Rubyに性能を期待してる人はいないんじゃないの?

プロトタイピング以外で使う気がしない。アジャイルプロダクトをリリースするための道具。やった者勝ち。話題になれば勝ち。

マストドンも本当に伸びてきたらハッカーが作り直してくれるでしょ?

2017-11-11

rubyドキュメントあいかわらず糞と思うとき

動くコード乗せろよと言いたい

一番始めにみる要約のところなんかコピペで動かん。

たとえばHASHの下記のページ

https://docs.ruby-lang.org/ja/2.4.0/class/Hash.html

{s: b , ... }    
{"a+": b , ... }

「...」ってなんだよ略しすぎ。

bって変数いかエラー起こす

そんで、下記なんか修正すると動く

p r = {s: 'b'   , h: 'c'  }
p r = {"a+": 1  , "b+": 2 }

2017-10-31

日本IT業界がしょっぼいのは社会のせいであり、政治家のせいであ

政治家社会に対する影響はでかい

洗脳教育しようと思えば簡単にできるし、既成概念だって作り上げることができる。

日本人なんかステレオタイプ支配された人間だらけだ、超簡単

で、それは前置き。

日本IT業界は言うまでもなくしょぼい。

世界で急速に廃れてきているRubyに今なお熱狂する日本エンジニアDockerの開発環境の構築方法が〜と使い方も然ることながら他国ではデプロイにおける完全デファクトスタンダードとなっているのに2017年にそんな記事を出して大量のブクマゲット。

技術力と創造力がダブルでイケてないことはある意味すごい。

イノベーションがないとか誰か言ってたな。暇じゃないからとか馬鹿なことを言っていたな。

ビジネスイノベーションがないから競合だらけで時間カバーしようとしているんだぞ、逆だ。

しかイノベーションがないことを個人のせいにしていいのだろうか?

もしAirBNBみたいなサービス日本会社が一番最初に作ったとしたら?

おそらく外野からボロクソに叩かれて、問題レッテルを貼られて沈没

Uberだってそう、Fintechサービスだってそう。

世界で許容されているから初めて日本でも受け入れる土壌ができあがる。

日本コピー文化は後追い文化だ。

でも、日本初だったらそうはいかないと思う。だってこの社会前例がないことが嫌いだから

世界は常に合理性を求めている。

日本とまったく真逆。非合理性を良しとするこの土壌なんなの?

世界では革新的とされることは、ことごとく日本法規制にひっかかるのではないだろうか?

もし日本会社最初に始めたのならね。

からこれは社会のせいでもあり、そんな社会を作り上げてきた政治家のせいである。

就活怖い

俺はとある国公立大学情報科にいる者なんだが、就活が怖い。

一応エンジニアとしてIT企業就活を予定しているが、上を見ればプロが沢山いる。そういう奴らと闘って勝てる気がしない。

例えば、俺の場合Webサービスを作ることが好きなので、PHPだろうがPython3だろうがRubyだろうが、状況によって使い分けている。しか就活となると、ある一つの言語に特化している方が受かるらしい。ソースは俺。人事から聞いた。大体それなりの学習度なので、より奥まった、例えばこの言語言語仕様がこうで云々、みたいな話にはついていけない。

夏にインターン行ったところの早期選考を受けたら落ちた。インターン中も面接中も、ずっと良い感じで穏やかに話が進んでいたにも関わらず、だ。

もういっそ留年して、儲かるサービスを作って、それで飯を食いたい。一応案はあるし、その需要も十分にある。あとは作るだけだ。。。

2017-10-28

anond:20171027101309

タデプログラミングやってみた

実行環境は、Windows 10はてなAPIは知らない

1)URL規則性を見つける

増田場合

https://anond.hatelabo.jp/?mode=top&page=1

page=1、page=1001、・・・

2)各ページの日記規則性を見つけて、投稿時刻の取得方法検討する

増田で、先頭の日記場合

<div class="section">
<h3>
<a href="/20171010162108"> ← (雑だが)ここらへんを取ればよさそう
<span class="sanchor">■</span>
</a>
<a href="/20171010161641">anond:20171010161641</a>
</h3>
~~~
</div>

3)定数、関数の雛形、ループURLを生成・出力するだけのソースをとりあえず作成・実行

実行すると、↓が出力されるだけ

https://anond.hatelabo.jp/?mode=top&page=1

https://anond.hatelabo.jp/?mode=top&page=1001

https://anond.hatelabo.jp/?mode=top&page=2001

・・・

4)「ruby web 取得(スクレイピング)」あたりでネット検索、内容を理解せずにコピペする

4-1) 標準のopen-uriを使うと取得できるよ等見つかる

open-uriを実行すると、謎のエラー発生

C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

4-2)エラーメッセージ検索、内容を理解せずにコピペする

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

 

ここまでで、任意URLWebページ取得ができるようになる

5)Webページの内容を解析(パース)し、ページの先頭の日記のYYYY/MM/DD HH:MM:SSを取得

5-1)

HTMLはある程度構造化されているので、今回の場合だと、↓のようなとり方がいいと思う

「divタグ sectionセクション」直下の「最初のh3タグ直下の「最初のaタグhref

5-2)

思うけど、今回は、構造検索じゃなくて、単純に文字列検索だけで済ます

5-3)※

取得対象構造が変化する場合も多々あるが、構造が変化した場合でも、

構造的な取得方法を作っておけば、変化にもある程度対応やすい(パラメータの「1」を「2」にするとか)

文字列を解析的なやり方だと、取得対象の書式が変化した場合に、対処しにくいことが多い

ここらへんを、TODO:あとでやる、なんてするんだけど、もちろんあとでやらなくて不具合の温床になる

これ豆な

6)結果を出力

printコマンドプロンプトへ出力

 

例えばだが出力には、ファイルへ保存、メール送信クラウドへアップ、増田投稿 とかもある

 

ここまでで、page=1の処理ができた

7)繰り返しに注意

page=1ができればあとは繰り返すだけ

繰り返すだけなんだが、取得ごとに10秒待つことにする

あんまが~~ってやると、怒られるので

 

愚直なまでの単純な繰り返しは、PCプログラム) > 人の操作 の最たるものだと思う

 

はいえ、ほんとうに愚直で、

タイムアウトしたらどうなるのか?

・古いページは構造が異なるかもしれないのでは?

・最終ページはどこ?

・・・などなど。これらの忖度AIでも解決しにくい・・・と思う。

8)余談1 プログラム関係ネット検索すると、はてな結構ひっかかる

なにかうれしいセロry

9)余談2 スクレイピングってなんだよ

的な英単語IT用語解説よりも、英和辞典を引くとスって理解できることがある

scraping ・・・ こすること、削ること、削り落としたもの、かきくず

・・・

rubyソース

require 'open-uri'
require 'openssl'

# なんかエラーが出る暫定対処
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

BASE_URL = 'https://anond.hatelabo.jp/?mode=top&page='
PAGE_INCR = 1000

# 4) 指定URLのページを取得
def get_page(url)
    open(url).read
end

# 5) 年月日時分秒を取得
#012345678901234567890123456789012345678901234567890
#<div class="section"><h3><a href="/20171010162108">
def get_ymdhms(page)
    pos = page.index("<div class=\"section\"><h3><a href=")
    #p pos
    #p page[(pos+35)..(pos+35+13)] # YYYYMMDDHHMMSS 14
    aa = page[(pos+35)..(pos+35+13)]
    sprintf("%s/%s/%s %s:%s:%s", aa[0..3], aa[4..5], aa[6..7], aa[8..9], aa[10..11], aa[12..13])
end

# 6) 結果を出力
def print_dat(inc, ymdhms)
    puts sprintf("%06d, %s", inc, ymdhms)
end


# メイン
def main
    inc = 1
    for i in 1..10
        sleep 10 unless i == 1 # 7)初回以外は10秒待つ
        url = BASE_URL + inc.to_s
        page = get_page(url)   # 4)webページ取得
        ymdhms = get_ymdhms(page) # 5)投稿年月日取得
        print_dat(inc, ymdhms) # 6)結果出力
        inc += PAGE_INCR
    end
end

# 実行
main

 

ソース記法で書くと文字化けするので、スーパーpreで)

実行結果

ano_his.rb:67: warning: already initialized constant OpenSSL::SSL::VERIFY_PEER
000001, 2017/10/28 15:04:51
001001, 2017/10/10 17:08:08
002001, 2017/09/19 17:22:26
003001, 2017/08/24 10:23:53
004001, 2017/07/27 11:57:49
005001, 2017/06/27 17:42:17
006001, 2017/05/28 22:57:26
007001, 2017/04/28 10:26:18
008001, 2017/03/21 10:10:38
009001, 2017/02/10 15:01:32

2017-10-13

anond:20171013100220

puts警察だ! Rubyにおいて単純な文字列を特段厳密な制御なしに改行つきで標準出力に出したい場合printではなくputsを使え!

print msg + "\n" # back-slash
puts msg

ちなみに文字列nilだったり空文字列だったりする場合は改行が出ちゃうので注意だ!

あと文字列が改行で終わっている場合はその改行を流用してputsはなにもしないのでこれも注意だ!

それと引数文字列でも配列でもない場合はまずto_aryが試され(てそのあとto_sす)るのでものによってはprint+"\n"とは違う表示になるぞ!

うん、この例外挙動覚えて慎重に運用するくらいなら最初からprintでいいな!

anond:20171013044943

ruby

# 曜日定数定義
module YOUBI
    Sun = 0, Mon = 1, Tue = 2, Wed = 3, Thu = 4, Fri = 5, Sat = 6
end

# 指定年月日の曜日取得
# https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week#Implementation-dependent_methods
def get_youbi(year, month, day)
    day += if month < 3 then year-=1;year+1 else year-2 end # <
    (23 * month / 9 + day + 4 + year / 4 - year / 100 + year / 400) % 7
end

# 13日の金曜日判定
def super_friday(year, month)
    get_youbi(year, month, 13) == YOUBI::Fri
end

# メイン関数
def main
    for year in 2000..2100
        msg = "#{year}年:"
        for month in 1..12
            if super_friday(year, month)
                msg += "#{month}月13日 "
            end
        end

        #print msg + "\n" # back-slash
        puts msg
    end
end

# 実行
main

出力

2000年10月13日 
2001年4月13日 7月13日 
2002年9月13日 12月13日 
2003年6月13日 
2004年2月13日 8月13日 
2005年5月13日 
2006年1月13日 10月13日 
2007年4月13日 7月13日 
2008年6月13日 
2009年2月13日 3月13日 11月13日 
2010年8月13日 
2011年5月13日 
2012年1月13日 4月13日 7月13日 
2013年9月13日 12月13日 
2014年6月13日 
2015年2月13日 3月13日 11月13日 
2016年5月13日 
2017年1月13日 10月13日 
2018年4月13日 7月13日 
2019年9月13日 12月13日 
2020年3月13日 11月13日 
2021年8月13日 
2022年5月13日 
2023年1月13日 10月13日 
2024年9月13日 12月13日 
2025年6月13日 
2026年2月13日 3月13日 11月13日 
2027年8月13日 
2028年10月13日 
2029年4月13日 7月13日 
2030年9月13日 12月13日 
2031年6月13日 
2032年2月13日 8月13日 
2033年5月13日 
2034年1月13日 10月13日 
2035年4月13日 7月13日 
2036年6月13日 
2037年2月13日 3月13日 11月13日 
2038年8月13日 
2039年5月13日 
2040年1月13日 4月13日 7月13日 
2041年9月13日 12月13日 
2042年6月13日 
2043年2月13日 3月13日 11月13日 
2044年5月13日 
2045年1月13日 10月13日 
2046年4月13日 7月13日 
2047年9月13日 12月13日 
2048年3月13日 11月13日 
2049年8月13日 
2050年5月13日 
2051年:1月13日 10月13日 
2052年:9月13日 12月13日 
2053年:6月13日 
2054年:2月13日 3月13日 11月13日 
2055年:8月13日 
2056年:10月13日 
2057年:4月13日 7月13日 
2058年9月13日 12月13日 
2059年:6月13日 
2060年:2月13日 8月13日 
2061年:5月13日 
2062年:1月13日 10月13日 
2063年:4月13日 7月13日 
2064年:6月13日 
2065年:2月13日 3月13日 11月13日 
2066年:8月13日 
2067年:5月13日 
2068年:1月13日 4月13日 7月13日 
2069年:9月13日 12月13日 
2070年:6月13日 
2071年:2月13日 3月13日 11月13日 
2072年:5月13日 
2073年:1月13日 10月13日 
2074年:4月13日 7月13日 
2075年:9月13日 12月13日 
2076年:3月13日 11月13日 
2077年8月13日 
2078年:5月13日 
2079年:1月13日 10月13日 
2080年:9月13日 12月13日 
2081年:6月13日 
2082年:2月13日 3月13日 11月13日 
2083年:8月13日 
2084年:10月13日 
2085年:4月13日 7月13日 
2086年:9月13日 12月13日 
2087年:6月13日 
2088年:2月13日 8月13日 
2089年:5月13日 
2090年:1月13日 10月13日 
2091年:4月13日 7月13日 
2092年:6月13日 
2093年:2月13日 3月13日 11月13日 
2094年:8月13日 
2095年:5月13日 
2096年:1月13日 4月13日 7月13日 
2097年:9月13日 12月13日 
2098年:6月13日 
2099年:2月13日 3月13日 11月13日 
2100年:8月13日 

28年周期なの?

wikiのSakamotoメソッドソースwiki記法不具合じゃないの?

と思いましたが、、。

 ↓

https://groups.google.com/forum/#!msg/comp.lang.c/GPA5wwrVnVw/hi2wB0TXGkAJ

 ↓

"-bed=pen+mad."[m] 文字列の添字なんだな・・。

2017-10-10

anond:20171010135319

Ruby/Kotlin


「あっじゃあRailsとかできるんですね」「できません」

「あっじゃあJavaとかできるんですね」「できません」


雑談会話を撃墜するのが趣味(やりたくないだけでできるけどね…)

もうひとつくらいパターン増やしたいと思っている

anond:20171010133532

なぜ彼ら/我々がPHPを使わなかったのかという疑問に対する回答は至ってシンプル

だってPHPってRubyじゃないじゃん

Rubyで○○したいシリーズ集大成Rails

Ruby界隈の人

動的vs静的型言語みたい話題炎上案件があると、クラスメソッド引数は全部覚えているから型チェックいらないとか、くだらないスペルミスなんて自分はしない、そんなのするのは頭悪いとか、そんな発言ポンポン飛びだして、スキル高い低い以前にまとまった量のコードを書いたことあるのか疑わしいレベルの人が高濃度で混じってる。

anond:20171010132303

からまともなIDEが欲しけりゃ金払えと言われているのではないのか

Ruby/Rails使いのシェルエディタ利用能力は平均してかなり高いよ

そうじゃないとプロダクト開発はできなかったからだ

anond:20171010123949

ええか? 前提からして間違っとるんや。

巨大なオールインワンIDEでペチペチ開発したいんやったら言語の時点でJavaなりPHPなりを選ばなあかん。こういう言語はそういうIDEが無いと使いもんにならんから、たくさん転がっとる。

一方Rubyは巨大なプロジェクトカスタマイズしたVimで書き進められるんや。問題は軽量なリントとユニットテスト解決する。DBシェルからみる癖つけろ。Rubyを始めるってことはそういう流儀も取り入れるってことや。わかるな? どうしてもIDEがええなら有償のを買えばええ。

増田のrails屋、ちょっと教えろ

ミーにはステマ起点に見える

IntelliJベースRubyMine(完全有料:個人紐付ライセンス1万円/年(税込))がベター

IntelliJは使ったことあるかな

あれの有償版Ultimate+Ruby特化+Railsプラグインみたいな感じ

1か月の試用期間付き

2017-10-05

anond:20171005124057

追記。redmineだけwww-dataユーザーで手動展開してwww-dataとして必要gemredmineディレクトリ内に(必要なdevをaptで入れて)インストールしたら動いた。

やっぱりあちこちディレクトリ分散させたredminedebが俺には繊細過ぎたのだ(rubyrailsnginxとphusionpassengerはdebのまま)。作業ディレクトリいっこ万歳

2017-09-30

RubyのBunderはbundle up?d?a?t?e?で動く

$ bundle u
$ bundle up
$ bundle upd
$ bundle upda
$ bundle updat
$ bundle update

2017-09-26

プログラミング言語は何から始めるべきか

正直、何か目的意識があってプログラミングをしたいとかいう人って一握りだと思う

自分普段利用してるネットサービスアプリハードって結局なにがどうなって動いてるのか

単純にそんな疑問の答えが少しでも分かればと思ってプログラミングに興味を持ってる人ってのが多いんじゃないだろうか

ようは別に海外移住考えてるわけじゃないけど、映画セリフが多少理解できるようになれるだけで見方が変わる気がするし

何より色んな可能性が開ける気もする

そんなノリでプログラミングに興味を持ってる場合は何から始めるべきなのか?

間違いなくビジュアルプログラミングをとりあえずやってみるってのは一つの選択肢だろう

ただそこから先が全くいって想像つかない

何をしたらええんや

これを読んでみる限りではRubyってやつが一番使われてる気がする

ってことは、一番使われてるこいつを一通り勉強すれば、色んなサービスの中身がどうなってるのか想像付くようになるんでないか

素人考えでは思うわけだがどうなん?

はてなってパソコンの大先生多いイメージから詳しそう

2017-09-24

anond:20170924214222

うん、まあ、Googleに贔屓され教育研究分野で実績を積み上げてるPythonは強いけど

ただ漠然と「Web」「どうなのでしょうか?」と言われても困っちゃうでしょうに。

強いて言うなら、それ専用の言語として設計されたphp,

レガシーではあるがWebを牽引してきたperl,

フレームワーク流行ったruby,そういった言語選択の中で

わざわざWeb屋がpythonを使う義理はないって感じじゃないか

Web以外のところだとこういったスクリプト言語の中では

望まなくともpythonを選ばざるを得ない機会は増えてきたね

2017-09-21

Javascript 好きなやつって頭おかしくね

なんであんなプアな言語仕様で頑張ろうと思えるのか

最新と言われるES6, ES7にしたって、他の言語からしたらありえないほどに機能が少ない

こんなクソみたいな言語を書いていたら、エンジニアとしての腕が鈍るのではないかと思うほどにクソい

いまは仕事JSを書いているのだけれど、Rubyだったら、Pythonだったら、KotlinだったらSwiftだったらと思わない日ない

驚くのは、こんなクソみたいな言語なのに、好きな人が多いってこと

ReactNativeだとかflowだとかTypeScriptだとかbabelでtranspileなんじゃとかい記事をみない日がない

それだけ好きモンが多いんだろう

JSというブラウザによって取り残された言語へのキャッチアップに多くの時間を割いてしまったがために、

心理的な負荷がかかって俺はJSが好きなんだこれしかないんだとなってしまっている人が多いんじゃないかとかわいそうに思う

JSマンで他の言語かける人って、他の言語と比べて極端に少ないように思う)

クソみたいな言語のくせにnodeのリポジトリお家騒動みたいなんでしょっちゅう盛り上がってるし

JSなんてなくなりゃあいいと思う

あと、好きなやつらはしょうもない言語だってことを認めろ

俺はJavaが好きだけどJavaがクソみたいな言語だってことは認めている

だが、バカな息子をそれでも愛そうの精神で頑張っている

お前らも、そう思えよ

何がES6ならモダンな感じでかけてチョベリグですねだよ

アホか

2017-09-20

anond:20170920194332

それ10年前にやったなー

知ってた側だったけど、あの頃は知名度全然無かった

KEKで使ってるみたいですよ、とか紹介した

RubyPythonか迷って、Rubyにしたのは失敗だったかなー

2017-09-19

anond:20170919014227

なんかちょうど「米国Rubyの人気が減りつつあるらしい、マニュアルサンプルコードが不足してるからサンプルコードをみんなで書こう」みたいな記事見て

「えっそれ今言う…?君らソースコードドキュメントだって10年くらい言ってたやん…?」っていう気持ちになった

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん