プログラミング教えるよ

■ このスレッドは過去ログ倉庫に格納されています
1以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 22:59:58.718ID:CcFbBFB10
言語はJavaScriptで

2以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:00:23.059ID:JhLpMikz0
ハローワールドって表示させたい

3以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:00:34.554ID:XMLG4+bVa
nodeか!?

4以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:01:18.233ID:CcFbBFB10
>>2
console.log("Hello Wolrd");
これでおk

5以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:01:25.533ID:zPGz9wKy0
解散

6以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:01:31.887ID:CcFbBFB10
>>3
一応対象はブラウザ

7以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:02:17.018ID:D+TEmkgKa
またおまえか

8以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:02:25.370ID:FeUKCOiZ0
いつまでJAVAに捕らわれるの?

9以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:02:46.185ID:CcFbBFB10
とりあえず基本から
JavaScriptって昔はほぼ邪魔扱いされたような言語なんだけど、
Googleさんが頑張ったおかげで人気言語の上位に食い込むようになってきたやつ
環境構築はブラウザ一個でおk

10以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:02:55.894ID:mfQ0yqNG0
タイプスクリプトやってみたい

11以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:03:17.239ID:CcFbBFB10
>>10
いいぞ。Nodejsをインストールしてこい!

12以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:03:21.774ID:shmxzlAM0
>>9
これはひどい歴史修正主義

13以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:03:39.815ID:ffPjl5n8M
htmlのおまけでしか使ったことない

14以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:04:01.930ID:CcFbBFB10
まずはファイルの拡張子なんだけど、
index.js main.jsこの末尾のjsがJavaScriptのファイルって認識するんで、それは覚えといてくださ

15以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:04:45.860ID:CcFbBFB10
>>13
まぁそんなもんっしょ。

16以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:06:04.884ID:CcFbBFB10
書き方としては、こんな感じですげー簡単にかけます。

////(index.js)
"use strict";

console.log("Hello World");

これでコンソールログにハローワールドの出力ができる。簡単でしょ?

17以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:06:25.064ID:p1M4uw4y0
GUIアプリの見た目とかって自分で絵をかくものなの?
用意されたもの使うことが多いのかな

18以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:06:43.758ID:7yo/CWFX0
>>3
node知りたいん?

19以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:06:56.870ID:Bo1p7ltp0
Angular vs React vs Vue の三つ巴になってきたけどどれがすき?

20以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:07:10.680ID:CcFbBFB10
>>17
やったことない人はだいたいビビるけど、用意されてなきゃ全部自分で絵書くし、プログラム書くぞ

21以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:08:08.354ID:shmxzlAM0
いやコンソール確認しないと見えないんだから開発者ツールの出し方言えや

22以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:08:16.945ID:CcFbBFB10
>>19
くそどうでもいい戦い早くおわらねーかなと思ってる。どれも興味ないわ

23以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:08:58.128ID:p1M4uw4y0
>>20
へえ凄いね
やっぱ絵書けないと駄目なのか・・・ハードル高いね

24以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:09:23.881ID:bfT74h0rd
知識も環境もないパソコンだけある俺はなにからはじめればいいの?

25以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:09:25.571ID:CcFbBFB10
>>21
そうだな。
Chromeを開いてF12でConsoleっていうのがあるだろ?それがコンソールってやつ。試してみ

26以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:10:46.953ID:9inM7C6Ga
jsでwebブラウザマクロみたいなの作れたりしない?
出来ればメモ帳とブラウザのみでOSはwindows
どうかな

27以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:10:57.715ID:CcFbBFB10
>>23
見た目こだわんなきゃどっかからパクってきて使えばいい。倫理気にするならリリースしなきゃいいしな
>>24
ブラウザでできるんだが。つーか環境は作るもんなので、目的の言語にあった環境の構築だな。
JavaScriptなら一先ずブラウザあればおk

28以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:11:04.769ID:TzbNW++I0
何がきっかけでjavascriptに触れるの?

