はてなキーワード: RUBYとは
かといって今となってはUIもnode含めたJavaScript系でやったほうが楽だから本当に出番はない
スタックトレースを読んだらrbsのリポジトリに書かれている定義を読んでいることがわかったんだけど、このディレクトリにopen-uriがないのよね。
https://github.com/ruby/rbs/tree/master/stdlib
---
結論、以下のメソッド定義が公式で提供しているのかと思ったのだけど、用意されていない!!
```
[error] Type `singleton(::URI)` does not have method `open`
│ Diagnostic ID: Ruby::NoMethod
│
└ response = URI.open 'https://api.github.com/XXXX'
```
・ インターネットではネコが大人気です。ウサギの人気を上げるためにはどんな活動をすればよいでしょうか。
・ 時計もスマホもパソコンも手元にありません。いま何時くらいなのか知る方法はありますか。10分単位でわかるとありがたいです。
・ ある日突然道端の石ころになってしまったとします。もちろん喋れませんし自分からは動けません(考えることはできます)。誰かに助けを求めたいのですが、なにか意思疎通手段はありえるでしょうか。
・ プログラミング言語のRubyにはputsという引数文字列の内容を画面に表示するメソッドがあります。putsの引数によくある内容ベスト10を教えてください。
・ 昼前で空腹なのですが、炊飯器で白飯が炊き上がるまでまだ20分もあります。この切ない気持ちを、ツイッターの人気投稿っぽく100字くらいでまとめてください。
・ 「ノーヘル」という単語と「ノーベル平和賞」という単語をかけたジョークを用いた、「ノーヘル平和賞受賞!」というキャッチコピーを思いつきました。このキャッチコピーを生かす、1行程度の宣伝をいくつか作ってみてください。
・ キャベツを切るときの擬音で有名なのは「ザクッ」だと思うのですが、なにかもっと変わった感じの擬音はないものでしょうか。使用時の簡単なシチュエーションも添えて提示してくれると嬉しいです。
・ 200字程度の自伝的エッセイ。「子供のころ、ストップウォッチやタイマーの出す音の速いリズムに影響され、1秒がそのリズム通りにものすごく短いものだと勘違いしていた」という告白と、それをもとにちょっと失敗したという話をお願いします。
あー、うん、まああれはだいたいは正しい
そのかわり実行時には何も決まってなくて本質的にぐちゃぐちゃしてるし、「普通」の言語なら当たり前のようにできる静的なIDEサポートの提供も弱くなる(実行しないとわかんないんだから仕方ない)
Rubyはなんでもできる!という万能感はプログラミング人生においてなかなか楽しいのであなたが35歳以下ならRubyの履修を強くお勧めする
36歳以上の人に無理には勧めない
あと、3年くらいドはまりしたあとに「いや規模が大きくなるとRuby不便だな…Kotlinとかよくねえ…?」みたいに覚醒して浮気してそれっきりになったりするので進路については心配しなくてもいい
あなたはプログラミング言語Rubyの熱心なユーザーです。プログラミング言語Disりコンテストというものがあり、静的型付け言語を動的型付け言語でもあるRubyの視点からバカにすることになりました。ユーザーなら思わず納得するような視点も交えつつ、静的型付け言語のデメリットを200字程度で攻撃してください。
静的型付け言語の愛好家よ、それでも本当に静的型付け言語が優れていると思ってるのか?Rubyのような動的型付け言語の柔軟性と自由さを体験したら、君たちも考えを変えること間違いなしだ。
まず、静的型付け言語は、コンパイル時に型チェックを行うため、開発速度が著しく遅くなる。それに対してRubyは、型の宣言が不要で迅速にコードを書き進められる。煩雑な型宣言に時間を浪費するなんて、プログラミングの真髄から外れているだろう。
次に、静的型付け言語は、型の制約が厳格すぎて、柔軟な実装が難しくなることがある。それに対して、Rubyは動的型付けのおかげで、データ構造やアルゴリズムを自由自在に操れる。革新的なソフトウェアを生み出すのは、やはり柔軟性が重要だ。
最後に、静的型付け言語のユーザーは、型の間違いを恐れてコードのリファクタリングをためらうことがある。しかし、Rubyなら型に縛られず、思い切りリファクタリングができるので、保守性も抜群だ。
つまり、静的型付け言語は開発速度の低下、柔軟性の欠如、保守性の悪化を招く。Rubyのような動的型付け言語を使えば、これらの問題が解決され、プログラミングがもっと楽しくなるぞ!
そこそこのWeb企業が基本的に経験者しか採用しないことについて、教育コストを他に転嫁しているとか、IT業界が先細りする行為で未来を潰しているみたいな言い方をされているときがある。
自分もこれについて課題意識はあって、ここ数年Web企業での採用活動と実際の業務に関わりながら、色々考えたので少しまとめてみたい。
ここではいわゆるキャリア採用ではなく、新卒採用やポテンシャル採用の話をしていると前置きしておく。
Web企業でよく求められるスキルは以下の3つだが、これを満たすような人材はもれなく経験者である。
この3つの条件とそれを満たす応募者について、この記事では以下の様に呼称する。
当然レベル4以上はそう多くなく、それを求める企業では応募者のほとんどは書類選考で落とされてしまう。それでも毎年雇いたいレベルの人が来る(来てもらえるように色々やっている)ような企業ではこの採用基準を下げる意味はないため、いわゆる「経験者しか採らない」と言われる状態になる。
一方で世の中はそんな人気企業ばかりではない。それらの企業ではこの基準を落とすのだろうか?自分の感覚としては「一部を諦める」みたいになっていると感じる。つまり、チーム開発の経験はないとか、自社では使ってない言語の経験しかないとか、コンピュータサイエンスはよく分からないなどを許容するという方式になっていそうだ。よってレベル3以上あたりを狙って、レベル2~4くらいのグラデーションで採用する。
よって、本当の未経験者がWeb企業を受けるためにはまず最低レベル2、できればレベル3に到達する必要がある。そこまでしてようやく「面接に到達する資格がある」という状態であり、おそらく有名な企業では軒並み一次面接で落とされてしまう。
一方で満たしている人は本当に全部満たした上でプラスアルファが多数あるみたいな状態で、多数の有名企業の内定を取って手のひらで転がして悩んでいる。
このような一部の外れ値のような人はどんどん内定を取るが最終的に選ぶのは一社なので、それ以外の企業は内定辞退され辞退率が上がる。すると「それなりに合格は出しているのに人は足りない」みたいな状況になってしまう。
自分は応募者に基本的にレベル4以上を求めている。これは教育に対して年単位で割いているほどの余裕がなく、教育を施しても難しい問題を解決する能力が身につかない可能性のある人を採用段階で落とすことで「当たりを引く確率を上げる」ためである(誤解の無いように言っておくと、単に既にできる人は更に色々と(しかも早く)できるようになる可能性が高いというだけで、レベル4未満は絶対ダメとかそういう話ではない)。
今の会社では新卒であっても入社後半年もすれば手取り足取り教える段階ではなく、社内で自走していけるようになっていると感じる。
これが健全でないと言われればそうであろうと思う。
コンピュータの世界は恐ろしいほどに親の資本力に左右される。レベル4以上の人は早ければ中高生の頃からコンピュータと関わりがあり(自分専用のPCがある、部活動で触る、地域の習い事で……etc)、更に大学に進学して関連分野を学んでいる。これを親の資本力と関わりないと言うのは難しい。
更に地方よりも都会の方が、コミュニティの発達においても、そこに集まってくる人材のレベルについても圧倒的に勝ると学生時代に感じていた。これも当然都心に住居を構える/一人暮らしさせられる親の資本力とは切っても切れない関係にあるだろう。
レベル2くらいに到達することは全くの未経験からでも十分可能である。例えばJava・JavaScript・PHP・Ruby……なんでもいいので一つ選んでちゃんと勉強し、いくつもプロダクトを作ってみればよい。現代ではこれはPCが一台あればできる。動画講座も安価で手に入るし、大抵のことは検索すれば出てくるし、Twitterにいるエンジニアはみんな教えたがりだし、ChatGPTだってある。PC自体もそんな高価な物ではなく、中古で買えるやっすいThinkPadで十分できる。
しかしレベル2~レベル4までの間の壁があまりにも高い。コンピュータサイエンスの広範な知識を身につけるには基本的に大学に行くのが一番コスパが良いと思っているが、誰しもが大学に通える経済力を持つわけではない。チーム開発はやはりどこかのコミュニティに参入できないと難しい。手っ取り早いのは企業のバイトで雇われることだが、これは鶏と卵問題だ。
本来ここの教育は企業が担うべきではなかったか?そういう意識が学生時代から漠然と自分の中にあった。これをやらずに、レベル4以上しか採用しませんというのは他のどこかに教育コストを押し付けていたり、更なる格差拡大に繋がっているのではないかという後ろめたさを感じていた。
企業に入ってもまだしばらくは上記の意識を引きずっていたが、最近は別の考えになってきつつある。
まず、Web企業の使う技術は割とオープンになっていることが多く、隠すインセンティブがあまりないため、企業間での教育はおそらくかなり共通化できる。企業内に囲い込んでから教育を施す意味があまりなく、入る前から知っているという人も多い(Web企業の研修が知っていることばかりでつまらないと思った人も多いのでは無いか)。
これを実現する一つの手段として、入社前の広い母集団に対して何かしらの形で援助を行っていることが多い。例えば以下の様なものだ。
これらは広義の教育であると考え始めた。それらの中で企業はスポンサーセッションなどを通して採用枠をアピールするし、実際それ経由で就職する人も居る。
もちろん支援企業に就職しない人の方が多いが、最終的にどこかWeb企業に入ってくれるなら、これはWeb業界全体で人材教育を行っていると言えないだろうか。
次に、大変残念な現状として「学生時代から触れているのにいまいち地力が伸びていない人」とか「そもそも触れていない人」がその後ぐっと伸びるという事例はかなりレアだと感じる。つまり、未経験ですが頑張りたいです!という人を雇っても伸びず、「これくらいやっています」という人は更に伸びるという(ある意味当たり前の)現実がそこにある。
故に先に挙げた広い範囲での教育を進めていくと、選考よりも前の段階でたくさんの機会をどんどん与えていくことになり、自然と「やったがあまりうまく行かなかった人」とか「機会はあったがやらなかった人」がどんどん可視化されていく。すると選考の段階では今後も投資の価値がある可能性の高い人材が自ずと絞れてしまい、経験者のみが採用されていく状態になるのではないだろうか。
自分はこういったことを考えているうちに、積極的に未経験を雇って教育するよりも、選考よりずっと前の段階から様々な教育機会を提供していく方がお互いにとって幸せなのではないだろうかと思うようになった。
学生は自分の興味ある方向にスキルを伸ばしてそれがマッチする企業を選べば良いし、企業はある程度既存社員を使った教育コストを下げつつ優秀な社員を雇えるようになる。そもそも選考前の段階でエンジニアリング楽しくないなと思う人は素直に向いていないので、参入するのを辞めたほうがよい。
さっき言ったような教育への投資はまだまだ経済的に豊かでない層に届きづらい現実があるように感じている。
実際に自分が大学院時代に奨学金を探すと、地方メーカーが自社への就職を前提に出している奨学金などが多く、国から借りる以外にはあまり選択肢がなかった。
もっと広く機会を提供できると良いなと思っているし、奨学金とかは(下手な条件を付けなければ)かなりフラットな教育への投資であると思うので、企業が給付型奨学金を実施することに対してもっと何らかのインセンティブを付けられないだろうか。
また、イベントやコミュニティはどうしても都心に偏りがちで、地方では開催されなかったりWeb企業の影が薄かったりする。これも年に1回とか2回とかでいいので地方のコミュニティと何かやって、細々とした縁を持てるようにしていけないだろうか。
The Sacrament—and the Sacrifice
Of the Quorum of the Twelve Apostles
I pray for your faith and prayers that my utterances will be received and understood “by the Spirit of truth” and that my expressions will be given “by the Spirit of truth” so that we might all be “edified and rejoice together.” (See D&C 50:21–22.)
As I stand here today—a well man—words of gratitude and acknowledgment of divine intervention are so very inadequate in expressing the feelings in my soul.
Six months ago at the April general conference, I was excused from speaking as I was convalescing from a serious operation. My life has been spared, and I now have the pleasant opportunity of acknowledging the blessings, comfort, and ready aid of my Brethren in the First Presidency and Quorum of the Twelve, and other wonderful associates and friends to whom I owe so much and who surrounded my dear wife, Ruby, and my family with their time, attention, and prayers. For the inspired doctors and thoughtful nurses I express my deepest gratitude, and for the thoughtful letters and messages of faith and hope received from many places in the world, many expressing, “You have been in our prayers” or “We have been asking our Heavenly Father to spare your life.” Your prayers and mine, thankfully, have been answered.
One unusual card caused me to ponder upon the majesty of it all. It is an original painting by Arta Romney Ballif of the heavens at night with its myriad golden stars. Her caption, taken from Psalms, reads:
“He healeth the broken in heart, and bindeth up their wounds.
“He telleth the number of the stars; he calleth them all by their names.
“… His understanding is infinite.” (Ps. 147:1, 3–5.)
As I lay in the hospital bed, I meditated on all that had happened to me and studied the contemplative painting by President Marion G. Romney’s sister and the lines from Psalms: “He telleth the number of the stars; he calleth them all by their names.” I was then—and continue to be—awed by the goodness and majesty of the Creator, who knows not only the names of the stars but knows your name and my name—each of us as His sons and daughters.
“When I consider thy heavens, the work of thy fingers, the moon and the stars, which thou hast ordained;
“What is man, that thou art mindful of him? …
“For thou hast made him a little lower than the angels, and hast crowned him with glory and honour.” (Ps. 8:3–5.)
To be remembered is a wonderful thing.
The evening of my health crisis, I knew something very serious had happened to me. Events happened so swiftly—the pain striking with such intensity, my dear Ruby phoning the doctor and our family, and I on my knees leaning over the bathtub for support and some comfort and hoped relief from the pain. I was pleading to my Heavenly Father to spare my life a while longer to give me a little more time to do His work, if it was His will.
While still praying, I began to lose consciousness. The siren of the paramedic truck was the last that I remembered before unconsciousness overtook me, which would last for the next several days.
The terrible pain and commotion of people ceased. I was now in a calm, peaceful setting; all was serene and quiet. I was conscious of two persons in the distance on a hillside, one standing on a higher level than the other. Detailed features were not discernible. The person on the higher level was pointing to something I could not see.
I heard no voices but was conscious of being in a holy presence and atmosphere. During the hours and days that followed, there was impressed again and again upon my mind the eternal mission and exalted position of the Son of Man. I witness to you that He is Jesus the Christ, the Son of God, Savior to all, Redeemer of all mankind, Bestower of infinite love, mercy, and forgiveness, the Light and Life of the world. I knew this truth before—I had never doubted nor wondered. But now I knew, because of the impressions of the Spirit upon my heart and soul, these divine truths in a most unusual way.
I was shown a panoramic view of His earthly ministry: His baptism, His teaching, His healing the sick and lame, the mock trial, His crucifixion, His resurrection and ascension. There followed scenes of His earthly ministry to my mind in impressive detail, confirming scriptural eyewitness accounts. I was being taught, and the eyes of my understanding were opened by the Holy Spirit of God so as to behold many things.
The first scene was of the Savior and His Apostles in the upper chamber on the eve of His betrayal. Following the Passover supper, He instructed and prepared the sacrament of the Lord’s Supper for His dearest friends as a remembrance of His coming sacrifice. It was so impressively portrayed to me—the overwhelming love of the Savior for each. I witnessed His thoughtful concern for significant details—the washing of the dusty feet of each Apostle, His breaking and blessing of the loaf of dark bread and blessing of the wine, then His dreadful disclosure that one would betray Him.
He explained Judas’s departure and told the others of the events soon to take place.
Then followed the Savior’s solemn discourse when He said to the Eleven: “These things I have spoken unto you, that in me ye might have peace. In the world ye shall have tribulation: but be of good cheer; I have overcome the world.” (John 16:33.)
Our Savior prayed to His Father and acknowledged the Father as the source of His authority and power—even to the extending of eternal life to all who are worthy.
He prayed, “And this is life eternal, that they might know thee the only true God, and Jesus Christ, whom thou hast sent.”
Jesus then reverently added:
“I have glorified thee on the earth: I have finished the work which thou gavest me to do.
“And now, O Father, glorify thou me with thine own self with the glory which I had with thee before the world was.” (John 17:3–5.)
He pled not only for the disciples called out from the world who had been true to their testimony of Him, “but for them also which shall believe on me through their word.” (John 17:20.)
When they had sung a hymn, Jesus and the Eleven went out to the Mount of Olives. There, in the garden, in some manner beyond our comprehension, the Savior took upon Himself the burden of the sins of mankind from Adam to the end of the world. His agony in the garden, Luke tells us, was so intense “his sweat was as … great drops of blood falling … to the ground.” (Luke 22:44.) He suffered an agony and a burden the like of which no human person would be able to bear. In that hour of anguish our Savior overcame all the power of Satan.
The glorified Lord revealed to Joseph Smith this admonition to all mankind:
“Therefore I command you to repent …
“For … I, God, … suffered … for all, that they might not suffer if they would repent; …
“Which suffering caused myself, even God, the greatest of all, to tremble because of pain, and to bleed at every pore, …
“Wherefore, I command you again to repent, lest I humble you with my almighty power; and that you confess your sins, lest you suffer these punishments.” (D&C 19:15–16, 18, 20.)
During those days of unconsciousness I was given, by the gift and power of the Holy Ghost, a more perfect knowledge of His mission. I was also given a more complete understanding of what it means to exercise, in His name, the authority to unlock the mysteries of the kingdom of heaven for the salvation of all who are faithful. My soul was taught over and over again the events of the betrayal, the mock trial, the scourging of the flesh of even one of the Godhead. I witnessed His struggling up the hill in His weakened condition carrying the cross and His being stretched upon it as it lay on the ground, that the crude spikes could be driven with a mallet into His hands and wrists and feet to secure His body as it hung on the cross for public display.
Crucifixion—the horrible and painful death which He suffered—was chosen from the beginning. By that excruciating death, He descended below all things, as is recorded, that through His resurrection He would ascend above all things. (See D&C 88:6.)
Jesus Christ died in the literal sense in which we will all die. His body lay in the tomb. The immortal spirit of Jesus, chosen as the Savior of mankind, went to those myriads of spirits who had departed mortal life with varying degrees of righteousness to God’s laws. He taught them the “glorious tidings of redemption from the bondage of death, and of possible salvation, … [which was] part of [our] Savior’s foreappointed and unique service to the human family.” (James E. Talmage, Jesus the Christ, Salt Lake City: Deseret Book Co., 1977, p. 671.)
I cannot begin to convey to you the deep impact that these scenes have confirmed upon my soul. I sense their eternal meaning and realize that “nothing in the entire plan of salvation compares in any way in importance with that most transcendent of all events, the atoning sacrifice of our Lord. It is the most important single thing that has ever occurred in the entire history of created things; it is the rock foundation upon which the gospel and all other things rest,” as has been declared. (Bruce R. McConkie, Mormon Doctrine, Salt Lake City: Bookcraft, 1966, p. 60.)
Father Lehi taught his son Jacob and us today:
“Wherefore, redemption cometh in and through the Holy Messiah; for he is full of grace and truth.
“Behold, he offereth himself a sacrifice for sin, to answer the ends of the law, unto all those who have a broken heart and a contrite spirit; and unto none else can the ends of the law be answered.
“Wherefore, how great the importance to make these things known unto the inhabitants of the earth, that they may know that there is no flesh that can dwell in the presence of God, save it be through the merits, and mercy, and grace of the Holy Messiah, who layeth down his life according to the flesh, and taketh it again by the power of the Spirit, that he may bring to pass the resurrection of the dead, being the first that should rise.
“Wherefore, he is the firstfruits unto God, inasmuch as he shall make intercession for all the children of men; and they that believe in him shall be saved.” (2 Ne. 2:6–9.)
Our most valuable worship experience in the sacrament meeting is the sacred ordinance of the sacrament, for it provides the opportunity to focus our minds and hearts upon the Savior and His sacrifice.
The Apostle Paul warned the early Saints against eating this bread and drinking this cup of the Lord unworthily. (See 1 Cor. 11:27–30.)
Our Savior Himself instructed the Nephites, “Whoso eateth and drinketh my flesh and blood unworthily [brings] damnation to his soul.” (3 Ne. 18:29.)
Worthy partakers of the sacrament are in harmony with the Lord and put themselves under covenant with Him to always remember His sacrifice for the sins of the world, to take upon them the name of Christ and to always remember Him, and to keep His commandments. The Savior covenants that we who do so shall have His spirit to be with us and that, if faithful to the end, we may inherit eternal life.
Our Lord revealed to Joseph Smith that “there is no gift greater than the gift of salvation,” which plan includes the ordinance of the sacrament as a continuous reminder of the Savior’s atoning sacrifice. He gave instructions that “it is expedient that the church meet together often to partake of bread and wine in the remembrance of the Lord Jesus.” (D&C 6:13; D&C 20:75.)
Immortality comes to us all as a free gift by the grace of God alone, without works of righteousness. Eternal life, however, is the reward for obedience to the laws and ordinances of His gospel.
I testify to all of you that our Heavenly Father does answer our righteous pleadings. The added knowledge which has come to me has made a great impact upon my life. The gift of the Holy Ghost is a priceless possession and opens the door to our ongoing knowledge of God and eternal joy. Of this I bear witness, in the holy name of Jesus Christ, amen.