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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user