29以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:11:34.413ID:shmxzlAM0
>>28
クッキークリッカーのチートをしたいなと思った時

30以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:12:21.386ID:CcFbBFB10
>>26
ちょっとすまんもうちょっと詳しく。
できないことは無いと思うがね。ブラウザの拡張機能として作れると思う

>>28
今割となんでもできるからな。大体はサイト制作だったりするだろうね

31以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:12:37.273ID:niKHtMJ10
>>22
どれも興味ないって、フレームワーク使わずに開発してるの?

32以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:13:39.260ID:7yo/CWFX0
>>31
使わなくても作れるもんは作れるだろ

33以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:14:30.188ID:p1M4uw4y0
Qiitaなどの情報サイトって毎日見てる?

34以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:14:32.981ID:CcFbBFB10
で、変数についてなんだけど、JavaScriptは型がかなり緩い。
型が緩いだけじゃなくてスコープの範囲も緩いめんどくさい。
書き方はこうだ

let a = 20;
let str = "hello";

console.log(`私は${a}歳です。${str}!`);

私は20歳です。hello!

こんなふうに書く

35以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:16:41.696ID:shmxzlAM0

36以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:16:55.621ID:CcFbBFB10
>>31
指定されればそれ使うって感じ。単なるフレームワークに対して興味ない。
>>33
なるべく追うようにしてる。

ちなみに変数の宣言は

var
let

ってあるけど、これからはletを使え。varを使ったら殺されると思え

37以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:18:24.948ID:Bo1p7ltp0
まあ「Ruby教えるよ」って人が「Rails?興味ねえわ」だと不安にはなるだろうな

しかしjavascriptはほんとなんでもできるし覚える必要のない分野も多いからRubyなんかとはいっしょにできない

38以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:18:37.664ID:CcFbBFB10
あともう一個constっていう変数の宣言があるが、これは再代入ができない定数に使われる
letとconstを使え。varは忘れろ

39以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:18:55.076ID:p1M4uw4y0
ふむふむ、チェックしてるサイトでこれはいいなと思ったの教えてくださいな

40以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:19:22.587ID:shmxzlAM0
efclさんのサイトとはてブも見てる
他にもいろいろ見てる気がするけど忘れた
Qiitaはあんま見てない

41以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:20:51.701ID:CcFbBFB10
>>39
JSer.info
あとMozillaのチェックしといたほうがいいな

42以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:20:51.862ID:D+TEmkgKa
>>38
なんで?

43以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:22:27.846ID:9inM7C6Ga
>>30
ブラウザ拡張機能か
ググってみる
ちなみに.bat起点で動かす予定で考えてる

44以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:22:48.297ID:CcFbBFB10
>>42
let/constはブロックスコープが有効だから。
for文でテンポラリに使う変数i j とかあるじゃん。var宣言だとそういうの抜けたあとも有効だから余計なバグとか生まれる危険性ある

45以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:25:17.624ID:oBsuQAU40
letとvarはなんていう意味なん?

46以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:25:27.446ID:bfT74h0rd
何やればいいか聞いてんだよタコ

47以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:25:58.608ID:CcFbBFB10
JavaScriptはプログラミング言語だからもちろん数値の計算もできる。

+ - * /(加減乗除)
見慣れないけど%(計算した余りを表す)なんてのもある。

48以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:27:17.097ID:AefWN2pw0
javascriptの利点と欠点教えて

49以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:27:34.331ID:CcFbBFB10
>>45
constは定数を意味するconstantからだと思うけどletはわからんな。すまん
そういう意味でなかったらもっとすまん

>>46
ハローワールドしてみ

50以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:28:07.797ID:auNi9+i70
流行りはPythonじゃないの?

51以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:29:22.952ID:CcFbBFB10
>>48
利点
クライアント、サーバーサイドいけるし、アプリもいけるとこ

欠点
おせぇ

>>50
環境構築からやんのめんどくさくね→JavaScript

