Поиск ошибок в языках/фреймворках, которых вы не знаете: node.js
Я помогаю своему первому ученику по node.js. Он пишет сервер на node.js, и я помог ему найти недостающую скобку, фигурную скобку и точку с запятой.
Я не знаю node.js, но я достаточно знаю Javascript, чтобы помочь.
Имею ли я право находить проблемы в проектах node.js сейчас?
Могу ли я указать это в своем резюме?
Как это возможно?
Вопросы, которые я задавал себе во время сеанса, чтобы помочь им:
- Как проверить, является ли объект массивом?
- Как проверить, является ли объект словарем?
- Как проверить, происходит ли обратный вызов функции?
- Как получить доступ к значениям в словаре?
- Имеют ли значение точки с запятой в Javascript?
- Как мне обрабатывать тело запроса POST в Node.js?
1. Как проверить, является ли объект массивом?
Это легко. Для этого есть встроенный метод:
isArray = Array.isArray(someArray);
2. Как проверить, является ли объект словарем?
Это не так просто, но если вы знаете ключи, которые должны быть на нем, вы можете попытаться получить к ним доступ.
v = someDict["someKnownKey"];
Если для известного ключа существует значение, то объект является словарем.
Я должен более подробно остановиться на этом… недостаточно или всегда возможно знать ключи заранее.
3. Как проверить, происходит ли обратный вызов функции?
мне нравится использовать alert()
если можно, а иначе console.log()
будет достаточно.
4. Как получить доступ к значениям в словаре?
v = someDict["someKey"];
5. Имеют ли значение точки с запятой в Javascript?
Сначала я подумал «нет», но…
Оказывается, они делают!
Как и в C, определение функции в них не нуждается:
function test() {
// ...
}
Но если вы назначаете функцию переменной:
var f = function test() {
// ...
};
ТОГДА, это важно.
6. Как обрабатывать тело запроса POST в Node.js?
В верхней части файла добавьте эту строку:
const { parse } = require("querystring");
Затем вы можете проанализировать тело POST следующим образом:
parsedData = parse(postData);
Возвращаемый объект представляет собой словарь JSON, поэтому вы можете получить доступ к его значениям таким же образом.
Мне удалось помочь моему ученику разобраться с каждой ошибкой, с которой мы столкнулись, за 90 минут, и мне удалось решить все проблемы, с которыми они столкнулись.
Забавно, что у меня практически нулевой опыт работы с node.js, и все же я смог разобраться в проблемах, с которыми они столкнулись, определить синтаксические ошибки, используя простые процедуры отступа для выравнивания блоков кода, задать несколько основных вопросов о предполагаемая работа программы, проверка предположений о состоянии объектов/переменных и перемещение вещей из ранее сломанных в текущие рабочие.
Это мыслительный процесс, который существует во всем технологическом мире и является движущим фактором, благодаря которому достигается прогресс и то, как вещи открываются и строятся. Просто задавайте вопросы. После того, как вы поработаете с таким количеством языков и фреймворков, вы получите общее представление обо всех из них, что расширит вашу способность выявлять проблемы как в малых, так и в больших контекстах.