Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Можете оценить тестовый проект на ReactJS + Redux?

Лучший ответ:
1. Нет ни еслинта, ни преттиера.
2. Нет тестов.
3. Все коммиты без названий.
4. Почти все комментарии на русском. Да и большая часть описывает банальные вещи.
state[0] = state[index] // запись нового выбора на первое место
state.splice(index, 1) // удаление нового выбора с предыдущей позиции в массиве
5. Использование комментариев для функций вместо жсдока.
6. Мне лень разбираться, но sort тут не подходит разве?
spoilerfor (let i = 1; i < state.length; i++) { // сортировка от меньшего к большему по первому числу для возврата предыдущего выбора на правильную позицию
                    if (state[i].split(' ')[0] > beforeSelected.split(' ')[0]) {
                        state.splice(i, 0, beforeSelected) // запись предыдущего выбора на правильную позицию
                        break
                    } else if (state[i].split(' ')[0] === beforeSelected.split(' ')[0]) { // если первые числа равны проверка по второму числу
                        if (state[i].split(' ')[2] >= beforeSelected.split(' ')[2]) {
                            state.splice(i, 0, beforeSelected) // запись предыдущего выбора на правильную позицию
                            break
                        }
                    }
                    if (i === state.length - 1) { // если предыдущий выбор оказалася наибольшим
                        state.push(beforeSelected)
                        break
                    }
                }
7. Не используй деструктуризацию в аргументе функции, если используешь параметр лишь раз.
spoilerconst resize = ({ param }) => { // изменение select
    ...
  }
Это равносильно:
const resize = (obj) => { // изменение select
    const param = obj.param;
    ...
  }

8. Все тексты захардкожены прямо в коде.
9. Питон-стайл (где точки с запятой?).
10. Почему в папка types лежат компоненты, а не типы? Это, конечно, жс, а не тс, но сути это не меняет.

Короче, это так, беглый осмотр.

Худший ответ:
В редакс не залезал, по реакту глядя на код, все нормально вроде бы, единственное что бросилось в глаза у инлайн style пиксели писать не надо, там просто число передается. Ещё можно было конечно получше разбить папку компоненты. Допустим App оставить в корне, создать папку pages в ней страницу создать, а компоненты оставить в компонентах, но это уж так придирки
Вопрос: Что выбрать чипсету: термопасту или термопрокладку?

Лучший ответ:
Термопаста, хотя бы потому, что инженеры, которые ее туда положили, наверняка знают больше вас о своей системе, а также имеют больше опыта чем вы в проектировании теплоотвода.

Причем там наверняка не КПТ-8, а что-то получше.

Я рассуждаю так - если вы не знаете, как улучшить систему, просто повторите то, что сделали знающие люди до вас.

Худший ответ:
Термопрокладка может потечь. 
Поэтому - дорогую термопасту
Вопрос: Что будет с компьютером, если забыл очистить динамическую память?

Лучший ответ:
что забыл дописать delete для указателя. Есть ли что-то в этом плохое?
Да, будет утечка памяти.
Это критично для крупных программ и для служб.
А для хеллоуворлда не страшно, при закрытии программы ОС вернёт занятую ей память.

Худший ответ:
Вся выделенная память процесса очищается при закрытии процесса, но лучше все-таки очищать все в вручную или умными указателями - это хороший стиль программирования.
Вопрос: React. Ленивая загрузка компонента только при его использовании?

Лучший ответ:
https://reactjs.org/docs/code-splitting.html тут все подробнейшим образом разжевано. Подробнее рассказать сложно

Худший ответ:
Во есть пример с react-router.
Так например работает сайт https://tools.xakplant.ru/
Вопрос: Порядок выполнения действий в выражении --i + i++?

Лучший ответ:
--i + i++ - это не атомарное выражение. Это (--i) + (i++) - как раз потому что приоритеты  инкремента выше приоритетов сложения.  Javascript не вычисляет ничего разом, он вычисляет всё пошагово слева направо. Приоритетность разбивается на токены не снизу вверх, а сверху-вниз. Если два подвыражения с более высоким приоритетом оказались после разбивки слева и справа, то левый выполняется первым, правый вторым, т.к. для выражения с низким приоритетом не важно насколько приоритет подвыражений выше - для него они равноправны. 
Никакого UB в отличие от С тут быть не может.

