はてなキーワード: コードとは
はい、JavaScriptによるコーディングはコンピュータサイエンスの一部と見なすことができます。コンピュータサイエンスは、情報とその処理に関する学問であり、プログラミングはその重要な要素です。JavaScriptは、ウェブページを動的にするための主要な言語の1つであり、ウェブ開発の分野で広く使用されています。したがって、JavaScriptを学び、それを使用してコードを書くことは、コンピュータサイエンスの実践的な応用の一部と言えます。しかし、コンピュータサイエンスはプログラミングだけではなく、アルゴリズム、データ構造、ネットワーク、データベース、人工知能など、より広範なトピックをカバーしています。それぞれが特定のプログラミング言語やツールを使用して探求されることがあります。JavaScriptはその一部であり、特定の問題を解決するためのツールとして使用されます。それはコンピュータサイエンスの一部であり、その全体ではありません。それでも、JavaScriptをマスターすることは、コンピュータサイエンスの重要なスキルを習得するための素晴らしいステップです。それはあなたが複雑な問題を解決するためのロジックとアルゴリズムを理解するのを助け、あなたの思考を開発するのを助けます。それはまた、あなたがウェブ開発の世界に足を踏み入れ、あなた自身のウェブサイトやアプリケーションを作成するのを助けます。だから、はい、JavaScriptによるコーディングは確かにコンピュータサイエンスの一部です!
はい、ブラウザの実装は確かに**コンピュータサイエンス**の一部です。以下に、その理由をいくつか挙げてみます:
1. **アルゴリズムとデータ構造**:ブラウザは、効率的な検索、ソート、データの格納と取得など、多くのアルゴリズムとデータ構造を使用します。
2. **ネットワーキング**:ブラウザは、HTTPやHTTPSなどのプロトコルを通じてインターネットと通信します。これらのプロトコルの理解と実装は、コンピュータサイエンスのネットワーキングの分野に直接関連しています。
3. **レンダリングエンジン**:ブラウザのレンダリングエンジンは、HTML、CSS、JavaScriptなどのコードを解析し、それをユーザーが見ることができる視覚的なウェブページに変換します。このプロセスは、計算理論、グラフィックス、プログラミング言語の理解を必要とします。
4. **セキュリティ**:ブラウザは、ユーザーのデータを保護するために、さまざまなセキュリティメカニズムを実装します。これには、暗号化、サンドボックス化、同一生成元ポリシーなどが含まれます。
これらすべての要素は、コンピュータサイエンスの基本的な概念に基づいています。したがって、ブラウザの実装は、その「サイエンス」の部分を明確に示しています。ブラウザの設計と実装は、これらの理論を実際の製品に適用するための実践的なフレームワークを提供します。それらは、問題解決、効率的な設計、そして最終的にはユーザーに価値を提供するための方法を探求します。これが、ブラウザの実装がコンピュータサイエンスである理由です。
俺のエスパーがあってればだけど
超初心者向けの環境の構築とかHello Worldとか If forとかはあるけどそっから実際に何か作るところが薄くて、飛んでオライリーでリーダブルコードだのDDDだのっていうことなのかと
時々、行動を起こすことが重要だと思うことがある。
私は障害者であり、ハロワの職員に勧められて自立訓練施設で訓練していたことがあった。そこでの人間関係は楽しいものだったが、訓練が役立ったことはない。
教えられなくとも料理はできるし、裁縫を学んでも実生活で役立つことはないし、OfficeSuiteの使い方なんてものは教わるまでもない。
訓練の一環と言って、無賃で工場勤務をしたこともある。たまに巨大組織に金をむしり取られる夢を見る。これは自立訓練で金と時間を奪われたトラウマと思っている。
「足るを知る」がその組織の哲学だったが、個人の哲学として優れているとしても、企業がそれをやれば「低賃金?障害者のお前たちが働けるだけありがたく思え」という態度になるだろう。
それで...行動を起こすとはどういうことか。例えばそれは自立訓練を抜け出して自分の力で転職活動をするということだ。そして結果的にフルリモートで働くプログラマーになれたわけである。
さてこの先、収入を高めるために転職活動をするべきだろうか。私は箴言の一句を思い出す。
フルリモートで自由度が大きいのに、仕事に対する態度がかなり真面目になってしまい、精神的にもストレスは溜まっている。
真面目に働こうと思うわけである。GWも火曜日からは仕事がある。
ところで、仕事と余暇が同じ部屋であるからか、寝ているときにコードを脳内で走らせるような悪夢も見る。
おそらく代わり映えのない部屋の風景に浸り続けるのがいけないのだろう。今日は散歩でモスバーガーまで行ったが、こういう気晴らしが必要だ。
新人エンジニア社員が現場のベテラン業務委託に話を聞いてもらえないとか、
テスターがエンジニアに話を聞いてもらえないとかいう話をよく聞くけど、
俺は新人の時点でそこそこコード書けたし、エンジニアの割にはコミュ力もある方だったから、実力で一目置かせて現場と仲良くなってた。
ついでに、はっとするような指摘をくれるテスターには逆に一目置いてる。
もちろん明らかに邪険にするような態度を取るのは社会人としてNGなんだけど、実力主義の職種なんだから人のせいにしてないでコミュ力含む自分の実力磨けよなという話。
従来プログラミング業界においては、やれ「ググる力が重要」だの、やれ「分からないことはググればいい」だのと言われてきたわけだが、もうそろそろこういう妄言は根絶されるべきだ。
そもそも、専門知識の要る分野でそれなりの水準の仕事をしようと思えば、ググって済むようなことはほとんどない。
実際、プログラミング以外のあらゆる分野で「ググればいい」なんて言われることはほぼ無い。その分野の仕事に必要な基礎知識を身につける方が圧倒的にウェイトが高いからだ。
「ググる力」とか言ってるアホは、じゃあためしに俺の手元に、タネンバウムの「コンピュータネットワーク」第6版があったから、これと同等の知識を、コーディング時の調べ物だけで身につけてみてくれないか。
こんな知識は業務で必要ない?そりゃお前がその程度の仕事しかしてないってだけだろ(笑)
ネットのサンプルコードコピペするしか能のないIT土方、コンピュータサイエンスや数学にコンプレックス持ってる低学歴は、さっさとエンジニアやめろ。少なくとも、他人(とくにプログラミング初学者)を自分と同じ水準に貶めるな。
まず挙げられるのが、何でもかんでも言わなきゃやらない指示待ち無能への揶揄である、ということ
オブラートを剥ぐと、その程度のこと自力でやれカスが、であるがそんなこと言うと社会人として終わってるのでオブラートに包むのである
つぎにそこまでは無能ではないが初心者へアドバイスとして述べられるパターン
こちらは単純、元増田にも触れられてるが専門知識で調べても出てこない部分はどうしても出てきてしまう
ただしここで重要になるのは直面したその問題が、調べてできることなのか調べてもどうしようもないことなのか、の見当がすばやくつけられるかどうかである
このセンスを鍛えるのに欠かせないのがいわゆる「ググる力」であるのでやってみろと言われるわけなのだ
その最新にある程度追従していかなければならないのは宿命となっている
優秀でなくともある程度マシな人材に育てるにはその感度を鍛えてやる必要がある
ここで重要になるのは「自分から調べる」と言う行為は当たり前であり苦にならないような状態にする必要があると言うこと
もちろん当然であるがググるは比喩であり本当にググるだけでなく書籍や勉強会など必要なものを必要なだけ自分で手に入れる能力である
つらつら思いついたことはこんなところかなあ
まず論文の再現性問題と言って、おなじことをやっても全く再現しないことが多い
それ以前の問題として、論文の内容を正確に同じことをやろうとするにはgithub等でコードを公開しているなどしないとまず不可能
「僕たちの手法はこうでーす!ACCの値はこうでーす!SOTAでましたー!」だけじゃ論文になんの価値もないんだよね
anond:20240427075724へのアンサー
8:00 起床。フルリモートなのでこれで間に合う。二日酔いで気持ち悪いのでとりあえず茶だけ飲んで、いますよアピールのためにTeamsを立ち上げる。
8:30 気持ちが悪い。メールとチャットで爆弾回ってきてないのだけ確認。
9:00 スタンドアップ(毎朝定例)ミーティング。頭回らないので自分が何言ってるかよくわからないがとりあえず1分話してお茶を濁す。
10:00 QA(テストの人)が俺が新規に書いたコードが動かないと言ってくる。30分くらいデバッグしたら超初歩的なタイポ(打ち間違い)だった。ため息つきながら、バグだったよグッドジョブ!と空元気でチャットして一行直してまた上げる。
12:00 お昼休み、というのは無い。アメリカ人マトモに昼飯食わない。昨日の残りのカチカチのピザを齧る。ここから動かない頭でコーディング。
13:30 どういう仕様で動くのか問い合わせがくる。それはお前が俺に教えるものなのだが。仕方ないので2年前に俺が勘で書いた仕様書をコピペして送る。
14:00 まだだるいので風呂に入る。そういう時に限ってチャットがくる。スマホの防水偉い。
18:00 いつ終われば良いのかわからないからラップトップ開けたまま飲み始める。
20:00 酔っ払ったままプロダクション(本番環境)にコードをあげる。8PMに働くとか最初言ってなかったですよね。
これで貯まるのは年200万くらい
いろんなアプリケーションのメンテ(バグ取りとか細かい機能追加とか)を何度か経験してきた。
主にテキストファイルとかCSVファイルとかExcelファイルとかを入出力するものばかりだったんだが、その大半がファイルの拡張子をグローバル変数化していた。
こんな感じ
const TxtFileExt = ".txt"; const CsvFileExt = ".csv"; const ExelFileExt = ".xlsx";
outFileName = 〇〇 + ×× + "ABCDEFG" + TxtFileExt;
みたいな指定をしなきゃならない。
あと、プログラム言語の標準的なメソッドのあらゆる引数も全部変数で定義されてて、そのまま渡すのは禁止、みたいな規約になってる。
たとえば引数が三種類(true、false(未指定時のデフォルト値)、任意の数値(ただし当該プログラムでは0、10、25以外指定不可))しかないやつはこんな感じ。
const 〇〇ParamTrue = true; const 〇〇ParamFalse = false; const 〇〇ParamIntMin = 0; const 〇〇ParamIntMid = 10; const 〇〇ParamIntMax = 25;
const charCodeSJIS = "Shift_JIS"; const charCodeUtf8 = "UTF-8";
以前関わった改修内容に「××の処理は開始時と終了時にそれぞれUTF-8(BOMなし)形式でログを出力する」みたいなのがあって、普通に文字コード指定する部分に「UTF-8」で直に書いたら、規約に従ってないからとコードレビューで指摘されて差し戻されたんだけど、そもそもこういう規約って何の意味があるの?
従来プログラミング業界においては、やれ「ググる力が重要」だの、やれ「分からないことはググればいい」だのと言われてきたわけだが、もうそろそろこういう妄言は根絶されるべきだ。
そもそも、専門知識の要る分野でそれなりの水準の仕事をしようと思えば、ググって済むようなことはほとんどない。
実際、プログラミング以外のあらゆる分野で「ググればいい」なんて言われることはほぼ無い。その分野の仕事に必要な基礎知識を身につける方が圧倒的にウェイトが高いからだ。
「ググる力」とか言ってるアホは、じゃあためしに俺の手元に、タネンバウムの「コンピュータネットワーク」第6版があったから、これと同等の知識を、コーディング時の調べ物だけで身につけてみてくれないか。
こんな知識は業務で必要ない?そりゃお前がその程度の仕事しかしてないってだけだろ(笑)
ネットのサンプルコードコピペするしか能のないIT土方、コンピュータサイエンスや数学にコンプレックス持ってる低学歴は、さっさとエンジニアやめろ。少なくとも、他人(とくにプログラミング初学者)を自分と同じ水準に貶めるな。