52以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:29:34.442ID:as8/O9HE0
すげーガバガバなんだな
一旦文字列入れた変数に数値入れるとかもできるのか?

53以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:31:54.789ID:CcFbBFB10
>>52
普通にできる。なんでも入る
なので、TypeScriptとかFlowとか型を擬似的に導入できるAltJsなんかもある

54以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:32:22.548M
アタシも日本語プログラミング始めようかしら

55以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:33:08.138ID:Ij7pdSf20
超大作RPG作りたいんだけどどうす……

って書こうと思ったけどlet便利だな
今マジで初めて知ったが暫くJavaScriptから離れてると情報に疎くなっていかんな

56以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:33:14.076ID:AefWN2pw0
>>51
なるほどなー
遅いんだ
jjavascriptってブラウザ無きゃ動かんの?

57以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:35:26.000ID:CcFbBFB10
さっき上で書いたけど、文字列も変数に格納ができて、そういうときは
ダブルクオート、シングルクオートで文字列を書こめ。

let str = "hello";
こんな感じだ。

間にシングルクオートが入る文はこう書く

let str = "It's a unko";
or
let str = 'It\'s a unko';

こんな感じだ

58以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:37:20.530ID:CcFbBFB10
>>56
所詮スクリプト言語だから仕方ない部分はあると思う。
ブラウザ無くても動く。サーバーサイドで動くようなもんもあるし、マイコンにも書き込める、
マジでなんでもできる

59以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:38:29.757ID:Bo1p7ltp0
そういやwebassemblyってどうなった

60以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:39:15.601ID:CcFbBFB10
>>57
この\'ってのはエスケープシーケンスってやつで、まぁこういう書き方をすんだな。って覚えとけばおk。
プログラミングは記法を丸暗記するよりポイントの単語を覚えておいてググるのが良い
エスケープシーケンス。覚えたな?

61以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:39:53.504ID:09ve3Jpb0
プログラム疎いけど、できていい点って何?

62以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:41:10.154ID:fWiox2Fq0
現場に入ったばっかの未経験新人です
JavaScriptは色んなとこに使われてるもんなの?

63以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:41:18.126ID:CcFbBFB10
>>59
すまん。俺はわかんねーわ。そういうのあるって知ってるぐらい

>>61
人に頼らずに便利なオレオレツール作れるとこ。

64以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:41:50.245ID:AefWN2pw0
特にプログラミングとは関係ない仕事だけど
javascriptで業務効率化できるかな…?

65以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:42:10.778ID:CcFbBFB10
>>62
Webアプリなら確実。それ以外は自分とこの先輩に聞いてみな。

66以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:43:03.518ID:fWiox2Fq0
>>65
オッケー
勉強しゅる

67以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:43:24.103ID:CcFbBFB10
>>64
https://www.infoq.com/jp/news/2018/06/microsoft-excel-js-functions
この記事読んで職場で有効そうならできる。そうじゃなかったらVBAを学ぶことかな。
つーか何やってるのかしらんがwww

68以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:44:51.385ID:CcFbBFB10
んで、上記の数値と文字列は連結ができる。

文字 + 数値みたいに組み合わせてね。
ココらへんは結構めんどうで、自分で調べてくれ。

69以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:46:03.549ID:oBsuQAU40
1はプログラマーなんか?
なんでこんなところでプログラミング教室やっとるんや

70以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:46:15.485ID:CcFbBFB10
JavaScriptはプログラミング言語なので、処理の分岐が可能

使えるものは
・for
・while
・do while
・switch

まぁ、このあたり抑えとけばおk

71以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:47:18.419ID:AefWN2pw0
>>67
ふおー、サンキュー
7割くらいしかわからなかったけど
EXCELの関数を自分で作れるのか

72以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:47:36.091ID:bAfKitPRr
AOJ の「DPL_1_I: Knapsack Problem with Limitations II」が分からん。