Худший ответ:
В случае с C++ мы имеем дело с неопределенным поведением. Здесь одна и та же переменная в пределах точки следования меняет свое значение дважды.

Так на C++ писать просто нельзя.
Вопрос: Запись экрана без разрешения конечного пользователя. Законно?

Лучший ответ:
Начиная от неправомерного доступа к компьютерной информации и заканчивая разработкой и использованием программ с негласным получением информации.

Худший ответ:
На сколько я знаю ТК, на рабочем месте в рабочее время сотрудников можно как снимать на камеру, так и записывать их экран - дополнительно предупреждать их и спрашивать разрешения не требуется. Достаточно их подписи в стандартном трудовом договоре.
По поводу удаленщиков,  я думаю, таких судебных прецедентов еще нет, но, скорее всего, тоже можно, потому что на время выполнения обязанностей по ТК человек теряет свое право на отказ от съемки согласно ТК (в рабочее время нет никакой частной жизни).
Вопрос: Как достучаться до вложенной функции?

Лучший ответ:
Как реализовать такую архитектуру? это не "архитектура", а жуткий говнокод, за который надо быть по рукам или вообще уволить.

Худший ответ:
Что мешает вложенную функцию вынести? И просто из внешней функции(в которую она была вложена) обращаться в уже свободную функцию, которая будет доступна всем?
Вопрос: Можно ли использовать чужой js код?

Лучший ответ:
Так вот, можно ли его использовать в своих проектах?
Вообще исходники этой штуки лежат на гитхабе, лицензия - MIT. Так что да, используйте на здоровье.

Худший ответ:
не заморачивайся
Вопрос: Как получить случайное число в vk execute?

Лучший ответ:
Есть одна секретная методика:

var min = 100, max = 1000;
return max-API.apps.getRandomInt({max:max-min+1});

Худший ответ:
В методах ВК нет генератора псевдослучайных.

Можно с сервера нагенерить заранее (?) несколько случайных и сохранить их в Storage. Из метода execute уже просто читать случайное и использовать его для получения определённого id.
Вопрос: Процессор pentium n5000 в 2020 году — допустимо?

Лучший ответ:
нет! фотошоп и редактирование видео точно мимо. Его браузер может "положить". Смотрите ryzen 5 или актуальные intel core i5. Если без фото/видео - то и и3/райзен 3

Худший ответ:
оперативки 4гб - вот это точно не допустимо
Вопрос: Как удалить все символы из файла, кроме русских букв?

Лучший ответ:
Он один раз прогоняет, находит все буквы 'А' и все
else:
      break
Ну я даже не знаю

Худший ответ:
Регулярные выражения здесь подойдут намного лучше.
Просто собрать всю кириллицу и в output и подать.
Вопрос: Откуда брать работы для портфолио?

Лучший ответ:
Придумать себе мини-проекты, сделать суперски и выложить в паблик. Никого не интересует, что за проекты. Можно сделать лендинг по продаже зонтиков для рыб, одностраничник пятых ног для собак или агрегатор по аренде и сдаче слонов для свадеб в стиле Болливуда... В таких безумных проектах даже больше креатива можно показать и работодатель/наниматель уж точно обратит на них внимание...

Худший ответ:
Можете на биржах фриланса искать проекты со ссылкой на макеты. И просто молча их верстать. 

Минус бесплатных шаблонов в том, что от них шаблонностью за километр веет.
Вопрос: Выбор ЯП под определённую задачу?

Лучший ответ:
JavaScript
А еще лучше Lua, потому что он учится за 15 минут, а вы - начинающий. Ладно, не 15 минут, у вас уйдет 2 часа, но не более.

Худший ответ:
Что угодно подойдёт для решения этой задачи.
Если вам нравится веб - можно написать это в браузере, если вы любите десктопные программы - можно написать е десктопе. За последнее не ручаюсь, по поводу веба подойдёт вообще всё, что есть сейчас на рынке: PHP, Java, Python, Node.js и т.д. И любые базы данных.
Задача достаточно простая, поэтому здесь нет какого-то чёткого указания к какому-то конкретному языку.
Вопрос: Как во vue выводить динамические картикни из assets?

