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

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

Цена вопроса?

Само обучение бесплатное. Но проживание, питание и т.п. - это все самостоятельно. Здесь большой плюс тем, кто уже живет в Кирове. Но если вы не отсюда, Киров - вполне неплохой город для временного релокейта.

Во-первых, он относительно недорогой. Аренда квартир:
- отнушки от 9 000
- двушки от 15 000
- трешки от 20 000
Можно даже дешевле найти :)
Хотя коммуналка повыше, чем в Москве - двушка вполне может 5-7 тысяч выйти.
Могу помочь со съемом квартиры заранее, чтобы ехали не в никуда.

Продукты и сфера услуг тоже цены невысокие.

Во-вторых, он достаточно крупный, чтобы найти почти все необходимое.

Формат обучения?

Основа всего - сразу погружение в рабочий процесс. Мое рабочее место тоже здесь. Я здесь работаю свою работу и экспериментирую свои эксперименты. Планируется час-два в день тратить на лекции и прочие вводные и часов 6-8 на реальную работу (как по отдельности, так и в команде). Тут сразу оговорочка: если вы не обладаете повышенной работоспособностью и мотивированностью, быстро устаете - то лучше и не пытаться. Здесь довольно большие объемы информации и рабочий день с 9 утра и до 7-9 вечера. Хотя бы 8 часов в день надо быть вполне в кондиции.

Перспективы трудоустройства

Я сейчас работаю в СберЛабе виртуальной и дополненной реальности. У нас большая команда и много интересных проектов и задач. Вот прям сейчас в нашем канале https://t.me/freecode_academy висит две вакансии (DevOps и SQL-специалист), и это я только сегодня закинул. Вчера в нашей же группе один товарищ прошел собеседование и устраивается джуном (правда не в нашу организацию, но не суть). Впереди будет еще много вакансий. Как только вы покажете знания, которые можно будет применить, для вас будет искаться вакансия. При этом нет никакого условия устраиваться именно к нам. Вы можете самостоятельно себе искать работу. Более того, даже если у вас уже и сейчас есть работа, но вы хотите к нам для повышения своего уровня, это тоже вполне возможно. То есть можно прям здесь сидеть и работать свою работу. Просто так же участвовать в обмене опытом с командой (всегда есть с кем чем поделиться).

Ранее у нас уже был подобный эксперимент. https://freecode.academy/topics/rabota-obuchenie-prozhivanie-pitanie-v-moskve-dlya-it-speczialistov-2160.html Почти год продлился. Было интересно и весело. Выросло несколько специалистов.

В общем, всего я тут не могу сразу рассказать, лучше сами задавайте вопросы (лучше прям здесь, я буду оперативно отвечать).



Не за что!
Просто не останавливайтесь и учитесь дальше. Практика решает.

Спасибо за ответ. Довольно сложновато это пока воспринимается. Очень мало-по малу мозг проходит перепрошивку.)))
> В этом коде почему-то работает только return "No such contact" и return "No such property".
Посмотрите внимательно чужие решения. Они сводятся к тому, чтобы сначала найти контакт по имени в цикле, и только если найден контакт, тогда уже смотреть в нем свойства. А за пределами цикла, если не найден контакт, тогда уже только возвращать конечное решение "Контакт не найден". Вы же делаете иначе - вы сразу смотрите тот это контакт или нет, и если не тот, то возвращаете ошибку. В итоге ваша логика может сработать только если первый контакт в массиве соответствует запрошенному и свойство запрошено корректно. В противном случае вы возвращаете ошибку и далее перебор в цикле уже не выполняется.

По второй части вопроса: советую уже сейчас вам начинать изучать TypeScript, вы тогда начнете быть более внимательным к типам. В целом вы идею правильно поняли с поиском по внутренним массивам, но нельзя сравнивать строку с массивом. Для примера ваше: item.likes == name.

item.likes здесь - массив, например ["Pizza", "Coding", "Brownie Points"], и вы его пытаетесь сравнить со строчным name. Нельзя так. Почти всегда будет ложь, ито, только потому что вы используете нестрогое сравнение ==. Если бы использовали строгое ===, то 100% было бы всегда ложь, потому что типы не совпадают.
В вашем случае, если бы вы хотели найти по элементу во вложенном массиве, то надо еще внутри искать по массиву, а не просто через сравнение. Пример.

var contact = contacts.find(item => item.likes.includes(name));

Только здесь надо понимать, что name здесь - не имя контакта, а именно элемент массива likes, то есть "Pizza", "Coding" или "Brownie Points".

Описание метода Array.includes смотрите здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

Почему такой код не работает? Логика - сначало проверить на отсутствие свойства с именем атрибута name. Если иначе - выполняется else if (изначально я вообще хотел там написать просто contacts[i].hasOwnProperty(prop) без && и проверки на наличие свайства с именем атрибута name). В этом коде почему-то работает только return "No such contact" и return "No such property".
function lookUpProfile(name, prop) { for (let i = 0; i < contacts.length; i++) { if (contacts[i].firstName != name) { return "No such contact";         } else if (contacts[i].firstName == name && contacts[i].hasOwnProperty(prop)) { return contacts[i][prop];         } else return "No such property";         }     }

И еще хотел спросить: Так что в итоге находиться тут в переменной item: const item = contacts.find(n => n.firstName === name)? И что подставляется в переменную n? В n - gоочередно каждый объект массива contacts (которых по сути 4)? А item - становится найденным объектом (то есть при name "Akira" как я понял - это будет первый объект нашей базы данных, которая в массиве)? И уже там, внутри первого объекта, который занял переменную item мы начинаем искать prop далее через if'ы? И если это так, то как сделать аналогичную вещь, которая бы искала значение во внутренних массивах? Например если бы name было массивом, то как сделать такой find? const item = contacts.find(n => n.likes === name) - Так что ли?

Вот что я имею ввиду. Но почему-то это не работает.
let x = ["Pizza", "Coding", "Brownie Points"]; function lookUpProfile(name) { var contact = contacts.find(item => item.likes == name); if (contact) { return contact;     } return "Dont work"; } console.log(lookUpProfile(x));

А это работает:
let x = "Akira"; function lookUpProfile(name) { var contact = contacts.find(item => item.firstName == name); if (contact) { return contact;     } return "Dont work"; } console.log(lookUpProfile(x));
Вы имеете ввиду квадратные скобки? ' и " - это кавычки, а [] - это квадратные скобки.
Не вижу вашего примера как именно вы пытаетесь что делать, но предположу, что вы запутались со случаями использования переменных. К примеру, есть объект:
const artists = { Jon: { albums: ["one", "two"] }, Anna: { albums: ["three", "four"] }, name: { albums: ["five", "six"] }, }
Если вы оперируете самими именами свойств, то да, можете обратиться к свойствам без скобок, например
artists.Jon.albums
Но, если вы хотите использовать переменную с именем, то тут только через квадратные скобки. Например
const name = "Jon" artists[name].albums

Здесь вы получите ["one", "two"], потому что фактически будет запрошено artists["Jon"].albums

Но если вы попытаетесь не через скобки, а через точку запросить artists.name.albums, то получите ["five", "six"], так как не будет использовано значение переменной name, а будет обращение к свойству name объекта.