個数制限付きナップサック問題の
・ある品物の重さと個数制限
・ナップサック容量
が極めて大きいバージョン。

例えば解法
http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=2856557#1
を見ると、品物の価値の総和が i であるときの最大容量を記録した動的計画法テーブルを作った後に貪欲法で答えを出してるんだが、
前半の動的計画法は貪欲法を成功させるための処方なのか?

普通の貪欲法はナップサック問題で必ずしも最適な答えを返さないよね?
現に、貪欲法しかしないコードを提出してみたら2問ほど間違えた。
動的計画法を前処理的に用いることで貪欲法を成功させる方法って知られてるの?(それがこの解法?)

動的計画法で品物の個数を min(m[i], MAX_V) としている (できる) 理由も分からない。

他の人もほとんどこの方法で解いてるから、知られてる方法なのかと思うが調べてもヒットしない。

73以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:49:01.442ID:CcFbBFB10
>>69
プログラマだけど別にスキル高くないわ
日までしかたなかた

>>71
俺が言ってる有効ってのは、ExcelのバージョンとかOSとかの環境な。
そこだけ確認しとけば一先ずおk

74以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:49:41.317ID:FeUKCOiZ0
なんで大小文字区別するの?

75以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:50:03.333ID:CcFbBFB10
>>70
すまん。これループ処理も含んでた。

if
switch

が条件によって、処理を変えれる文法っすね

76以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:51:13.453ID:oBsuQAU40
>>70
いろいろ複雑なアプリあるけど、そういうのは全部こういった分岐とか繰り返しの集まりでできてるの?

77以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:51:25.053ID:CcFbBFB10
>>74
JavaScriptがそうなってるからとしか言えないな。
そういう部分は気にしないほうが初級者なら身のためだぞ

78以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:52:54.459ID:g+1RuJ7B0
半分英語じゃん

79以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:53:08.507ID:CcFbBFB10
>>76
極端にいうと、世に出てるソフトウェアの中身はそう。
プログラミング言語たらしめてるのはこういう条件分岐とループがあるからといってもいいかもね

80以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:54:43.632ID:CcFbBFB10
>>78
いいとこに気づいたね。高級言語って全部人が読みやすい言葉で書けるんだ
Cなんかはこれらをコンパイルっていうパソコンが読める文法に直してメモリ空間に展開してプログラムが動くわけだな

81以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:55:07.147ID:oBsuQAU40
>>79
はぇー、そうなんか
納得行くようでなんか腹落ちせんわ

82以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:56:09.605ID:oBsuQAU40
>>80
プログラミング大好きマンは1と0だけでプログラミングできるってマジ?

83以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:56:19.554ID:FeUKCOiZ0
クロージャが使えないと死ぬの?

84以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:56:42.070ID:bHjb9x2fH
「プログラミング教えるよ(アルゴリズムの話は無視するよ)」

85以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:57:30.661ID:CcFbBFB10
えーif文の書き方はこんな感じだ

if (条件式)
{
// なんかの処理
}

switchはこんな感じ

switch (値)
{
case 値1:
// なんか処理
break;
case 値2:
// なんか処理
break;
default:
// なんか処理
break;
}

こんな感じ。

86以下、5ちゃんねるからVIPがお送りします2018/09/08(土) 23:59:14.530ID:CcFbBFB10
>>82
そいつはもう人じゃなくて機械だろうな
>>83
死なないから恐れなくていいぞ

87以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:00:26.537ID:oqzySmrW0
>>85
インデント死んでるから左に全部整っちゃってるけど、実際はインデント大事にしないとわけわかんなくて死ぬから注意

88以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:01:41.449ID:r1P+VirJ0
eslintおじさん

89以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:02:45.263ID:jhZzYHvu0
wasm元年

90以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:04:04.553ID:oqzySmrW0
>>85
条件式には、比較演算子と呼ばれるものと論理演算子と呼ばれるものを使って条件を書いてく。
例えばaはb以上ならと書きたければ

