More Related Content Similar to When juniors fail. (event `Look At My JS` at Lviv) (20) When juniors fail. (event `Look At My JS` at Lviv)6. Google Spreadsheet API.Story #1.
=if(query(FinalOutput!$A$2:$AZ$1000, SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(“SELECT {{Openness}} WHERE {{Name}} = ‘Alex Mot’ AND {{department}}
= ‘Sales’“, “{{Openness}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“Openness”, FinalOutput!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), “{{Name}}“,
REGEXEXTRACT(ADDRESS(1, MATCH(“Name”, FinalOutput!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), “{{department}}“, REGEXEXTRACT(ADDRESS(1,
MATCH(“department”, FinalOutput!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), -1) <> “”, ((query(FinalOutput!$A$2:$AZ$1000,
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(“SELECT {{Openness}} WHERE {{Name}} = ‘Todd Weiland’ AND {{department}} = ‘Sales’“, “{{Openness}}“,
REGEXEXTRACT(ADDRESS(1, MATCH(“Openness”, FinalOutput!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), “{{Name}}“, REGEXEXTRACT(ADDRESS(1,
MATCH(“Name”, FinalOutput!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), “{{department}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“department”,
FinalOutput!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), -1)) - (query(Params1!$A$2:$AZ$1000, SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(“SELECT {{mean}}
WHERE {{variable}} = ‘Openness’ AND {{department}} = ‘Sales’“, “{{mean}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“mean”, Params1!$A$1:$AZ$1, 0), 4,
TRUE), “[a-zA-Z]+“), 1), “{{variable}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“variable”, Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1),
“{{department}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“department”, Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), -1))) /
(query(Params1!$A$2:$AZ$1000, SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(“SELECT {{sd}} WHERE {{variable}} = ‘Openness’ AND {{department}} = ‘Sales’“,
“{{sd}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“sd”, Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), “{{variable}}“, REGEXEXTRACT(ADDRESS(1,
MATCH(“variable”, Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), “{{department}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“department”,
Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), -1)) * (query(Params1!$A$2:$AZ$1000, SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(“SELECT {{beta}}
WHERE {{variable}} = ‘Openness’ AND {{department}} = ‘Sales’“, “{{beta}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“beta”, Params1!$A$1:$AZ$1, 0), 4,
TRUE), “[a-zA-Z]+“), 1), “{{variable}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“variable”, Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1),
“{{department}}“, REGEXEXTRACT(ADDRESS(1, MATCH(“department”, Params1!$A$1:$AZ$1, 0), 4, TRUE), “[a-zA-Z]+“), 1), -1)), “”)
- Batch delete.
- Bulk save.
- Circular calculations.
- Query builder.
- CRUD limited for cols/rows.
9. - Novice architecture.
- Questions to community.
- Google-solution.
- Incomplete input validation.
- Not ready to scale.
Architecture.Story #2.
13. - Quick fixes (wrong problems).
- Googling.
- Scenarios.
- Freedom!
Experience. Qualitative growth.
Story #6.