Иван Черняков

Иван Черняков 

разобраться и зарабатывать в IT

576subscribers

106posts

Showcase

11
goals1
$189.28 of $1 456 raised
На съемку спецпроекта

Часто задаваемые вопросы и проблемы

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

Что важно, если вы стартуете на 20-ом Ангуляре и выше! Произошло изменение, которое вам помешает идти дальше. Выбирайте создание проекта с зоной! Если выбратли зонелесс: в файле app.config.ts замените строчку provideZonelessChangeDetection() на provideZoneChangeDetection({ eventCoalescing: true }), выполнить npm i zone.js, и добавить в angular.json в секцию build в options поле polyfills: ['zone.js']. Позже, погружаясь в Ангуляр, вы все поймете!
Еще в 20-ом ангуляре перестали прописываться в имена файлов типы сущностей component, service и так далее. Можно исправить в angular.json, в ключ app (вместо app будет название вашего приложения), обновите schematics на это
"schematics": {
"@schematics/angular:component": { "type": "component", "style": "scss" },
"@schematics/angular:directive": { "type": "directive" },
"@schematics/angular:service": { "type": "service" },
"@schematics/angular:guard": { "typeSeparator": "." },
"@schematics/angular:interceptor": { "typeSeparator": "." },
"@schematics/angular:module": { "typeSeparator": "." },
"@schematics/angular:pipe": { "typeSeparator": "." },
"@schematics/angular:resolver": { "typeSeparator": "." }
},
Видеоинструкция:
1) Не применяются шрифты в проекте
Ты добавил все @font-face, но шрифт все равно не выглядит как в Figma? В видео не показывается явное указание директивы font-family для body, но на отметке 29:36 видно, как это должно быть настроено.:
2) Иконка, вставленная с помощью компонента svg[icon], не отображается
На отметке 2:30:20 я объясняю, что нужно добавить атрибут id в тег <svg> в файле иконки: <svg id="home" ...>
3) Иконка не перекрашивается, когда задаешь color в CSS
Скорее всего, в SVG-файле не изменен цвет заливки на currentColor. На отметке 2:30:21 это показано на второй строке:
4) Запрос на бэкенд не отправляется, особенно при авторизации
Вероятно, ты забыл подписаться на запрос, из-за чего он не исполняется. Нужно сделать так: this.authService.login(this.form.value).subscribe()
Да, эта часть немного перекрывается моим видео. В следующих видео таких проблем не будет — мой уровень записи заметно вырос.
5) Не получить список подписчиков 
На 2:41:55 - обрати внимание на слеш в конце URL /account/subscribers/. Он очень важен. Я сначала его не указал, но за кадром добавил этот слеш, и этот момент случайно вырезал. Если слеш не поставить, то запрос будет воспринят как совершенно другой. В документации можно найти объяснение, какой именно запрос будет выполнен в таком случае.
папка со шрифтами выглядит почему то вот так
Антон Костин, и что смущает?
ну и шрифты соответственно не применяются, в боди запись сделал как описано
Иван Черняков, переделал все заново, заработало. Думаю из-за того, что файл со шрифтами был расширения scss, а основной файл стиля css. Просто при импорте указал файл с расширением и заработало. Я прав?
Антон Костин, хм, так-то скорее всего да. Только почему основной файл у тебя оказался css, а не scss - не ясно)
после введения if и for пропадают подсказки и все записи внутри цикла становятся белого цвета, это может быть связано с тем, что у меня ломаный WebStorm?
Антон Костин, ломаный = не последняя версия, наверное. Так что вполне возможно. Посмотри актуальная какая - и стремись к ней.
Приветствую! иду по уроку, на 2.33.24 появились в классе SidebarComponent новые строки (видимо, запись останавливалась). Подскажите, пожалуйста, какие именно строки добавились (часть не видна за пределами записи) и за что они отвечают. Благодарю за ответ!
P.S. И, соответственно, потянуло за собой файл profile.service.ts (время на видео 2.42.05), там тоже методы новые появились (getAccount, patchProfile, uploadAvatar, может какие-то еще), не видно за пределами записи какие именно и их полное содержимое...
Kostya Vyazovik, если будут проблемы - проблемы - добавим сюда код этих двух мест.
Иван Черняков, огромное спасибо! двигаюсь дальше по урокуclapping_hands
Иван, добрый вечер! Спасибо за совет, по ходу видео практически все моменты по коду прояснились! В конце видео столкнулся с моментом - все делал по инструкции, но фильтрация не заработала. В нетворк запросы приходят, items отображаются, а в штмл в profile-card__wrapper ничего не выводится. Код один в один как на видео, перепроверил. Выдает ошибку "NG9: This expression is not callable. Type 'Profile[]' has no call signatures." - указывает на profiles() в строке @for (profile of profiles(); track profile.id) из search-page.component.html.
Подскажите, пожалуйста, в какую сторону копать, и в чем причина. Благодарю Вас!
Иван Черняков, отлично, значит все работает как надо!)) Спасибо тебе огромное, с удовольствием перехожу к следующим твоим урокам!party_popper
Kostya Vyazovik, спасибо!)
Проект просто находка!! 
У меня только одна проблема, когда прокачивали авторизацию (4:39 -4:45), вроде код такой же как у автора, но после перезагрузки страницы profile запрос me и subscribers падает с 403 "Invalid token". Если прописать путь на search-page все норм. Откатываю изменения в файле auth.interceptor.ts - все работает штатно. 
Иван, Спасибо большое за оценку! Очень рад стараться. А пробовали взять код выложенный на бусти? Работает ли там? В целом, 403 - штатная ситуация, главное, чтобы был перезапрос сразу)
Привет. Не могу найти ссылку на фигму с проектом. Или это платно?
Pigmy, нет, конечно) все ссылки предоставлены в посте -https://t.me/kosmostars7403/25
Привет! А что-то изменилось с момента выпуска? Метод https://icherniakov.ru/yt-cource/account/test_accounts возвращает Привет, я Иван Черняков!
У тебя опечатка в урле)
Иван Черняков, ёооооптель) спасибо! Ну, зато прокачался в настройке cors
Нашел баг на бэке, если расширение картинки будет в UPPERCASE то бэк говорит что такой формат не поддерживается
Андрей Игоревич, поправлено, спасибо за репорт
Привет! Хотел спросить. Исходный код бекенда открыт к просмотру, или нет?
Igor Aniskevich, привет! Нет. Если есть конкретный вопрос - можно узнать в лицеистах
На моменте добавления роутинга, после переноса логики из апп-компоненты в search, профили не отрисовываются, хотя все делаю как на видео. Пришлось на этом этапе добавить в сервисе behaviourSubject и в серче уже отрисовывать поток. Не знаю почему из-за +1 уровня вложенности так меняется поведение...
Bansho Tennin, хм, впервые слышу о такой проблеме. Если будет возможность потом, когда допишешь приложение сверить с исходниками моими - будет полезно следующим обучающимся)
на версии Ангуляра 19.0.0 на 2:33:00, когда прошли циклом директивой *ngFor по меню в сайдбаре, добавление id к svg у меня не помогло их отобразить. Рестартил дев сервер. Через @for срабатывает, и по-моему даже id к svg необязательно прописывать в таком случае.
Евгений Пашко, думаю, дело просто в кеше свгшек!
Иван Черняков, возможно.
у меня такая такая проблема 
TS2345: Argument of type '{ stack: string[]; firstName?: string | null | undefined; lastName?: string | null | undefined; userName?: string | null | undefined; description?: string | null | undefined; }' is not assignable to parameter of type 'Partial<Profile>'.
Types of property 'description' are incompatible.
Type 'string | null | undefined' is not assignable to type 'string | undefined'.
Type 'null' is not assignable to type 'string | undefined'.,
но я указал типы как указаны в курсе, всеравно не работает...
Иван Черняков, Как я понял, используя getRawValue я получаю досут даже к отключеным елементам формы. Я его использую в onSave и firstValueFrom, теперь запрашивет токен коректно и ошибка ушла, но при сохранении и обновление страници токен на stack слитает и снова на странице вылази [object Object]
Artem S., Токен нужно сохранять в куках и восстанавливать после перезагрузки. просто внимательно повторяй за видосом
Есть репозиторий? А-то я в верстке не силен, где-то потерял что-то и теперь по видео ищу не могу найти, решения из гугла и ИИ не помогают(
А проблема в том что справа остается место, и получается карточка не на весь экран(
В scss все верно вроде
Masloy Max, конечно, подписывайся на уровень абитуриент и будет архив с кодом)
Здравствуйте, спасибо больше за такой информативный и полезный урок, много чего узнала и вспомнила
столкнулась с проблемой:
с выводом
getSubscribersShortList() {
return this.http
.get<IPageable<IProfile>>(`${this.baseApiUrl}account/subscribers/`)
.pipe(map((res: IPageable<IProfile>) => res.items.slice(0, 3)));
}
то 402, то 433 ошибка и никакх не хочет выводить список подписчиков(( пробовала добавлять параметры page и size, не помогло
подскажите, пожалуйста , что еще стоит проверить
update: стоит только передать вот сюда ```
@for (profile of subscribers$ | async; track profile.id) {
<app-subscriber-card [profile]="profile"></app-subscriber-card>
}
```
все работает
вот здесь пусто ```
<pre>{{ subscribers$ | async | json}}
```
Dinara, Спасибо! так сходу сложно ответить, выглядит норм. Мб слеш в конце урла лишний? Если работает во втором примере, то нужно идти по коду первого постепенно!
Subscription levels3

IT-Лицеист

$7.3 per month
Для своих в IT
Развиваю сообщество любителей технологий. Приглашаю всех, кому интересно дип дайп в кишки под капотом. Эксклюзивный контент с 24 сентября 
Уже доступны обучающие материалы по Angular (по тэгам tik-talk и angular)
А также присоединяйтесь к чату сообщества
+ chat

IT-Лицеист. Upgrade Required

$21.9 per month
Дорожная карта к синьорству: от технических тем до софт-скиллов. 
Только мой опыт и инсайты от коллег, без воды и маркетинга.
Эксклюзивный контент с 1 октября
+ chat

Лицеист (архив)

$21.9 per month
Подписка дает доступ ко всему контенту на Бусти и закрытому чату, где можно общаться с другими участниками и задавать вопросы.
С этим набором знаний и навыков можно подготовиться к работе в IT без необходимости в дорогих курсах от образовательных гигантов.
- образовательные материалы
- mock-собеседования
- процессы в команде 
+ chat
Go up