はてなキーワード: Githubとは
GPT4:
AI技術やその他の技術が急速に発展している現代では、確かに最先端の技術にアクセスできないと置いていかれる感覚があります。しかし、経済的な理由で最先端技術を利用できない方々も、それに代わるリソースや方法を活用することが可能です。
AIやその他の分野での学習や研究に役立つ無料または低コストのリソースがたくさんあります。以下にいくつかの例を挙げます。
経済的な制約がある場合でも、これらの無料または低コストのリソースを活用して、AIの分野で学び、成長することができます。最先端技術に追いつくためには、情報へのアクセスだけでなく、自分自身の学習意欲や努力も重要です。
・githubとslackを連携させることであるレポジトリに対して行われた「特定の操作」に対して通知を送ることができる
・例えばPRを監視する設定にしておいてPRを作ればslackに通知を送ることができる
・同様にdependabotで自動生成されたPRに関しても通知が発生する
ここまではヨシ
・「特定のラベルを付けた特定の操作」に関しても通知を送ることができる
・例えば"dependencies"のラベルを付けたPRにのみ反応する設定を作ることができる
ここまでもヨシ
・dependabotで作られるPRには"dependencies"のラベルが付く
・「dependabotによって作られた"dependencies"のラベルを持つPR」にはなぜか上記の設定でも通知が送られない
(追記)
今後の開発記録はブログで公開していくからよかったら読者登録よろしくね。
https://firststar-hateno.hatenablog.com/
------------------------------------------------------------------------------------------------------
https://b.hatena.ne.jp/firststar_hateno/bookmark
今のところ手動なんだけど、そのうち6時間に1回ホットエントリーの記事5記事程度に対して自動でブックマークするようにするつもり。
ちょっと前のよっぴー騒動ではてな版のとぅぎゃっちゃんとかいたらいいんじゃないのって言ってたのを思い出して、なんとなくそれを意識して作ってる。
最初は記事の内容を読み込んでちゃんとしたコメントをさせようとしてたんだけど、記事の内容がHTMLのどの部分なのか特定させるとか漫画の記事はどうすんだとか結構難しい問題があるし、よく考えたらブクマカも大体記事のタイトルとブコメ一覧しか読まずにコメントしてるからAIブックマーカーもそれでいいかとなって今のところタイトルとコメントだけ読ませてコメントさせてる。
設定はgithubを見てください。
https://github.com/ktny/AI_hatena_bookmarker
みんな可愛がってくれよな。
(追記1)
はてなブックマークの利用規約についていくつかコメントがあったので追記するよ。
https://b.hatena.ne.jp/help/entry/spam
・特定のサイトに対し、メインアカウントとサブアカウントで複数のブックマークをする行為
・複数のアカウントで共謀して同一のURLをブックマークする行為
・広告、宣伝および検索サイト最適化を目的としてブックマークする行為
・ワンクリック詐欺や不法行為が行われているサイトを宣伝広告目的でブックマークする行為
・ブックマークを明示的に依頼したり、ブックマークの追加に金銭や物品などの報酬や特典を与える行為(当社が主催するキャンペーン企画などを除きます)
・ブックマーク対象のページの内容と無関係なタグやコメントを投稿し、誘導をはかる行為
・特定の条件で自動ブックマークをする行為のうち、特に公正性に影響が出るもの
・エントリーのブックマーク数に応じて、自動的にブックマークを投稿する等
この中で該当するかもしれないのは「特定の条件で自動ブックマークをする行為のうち、特に公正性に影響が出るもの」かな。
ただ、エントリーのブックマーク数に応じて投稿しているわけではないし、もしそれが引っかかるということであればなんらか対策はできそうかな。
はてなとしては自動ブックマークする行為自体を禁止しているわけではないと俺は読み取ったよ。
メインアカウントについては複数アカウント所持を避けるため削除するよ。
(追記2)
・長文だけでなく短文もなるべく投稿するようにする
・タイトルを形態素解析してタイトルワードをなるべく使わないように調整(単なる要約になりすぎないように対策)
・タイトル、ブコメ以外に記事の説明文も活用できる場合は活用する
より自然になった気はするけどユーモラスなコメントとかはなかなか難しい。
テストしてるとたまにすごく面白いなーと思うものも出るんだけど毎回そういうのが出るわけではないんだよね(そういう面白かったコメントを抜き出して投稿とかはせず純粋にそのとき自動で出たコメントをブクマさせてる)。
結婚した際の年齢
妻:30歳 年収 650万
夫:27歳 年収 450万
10年前、仕事は冴えないSE。友達もいない、彼女もできたことない。そんな冴えない人生を送っていて流石に寂しくなり、
婚活をしてみた。当時はマッチングアプリみたいのはそこまで盛り上がってなく、婚活サービスを登録した。
パートナーエージェントというものすごい面倒見の良いサービスで、これなら自分でもいけるかも。。
となぜか思った。童貞、友達なしなら普通に考えたらダメなんだけれども。
ちょうど28歳以下の男性の割引キャンペーンがあり、登録してみた。
親身にインタビューをしてくれて、自分の良さを引き出す紹介文を一生懸命書いてくれた。
1年くらいやってダメなら諦めようかと思ってたらなんと一人目の人と結婚できた。
キャンペーンの甲斐もあり、パートナーエージェントさんには3万円くらいしか払った記憶がない。
とても幸せだった。人生って、いいもんなんだなって、心の底から初めて思った。
向こうのほうが年収も役職も上。ずぅっと仕事続けたいと言っている。
SEで年収を上げるには転職するのが手取り早いのは事実で、昇給の予算よりも
良い条件で転職するにはコネか、誰にでもわかる実績を作るかだ。
登壇するのも自分の名前を売るのには良いらしいが、友達ゼロのコミュ障なので
あの勉強会後の懇親会に耐えられず、登壇はあまり頑張らないことにした。
OSS活動の方が自分には合っており、とにかくgithub上の実績を重視することにした。
ただ、子供が産まれてからはgithub上の活動はむずかしくなり、働くだけで精一杯になってしまった。
夫:37歳 年収 1500万 (本業1300 + 副業 200)
子供:二人
こんなに可愛く思えるものが他にあるのかと感じた。
胸いっぱいの幸せという感じを毎晩感じて寝られている。
年収はOSS×転職戦略が上手くはまり、妻を超えることはできた。割の良い副業でも少し稼げてる。
妻は子供二人分の産休で昇進等が止まってしまったという側面もあるけれども。
今となってはもっと上手く資産運用しておけばもっと楽に増やせたのにと後悔してる面もある。
子供二人働きながら育てるの、大変だけど、頑張るよ。
Q: S/N比とはなんですか?シグナルを検出するためには、何回の観測が必要でしょうか?
S/N比(信号対雑音比)とは、バックグラウンドノイズのレベルに対する信号の相対的な強さを示す尺度である。信号の強さとノイズの強さの比として表される。S/N比が高いほど、信号を検出し、正確に測定することができる。
物からの信号を検出するために必要な観測回数は、信号の強さ、ノイズのレベル、希望する信頼度など、多くの要因に依存する。ノイズの少ない強い信号を検出するには、少ない観測回数で十分な場合もあれば、弱い信号やノイズの多い環境での信号を検出するには、多くの観測回数が必要な場合もある。一般に、観測回数を増やせば、信号の検出の信頼度は高まる。しかし、必要な正確な観測回数は、特定のアプリケーションと望まれる確実性のレベルに依存する。
Q: では、具体的な例を考えてみよう。ある人がX社に入社したとします。この人は、「自分が優秀だから入社できた」と言います。しかし、この人が本当に優秀かどうか、S/N比に基づくとしたら、どうやって見分けることができるでしょうか。
従業員のパフォーマンスを評価する場合、シグナルは従業員の実際の能力や成果であり、ノイズは、注意力散漫、リソース不足、管理不足など、パフォーマンスに影響を与える可能性があるさまざまな要因であると考えられる。
このような状況でシグナル(従業員の真の能力や成果)を検出するためには、さまざまな方法で従業員のパフォーマンスを評価し、ノイズの影響を軽減することが必要である。考えられるアプローチとしては、以下のようなものがある。
これらの方法を組み合わせることで、S/N比を高め、従業員の能力と成果をより明確に把握することができる。ただし、1つの方法で完璧に評価できるわけではなく、複数の情報源を活用することで、より正確で包括的な評価が可能になることを留意すること。
Q: しかし、この人がX社に入社できたのは偶然である可能性もあります。これが偶然でないことを証明するために必要な観測回数は何回ですか?
ある事象が偶然ではないことを証明するために必要な観測回数は、求める信頼性のレベルとその事象の希少性に依存する。
この場合、問題の事象が採用されることであれば、候補者の資格、採用担当者の偏見、現在の雇用市場の状況など、多くの要因が採用プロセスに含まれることを考慮することが重要である。一回の採用が偶然である可能性は確かにあるが、それが偶然でないことを証明するために必要な観察回数は、具体的な内容や文脈を考慮しないと判断が難しい。
その人の採用が本当に偶然であった場合、それが単なる偶然ではないことを証明するためには、おそらく同じようにあり得ない事象を複数回観察する必要がある。例えば、その人が数年にわたり非常に優れた業績を上げ、注目すべき業績をいくつも達成した場合、その人の採用が偶然ではないことをより強く証明することになる。
Q: では、本人が意図的に無能の証拠を隠した場合はどうでしょうか?
もし、ある人が無能の証拠を意図的に隠した場合、ノイズ(その人が意図的に自分を有能に見せようとする努力)の中からシグナル(その人の真の能力)を検出することは困難となる可能性がある。このような場合、S/N比が低下し、正確な評価が難しくなる。
この問題に対処するためには、複数の情報源を持ち、操作の影響を受けにくい方法を用いることが重要である。例えば、売上高やコードの品質など、客観的で操作しにくい業績指標は、より信頼性の高いシグナルを提供することができる。さらに、同僚がその人の能力を評価する同僚評価も、その人の真のパフォーマンスについて貴重な洞察を与えてくれる。
また、従業員が自分の能力について意図的に誤解を与えたり、情報を隠したりしている可能性がある場合に対処するために、明確な方針と手順を定めておくことも重要である。これには、定期的な業績評価、率直なフィードバックの機会の提供、提供された情報の正確性を検証するための定期的な監査や評価などが含まれる。
全体として、意図的に無能の証拠を隠そうとする努力を発見し、その影響を軽減するには、複数の情報源と提供された情報の正確性を検証する仕組みを含む、体系的かつ包括的なアプローチが必要である。
Q: 結局、能力で成功したのか、運で成功したのか、わからないのです。なぜナルシストは他人を「無能」と見下してしまうのでしょうか?
ナルシストはしばしば他人を「無能」と見下すが、これは自己重要感を膨らませ、自分が他人より優れていると信じているからである。この優越感は、歪んだ自己イメージに基づいていることが多く、ナルシストは、自分を非常に有能で、知的で、成功していると見なす一方で、失敗や弱点を軽視したり無視する。
ナルシストは、自分の成功の背景として、その成果を自分自身の能力と努力のみに求め、他者が同様の成果を上げていない場合は「無能」であると見下すことがある。また、自分と同じ信念、価値観、意見を持たない人や、自分の優越感に少しでも挑戦する人がいれば、他人を無能と見なすこともある。
このような考え方は、現実を歪めて見ていることと、他者への共感能力の欠如に基づくものであることに注意する必要がある。実際には、成功も失敗も、能力、努力、運、状況など、さまざまな要素が複雑に絡み合った結果である場合が多い。ナルシストは、自分の成功は自分の能力のおかげだとし、他の要因の役割を軽視することで、一種の過剰な一般化を行い、他人の貢献や彼らが直面しうる課題を見落とす。
全体として、このような行動は自己愛性人格特性を持つ人の典型であり、自分のニーズや欲求を何よりも優先し、歪んだ自己重要感や優越感を持っている。
Q: では、プログラマーが、インターネットを有効活用し、無能の証拠を隠したりせずに、自分が優秀であるというシグナルを見つけるにはどういう方法がありますか?
プログラマーが、無能である証拠を隠すことなく、自分が優秀であるというシグナルを見つけるために、インターネットを効果的に利用する方法がいくつかある。
このようにインターネットを活用することで、無能である証拠を隠すことなく、自分が優秀であることを示すシグナルを効果的に見つけることができる。自分の仕事と知識を率直に共有することで、有能で知識の豊富なプログラマーとしての評判を確立し、その分野の人々と関係を築くことができる。
Q: では、自分の能力を見極めることと、ナルシストに陥らないことを両立させている人がソーシャルメディア上では少ないですが、どうすればよいでしょうか。
自分の能力を正確に評価し、ソーシャルメディア上のナルシシズムの罠を回避することは難しい。ここでは、その助けとなるいくつかのステップを紹介する。
これらのステップを踏むことで、ナルシシズムの罠を回避し、ソーシャルメディア上で自分の能力を正確に評価することができる。そうすることで、有能で謙虚なプロフェッショナルとしての評判が高まり、成長と成功のための新たな機会が開かれる。
夕飯(github copilotでおすすめの夕飯で生成した後にプログラムで重複した要素を削除した)どれにしよ
['ラーメン', 'ピザ', 'カレー', 'ハンバーグ', 'チキン', 'オムライス', 'カツ丼', 'パスタ', 'フォーク', 'チャーハン', 'パン', 'パンケーキ', 'ライス', 'サラダ', 'チーズ', 'サンドイッチ']
ただ、受験ハック的というか、過去問丸暗記すれば午前は余裕だし、午後も過去と似たような問題が出るしで、内容をあまり理解していなくとも合格できることに課題が少しある
なので国際資格みたいに、暗記では対応できないような問題をたくさん出題すればもっと価値が出る
まあ世界的に見て、「ある特定の世代が資格にこだわって実務能力は皆無」って現象はよく知られてるので外資で働くなら資格はネガティブシグナリングになっちゃう
製造業や金融でエンジニア引抜で年収2割増しらしいのでこれから転職考えているブラック企業エンジニアや一人社内SEに向けてアドバイス
自社開発している会社じゃ当たり前レベルだが、今盛り上がっている業界ではそれだけで凄いと思われる。
あとベンダー系の資格と違って上流工程やネットワークとかもさわりは学べるので働くにも便利。資格より経験と言われる業界だけどぶっちゃけ中小の一般企業はPythonで何をどうとか言っても響かないぞ。
ネットワークの基礎知識得るにはこれで充分。基本→応用→ネスペと行くならより上位を取るべきだろうが今盛り上がっている業界はLAN繋げるだけで凄いと言われたりする業界だ。主に外の技術者と話すための知識だ
GoogleとMSもあるけど正直AWS一択はまだ続くので学んで損は無い。初歩の資格だけどAWSの各種サービスを知ることができるのでシステム構築するときにあんなサービスあったよなと思いだせるようになるので良いぞ。これも外の技術者用
ハードル高そうだけど世の中の本屋にある教則本を1冊やりきって1%くらい自分らしさ出してGithubに載せて履歴書にURL乗せておけ。で当日動かしてアピール。これはたまに古参の小太り社内SEが知ったかぶりでマウント取ってくるの防ぐための先制パンチだ。もちろん単純に人手不足だけど能無し技術者引きたくないって純粋な人にも刺さる。これってあの本のソースですよねとか言ってくる奴はごく一部の会社以外居ない(まれに著者に会います)
サーバ構成とか言語とか先に書いておいてそっち読んでと言っておこう。システム構成図書いとけ。口で言うの面倒だし。そうすれば相手は頑張ったことや学んだことくらいしか聞いてこない。たまに小太り社内SEがVBって聞いてVBAとかだと思ってマウント取ってくるけどお前はAccessでDB管理している気分楽しんでろ。(Access自体に罪は無いです)
面接とかマジでアディショナルタイム。職務経歴書をせこせこ書き1個くらい携わったシステムの構成図と各種技術を描画しPDFにしておき、あとはその会社のHPなんとなく眺め暇だったら四季報の業界地図でその業界のなんとなくの雰囲気を覚えれば話は弾むからみんなさっさと転職しよう。もちろん職場は引き留めに入るかもしれないが金以外の交渉は受け付けるな。出す条件は賞与除いて額面で年収600で。上の条件取ってれば残業無し賞与別で年収500は固いよ。
自分が止めた後もっといい条件で前の職場が募集するかもしれないとか思うかもしれないがお前を好待遇で引き留められなかった会社がそれ以上の価格でスタートラインではお前以下の人間を雇えるわけないし、運よく雇えてもとてつもない物を期待するからその人も同じ金額でもっと楽なとこに転職するから気にすんな。
特に目的もなくプログラミングを始めたが、勉強してるうちに仕事にしたくなった。この体たらくだし、まずは経歴をつけたいので待遇(長時間労働や年収)は厭わないが、出来れば派遣や客先ではなく自社開発が良い。
プロゲートのjava、html、cssを数週繰り返した後に本格的に時間をとって勉強し始め、「スッキリわかる入門」のJavaとSQLをやり、「Spring Framework超入門 ~やさしくわかるWebアプリ開発」を読みながら書籍のアプリを真似、その後Twitterと増田を組み合わせたようなアプリを作ってみた。そのあとwebアプリではなくWindowsアプリを作ってみたくなり、GUIの書籍を買ってswingを学びながら、小説家向けのエディタアプリを作った。作ったアプリを公開したりはしてない。GitHubも登録していない。金はないのでスクールも通っていない。
増田を全削除するのであればPower Automation DesktopかSelenium IDEあたりでも使えば可能ですが、中にはブクマを集めた珠玉の増田やブクマは付かなくても割と気に入ってる増田もあるので全削除はしたくありませんでした。
Masuda Deleter
https://github.com/oribeolive/masuda-deleter/
Masuda DeleterはDockerコンテナに環境を作って動くのでDockerが必要です。
M1 Macで動作していますがWindowsは検証できるマシンが手元にないので動作未確認です。
インストールはGitHubのREADMEに書かれたコマンドを実行すればできると思います。
Masuda Deleterははてラボにログインして指定されたページ分の自分の増田の投稿をスクレイピングしてローカルのDBに保存します。
取得された投稿のリストがブラウザで見られるので、そこで削除するものを選んで実行すると、またログインして投稿を削除しにいきます。
ページのアクセスごとに読み込みと遠慮のために1秒から数秒sleepするので少し時間がかかります。
一旦投稿をローカルに保存するという過程があるため副作用として自分の投稿を検索できます。
これにより
が容易になります。
増田にはAPIがないので、IDとパスワードを使ってログインして、表示されている文章をスクレイピングしてくるという原始的なやり方になります。
(2回目からはcookieがある場合はcookieを復元してログイン状態になります。)
ユーザーが知らない外部サイトにクレデンシャルを渡すのは危険であり、サービス運営側としてもパスワードを平文で持ちたくないので、Webサービスとして実装せずセルフサービスとしております。
ユーザーによってローカルの.envファイルに書かれたIDとパスワードを使用する形です。
ソースをオープンしておりますので怪しいことをしていないかも確認ができるかと思います。
一応下にプログレスバーが出ますが、ページ遷移すると見られなくなります。進捗は進捗管理でも確認できます。
取得された投稿はリアルタイムで画面に反映されないのでブラウザをリロードしてください。
増田のID、タイトル、本文の省略、投稿日時、ブクマ数、トラバ数が表示されます。
「あとで消す」投稿をチェックし、「あとで消す」記事をついに消すボタンで削除を実行します。
チェックは別のページに遷移しても有効です。
こちらは実行した時点で表示されているページのみリアルタイムに画面に反映されます。
投稿の全文を見られます。タグ等は取得しないのでテキストのみになります。
投稿を個別に取得してローカルの文章とブクマ数とトラバ数を更新します。
対象の投稿のタイトルを空に、本文をスペース1文字にしにいきます。
処理の進捗(何件中何件処理済みか)を見ることと、処理を停止させることができます。
排他処理(取込と取込、特定IDの削除と同じIDの削除等)にしているので動いていなそうな処理を停止して再度処理を実行するときに使います。
停止する場合は停止ボタンを押すか、それでも停止しそうにない場合は強制停止ボタンを押してください。
「停止」は今行っている最中の処理ではなく次以降の処理を停止するという形になります。
停止ボタンを押したときに4ページ目を取得している場合は、5ページ目の取得を始める前に処理を終了することになります。
そのためプロセスそのものが止まっている場合は停止されません。
「強制停止」はプロセスをkillします。スクリプト名とプロセスIDでプロセスを検索して子プロセスも含めてkillします。
おまけとして、投稿日とブクマ数、投稿日と3ブクマ以上の投稿の件数、投稿時間(hour)ごとの1ブクマ以上の投稿の件数のグラフが見られます。
ブクマが付いた瞬間ではなく投稿日時なので、いつの時期に投稿した、何時に投稿した増田が活きが良いのかを見られる程度です。
集計データを別に持っていないので増田を削除するとグラフに使用されるデータも消えます。
私はこれで多いときには4000件程度あった増田を3000件程度に減らしました。
これを開発する前からも増え続ける増田の削除に日々勤しんでいたので総数はもっと多いはず。
まだまだ削除したいです。
たまに
Message: unknown error: net::ERR_CONNECTION_CLOSED
というSeleniumのエラーが出て処理が実行されないことがあります。再度実行してください。
フロントエンドがレガシーなのでMasuda Deleterの開発に飽きていなければもう少しモダンにリプレースしようと思っています。
使用していないDjango REST frameworkがrequirements.txtに入っているのはその名残です。
githubっていつのまに、ちょい古めのブラウザだとassetsの所がグルグル回ったまま、クリックしても開かないようになったんだ。
ちなみに、ちゃんと開けるブラウザを使ってだ、HTMLの検証できるサイトに行ってそのページのソースを貼り付けたらば、やっぱ古いブラウザと同じ結果になる。
ほんまにいらんことしよってからに!
ダウンロードするには、ターミナルでcurl -v https://api.github.com/repos/[目的の場所 公開してる人のアカウント名(owner)/プロジェクト(repo) ]/releases/assets
ってやるとずらっと表示される中に"browser_download_url" とあって、ブラウザでダウンロードできるURLが表示される。
releasesの右に/tag/が入ってるページの絞り込みはreleasesの横に入れればいいのかと思ったが、ちょっと分からなかった。
*ターミナルを使わなくてもcurl -v を省いて、"https://api.github.com/repos/"から"/releases"までをブラウザのURL欄に入れたら同じ内容が階層にまとまった状態で表示されるのに気づいた(三角をクリックしたら開く)
そしてグレーで「jsonを検索」って所にラベル名なんかを入れると絞り込んでくれる。
なんだこれ凄く便利じゃないか!