fix: unit router PUT request
This commit is contained in:
parent
16fda2e7ed
commit
4ef941d62f
@ -0,0 +1,70 @@
|
|||||||
|
### Цель урока:
|
||||||
|
Изучение ключевых слов и фраз, связанных с процессом трудоустройства, а также освоение базовой структуры диалога на собеседовании.
|
||||||
|
|
||||||
|
### Лексика:
|
||||||
|
**Базовая лексика:**
|
||||||
|
1. **Job interview** – собеседование при приеме на работу
|
||||||
|
2. **Resume / CV** – резюме
|
||||||
|
3. **Cover letter** – сопроводительное письмо
|
||||||
|
4. **Interviewer** – интервьюер
|
||||||
|
5. **Application form** – анкета при приеме на работу
|
||||||
|
6. **Salary** – зарплата
|
||||||
|
7. **Benefits** – льготы
|
||||||
|
|
||||||
|
**Расширенная лексика:**
|
||||||
|
1. **To apply for a job** – подавать заявку на работу
|
||||||
|
2. **To be offered the job** – получить предложение о работе
|
||||||
|
3. **To negotiate salary** – вести переговоры о зарплате
|
||||||
|
4. **To accept the offer** – принять предложение
|
||||||
|
5. **To decline the offer** – отклонить предложение
|
||||||
|
6. **To resign from your current position** – подать заявление об уходе с текущей работы
|
||||||
|
7. **To start working at the company** – начать работать в компании
|
||||||
|
8. **Probation period** – испытательный срок
|
||||||
|
9. **References** – рекомендации
|
||||||
|
10. **Work experience** – опыт работы
|
||||||
|
|
||||||
|
### Грамматический фокус:
|
||||||
|
**Правило:**
|
||||||
|
Структура простого вопроса на английском языке:
|
||||||
|
- Общий вопрос: "Do you have any questions?"
|
||||||
|
- Специальный вопрос: "What are your strengths and weaknesses?"
|
||||||
|
|
||||||
|
**Пример:**
|
||||||
|
Общий вопрос: "How do you feel about this job opportunity?"
|
||||||
|
Специальный вопрос: "Can you tell me about your previous work experience?"
|
||||||
|
|
||||||
|
**Типичные ошибки и как их избежать:**
|
||||||
|
Ошибка: Неправильное использование порядка слов в вопросах.
|
||||||
|
Решение: Практиковать построение вопросов до автоматизма.
|
||||||
|
|
||||||
|
### Контекстуализация:
|
||||||
|
**Текст для анализа:**
|
||||||
|
"I'm applying for the position of a marketing manager at XYZ Company. Here is my resume."
|
||||||
|
"Thank you for considering me. Can you please tell me more about the responsibilities of this role?"
|
||||||
|
"Sure, let me give you an overview."
|
||||||
|
|
||||||
|
### Упражнения:
|
||||||
|
**Письменное задание:**
|
||||||
|
Составьте список из 5 вопросов, которые вы бы задали на собеседовании. Используйте простые вопросы и специальные вопросы.
|
||||||
|
|
||||||
|
**Устная практика:**
|
||||||
|
Ролевая игра: один студент играет роль интервьюера, другой – кандидата на должность. Меняйтесь ролями.
|
||||||
|
|
||||||
|
**Аналитическое задание:**
|
||||||
|
Найдите и исправьте ошибки в следующем письме:
|
||||||
|
"Dear HR Manager,
|
||||||
|
|
||||||
|
My name is John Smith and I am writing to apply for the position of Sales Representative at ABC Inc. I enclose my resume for your review.
|
||||||
|
|
||||||
|
I believe that my skills and experiences make me an ideal candidate for this position. In my current role as a sales representative at XYZ Corp, I have consistently met or exceeded my sales targets. Additionally, I possess strong communication and negotiation skills which will enable me to effectively represent your products and services.
|
||||||
|
|
||||||
|
If you would like to schedule an interview, please contact me at your convenience. Thank you for your time and consideration.
|
||||||
|
|
||||||
|
Best regards,
|
||||||
|
John Smith"
|
||||||
|
|
||||||
|
### Домашнее задание:
|
||||||
|
**Текстовые задачи:**
|
||||||
|
1. Написать сопроводительное письмо для конкретной вакансии, используя расширенную лексику.
|
||||||
|
2. Составить резюме для воображаемой должности, включая все необходимые разделы.
|
||||||
|
3. Перевести текст собеседования на английский язык, сохраняя структуру и смысл.
|
74
server/routers/kfu-m-24-1/eng-it-lean/units/data/unit-2.md
Normal file
74
server/routers/kfu-m-24-1/eng-it-lean/units/data/unit-2.md
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# Цель урока
|
||||||
|
|
||||||
|
Изучение структуры документации программы с блоком кода.
|
||||||
|
|
||||||
|
## Лексика
|
||||||
|
|
||||||
|
### Базовая лексика:
|
||||||
|
|
||||||
|
- Documentation – документация
|
||||||
|
- Code block – блок кода
|
||||||
|
- Description – описание
|
||||||
|
- Function – функция
|
||||||
|
- Variable – переменная
|
||||||
|
- Comment – комментарий
|
||||||
|
|
||||||
|
### Расширенная лексика:
|
||||||
|
|
||||||
|
- API – интерфейс прикладного программирования
|
||||||
|
- Method – метод
|
||||||
|
- Class – класс
|
||||||
|
- Library – библиотека
|
||||||
|
- Framework – фреймворк
|
||||||
|
|
||||||
|
## Грамматический фокус
|
||||||
|
|
||||||
|
Правило: Структура документации программы должна включать краткое описание, блок кода и примеры использования.
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
Documentation for a program typically includes the following sections:
|
||||||
|
|
||||||
|
1. **Description**: A brief overview of what the program does and its purpose.
|
||||||
|
2. **Code Block**: The actual code that implements the functionality described in the first section.
|
||||||
|
3. **Examples**: One or more examples demonstrating how to use the features described in the documentation.
|
||||||
|
|
||||||
|
Типичные ошибки и как их избежать: Ошибки могут возникнуть из-за недостаточного описания функционала или неправильного форматирования кода. Чтобы избежать этого, важно тщательно проработать каждый раздел документации и убедиться, что все примеры корректны и понятны.
|
||||||
|
|
||||||
|
## Контекстуализация
|
||||||
|
|
||||||
|
Текст для анализа:
|
||||||
|
|
||||||
|
**Description**: This is a simple Python script that calculates the average value of a list of numbers.
|
||||||
|
|
||||||
|
**Code Block**:
|
||||||
|
```python
|
||||||
|
def calculate_average(numbers):
|
||||||
|
"""Calculate the average value of a list of numbers"""
|
||||||
|
return sum(numbers)/len(numbers)
|
||||||
|
```
|
||||||
|
|
||||||
|
Примеры использования:
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Example usage
|
||||||
|
numbers = [10, 20, 30]
|
||||||
|
average = calculate_average(numbers)
|
||||||
|
print("The average value of the list", numbers, "is", average)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Упражнения
|
||||||
|
|
||||||
|
Письменное задание: Написать документацию для простой функции на языке Python, которая принимает список чисел и возвращает среднее значение. Включить описание, код блока и пример использования.
|
||||||
|
|
||||||
|
Устная практика: Ролевой диалог между разработчиком и техническим писателем о структуре и содержании документации программы.
|
||||||
|
|
||||||
|
Аналитическое задание: Проанализировать существующую документацию программы и найти ошибки или неясности. Предложить улучшения.
|
||||||
|
|
||||||
|
## Домашнее задание
|
||||||
|
|
||||||
|
Текстовые задачи:
|
||||||
|
|
||||||
|
- Написать документацию для другой функции на языке Python, используя правильную структуру.
|
||||||
|
- Исправить ошибки в существующей документации программы.
|
||||||
|
- Перевести фрагмент документации на русский язык, сохраняя точность и стиль.
|
@ -1 +1 @@
|
|||||||
[{"id":0,"filename":"unit-1","name":"Unit 1: Multifunctional Verbs: Be, Have, and Do"}]
|
[{"id":1,"filename":"unit-1","name":"Unit 1: Multifunctional Verbs: Be, Have, and Do"},{"id":2,"filename":"unit-2","name":"Документация программы"},{"id":3,"fileName":"job-interview","name":"Job Interview"}]
|
@ -10,33 +10,37 @@ router.get('/', (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.put('/', (req, res) => {
|
router.put('/', (req, res) => {
|
||||||
const newUnit = req.body
|
const newUnit = req.body;
|
||||||
|
|
||||||
if (!newUnit) {
|
if (!newUnit) {
|
||||||
return res.status(400).send('No new unit to be added')
|
return res.status(400).send('No new unit to be added');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
return res.status(500).send('No data to be updated')
|
return res.status(500).send('No data to be updated');
|
||||||
}
|
}
|
||||||
|
|
||||||
data.push({ "id": data.length, ...newUnit })
|
const newId = data.length + 1;
|
||||||
|
const fileName = newUnit.name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
||||||
|
fs.writeFileSync(path.join(__dirname, 'data', `${fileName}.md`), newUnit.content);
|
||||||
|
|
||||||
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
data.push({ id: newId, fileName: fileName, name: newUnit.name });
|
||||||
res.status(200).send(data);
|
|
||||||
|
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
||||||
|
res.status(200).send(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
router.delete('/:id', (req, res) => {
|
router.delete('/:id', (req, res) => {
|
||||||
const id = parseInt(req.params.id);
|
const id = parseInt(req.params.id);
|
||||||
const index = data.findIndex((unit) => unit.id === id);
|
const index = data.findIndex((unit) => unit.id === id);
|
||||||
|
|
||||||
if (index < 0) {
|
if (index < 0) {
|
||||||
return res.status(404).send('Not found');
|
return res.status(404).send('Not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
data.splice(index, 1);
|
data.splice(index, 1);
|
||||||
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
||||||
res.send({ message: `Unit with ID ${id} deleted` });
|
res.send({ message: `Unit with ID ${id} deleted` });
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:id', (req, res) => {
|
router.get('/:id', (req, res) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user