if ( a >= b )こんな感じだ

a と b が等しい場合は
if (a === b )こんな感じだ

等しくない場合は
if ( a !== b ) となる

比較演算子、論理演算子な

91以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:04:53.219ID:oqzySmrW0
>>88
javascript standardしか使ったこと無いな

92以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:06:13.299ID:7twlkl2R0
let l = (output) => console.log(output);

93以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:06:52.286ID:FBpFa7kG0
パイザとプロゲート少しやったんやけど、経験者からみてそういう学習サイトってどんな印象?

94以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:07:54.633ID:oqzySmrW0
>>92
constにしたほうが良いよ。

条件文が複雑になるようであれば、ロジックの見直しとかおすすめしとく

95以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:09:16.137ID:oqzySmrW0
>>93
全然いいと思うが。
その人が楽しく学習できてかつ力もつけば言うことないじゃん。

次はループ

96以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:12:51.965ID:oqzySmrW0
JavaScriptはプログラミング言語なので、ループ文も書ける。

ループ文ってのは同じような処理をしたい場合に有効になる。
ハローワールド100回するのに、Console.logを100回書くと100行ほどの行数が無駄になるが、
ループ文を使えば行数の削減にもなるし、コードのみやすさも段違いなわけだ
使える基本的な文法は>>70のswitchを抜かした
・for
・while
・do while

97以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:17:34.510ID:oqzySmrW0
for文の書き方はこんな感じ

for (初期化; 反復前評価式; 反復後評価式)

↓こんな感じに書く

for (let i = 0; i < 10; i++) {
// なんか処理
console.log("hello!");
}

whileはこう

while (評価式)
↓こんな感じ
let i = 0;

while(i < 10) {
// 軟化処理
i++;
}

98以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:19:45.587ID:oqzySmrW0
do whileはこんな感じ

do
// 軟化処理
while(評価式)

whileとdo...whileはにている文法だけど、whileは式を最初に見てから処理を実行
do...whileは処理を一回行ってから式を見てる。

do...whileは最初かならず処理が実行されるっていうことで使い分けに気をつけるべし

99以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:21:04.112ID:oqzySmrW0
一先ず、変数とループ、条件分岐ができるようになればプログラムは小さいながらでも書けるようになる。
例えばプログラミングで有名な問題であるFizzBuzz問題はこの3つの要素だけで実現可能な感じ

100以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:22:14.067ID:oqzySmrW0
あと世界のナベアツの3の倍数でアホになるプログラムもかける。需要は知らないが

101以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:23:20.599ID:FJ1oOtB60
jsって何でnodeみたいに外部から取りに行かないといけないの?

102以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:24:39.157ID:+ALQOgs5H
>>1
AOJ は javascript でもサブミットできるから、頑張ってアルゴリズムの勉強もしてください

103以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:25:18.805ID:oqzySmrW0
FizzBuzz問題

1 から 100 まで順に数を出力し、
数が 3 で割り切れるならば数字の代わりに
Fizz と、5 で割り切れるならば Buzz と出力する。
3 でも 5 でも割り切れる場合は、FizzBuzz と出力する。
一先ず上ができたら、変数、ループ、条件分岐の意味は理解してると見ていい。

>>101
漠然としてるけどプログラムはすべてそうだよ

104以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:26:18.121ID:oqzySmrW0
>>102
未だにハノイの塔が頭の中で展開できないレベルだが大丈夫かね

105以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:29:16.781ID:FJ1oOtB60
nodeとかjqueryって
他人が作った関数を使わせてもらってる感じのイメージですか?

106以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:29:19.869ID:oqzySmrW0
次は関数いってみるか。

関数ってのは入出力のある工場みたいなもんで、
ある決まった入力(素材)があったらそれを加工して返す(素材、または製品)などの処理を一塊にしたもん。