Лучший ответ:
Варианты есть:
https://medium.com/front-end-weekly/webpack-and-dy...
https://dev.to/pldg/lazy-load-images-with-webpack-5e80
Но я бы порекомендовал вам такие картинки просто копировать кучей (папка public если используете vue-cli), а не импортировать с помощью webpack.
А ещё лучше пересмотреть кейс. Динамичные картинки в неограниченном количестве скорее всего должны быть не частью интерфейса приложения, а где-то куда-то заливаться и приходить только в виде ссылок от серверного API.
Тот же слайдер - в админке администратор загружает картинки, а приложение получает данные для слайдера и рендерит.

Худший ответ:
Самый простой, и как по мне правильный вариант этоdata() {
    return {
        slides: [
            {image: require('@/assets/image1.jpg')},
        ]
    }
}
Вопрос: Куда поступить после 9 web-разработчику?

Лучший ответ:
в 10, потом 11, потом в институт

Худший ответ:
Можете поступить не в колледж/универ, а пройти IT курсы, и заниматься самостоятельно.
С лет 16-17 можете на удаленке уже работать: как и фриланс, так и компания. 
Я после 11 класса в 17 лет уже работал удаленно на компанию.
Конечно, в этом вопросе помощь и связи будут очень уместными, многим вам могут помочь знающие люди, как в IT, так и в смежных деятельностях.

Если обладаете навыком или сможете осилить учебу самостоятельно за короткое время, не растягивая базу на года — будет хорошим плюсом и огромным шагом.

Если ваша задача, желание и цель именно поступить, как вы указали в вопросе, просто выбирайте нормальное учебное заведение. И не забывайте всегда также учиться самостоятельно. Успехов вам!
Вопрос: Когда стоит писать модули а когда контроллеры?

Лучший ответ:
При такой постановке вопроса - всегда модуль.
На досуге рекомендую изучить, для чего нужны контроллеры. Подсказка: Это очень тонкая и узкоспециализированная прослойка, которая кроме своих собственных строго определенных функций больше никаких не несет

Худший ответ:
Модуль нужен, когда у тебя есть кусок логики, который нужно сосредоточить в одном месте, это способ вынести логику, не нагружая ею методы контроллера. Не обязательно городить целый модуль, можно создать сервис-класс, описать однородную логику там и дергать в контроллере его методы.
Вопрос: Почему выводится только последний элемент в цикле?

Лучший ответ:
так так так... то ли.. int i = 0; вынести в ДО цикла.. то ли /upd*** сори.. ))

Худший ответ:
Каждый проход foreach вы заполняете 0 ячейку 0 строки и 1 ячейку 0 строки. Поэтому так все странно и работает. Объявление i выкинуть из тела цикла и должно заработать.
Вопрос: Боты для Viber и WhatsApp, сервисы для реализации?

Лучший ответ:
Есть более-менее сервис для получения "API" для ботов от WhatsApp: https://chat-api.com/ru/ - я его как то использовал, он делает очень удобным API с помощью не официальной разработки. Почти как в Telegram получается в результате бот. Но нужен разработчик.
А по Viber'у - всё очень просто. Там есть "Публичные аккаунты". Те же боты, работают так же через API. Нужен программист.
Если вас интересуют конструкторы ботов, где не нужно писать код - то таких полно, достаточно зайти в гугл.

Худший ответ:
WhatsApp быстро забанит за это! Официального функционала пока нет
А с вайбер что не получается? Опишите задачу - форма обратной связи сообщения из сайта к вам в вайбер
механизм, когда мы можем уведомлять клиента сайта о готовности его заказа через Viber.
Так же ловить ответы от этих клиентов (ну есть такие, кто пишут ботам). Естественно сохраняя у себя.? 
Что еще? Подробнее можно задачи! Все это вайбер умеет прекрасно.
Вопрос: Как не прогадать со стажировкой?

Лучший ответ:
Мне бы хотелось получать опыт разработки сложных проектов для роста в сторону профессионального backend разработчика, решающего сложные задачи на сложные проекты не всегда берут даже людей с опытом, сейчас работодатели  очень тщательно проводят отборы. Ты в своем положении человека с нулевым опытом особо не надейся, придется идти куда позовут.

Худший ответ:
Не 18 век же. У каждой компании есть своя история в интернете.  Пробиваете её, отметаете веб-студии, компании однодневки. Лучше если это будет какая нибудь крупная компания, крутящая на конвейере свой софт.
Вопрос: Как решить задачку с массивами на PHP?

