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) => {
|
||||
const newUnit = req.body
|
||||
const newUnit = req.body;
|
||||
|
||||
if (!newUnit) {
|
||||
return res.status(400).send('No new unit to be added')
|
||||
}
|
||||
if (!newUnit) {
|
||||
return res.status(400).send('No new unit to be added');
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return res.status(500).send('No data to be updated')
|
||||
}
|
||||
if (!data) {
|
||||
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));
|
||||
res.status(200).send(data);
|
||||
data.push({ id: newId, fileName: fileName, name: newUnit.name });
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
||||
res.status(200).send(data);
|
||||
});
|
||||
|
||||
router.delete('/:id', (req, res) => {
|
||||
const id = parseInt(req.params.id);
|
||||
const index = data.findIndex((unit) => unit.id === id);
|
||||
const id = parseInt(req.params.id);
|
||||
const index = data.findIndex((unit) => unit.id === id);
|
||||
|
||||
if (index < 0) {
|
||||
return res.status(404).send('Not found');
|
||||
}
|
||||
if (index < 0) {
|
||||
return res.status(404).send('Not found');
|
||||
}
|
||||
|
||||
data.splice(index, 1);
|
||||
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
||||
res.send({ message: `Unit with ID ${id} deleted` });
|
||||
data.splice(index, 1);
|
||||
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
|
||||
res.send({ message: `Unit with ID ${id} deleted` });
|
||||
});
|
||||
|
||||
router.get('/:id', (req, res) => {
|
||||
|
Loading…
Reference in New Issue
Block a user