107以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:31:54.445ID:oqzySmrW0
>>105
jqueryに関してはほんと知らないおっさんの書いた超便利かつ親切な関数集(ライブラリ)で
それを使うこともできるし、使わない選択も案件によって取れる。
nodeも組み込み(node作った人らの関数集)を必要であればincludeするし、しない。
例えばNodeでファイル操作したければ、fsっていうもんをインクルードさせんとあかんね。

だから>>105から見て他人の作った関数を使わせてもらってるイメージは概ね合ってる

108以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:32:56.416ID:oqzySmrW0
つかそこはPHPもCもJavaもなんでも一緒で、必要な使いたい関数があれば
usingなりincludenなりimportなりで引っ張ってプログラム書いてくよ
外部でもなんでもね

109以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:33:06.549ID:qKSQ7/9S0
仕事でecmascript使ってるわ

110以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:34:11.541ID:oqzySmrW0
>>109
ようしゃなく叩いてくれ。

111以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:36:00.844ID:FJ1oOtB60
僕はねjsの魅力はajaxにあると思うんだ

112以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:36:01.582ID:oqzySmrW0
まずは関数の作り方がこんな感じ

function test (a, b)
{
// 引数a bを使ったなんか処理
}

で、その関数を使いたいときに呼び出す必要があるわけだが、
呼び出し方はこんな感じで呼び出せる

test(10, 20);

かなりざっくりとしてるけど、引数っていう工場にこの素材(10と20)を渡して加工してくださいって感じのイメージ

113以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:38:53.447ID:oqzySmrW0
>>111
超便利で簡単に実装できるけど適切に扱えてる人は少ないイメージ。

ちなみに関数に返り値とかもあったり、引数になにもない関数も作れたりするから、
ここはこんな感じで

114以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:39:06.011ID:qKSQ7/9S0
教えて欲しいことがあるんだけど質問していい?

115以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:40:08.481ID:oqzySmrW0
>>112
ちょっとこれ書き方古いんで、みなは以下で関数宣言を行うように

const 関数名 = (引数) => {
// 軟化処理

}

116以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:41:01.875ID:oqzySmrW0
>>114
なんだろうか

117以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:41:57.843ID:r1P+VirJ0
まあES6以降がいいだろうな

118以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:41:59.658ID:QFmv/FH90
コール時に引数の数や種類がデタラメでいいってのは
オーバーロードはできないってこと?

119以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:42:10.871ID:VavhWKmy0
こう言うプログラム言語観てると目眩がしてイライラして来る
二度と開かないからな

120以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:42:11.585ID:oqzySmrW0
超雑にJavaScriptの基本書いてった。つーかプログラミングのだけど。
もう人いなさそうでワロタ。なんかやりたいやついるか?

121以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:43:56.916ID:oqzySmrW0
>>118
あーすまん。わからん。そういえばJavaScriptは引数いくら渡しても大丈夫だったな…

122以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:46:49.391ID:qKSQ7/9S0
>>116
javascriptでpタグなどの中のテキストを書き換えたときに改行を入れるにはどうしたらいいのかな?

<p id="test">あ<p>

をスクリプトで
document.getElementById("test").firstChild.data="あ¥nい";

って書いても改行されないよね?

<p id="test"><![CDATA[あ]]><p>

って書いてもダメだし
けっこうそれで苦労してるんだけど
いい方法ある?

123以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:49:52.383ID:VavhWKmy0
で、実際にこの言語使って何が出来るの?
こんなちっぽけな言語使っても電卓とかformの会計とか作れる程度しかメリット無くね?

それにネット上にコードとか沢山出回ってるし、そもそもコピペで良くね?

124以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:50:58.717ID:oqzySmrW0
>>122
<br>タグ入れるようにコード書き換えてはみた?

125以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:52:27.765ID:oqzySmrW0
>>123
そうそう。要件完全に満たしてバグなければコピペでも良いと思うわ