Лучший ответ:
А давайте запишем ваш код красиво, без лишних комментариев и с правильными отступами.for($i = 0; $i < count($copyArr); $i++) { 
    if(array_key_exists($i + 1, $copyArr)) { 
        if($copyArr[$i + 1] - $copyArr[$i] === 1) {
            $chunk[] = $copyArr[$i];
        } elseif(empty($chunk)) {
            continue;
        } else {
            $chunk[] = $copyArr[$i];
            $chunkGroup[] = $chunk;
            $chunk = [];
            array_slice($copyArr, $i + 1);
            $i = -1;
        }
    }
    break;
}
И что же мы видим? Ой, у нас break безо всяких условий в основном теле цикла.

Худший ответ:
Попробуйfunction summaryRanges($array) {
	$ranges = [];
	
	for ($i =  0; $i < sizeof($array); $i++) {
		
		if (isset($array[$i+1]) AND ($array[$i]+1 == $array[$i+1])) {
			if (isset($range)) {
				$range[] = $array[$i+1];
			}
			else {
				$range = [$array[$i], $array[$i+1]];
			}

		}
		else {
			if (isset($range)) {
				$ranges[] = $range;
				unset($range);
			}
		}
	}
	return $ranges;
}

print_r(summaryRanges([110, 111, 112, 113, 1,2,3, 100, 101, 102, 111, -5, -4, -3, -2, -3, -4, -5]));
Вопрос: Как браузеру прочесть минифицированный css файл?

Лучший ответ:
Форматирование нужно только человеку, браузер прекрасно все прочитает. 
Html тоже можно минифициолвать, удалить пробелы, табудяции

Худший ответ:
HTML тоже можно минифицировать. Вопрос в скорости и в том, что сайт динамичный и каждый раз его нужно переминифицировать.
CSS и JS скрипты могут быть минифицированными, это никак не влияет на работу браузера. Просто, код из типа:function test(num) {
  return 2 + num;
}
Становится менее читаемым для ЧЕЛОВЕКА, но более компактным:function test(t){return 2+t}
Машине всё равно чё там читать, у неё нет чувств.
Вопрос: Почему вместо php стиля стиль обычного текста?

Лучший ответ:
Не помечали случайно как текст этот файл? Правой кнопкой по нему в Project и там


Худший ответ:
Mark as PhP всему ответ
Вопрос: Почему принтер отображает замятие бумаги?

Лучший ответ:
Центр поддержки.

Худший ответ:
При проходе внутри принтера бумага поднимает в нескольких местах флажки (небольшие пластмассовые пластинки), которые вызывают срабатывание оптических датчиков. Это сделано для отслеживания передвижения бумаги. В вашем случае бумага прошла, но один или несколько флажков не опустились (повредились или за что-нибудь зацепились), и из-за этого принтер думает, что в нем все еще находится бумага. Либо загрязнился/вышел из строя один из этих датчиков, что опять же приводит к такой же реакции принтера.
Вопрос: Есть сейчас смысл ставить Ubuntu для изучения backend (PHP,Python,Postgre и т.д)?

Лучший ответ:
Ни сейчас, ни раньше не было никакой нужде в Винде для работы с бэкендом.
То, что вы к ней прилипли, отнюдь не делает ее более удачным выбором.

Худший ответ:
Есть такие люди среди автомобилистов - их "дятлами" зовут. Они умудряются водить автомобиль, имея самое поверхностное представление об его устройстве.
Аналогия конечно обидная, но надеюсь, Вы ее уловили.
Вопрос: Как избавиться от звонков продаванов (не брать трубку при незнакомых номерах не вариант)?

Лучший ответ:
Не поднимать трубку, когда видите незнакомый номер.
Сам номер можно потом загуглить при желании, но не подходить.

Худший ответ:
никак, я тоже пробовал долго время,теперь просто не беру с незнакомых номеров.
Вопрос: Как спарcить данные с сайта при помощи JS?

Лучший ответ:
Если это вопрос про джаваскрипт, то в целом решение можно написать руками. Все это делается с помощью юзерскрипта. Открываете файл, берете из него название детали, смотрите класс/айди инпута поисковой строки, смотрите название класса или айдишника в тэге в котором выдается поисковой ответ. В целом всё. Вставляете в поисковую строку по классу запрос, потом таймаут что бы дождаться ответа, забираете из выдачи иннертекст. Таков алгоритм (путь).
Если вопрос про автоматизированные и универсальные готовые решения, то таких я не встречал, пототму что для каждого сайта будут свои названия классов и свои какие нибудь сопутсвующие заковырки.
Если прям кровь из носа нужен парсер на js для конкретного сайта, то думаю, что на фрилансе вам напишут тысячи за 3-4.

