This repository has been archived by the owner on Dec 18, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbingo.js
137 lines (127 loc) · 4.57 KB
/
bingo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
(function () {
"use strict";
var gridSize = 3;
var wordsFuture = [
"Staattinen tyypitys",
"Serverless",
"Kubernetes",
"Docker",
"Haskell",
"Clojure",
"Lisp",
"ES6",
"Algebraiset tietotyypit",
"GraphQL",
"Eventually consistent",
"Bus",
"Messaging",
"Monadi",
"Reaktiivinen",
"Hajautettu",
"Ei-rikkova",
"Kompositio",
"Higher-order function",
"Blockchain",
"Tekoäly",
"Kontaineri",
"FSharp",
"TypeScript",
"NPM",
"Redis",
"PowerShell",
"Staattinen metodi",
"Immutable",
"Repository",
"Ekstensiometodi",
"Taskipohjainen",
"SignalR",
"Ylhäältä alas, kuin kirjaa",
"Analytiikka",
"Refaktorointi",
"Funktionaalinen",
"Sliding window cache",
"Observable"
];
var wordsLastSeasonAndNegative = [
"Microservices",
"Sivuvaikutus",
"Broker",
"Vuotava abstraktio",
"Monoliittinen",
"SOA",
"REST",
"Python",
"HATEOAS",
"Javascript",
"Deadlock",
"Framework",
"Synkroninen",
"NServiceBus",
"Silverlight",
"Provideri",
"Spagetti",
"Tyypitön",
"M$",
"Reflektiopohjainen",
"Megaframework",
"Injektori",
"Jonotus",
"Udin lähestymistapa",
"Hotfixi",
"Käärmeenpesä",
"Mäppäyskerros",
"Syklinen riippuvuus",
"Himmeli",
"DDD",
"WCF",
"Infrastruktuurihärveli",
"Dodi",
"Testiautomaatio"
];
var words = wordsFuture.concat(wordsLastSeasonAndNegative);
var suffledGood = shuffleArray(wordsFuture);
var suffledBad = shuffleArray(wordsLastSeasonAndNegative);
function wordGen(words) {
var shuffled = shuffleArray(words);
var idx = 0;
return function() {
var word = shuffled[idx];
idx++;
return word;
}
}
var good = wordGen(wordsFuture);
var bad = wordGen(suffledBad);
var template = Handlebars.default.compile(document.getElementById("grid-template").innerHTML),
gridInstance = {
words: shuffleArray(words).slice(0, gridSize*gridSize),
nonsense:
"Nyt mennään vähän off-topiciksi, mutta järjestelmän pitäisi olla suunniteltu niin, että se on " + good().toLowerCase() + ". \
Lähtökohtaisesi kannattaa fokusoitua siihen, että tulevaisuudessa kaiken ydin on " + good().toLowerCase() + ".\
Nykyisin usein sorrumme siihen, että järjestelmästä tulee aivan liian " + bad().toLowerCase() + ".\
" + bad() + " on joskus paikallaan, mutta meidän arkkitehtuurissa sitä on käytetty liikaa ja turhaan. \
Jokainen projekti/tiimi yrittää olla kovin " + good() + ", mutta sitten jälkikäteen todetaan, \
että koko codebase on jälleen yksi iso " + bad().toLowerCase() + ". \
Asian pihvi on, että jatkossa meidän on otettava oppia termistä " + good() + ". \
Olemme unohtaneet sen, sillä kustannuksella, että järjestelmästä tuli " + good().toLowerCase() + " (joka on kyllä tärkeää, mutta ei itse tarkoitus).\
Pian meillä on miljoonien rivien codebase ja sen on oltava täysin " + good().toLowerCase() + ".\
Sillä jos jatkamme nykyistä linjaa, lopputuloksena on " + bad().toLowerCase() + ", \
joka ei laadullisesti ole edes etäisesti " + good().toLowerCase() + ". \
Arkkitehtuuria on kehitettävä sellaiseen suuntaan, että voimme oikeasti jonain päivänä sanoa meillä olevan " + good().toLowerCase() + "-systeemi. \
" + bad() + "-arkkitehtuurin on nyt vaihdettava olemaan " + good().toLowerCase() + "-arkkitehtuuri ja tähän on herättävä ajoissa. \
On itsestään selvää, että mitä enemmän " + good().toLowerCase() + "-kokonaisuuksia pystymme toimittamaan, niin sitä paremmin varmistamme \
pilvipalvelumme laadun kohti palvelua ylläpidettävämmäksi, testattavammaksi, luotettavammaksi, virhesietoisemmaksi, saatavammaksi ja kestävämmäksi \
kokonaisuudeksi."
},
container = document.getElementById("gridContainer");
container.innerHTML = template(gridInstance);
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
})();