126以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:54:40.286ID:oqzySmrW0
何ができるの?っていうか何をしたいのかが重要な気がするわ。
Webアプリを快適に使わせるためには必要な言語であるとは思うよ
まだまだメジャーなのはクライアントサイドでのJSだと思うし、重要なロジックは基本的に見えないような部分で動かしてるしね
使い所が重要なんであって、メリットどうのじゃないよ

127以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:56:50.740ID:qKSQ7/9S0
>>124
今実装してるやり方だと
入れたいテキストから改行コードを抽出してその場所に
createElementでbr要素を作ってappendChildで追加してる
テキストの書き換えの度にp要素の中の要素全部削除しないといけないし
正直めんどくさい

他にいい方法ないかと思ったんだけど
ないのかな?

128以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 00:58:55.357ID:r1P+VirJ0
巧妙な仮想DOM系フレームワークへの誘引

129以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:00:24.628ID:oqzySmrW0
>>127
なるほど…うーん
もっと簡略化して書きたいってことだよな。

130以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:01:15.923ID:oqzySmrW0
>>128
俺もそれ頭に浮かんだわ。

131以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:03:36.938ID:HsJzFiKn0
おすすめの入門書おしえて
Cしかやったことない

132以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:04:26.374ID:qKSQ7/9S0
>>129
まぁその処理を関数化しちゃえば問題ないんだろうけど

<p id="test"><![CDATA[あ]]><p>

document.getElementById("test").firstChild.data="あ¥nい";

って書いて改行されないのはなんか納得がいかないんだよね

133以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:05:16.641ID:r1P+VirJ0
JSX「まったくだな けしからん」

134以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:07:49.662ID:oqzySmrW0
>>131
Cやってんなら根気はあるとみてる
JavaScript本格入門をおすすめしとく
>>132
HTML5だったらCDATA使わんほうがいいな
つーか使ったこと無い。すまんが俺は力になれそうにないな。
ただブラウザに表示ならbr要素は必須な気がする

135以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:11:20.003ID:qKSQ7/9S0
>>134
>HTML5だったらCDATA使わんほうがいいな

そうなんだ
たしかにhtml書くときはあんま使わんな
ご回答ありがとうね

136以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:16:12.388ID:oqzySmrW0
>>135
本当にすまんな。雑魚PGはそんなもんだ。
だけどググって仕様程度は調べられるから任せろ

Nodejsの環境構築やってみるか

137以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:18:00.464ID:oqzySmrW0
これ上手く言えないが、Nodejsってもんがある。
PHPやRubyと同様サーバーサイドで動くJavaScriptだ。
こいつは結構便利なライブラリとかが詰まってる。Gulpなんかは最高だ

138以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:19:15.372ID:oqzySmrW0
またNodejsからWebpackを呼べば、本来できないJavaScriptファイルの分割も可能となり、
上で書いてたJavaScriptに型の導入も行える。
ってことでNodejsを強くおすすめする

139以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:20:39.776ID:oqzySmrW0
Nodejsの公式サイトはhttps://nodejs.org/ja/ここで、
LTSっていうのが安定版、Currentが機能拡充バンバン実験的に行ってるバージョンだ
基本的に安定版落としておけばおkだ

140以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:22:07.468ID:oqzySmrW0
インストールが完了すると、コマンドプロンプトおよびシェルで
node -vとするとNodejsのバージョン情報が表示される。
また、Nodejsにバンドルされてるnpmっていうモジュールの管理ツールも一緒にインストールされる。
npm -v でnpmのバージョン情報が見れる。

141以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:23:17.563ID:oqzySmrW0
なんかいいハローワールド的なのあるかなと思ったけどなんかそこそこむずいだろうし
やめとくか。興味ある人はNodejsで調べるといい

142以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:23:43.598ID:oqzySmrW0
とりあえず以上。なんか雑談スレにでもしちゃってくれ

143以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:33:56.752ID:r1P+VirJ0
そもそもES6でいくならIE対応もあるしトランスパイルまで知るべき となるとbabelがいるわけで
そういう周辺ツールをnpmなしで管理するほうが面倒くさくて初心者向けでない時代になってきている