Худший ответ:
https://www.npmjs.com/package/osmosis можешь не благодарить
Вопрос: На чем лучше написать 3d игру?

Лучший ответ:
Что-либо в портфолио предназначено для того, чтобы продемонстрировать работодателю или кому-либо ваши навыки в чем либо. Следовательно: определитесь с тем, какие навыки вы хотите продемонстрировать. И от этого отталкивайтесь.

Худший ответ:
1. Для демонстрации знаний в js - three.js
2. Для демонстрации знаний в Unity (+C#) - Unity.
Вопрос: В каком направлении развиваться(учитывая склонности)?

Лучший ответ:
Язык SQL — для работы с готовыми данными.
Clickhouse + ui.tabix.io для анализа данных.
Python + Pandas + Numpy + Matplotlib + scikit-learn/Tensorflow/Pytorch— анализ, машинное обучение

Худший ответ:
Вопрос "кем быть - летчиком или шахтером" ("бэкенд разработчиком" или "дата саентистом") обычно решается к концу школы. Помните, что для DS необходима суровая математическая подготовка. Для программиста важнее умение думать логически и усидчивость.
Судя по вопросу - у вас еще есть пару лет времени на выбор.
P.S. И да, профессии "бекэндер" не существует. Есть профессия "программист". И любой ВУЗ учит программировать, а не "программировать бекенд".
Вопрос: Каких плагинов не доставет wordPress?

Лучший ответ:
Плагина оптимизации вордпресс не хватает
Хорошего плагина сео - "сделай мне первое место в выдаче"

Еще я хотел чтоб плагин мог варить мне кофе

Еще не хватает плагина вордпресс, чтоб качал мне пресс ("вот это пресс!" - т.е. чтоб поставил его и деньги потекли рекой)

Худший ответ:
Радио-ротатор с правилами ротации и с генерацией листов для liquid soap ;)
Вопрос: Можно ли воткнуть 8-pin в 4-pin?

Лучший ответ:
Переходник 8->4 решит вашу проблему. Но можно и без него, поскольку эти разъёмы питания являются разборными:

Отогнутые лапки на контакте - это стопоры, благодаря которым контакт держится в корпусе. Если их прижать любым подходящим плоским инструментом (например, сточенной отвёрткой), то контакт легко вытаскивается. После вытаскивания надо восстановить отгиб лапок, как показано на моём фото. Затем надо раздобыть корпус 4-пинового разъёма от старого БП, тем же способом освободить его от прежних контактов и (внимание!) в том же порядке цветов проводов вставить вместо них контакты, только что извлечённые из 8-пинового. Оставшиеся незадействанными 4 контакта по отдельности обмотать изолентой или отрезать.

Худший ответ:
8 пин одной половинкой в 4 пиновый разъёмМного раз так делал на разных материнках, проблемы в этом нет. Почти всегда на материнке достаточно свободного места вокруг разъёма.
Кстати, я делал так, даже когда разъём разборный, просто чтобы не тратить время на размышления "куда спрятать\привязать лишнюю часть".
Не советую применять любые переходники в случаях когда можно обойтись без них. Переходник добавляет вероятность плохого контакта (не сильно, но добавляет), так что надёжнее без него.
Вопрос: Как из Visual Studio Code перенести настройки и плагины на другой компьютер?

Лучший ответ:
не пробовал, но вроде подходит
https://marketplace.visualstudio.com/items?itemNam...It Syncs
All extensions and complete User Folder that Contains
1. Settings File
2. Keybinding File
3. Launch File
4. Snippets Folder
5. VSCode Extensions & Extensions Configurations
6. Workspaces Folder

Худший ответ:
Уже появилась новая функция внутри программы для этого. См. офф. документацию

https://code.visualstudio.com/docs/editor/settings-sync
Вопрос: Кем стать в IT-сфере?

Лучший ответ:
С железом на ты. Прекрасно понимаю как всё работает и мне это нравится
С програмированием на вы (по большей части понимаю что происхожит в коде и как всё работает глядя на код , но не запоминаю это )
 . Английский знаю на базовом уровне. 
Понравилась веб вёрстка (на парах в унике учили) и тоже считаю что это интересно

