はてなキーワード: golangとは
プログラミングスクールが話題になっていたので体験談を書いてみた。スクールの中身と就職先がメイン。技術的な話はあまりしてないし長いけどよかったら読んでみて欲しい。細かいところは濁してるよ。
数年前の話。
20代半ばでフリーターをしてたんだけど正社員になるべくプログラミングスクールに通った。そのスクールは授業料が無料。代わりに斡旋してもらった企業には(法的拘束力はないけど)就職しなきゃいけないというルールだった。
スクールの開校初日はよく覚えてる。簡素な小部屋に同期生30人程が集められた。やたら顔のいい講師が自己紹介をしてくれたが、ホントは営業職らしい。意味がわからん。講師から最終月にグループ課題があるので同期生とは今から仲良くしてくださいねと言われ、前後左右に座る男女と自己紹介をした。理由は色々だったけどみんなエンジニアになりたいらしい。1人からは並々ならぬ熱意を感じる。熱血クンと呼ぼう。
挙手したのは自分だけ。あれ?思ってたより少ないな。てか熱血クン手上げてないし。このクラス大丈夫かな?
嫌な予感がしつつも早速授業が始まった。映像授業を見終わったら演習課題を解いて講師に見せるという流れだった。内容はHTMLの基礎。映像があまりに遅くて退屈なので授業内容が要約されたPDF(たぶん復習用)を読んで演習課題を解いた。講師に確認してもらう最中ふと横を見ると熱血クンはウトウトしていた。大丈夫だろうか。
授業内容も演習課題もめちゃくちゃ簡単でProgateの方が難しいレベル。進めていると熱血クンが質問してきたので教えてあげる。講師に質問したら分からないと言われたらしい。自分は講師の存在意義が分からないよ。HTMLタグの閉じ忘れを指摘すると熱血クンは大喜び。ホッコリ。
1週間後、熱血クンは来なくなった。
2ヶ月目。何故か同期生がみんな仲良くなっていたが自分は馴染めず挨拶をする程度に留めておいた。毎週飲み会が開かれたが少しでも多く勉強したかったので断っていると、ある日講師から呼び出しをくらう。
「増田さん、飲み会行かないんですか?プログラマーにはコミュ力も必要ですよ。」
家でアプリ開発したいんですが……。とは言えず飲み会には1度だけ参加した。同期生は概ね人が良く楽しかったが2次会3次会はパスして1時間で帰宅。
翌日は半分くらいの生徒が遅刻してきた。
課題についていけない5人くらいが来なくなった。
3ヶ月目。グループ課題が始まる。グループ毎にCTOを決めるのだが、この時点で達成してるハズの課題が自分以外終わっておらず必然的に自分がCTOになった。目立ちたくないのに。
課題はよくあるポートフォリオサイトを作るというものだった。要件定義や画面設計などを1人で終わらせチームメンバーに役割を割り振るところで問題発生。ある女メンバーが責任を負いたがらない。余程自信があるのか常に生脚を露出していたので生脚と呼ぼう。
生脚「難しそうだから無理!٩(×_×)۶」
一体何ならしてくれるんだ?話を聞いてみると、どうやらチームメンバーのEXILEみたいな男と同じ作業がしたいようだ。こいつはEXILEと呼ぼう。EXILEに生脚は技術的に不安があるから一緒に開発して欲しいと頼んだところ快諾してくれた。ありがとうEXILE。イケメンは中身もイケメンなんだなぁ。
そんなこんなで開発が始まった。自分は全体の半分くらいの機能を開発しつつチームメンバーのサポートを受け持った。講師が変わり技術的な質問ができるようになったので多くを学べるよう必死に開発した。最終日には成果発表のプレゼンがあり技術的な説明をさせてもらった。
生脚はEXILEに告白してフラれたらしい。途中から来なくなった。
開発が終わり、ついに就活フェーズに入った。スクールの用意した就活アドバイザーが色々教えてくれる。面接でよく聞かれる質問とかそういうやつ。どんな企業に斡旋されるのか聞いてみたところ開発時の講師が生徒を評価してスクール側で勝手に割り当てるのだそう。なにそれこわい。
募集が来てる企業一覧から自薦することもできた。200社くらいから募集があり自社開発は4社。受託が8社。残りの188社はSESか社内SEだった。SESは闇深と聞いていたので自社開発と受託をメインで自薦してみたが書類選考で通ったのは3社だけ。正社員経験がないとダメらしい。通った3社とスクールが割り当てた4社の計7社で面接してもらえることになった。この中に自分の未来を預けるのか。
自社開発や受託企業の面接はどれも厳しいものだった。スクールでは教わらないレベルの内容を問われ、アーキテクチャについて考えを問われ、はたまたOSS開発の経験まで問われた。どうやらスクールは自分のことを高く評価してくれたようだが自分には壁が厚すぎた。スクールでのプレゼン経験を糧に伸び代アピールを頑張ったのだが落ちた。全て落ちた。技術不足で申し訳ない。
ところが一方でSESの面接は楽勝だった。面接というよりはほとんど雑談レベルで聞かれることといえば出身地、趣味、大学の専攻、etc.。お見合いかよ、なんて突っ込んでる間に全て受かった。人類なら全員受かるのではないだろうか。
どの企業も似たり寄ったりで、結局、面接で唯一「将来なりたいエンジニア像」について聞いてきた企業に決めた。ここならキャリアを積めるかもしれないと思ったからだ。給与が1番高かったのも理由の1つだけど。
タイトルにもあるが、この企業がそれはもうギリギリのブラック企業だった。
入社初日はよく覚えてる。とんでもなく小さいビルの1室。インターホンを鳴らすと、なんと社長自ら出迎えてくれた!素晴らしいことのように見えるがSESなので自社に誰も社員がいないのだ。ホントに1人も。
社長から会社について説明を受ける。時折、ここは良いところだぞ!社員は家族みたいなもんだ!と挟んでくるがブラック企業の常套句をなぜ連呼するのか。そして早速お前呼びされた。
「俺は今から営業行ってくるから、お前はSlackで指示を仰いで。じゃーね」
ん?社長がいなくなったら社内1人ですよね?電話とか来たらどうします?指示って誰に聞くんですかね?何時に帰ってくるんですか?
聞こうと思った瞬間には電話しながら外行っちゃった。やばい。とりあえずSlackの全体チャンネルに入社挨拶と指示くださいと投げる。返事なし。1時間経過したところで返事が来た。多分上司だ。
「新人担当が決まってなかったので連絡遅れた。とりあえず俺に聞いて。今日は自社開発してるサービスの開発環境構築しといて。PCに前の人が使ってたメモ入ってると思うから。以上」
えぇー。新人担当くらい決めておいて欲しいです。自社開発のサービスって何ですか聞いてません。あとメモに書いてあるライブラリ、バージョンが古くて起動できないです。
などなど聞きたいことは山ほどあったが上司も常駐先で忙しいようで返事が最速で30分かかるし、聞く度にバカかアホかと嫌味を言われる。こりゃ自分でなんとかするしかない。
環境構築をしてると電話が鳴る。しょっちゅう鳴る。人材紹介の営業がほとんどだったのでかけ直すと言ってメモだけしておく。1件だけ社長はいますかと聞かれたので名前を頂戴したところ銀座の高級クラブだった。私用電話をするな。
定時になったが鍵を持っていないので帰れない。Slackでヘルプを求めるが誰も反応してくれない。結局その日は22時頃に社長が帰ってきた。営業という名目の飲み会だったようでベロンベロンに酔っていた。「鍵渡すの忘れてたわ〜」だって。早めの退職を心に決める。
どうやらSESとして派遣されるのは1ヶ月程後のようで、それまでは自社開発をするらしい。実務で経験を積めるならラッキーと思ったが、この自社開発サービスがクセ者で大変苦しむ。
開発環境は大変にレガシー。当時すでに下火だったPHPとjQery。バージョン管理は驚きのSVN。2年前のチケットが放置されたRedmineには辞めていった社員の名前がズラリ。
開発スケジュールは社長が思いついた機能を誰かが開発する流れなので常にグダグダ。SESで現場に出ている社員は常駐先の仕事が終わってから自宅で開発をしているらしい。もちろん残業代なんてものは存在しない。よって誰も開発したがらない。社長はこのサービスを市場に流通させると息巻いていたが、とても使い物にはならないクオリティ。ゴミだ。ゴミを開発する仕事だ。
とはいえ仕事が他にないので頑張って開発した。ここで頑張ったのが後に牙を剥く。
1ヶ月後、常駐先が決まった。有名企業の子会社で技術レベルも相当高かったと思う。今から考えるとここに出向されたことが唯一の救いだった。
他SES企業から常駐している人たちのチームに加わる。チームリーダーはとても優しい人で分からないことは何でも教えてくれた。顔すら知らないのに罵倒してくる自社の上司よりこの人の部下になりたいと思った。
常駐先の社員は有能だが淡々とした人が多く仕様確認以外で話しかけると嫌がられた。自分の専門外でどうしても分からない技術があったので1度だけ質問したことがあったが、何で分かんないかなぁとタメ息をつかれた。こわすぎる。
とはいえ優しいチームリーダーの元でなんとか仕事ができるようになった。知らない技術を学べるのは楽しくヤル気も上がった。
自社の業務は最悪だった。1週間に2度くらいの頻度で社長に呼び出されるので帰社する。
ある日、雑用をこなしていると初めて見る社員が現れた。社長と話しているがスゴい罵倒されている。かわいそう。
早く辞めたい。この一心だった。
でも今辞めたら転職できる気がしない。
その後、常駐前に自社開発を頑張ったせいで自社開発を押し付けられてしまう。9時~18時は客先常駐。19時から雑用係。明け方まで自社開発という生活になる。
結果、客先で倒れた。チームリーダーに何があったのと問われ、自社の開発が大変で……と答えてしまった。チームリーダーは客先社員に報告。客先社員は客先営業に報告。客先営業は弊社の社長に報告。当日に社長から呼び出しをくらう。
身体の心配なんてされず、ただひたすら罵倒された。客先で倒れるなバカ野郎!お前のせいで謝る羽目になっただろクソが!とか言ってた気がする。意識が曖昧だったので細かく覚えてないけど。
客先に自社開発の話をするな!情報漏洩で訴えるぞ!とも言われた。これは正しい指摘だけど一方で自分は技術的な内容もサービスの内容も話していない。そもそも残業代未払いだろ。
そう思うと無性にイライラしてきて、その場で退職したいと伝えた。
社長は暴れだした。
机を蹴り飛ばし大声で怒鳴っている。お前にいくら使ったと思ってるんだ!お前は障がい者だ!地獄に落ちろ!とか言われた。やばい人だ。
以上がプログラミングスクールからブラックSESに就職した話。ここまで読んでくれてありがとう。
ちなみに転職は成功して、今は自社開発企業で楽しくエンジニアやってるよ。先日リードエンジニアになって年収はSES時代と比べ物にならないくらい増えた。人間関係は良好だしリモートワークもフレックス制もあるからのんびり働ける。
あと数年頑張ればもっと有名な企業に転職できるかもしれないしフリーランスで自由気ままに海外生活も夢じゃないレベルになった。
エンジニアに夢はあるんじゃないかな。でもそれはスクールを出てすぐに掴めるものじゃないと思う。スクールの同期生は半分くらいがエンジニアを辞めたらしい。現実に絶望したのかな。
もしあなたがプログラミングスクールに通いたいなら止めないけど、まずはネットでプログラミングに挑戦してみて欲しい。1日8時間。連日の開発が嫌じゃなければスクールに通ってみてもいいかもね。年末年始も開発しろと自分は思わないけど、週5で開発できないと仕事にならないし。
最後に、この記事を書くきっかけになった、鉄道会社を辞めたエンジニアさんが幸せになりますように。
終わり!
ニュースサイト見てたら自分の記事出てきてめちゃくちゃ笑った。以下気になるブコメに返信。
退職を伝えた後、休職以外認めないと言われたので休職した。心療内科で会社がブラックだから辞めるために診断書くださいと伝えたらすぐに診断書を貰えたので退職願と一緒に社長に提出。
社長はずっと恨み言をつぶやいてた。
「お前はエンジニア向いてないよ」
ハンコ押してさよなら。その日は人生で1番清々しい気持ちでマックを食べた。
転職活動を始めたかったが入社半年で辞めたので実績が終わっていた。ポートフォリオでも作るかと思い、AndroidとiOSでアプリを作ってリリース。Web系も手広く勉強した。GolangとかTypeScriptとか。あとAWSもちょっとだけ。
3ヶ月くらいで貯金が底を尽きたので転職活動スタート。自社開発10社くらいに応募。面接できたのが3社。
2次面接で「恋人いるの?」と聞かれ、最終面接で「このアプリ使いにくいね」とボロクソに言われた会社に内定をもらった。サービス内容も人も面白かったしオフィスがキレイだったので入社。今に至る。
そういえば、転職先で前職の源泉徴収票が必要になったとき総務の人が前職に電話してくれたんだけど、めちゃくちゃに悪口を言われたらしい。
嘘松だったら良かったのにね。有名企業に行ってみたいとかエンジニアとしての夢はあるけど、今の会社は気に入ってるしストックオプション欲しいから辞めずに開発頑張るよ。
そうだね。スクールで教わったことは正直オンラインで学べるレベルだったけど、フリーターがいきなり正社員になれたんだから斡旋制度には助けられたよ。自分がスクールに求めるのはもう少し実践的な内容にして欲しいことかな。せめてHTTP通信くらいはカリキュラムに入れるとか。
難しいと思う。社長が「スクール通っていた期間も入社していたことにしよう!」と悪魔的な発想を持ち出して経験者の体で出向してた。
もちろん業務内容にはついていけずチームリーダーに頼りっぱなし。最終的にテストコード担当になってた気がする。
仰る通りです。すみません。
ただ、ホントに個人的な意見を書かせてもらうとWeb業界のデファクトスタンダードからこれらの技術はすでに外れてると思う。
こういう意見が出るから技術にはあまり触れずに書いたんだよな〜。
そうかもね。
諦めろとは書いてないけど指標のひとつにして欲しかった。スクール通ってたとき「あ、この人プログラミング嫌いなんだな〜」って人結構いたから。向き不向きはわかると思う。
卒業した時点では同期生は全員エンジニアとして就職してた。スクールが何をしてでもねじ込む。その後もエンジニアを続けてたのが半分くらい。卒業した1年ほど後に同期生にバッタリ会ったことあるけど人材派遣側に回ってて笑った。
終わり!
プライベートなメソッドや関数をテストする必要は無いと考えています。プライベートなメソッドは、実装の詳細であるからです。
ほとんどの場合、プライベート メソッドをテストする必要はありません。 プライベート メソッドは実装の詳細です。
「プライベートメソッドはテストするな」と強く主張されるのは、ケント・ベックの影響もあるかもしれない。
例えばtwitterで、パブリックメソッドにだけテストを書き、テストが必要なほどプライベートメソッドが複雑ならそれを別のオブジェクトに切り出す必要があると発言している(twitter/kentbeck)ように、プライベートメソッドのテストに強く反対している。
またベックの書いたSUnit(xUnitの源流にあたる)には「ひとつのテストをひとつのオブジェクトで表し、それによってテストの独立性を高める」というアイディアが使われている(そのアイディアを実現するためにとても複雑な設計をしている Simple Smalltalk Testing: With Patterns)。テスト自身がひとつのオブジェクトとして独立しているなら、テスト対象となるオブジェクトのプライベートメソッドがテストできないのは当然のことになる。
が問題になる。
テストファーストで開発するなら手を動かしながら軽い気持ちで書きたい。
privateなルーチンの自動テストは面倒だ。実際にコーディングするときは最初publicにしておいてテストしてうまく動いていそうならprivateにするのだけど、この「いそう」がくせ者。いっそのことすべてpublicにしたくなる。
私は元々メソッドはprivateにしない主義なのでメソッドの場合は問題ないのだけれど、ファイル内の「関数」が問題になる。和了点計算だと和了形判定とか符計算とか和了役判定とか単体でテストしたい内部関数が山ほどある。(twitter/koba0367)
private メソッドをテストすべきか問題、原則論だけだと袋小路に入りがちだから、private メソッドをテストしたくなる具体的な場面について議論したほうがいいと思う。
自分がレビューでよく見る例としては、複数の public メソッドの重複部分を private メソッドに抽出した結果、濃い private メソッドと薄い public メソッドが一対多関係になる場合が挙げられる。設計としては間違っていないし、わざわざ public メソッド経由でテストする意義があるかというと微妙。(twitter/ts7i)
きれいなインターフェースを作ろうとすればするほどpublicメソッドじゃない部分に複雑性を追いやることになり、壊れた時に手戻りが大きすぎると思ったら、プライベートにバックドア開けてでもテスト書くようにしてます (twitter/mizchi)
しかしプライベートメソッドに対するテストを書こうとすると大概リフレクションなどで可視性の制限をすり抜けるとかメソッドの可視性を変更するといった回りくどさやコストの導入が必要になるので、じゃあプライベートに対するテストはそうしたコストに見合うのかが問題になる。
伊藤さんの答えは「原則書かないほうがいいという大前提のうえで、どうしてもというときは、"これはテストのためにpublic"にしているというコメントの上でpublicにする」だった。
自分は「テスタビリティのためにメソッドをpublicにする」っていう"実プログラムの挙動を変えること"の方が、「privateなメソッドをテストコードのみsendで叩く」よりも怖いって思ってることに気がついた。(twitter/highwide)
単体テストがホワイトボックステストだとするなら、publicかprivateかでテストの有無が変わるのは明らかにおかしいだろ。ややこしいロジックはprivateに隠蔽すべきだが、そこがテストできないなんて。 (twitter/kmaebashi)
private メソッドをテストするかどうか? まず最初に言っておきたいのは public/private は抽象の設計の問題であって、テストすべきかどうかとは当然無関係だろうということ。(twitter/qeigoi)
特定の言語の貧弱な機能に思考が制限を受けて誤った結論を出している典型的な例。
https://b.hatena.ne.jp/entry/4684049296462116226/comment/megumin1
テストの粒度とメソッドのアクセス権は独立したものなので、「プライベートメソッドをテストすべきか否か」という切り方自体がナンセンスではあるのだが、現実問題としてはアクセス権がテストに影響するので難しい。(twitter/AoiMoe)
private メソッドのテストはすべきかどうかというより、「できるべき」であって、それができないというのも、ある種、言語機能とテストのインピーダンスミスマッチと言えるのではないだろうか、と思っている。(twitter/aetos382)
RustやGoではプライベートメソッドに対するテストが簡単にできる。
そのためかプライベートメソッドをテストすることに対して拒否反応があまりないようだ。
Rustのテストはファイル内とtests/以下の2箇所に書ける。
テストには開発用のホワイトボックステストと仕様確認用のブラックボックステストがあり、前者をファイル内に、後者をtests/に書けば良い。
例えば度々議論になるプライベート関数のテストについてはもちろんホワイトボックステスト。(twitter/blackenedgold)
Rustではプライベートに対して何の手間もなくテストが書ける。
Rustでprivateなメソッドのテストを書きたいなら、そのメソッドのすぐ隣に書けば内部アクセスになるから普通に書けるよ、ってのは目からウロコだった。できるだけ近いところにテストを書こうっていう文化と相まって最高。(twitter/kuy)
Rust のようにユニットテストをプロダクションに混ぜる方式はおれもいいと思ってて、テストとプロダクションを分離することで private 関数のテストができない問題があるけど(テストしたければクラスを分けよ/メソッドを公開せよ/テスト必要なし、に分かれるよね)、そもそもこの議論が不要になるよね (twitter/nunulk)
昨日「private method の単体テストは書くか否か」という話題がちょいとあったのだが、わしは当然書く感じの昨今を送ってきたもんで何で書かんのやくらいに思ってたんだけど、Go だと private なやつのテストが書きやすいってのがデカそう。(twitter/pankona)
golangのテスト書いてたけど、テストプログラムの名前空間(パッケージ)が、対象のプログラムと一緒で、そのためプライベートメソッドでもテストできるの良い感じ (twitter/74th)
Goのテストコード、テスト対象と同じパッケージにすればエクスポートしてない関数でもなんでもテストコードから参照できるんだけど、これってプライベートメソッドはテストすべきか議論するよりテスト書けと言われているようで好き。(twitter/plan9user)
「プライベートメソッドをテストするか?」とは別に「ドキュメントをソースコードと同じファイルに書いていい(文芸的プログラミング)なら、単体テストをテスト対象と同じファイルに書いてもいいのでは?」というのも論点になるかもしれない。
最近はレバレッジが効く言語とフレームワークを好きになるようになってきた。
もう言語何でもいいわ。やっぱ静的言語がいいのと十分に熟練度がついてきたのでAPI開発ではGolang使って開発するのは良い。PHP(Laravel)、Ruby(Rails)はやはり生産性が高いので良い。ScalaもMonad Transformerを使ってモナドのスタックを解決していく程度あれでやっていき、あまり悩まないような構成になっていればサクサクやっていけそう。
実はJavaが一番いいんじゃないか…。Springガッツリやったこと無いけど、トランザクションとかもいい感じに効いてくれそうだし、そこそこ生産性高そうだし。
知らんけど。
なんでもいいや。
集計期間 2018年3月23日 20時10分 〜 2018年3月27日 1時0分、3日間(77時間)
集計対象は2018年3月23日 20時10分以降ファーストブクマされたエントリーで新着エントリーに入ったエントリーに限った
最大到達ブックマーク数 | タイトル | ドメイン | 新着リスト滞留時間(時間) | 新着リスト最終時間 | ファーストブクマ時間 | |
---|---|---|---|---|---|---|
1 | 174 | ActiveRecordデータ処理アンチパターン / active-record-anti-patterns // Speaker Deck | speakerdeck.com | 30 | 2018-03-27 01:00 | 2018-03-25 18:25 |
2 | 136 | 「技術チュートリアルをnoteで売る」っていう社会実験をしてみた結果、めっちゃくちゃ可能性を感じた話|Review of My Life | review-of-my-life.blogspot.com | 29 | 2018-03-27 01:00 | 2018-03-25 19:57 |
3 | 113 | 私服OKのIT企業でそこそこにちゃんとした格好をする方法 - ミネムラ珈琲ブログ | www.minemura-coffee.com | 43 | 2018-03-26 11:50 | 2018-03-24 16:20 |
4 | 90 | 発表資料: Elasticsearchによる 全文検索の実装 - Islands in the byte stream | gfx.hatenablog.com | 42 | 2018-03-26 12:00 | 2018-03-24 17:10 |
5 | 90 | 正しく失敗しながら進むプロダクト開発/railsdm2018 // Speaker Deck | speakerdeck.com | 33 | 2018-03-27 01:00 | 2018-03-25 15:52 |
6 | 86 | Rails Developers Meetup 2018 で「MySQL/InnoDB の裏側」を発表しました - あらびき日記 | abicky.net | 34 | 2018-03-27 01:00 | 2018-03-25 14:46 |
7 | 78 | 90%が間違えてる!?転職エージェントの選び方と効果的に使いこなす徹底マニュアル | career-rules.com | 45 | 2018-03-26 08:00 | 2018-03-24 11:00 |
8 | 77 | 厳選7種のチャートパターンを活用したFXのエントリー方法【事例付き】 | mugen-fx.com | 14 | 2018-03-27 01:00 | 2018-03-26 11:00 |
9 | 76 | suikahara漫画 : ★専門学校 | blog.livedoor.jp | 14 | 2018-03-27 01:00 | 2018-03-26 10:37 |
10 | 74 | 『ウルティマ オンライン』MMORPGの元祖がもたらした、多数の発明とは? “ロード・ブリティッシュ”らが明かす開発秘話【GDC 2018】 - ファミ通.com | www.famitsu.com | 43 | 2018-03-26 17:40 | 2018-03-24 21:43 |
11 | 70 | 小泉進次郎氏「平成政治史に残る大事件」森友文書改ざん:朝日新聞デジタル | www.asahi.com | 30 | 2018-03-27 01:00 | 2018-03-25 18:27 |
12 | 66 | 『うる星やつら』同窓会 実は杉山佳寿子はラム役を狙っていた? - otoCoto | otocoto.jp | 24 | 2018-03-27 01:00 | 2018-03-26 00:35 |
13 | 66 | Linuxカーネルソースの減量 // Speaker Deck | speakerdeck.com | 44 | 2018-03-26 11:50 | 2018-03-24 15:42 |
14 | 64 | Realworld Domain Model on Rails // Speaker Deck | speakerdeck.com | 32 | 2018-03-27 01:00 | 2018-03-25 16:02 |
15 | 64 | Microservices Maturity Model on Rails // Speaker Deck | speakerdeck.com | 42 | 2018-03-26 13:40 | 2018-03-24 19:25 |
16 | 63 | 僕が毎月「妻の布ナプキン」で手を血に染める理由(鈴木 大介) | 現代ビジネス | 講談社(1/4) | gendai.ismedia.jp | 46 | 2018-03-26 12:00 | 2018-03-24 13:31 |
17 | 63 | 牧野由依はなぜ復帰作で“声”をテーマにしたのか 本人が明かす、歌手活動休止の真相と次の一歩 - Real Sound|リアルサウンド | realsound.jp | 46 | 2018-03-26 09:00 | 2018-03-24 10:05 |
18 | 62 | 「デス様じゃねーか」「オーキド博士いるぞ!」 「ポプテピピック」最終回さまざまな意見が寄せられる - ねとらぼ | nlab.itmedia.co.jp | 33 | 2018-03-27 01:00 | 2018-03-25 15:58 |
19 | 61 | 子どもの能力遺伝子検査を受けてみたよ!ともちんの意外な能力は!? - ともちんブログ | www.tomochinchin.com | 15 | 2018-03-27 01:00 | 2018-03-26 09:09 |
20 | 60 | バス因子が自分で バス因子を脱するための方法 // Speaker Deck | speakerdeck.com | 32 | 2018-03-27 01:00 | 2018-03-25 16:01 |
21 | 56 | ノンデザイナーのためのコンセプト & ロゴ作り実践講座 feat. savanna.io // Speaker Deck | speakerdeck.com | 44 | 2018-03-26 10:00 | 2018-03-24 13:34 |
22 | 54 | インターネットでどうやってお金を稼ぐの?家で出来ちゃう「最近の副業」を16選まとめてみた。 | kanemotilevel.com | 35 | 2018-03-26 21:20 | 2018-03-25 10:10 |
23 | 54 | 米銃器老舗レミントン経営破たん、トランプ政権下で財務悪化 写真1枚 国際ニュース:AFPBB News | www.afpbb.com | 7 | 2018-03-27 01:00 | 2018-03-26 17:15 |
24 | 54 | これからGolang開発を行うRubyistたちへ - Qiita | qiita.com | 55 | 2018-03-26 11:20 | 2018-03-24 03:39 |
25 | 53 | 個人のためのコードレビューサービスを開発しました。 - Qiita | qiita.com | 14 | 2018-03-27 01:00 | 2018-03-26 10:13 |
26 | 53 | 昭恵氏の影響「総理しか説明できない」 小泉進次郎氏:朝日新聞デジタル | www.asahi.com | 43 | 2018-03-26 11:50 | 2018-03-24 16:25 |
27 | 53 | これ一本でフルカラーの描写が可能に!「CMYKペン」 | ギズモード・ジャパン | www.gizmodo.jp | 46 | 2018-03-26 05:50 | 2018-03-24 07:45 |
28 | 52 | ソーシャルメディアを「タダ」で使うコスト|松井博|note | note.mu | 43 | 2018-03-26 12:30 | 2018-03-24 17:07 |
27日1時以降にホットエントリー入りした可能性は残っている。ただし新着エントリーに24時間以上いてからホットエントリーに上がれるケースは稀。
3ブックマーク集めても新着エントリーに入れなかったエントリーもあるはずだが、それは集計の対象外になっている。
ホットエントリーになれないエントリーはスライド共有サービスSpeaker Deckからのエントリーが目立つ。Speaker Deck以外でもテック系のエントリーが目立つ。
えぇ。。。まじだよ。。。
docker-composeを使ってGolangとMysqlのイメージ使っていつも開発してぞ
好きなエディタは学生が無料で使えるIntelliJ IDEAでgoLand をよく使ってる。
Gitだってブランチ切ったりアドコミットプッシュくらいでGitHubを使ってプルリク系の開発をチームでしたりもした。
AWSはインスタンス立てたりロードバランサつけてインタンンス二つに流したり、CDNさしたりもできる
いうてCDNの設定とかドメインの設定だけでラクチンなんだけどね。
よくある「完全放置!」「全自動更新!」「何もしなくても儲かる!」みたいなアフィがあるけど
おそらく、その1つである全自動更新のエログ作って一ヶ月近くたったからその結果を書く。
何かしら作品を作ったらQiitaとかにアウトプット上げるけど、内容が内容なのでここで。
URLは多少内定自慢できるくらいの会社に内定貰っているから伏せますね><@バレなさそうなら晒す
・仕組み
・お金の話
・技術的な話
・結論
仕組みは簡単、いくつかの既存のエロサイトにWebスクレイピングをかけてウチのエログでも全く同じ情報を配信する。
そんなエログに全く価値が無いと思われるが、既存のエロサイトと比べてウチのエログを使うメリットはいくつかある。
1. share-videosを使っているので削除されていても案外見れたりする。
3. エログ特有のアクセストレードを行っていない(コピペなのでそもそもアクトレサイトに申請出来ない)ため、色んなサイトを行き来せずにめっちゃ見やすい!
4. 「PageSpeed Insights スマホ 82 PC 93」「【GTmetrix】 PageSpeed Score 99 YSlow Score 87(CDN入れたら94)」平均読み込み4秒のエログの割に読み込みが早い
5. スクレイピングするエログは動画のクオリティが高いサイトに厳選しているため良いネタがすぐに見つかってずく抜ける。(自分でも毎日使ってる)
事実、友達に悪い点とかのフィードバックを頂戴とお願いしたが「特に悪い点は無い、、、むしろ使いやすい」と好評。セッション継続時間は平均4分でみんな動画をちゃんと見てるみたい^^
自慢はここら辺にして、アクセス結果とかサイト情報はざっくりを晒す。
2月の総アクセスはざっと2400くらいで、1日大体70〜100くらい。流入は検索からのアクセスが100%。
検索ワードはjk 個人撮影みたいなワードからが割と多い。記事の数は10000件くらい。
こんなものか?正直Web系ではあまり無いから何をいえば良いかわからない。GAで取っているからみたい値があれば追記で。
完全放置のコピペかつ検索からの流入100%で1ヶ月目にしてはじょうじょうかな?
鯖の無料枠で運営しているため向こう1年はタダで運営出来ますが、もっとアクセスを稼がないと厳しいです。(何せshare-videosしか収入がないから)
月極広告のお話が来たら安定するのですが、スクレイピングでこの程度であれば来ないでしよう。
CMSとしてWordpressを採用。理由はSEOとかプラグインで楽そうだから(事実楽)(KUSANAGIの存在を知っていれば使ってたのにと今更後悔)
WebスクレイピングはGolangを採用。理由は速いから。並列処理でもっと速いから。あと書きやすい。てか。。。普通に好き。。。><
速さを求める理由はFunction as a serviceでスクレイピングを実行しているから。Python使おうと思ったけど、実行時間の制限があるためある程度早くスクレイピングを終わらせなければならなかった。
鯖側で常駐かcronを使っても良かったけど、常駐はメモリ食べてパニックだし、cronは設定がめんどくさいから。FaaSだとWeb上で実行間隔を弄れて無料で最高。
詳しい内容はウチのサイトの強みだから言えないが、他のエログのURLをリストに貼るだけで勝手に取得し投稿する。神。
Webスクレイピングエログはおすすめしない。手動で毎日更新したほうがアクトレで確実に儲かる。
黒字化するのであれば現行の方法ではなく、全自動で日本中のエログ全てのから記事を取得してshare-videosに張り替えて投稿するサイトかな。
本格的にプログラミングを始めとしてコンピュータ科学を学び始めたのは大学に入学してからです.
今では幸運なことにインターンで都内のベンチャー企業でgolangやpython, scalaを用いた大規模なシステム構築に携わっています.
お給料も日本の大学生にしては破格といえるのではないでしょうか. それも大学で真面目に勉強したお陰であると胸を張って言えます.
大学の方の卒業研究では組み込み系のセキュリティに関して研究しています. 正直テーマ選びに失敗したなと思っているので大学院にいったらシステムプログラミング系の方にシフトしようと思っています.
私が大学の授業で初めて習ったプログラミング言語はC言語でした. 理由を教授に聞くと, 並行して座学で教えるコンピュータ科学系の専門授業全般と結びつけやすいからだそうです.
最近のTwitterやQiita, StackOverflowなどでは「初学者が最初に学ぶべきプログラミング言語はなに?」という質問に対して, JavaScriptやPythonから入るのがベストだと言う人を沢山見かけます.
JavaScriptはブラウザというものが有る限り20年は消えなさそうですし, Pythonは機械学習を始め, Webシステムでも使え, 非常にクレバーな言語です.
javaもオススメだと思います. 30億?ものデバイスで動く言語ですしドキュメントも豊富です. 色々な分野にも応用が効くでしょう.
さて, そんな中でC言語という悪い評判しか聞かない, でもやたら色々なところで使われているらしい言語を最初に学ぶメリットとは一体なんなのでしょう.
一つ, 私が思いついたのはコンピュータと仲良くなれる.
というのもC言語はアセンブリや機械語に比べれば, 人間にわかりやすく, かつコンピュータ側にも近いという顔をもちます.
真面目にプログラミングしようとするとどうしてもそのコンピュータの仕組み(主にメモリ) について学ぶ必要が出てきます. これらの知識が現代の開発に置いて役立つ分野比較的限られると思います.
しかし, それらは思わぬバグの特定や意図していない動作の改善に役立つことがあるかもしれません(実際に私もいくつか出会いました)
二つ目は他の言語を学ぶ時のハードルが非常に低くなる. これはどの言語を学んでも同じだとは思います.
そして, 他の言語の高級な機能に思わず涙ぐみながら感謝すること間違いなしでしょう(javaのsplitとか他の言語にもあるHashとか)
ただ, 私はC言語の構造体やポインタのお陰でオブジェクト指向プログラム言語を低レイヤな実装的な面と概念的な面ですんなりと理解することができました.
そしてよく挫折ポイントとなるポインタ(ダジャレじゃないですよ?). これもメモリの住所だと考えればそれほど難しくはないのです.
メモリの管理を適切に設計した時あなたのプログラムはボルト並みに早く走ってくれるかもしれません.
他の言語では味わえないやりがいがあるのもこの言語の魅力でしょう.
書いているとこれぐらいしか思いつきませんでした.
それでもコンソールに初めて Hello World! が出力された時の感動はやはり忘れられません.
昨今, 高機能な言語が沢山ありますが, あなたのプログラミング生活にささやかなアクセントとしてC言語を学び直してみてはいかがでしょうか?
きっと今使っている言語に普段言わない感謝の言葉を述べること間違いなしです.
「Golangはジェネリクスあったほうが便利だと思うんだけど、"ないほうがいい"っていうひとも多いよね。"なくても十分便利だよ"ならわかるけど"ないほうがいい"はちょっと視野が狭いんじゃないの」という意見に対して「ジェネリクスないって文句言ってるひとはあなたの好きな最高の言語で黙ってコードかけハゲ」みたいな反応とか「なくてもGolang十分便利ですし」みたいな反応がたくさんあって噛み合ってないまま喧嘩しててなんなんだおまえら!!!!
ただ「ジェネリクスないのあったほうがいいよね」って言ってるひとの表現が結構攻撃的だから反発しちゃう気持ちもわかる。でもかみあってないまま喧嘩するな!おまえらなかよくしろ!!!!!!!!1
わざわざつけなくても文脈でわかるよね。
つけたほうが紛れがないってことなら、
「Raspberry PiとGo言語でミニトマトの栽培環境を監視してLINE Botで通知する」
みたいなのは
「Raspberry Pi端末とGo言語でミニトマトの栽培環境を監視してLINEアプリ Botで通知する」
と書くかというとそんなことは絶対ないし。
--追加
Goじゃわからないとかつけたほうが優しいみたいな人がいるけど、golang.orgのドキュメントでさえ、golangみたいな書き方しないでGoとしか書いてないよな。
CだってC Languageとか書かないでただCと書くのが普通だし。
ーー追加
TPOとか状況に応じてつけろとかいい加減なこと言ってる人がいる。
常に付けなくていいよ。
明示するときは「プログラミング言語C」みたいに文章の最初に書くよ。あとはC。
English語とか、Japanese語みたいな書き方変でしょ。C言語とかCOBOL言語みたいな書き方おかしい。
イングリッシュ語と書くのが適切な状況ってどういう状況だ。
若者に気を使わせやがって
学習してから3日目ぐらいだけど連続3日でやったとは言っていない。
他のプログラミング言語と違ってチュートリアルの内容が足りないってこともなさそうだし、Golangのチュートリアルだけは繰り返しやったほうが良さそう。
今からGolangを学ぶならGoogleのリポジトリにあるパッケージ管理にdepを使うほうが安心する。
まだ公式ツールじゃないけど将来なるかもしれないしならないかもしれない。
Googleのことだからgxuiみたいに更新されなくなる危険もあるよな・・・・
でもプロジェクトを新規作成するときにrails new helloに相当するコマンドがないので不便。
スケルトン生成ツールが別途必要だけどフォルダ作るだけだからbatファイル用意するだけで良さそう。
あとGOPATHの設定もか。今のところは手動でやってるけどそのうちbatファイルにしたい。
でもやりたいことができないのがつらい。
cursesぐらいは標準で出来て欲しいよ。
だから他の言語ではいらないのにGolangではそんなことでもライブラリを探してきてインストールしないといけない。
Goglandだとそのままでも十分だけどVimの場合はvim-goを入れるのが良い。
勉強会に参加するときは軽量ノートを持っていくので動作が軽いVimがいい。
でもryzen搭載ノートが来たらIDEに乗り換えるかもしれない。
cliってライブラリもあるみたいだけど標準機能のflagだけで十分便利。
今の所もあんまりコマンドラインツールに興味ないので難しいことはしない。
やりたいことをぐぐってコピペしてる程度なのでdeferとかgo funcとかグローバル変数とか基礎的な部分はまだ知らない。
インストールが楽だけどWindows作ったらMacでも動くかは謎。
MacのハードウェアにしかMacのOSインストールできないライセンスだからWindows PCにMacインストールできないからapple嫌い。