composerやgemやpipなしでphp/ruby/pythonを教えますか?ってレベルの話 だから教える順序としては初めでいいくらいだとおもう

144以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:36:10.888ID:oqzySmrW0
>>143
たしかに。
そう思うとハードルだいぶ上がったんだなjavascriptって。
次はそれ書くわ

145以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:40:36.560ID:Kuqo1BYs0
ubuntuでもできる?

146以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:41:35.841ID:oqzySmrW0
>>145
できるぞ。
Linux環境でバリバリやったことないが、プログラミングの環境構築のしやすさはよかったはず

147以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:43:32.136ID:r1P+VirJ0
ハードルがあがったかどうかは初学者の前提知識によると思うが
このスレの趣旨であるプログラミングがわからない段階の人にとってESの複雑さは悪化の一途だろうな

そういう人にはバックエンド寄りの変化が少ない軽量言語か あるいはCやJavaのようなイディオムの習得に向いた言語がいいだろう

148以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 01:54:52.258ID:oqzySmrW0
>>147
確かに。情報のまとめる能力に乏しかったりするとキツいなこの言語
つーかキツかった。

そうなるとPHPが割とすんなり環境構築できる言語かな。
javaやCはいまいちめんどい。

149以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:10:42.298ID:r1P+VirJ0
プログラミング教育の定義にもよるがコンパイラや処理系について理解を含めるなら必要な知識だ
情報系の大学ならほとんどの場合取り入れられている

自分が作ったアプリがすぐ動けばいい というなら最初に学ぶのはnodeのインストールかあるいはdockerの使い方になるだろう
それこそ>>123>>125で指摘されたように環境構成の丸コピ=GitHub/DockerHub上のリポジトリを引いてくるだけですむからね

150以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:16:24.718ID:oqzySmrW0
>>149
プログラミング強者な匂いがするな。
ぐうの音も出ん
全くそのとおりだわ

151以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:25:06.983ID:r1P+VirJ0
そういうのじゃなくて実用的なちょっとしたスクリプトがいいというならシェルを覚えたほうがいい 歴史が深くWeb上にノウハウが多い
>>67でも挙がったけど目的を絞るならVBA≒Excelマクロも1つの選択だよね

ただこの手のスレで何回か上がっているように初学者はPOSIXへの理解こそ優先すべきというのは一理あると思う
それが分かる/分からないでその他の言語習得に多大な影響があるのはかくじつ  いじょうぽえむでした

152以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:32:13.611ID:r1KYisQ50
JavaScript(ES6)でさ、classのインスタンスに対して未定義のフィールド名にアクセスしようとしたらエラーになってくれるようにできないの。
undefined と解釈されるだけでエラーが出ないからデバッグに苦労したわ。
JavaやC#なら容赦なく怒り出すところなのに。

153以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:52:39.187ID:30yKMelQ0
>>152
Object.preventExtensions() すれば限定的ながら可能

154以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:52:42.589ID:r1P+VirJ0
それはES6というか型チェックが担うべき役割なのでFlowなりTypeScriptなりの領域では

155以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:54:11.619ID:30yKMelQ0
いやObject.seal()のほうがもっと目的に合致してるかも

156以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 02:56:19.692ID:30yKMelQ0
>>153>>155は書きこみ時の話だから、読み取りの時は素直に毎回in演算子を使うっきゃねえ……のか?

157以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 03:13:04.958ID:r1P+VirJ0
strictモードを使う
ttps://developer.mozilla.org/ja/docs/Web/JavaScript/Strict_mode

158以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 04:01:05.167ID:r1KYisQ50
>>157
おお!ありがとう(゚∀゚)

159以下、5ちゃんねるからVIPがお送りします2018/09/09(日) 04:11:50.165ID:exxwdYee0
>>152
てかそれまずデバッガ使ってないの?

■ このスレッドは過去ログ倉庫に格納されています