На мой взгляд, ты выбрал самое простое, поэтому оно тебе нравится. Потому что насчет железа - есть сомнения, что ты реально понимаешь как работает L3 кеш процессора, или чем USB 3.1 отличается от USB 3.0
Тут лучше уточнить что именно ты подразумеваешь что ты с железом на "ты".

Учи английский. Не школьную программу, а умение общаться.
Развиваться - в самостоятельность. Почему твою судьбу должен решать кто-то другой? Сам реши, не ищи легкого пути, просто приложи старание в выбранное направление. Звучит просто, исполняется сложно, но повторю - не ищи легкого пути, его нет.

Худший ответ:
Тебе никто не может сказать кем стать. Надо самому выбирать что тебе больше нравится, от чего ты действительно получаешь удовольствие. Главное, старайся не гнаться за деньгами
Вопрос: Возможно ли такое реализовать на табличной вёрстке?

Лучший ответ:
Я вижу вёрстку таблицы вот так:
Т.е. декор - это отдельные ячейки таблицы, внутри них - картинки с белым/прозрачным фоном, текст посередине - так же ячейка, а стена текста - это colspan="3".

Худший ответ:
Вполне себе реально =) 
Резать шаблон нужно как показал Антон Неверов в первом ответе
Для верстки писем используйте mjml 
Вот ТУТ набросал на скорую руку одно из решений, там можно поиграть и html получить
Вопрос: Версионирование данных в базе?

Лучший ответ:
1) клиент хранит дату последней репликации с сервером.
2) сервер при каждом обновлении строки обновляет столбец changetAt у строки.
3) клиент при подключении отправляет на сервер дату своей последней репликации с сервером.
4) сервер делает выборку по дате и отправляет id строк клиенту
5) клиент смотрит какие id ему нужны и делает запрос на их обновление

Худший ответ:
Записывайте не версию, а время изменения состояния записи. 
И будет достаточно получить все изменения которые произошли после указаного времени.
Вопрос: Почему не освобождается память?

Лучший ответ:
Конечно можно принудительно его сбрасывать таким образом `echo 3 > /proc/sys/vm/drop_caches`
Ну если вам это помогает, то всё остальное -- показалось. См.

Худший ответ:
Mysql кушает память и не отдает, пока ему нужна.
Вопрос: На сайте возникла критическая ошибка, но не приходит письмо для восстановления?

Лучший ответ:
Самый простой способ: cотрите (перенесите в другое место) все плугины из папки wp-content/plugins. Так как на 99%, что какой-то плугин устарел и не совместим с текущей версией WP.
Или же включайте показ ошибок PHP и разбирайте каждую. Это делается добавлением в wp-config.php:define('WP_DEBUG', true);

Худший ответ:
На сайте был вирус. 
Действия которые мне помогли.
1) Связался с хостингом, подсказали что вирус, отправили список зараженных файлов.
2) Вручную начал чистить, пока не заработал вход в админку
3) Установил плагин Wordfence
4) Удалил остатки вируса
Вопрос: Почему объект и метод, которые пренадлежат window возвращают разный контекст?

Лучший ответ:
Самое понятное видео на Youtube про this

Худший ответ:
setTimeout(() => {
obj.fn();
}, 500);

Просто почитайте про контекст в js и ключевое слово this.
Вопрос: Как использовать домен вместо IP?

Лучший ответ:
Вы всё правильно описали - в конфиге веб-сервера, который отдаёт ваш сайт по айпишнику включите безусловный редирект, а в другом, относящемся к домену - обработку запросов. Если на сайте урлы ресурсов относительные - всё заработает.

Само собой, предварительно нужно проделать стандартные операции в виде изменения DNS А-записи домена с привязкой его к вашему адресу.

Худший ответ:
Вам надо прописать свой айпи у nic.ru, а на своём веб-сервере поменять порт на 80 для http и 433 для https.
Все ссылки внутри сайта должны идти без хоста.
Вопрос: Как поступить? Меня приглашают на стажировку в Россию, я сам из Казахстана?

Лучший ответ:
Поступить туда на заочку или поступить на дистанционное обучение?
Куда "туда"? На стажировку?
Тут ничего не поделать - ехать не надо, заканчивайте школу.

Худший ответ:
По мне, лучше будет, если спокойно окончить школу. Без суеты. 
И после окончания подвигаться по работе.
Если, со школы отпустят на эту стажировку, то можно и рискнуть!)
Неоднозначный ответ, на не однозначный вопрос)