Тренировка собеседований с Олегом: обсуждение JavaScript, промисов, операторов и основ ООП на русском языке.
Ask about this video. Answers come from its transcript only — with the timestamp, so you can check them.
Generated from the transcript and can be wrong — check the timestamp.
Key Takeaways
- Понимание работы промисов и их методов важно для собеседований по JavaScript.
- Унарные и бинарные операторы имеют разные применения и требуют знания их особенностей.
- Классы и экземпляры классов — ключевые концепции ООП, которые нужно уметь объяснять.
- Методы объектов, включая toString, доступны и на примитивах благодаря боксингу.
- Практические примеры и разбор вопросов помогают лучше подготовиться к техническим интервью.
What the video covers
- Обсуждение вопросов по JavaScript, включая промисы и методы работы с ними.
- Разбор унарных и бинарных операторов, их применение и особенности.
- Пояснения по псевдоистинности и псевдоложности в JavaScript.
- Обсуждение классов и экземпляров классов, а также прототипного наследования.
- Разбор методов объектов, таких как toString, и их вызов на примитивах и объектах.
- Объяснение концепций боксинга и анбоксинга примитивов в JavaScript.
- Различия между методами массива includes и indexOf.
- Обсуждение операторов instanceof и их применения.
- Практическая тренировка собеседований с акцентом на понимание теории и практики.
- Взаимодействие и разбор вопросов участников с разным уровнем подготовки.
Full Transcript — Download SRT & Markdown
Speaker A
Здорово, меня слышно вообще? Здорово, здорово, слышно хорошо. Здорово, если там очереди нет, я был бы не против первым быть. Угу, нету, давай. Хорошо, а ты кто вообще? Ээ, так, Егор закончил в пятницу первый спринт, вчера вот тоже. Ты меня слышал? У меня не был, да ни разу. Или вчера ты меня спрашивал? А, окей. Ну сейчас подождём, может, никто. Если есть люди, которые ни разу не были, то иха прошу. Потом ты следующий. Хорошо, хорошо, подождём, подождём. А ну мало сегодня. Может, придут ещё, а там объявления просто не было. Может, сейчас чат написать, как не было объявление, то в расписание. Ну объявление. Понятно, расписание же стоит. Глянь, пожалуйста. Да, там расписание. Мне кажется, особо это никто не смотрит. Не, расписание стоит. Да, да, да, стоит. А ну вот видишь, тем более я вчера же говорил, что сегодня [музыка]. Угу, так хорошо. Так, Егор, Сергей, Сергей, Сергей. Угу, Иван. Ну в принципе, в принципе можно. А значит да, так, Егор вчера был. Сергей, ты вчера был? Отвечал? Нет. Не, какой-то Сергей был. Сергей не базарит, а Иван. У меня интернет дохлый, буду прерываться. Дохлый интернет. Сергей, ты тут? Да, да, я просто на деревне, х интернет. Ну мобильный, как бы, тут тяжеловато. Меня тоже мобильный, у меня е. Ну давай, СБО. А так, Егор, о чём мы вчера говорили? Напомни вот, может, вопросы, которые ты не ответил, напоминай. Так, я не ответил вчера. Ну вот тенар у Нарни, я их посмотрел. Потом с ТН тайпа было сложно, с получается псевдо ложью, псевдо истиной. Там с промесом немножко сложновато было. С тилькой ты меня подцепил, где там х Бади? А, ну я вспомнил, вспомнил. Ага, хорошо. Так, а что вот по промисам, вот эти вот методы интересные, посмотрел? Вот эти методы, как работают там? Ну я вот этот, короче, смотрел сегодня занятия, там только вот начались промисы. Ну в принципе, то есть я понимаю, что они делают. Я просто не знаю, что они конкретно возвращают, но они все промис возвращают. Могу вот как понимаю рассказать. Ну я понимание. Хорошо, просто ну на собесе часто спрашивают, чем отличается. Да вот All от all — это вот, ну глянь, там несложно. Рейс возвращает первый, который, ну, выполнился. Э возвращает получается любой, да? Ну ни, ни возвращает вроде все, там какой-то возвращает. Всё, в общем, ладно, я не буду. Да, сейчас гадать. Ну да, Рейс — первый выполнивший, ни первый успешно выполнивший, которого. Вот состояния какие бывают? А, э, так, э fulfilled, rejected и pending, вроде. Да, да, да. Вот этот вот Рейс получит, ээ, первый выполнивший се, ну не ннг. А этот вы any, ну который будет фил то. Угу, вот если все у него rejected, то не получит. Ну там получит, походу, херню. Ну поглянешь, это вот, ну часто вот спрашивают. Хорошо, хорошо, пром ты пятницу? Да, закончил? Нет, я в первый этот закончил. Сегодня у меня вот со следующей недели вторник начнётся. А всё, всё, вторник, вторник, окей. Ой, вторник, вторник, вторник точно мы с тобой там. Я почти тебя всё и спросил. Ладно, давай вспомним про терник. Ладно, бинарник понял. Да, с унарником. Поня тоже. Поня почитал немножко. А какие унарные? Давай повторим. Перечисли унарные операторы. Какие существуют? Так, ну унарных там их целая, по факту куча. Это, а ну их не унарных куча. Ну вот получается, восклицательный знак — это отрицание. Потом есть typeof, есть delete и есть vo. Del — это что? Ну Del удаляет, я вот это минут назад сказал. Delete удаляет, по идее. Del? А да, есть из массива, по-моему, даже нет delete. Ну окей, знаю. А потом vo? А что за vo? Vo? Я вот тоже. Ну то есть помечает как vo, пустота тоже, ка интересно. Не, ну просто есть инкремент вот и плюсплюс. Да, плюсплюс тоже будет. А ну да, это как они, пост есть, префиксный есть, постфиксный. Да, инкремент, да, да, декремент есть, минус. Минус вот дальше тоже будет унарная. Да, ну окей. Окей, хорошо, да. Ну в принципе понимание псевдо истинности там это тра-та-та, псевдо ложь, мутабельные и немутабельные типы. Да, понимание есть. Да, ага, есть. Ну да, там строки. Это не. А вот смотрел там про методы объекта? Ну примерно. Да, понимаю. Там тут стрин вот эти, которые используются, о не используются. Да, некоторые. Окей, смотри, а понимаешь, что такое вот чем отличается класс от экземпляра класса? Вот классы вообще не знаю. Я сегодня про соли читал немножко, что-то понял, но в класс вот я не лез, если честно, вообще. Ага, я понимаю, как они примерно работают, то есть вот примерно понимаю, но не углублялся вообще. Угу, понял, хорошо. Ах, окей, это класс, экземпляры класса. А ну экземпляр что такое? Вот экземпляр класса? Ну ээ, ну опять же, то есть я даже экземпляр класса не слышал, но если предположить, наверное, это вот то, что создано на основе этого класса. Ну конечно, да. Так давай чу-чуть попроще. Просто теперь в эту копён. Я немножко чтобы от класса уйти. Ну ты понял, что в объект есть метод toString, правильно? Да, а отлично. В методе object есть toString. Хорошо, а в классе Ray метода toString, ну допустим, нету. Да, ну его нет. Или у промиса? Давай у промиса нету, но если мы получим промис, мы можем у неё вызвать метод toString, правильно это или нет, или не можем? Вот у промиса нету toString, а у объекта есть. Можем ли мы вызвать или нет? Если сможем, то почему, если не сможем, то почему? Так можешь ещё раз? Я запутался немножко. Хорошо, есть массив, мы получается получаем. Да, да, какой там массив вообще любой, 1, 2, 3. Да, и ну массив хреново, там, по-моему, это строка определённо. Ладно, возьмём промис там. Ну знаешь, как создать прос new Promise там что-нибудь, неважно, или ЧМ, короче, получил какой-то промис. Да, то есть п будет каким-то просом, пример, это понятно совсем. Ну окей, потом делаем тока p.toString. Да, можем вызвать. Почему можем вызвать? Давайте я так подскажу. Почему мы можем вызвать, хотя у он есть вот такой во? Ну тут, наверное, опять же, с что у нас в рите можно назвать объектами в конете. Через прототипы сводятся к объектам, наверное, вот как-то с этим связано. Ну плюс-минус, да, плюс-минус в принципе, да. И то есть когда мы... Хорошо, давай тогда см закончим. Вот есть у нас какой-то примитив, допустим, единичка. Да, x равен 1. x.toString тоже можем вызвать, потому что типа у нас всё объекты, я думаю. Да, потому что там в задачке решается же, мы если нам число приходит, мы можем его строку привести. А если копнуть вот что там внутри происходит, такие процедурки не знаю. Даду. Да, боксинг, анбоксинг, упаковка, распаковка. Слышал что-нибудь, когда примитив превращается в объект, а объект — примитив? Ну вот по сути ты всё правильно сказал, всё там объекты, можно и так думать, работать будет. Ну вот действительно. Да, смотрится, что тут примитив обт, вот маленький, да, с маленькой буквы оборачивается в String с большой буквы. Ну типа String. Ага, понял, да. Вот сейчас Number — вот это становится объектом. Ну да, бонбон, вот такие вот есть, не знаю, методы, да, способы преобразования. Это же вот это конструктором, да, как там называется? Это оператор, а конструктор — это что? После new же называется. Это тоже конструктор с большой буквы он должен называться. Конструктор, если это по сути метод. Да, но он должен называться точно также, как и название класса. Это у нас получается вот эта штука. А смотрел ты вообще что [музыка] делает? Ни есть? Ой, что-то там, это методы вот которые. Ну есть метод, а есть оператор. Вот конкретно оператор, вот он бинарный. Что он делает? Instance of. Посри. Ну да, уточ глянешь. Да, дада, да, вот ин тоже такой есть. Хорошо, вот у массива есть метод вот инк, да, а есть метод incl. Да, вот они делают почти тоже самое, но в чём отличие? Ну он как бы говорит, если какой-то содержится, допустим, какой-то элемент содержится в этом массиве. Отли индексов он возвращает либос ми. Ну су вра надо выть, если данный элемент в массиве, да, то можем это и это использовать. Ну просто то сразу вот и вся разница. По сути делают одно и то же, но где-то удобнее это делать. Ну окей, окей. Не, хорошо, хорошо. Так смотри, есть у нас метод у массива. Ну можем мы сделать его с помощью льно циклического? Ну все те же манипуляции. Ну да, для каждого элемента вызывать какую-то функцию. Да, да, да. Скажи, подумай, вот что с помощью оператора for мы можем сделать, что не можем с чем? Ну вот обрати внимание на вот эти параметры, которые внутри. То есть три параметра: эмен, индекс, индекс и вроде сам массив. Вот ты вчера говорил, да, третьим параметром. Так, так и как он вообще работает? Но он вызывает коллбэк для каждого из элементов. Вот начинает с какого? С ну вот с того, которого мы задали, получается, с индекса, с ну с нулевого. Вот всегда с нулевого.
Speaker A
разу или вчера ты меня спрашивал а О'кей Ну сейчас подождём может никто если есть люди которые ни разу не были то иха прошу Потом ты следующий хорош хорошо подождём подождём а ну мало сегодня Может придут ещё а там
Speaker A
объявления просто не было Может сейчас чат написать как не было объявление то в расписание Ну объявление Понятно расписание же стоит Глянь пожалуйста Да там расписание Мне кажется особо это никто не смотрит не раписание стоит Да да да стоит а Ну вот видишь тем более я вчера
Speaker A
же говорил что сегодня [музыка] угу так хорошо так Егор Сергей Сергей Сергей Угу Иван Ну в принципе в принципе можно А значи да так Егор вчера был Сергей Ты вчера был отвечал нет не какой-то Сергей был Сергей не базарит а Иван
Speaker A
у меня Интернет дохлый буду прерываться дохлый интернет Сергей ты тут Да да я просто на деревне х интернет Ну мобильный как бы тут тяжеловато меня тоже мобиль у меня е и Ну дава СБО а так Егор о чём мы вчера говорили
Speaker A
Напомни вот может вопросы которые ты не ответил напоминай так я не ответил вчера Ну вот тенар у Нарни я их посмотрел потом с ТН тайпа было сложно с получается псевдо ложью псевдо истиной там с промеса немножко сложновато было с
Speaker A
тилькой ты меня подцепил где там х Бади А ну я вспомнил вспомнил Ага хорошо Так а что вот по просам вот эти вот методы интересные посмотрел вот эти методы как работаю там ну я вот этот короче смотрел сегодня занятия там только вот начались
Speaker A
промисы Ну в принципе то есть я понимаю что они делают Я просто не знаю что они конкретно возвращают но они все промес возвращают могу вот как понимаю рассказать Ну я понимание хорошо просто ну на собеса часто спрашивают чем от
Speaker A
отличается Да вот All от all это вот ну глянь там несложно рейс возвращает первый который ну выполнился э возвращает получается Любой да ну ни ни возвращает вроде все там какой-то возвращает Все в общем ладно я не буду Да сейчас гадать Ну да Рей
Speaker A
первый выполнивший ни первый успешно выполнишь которого вот состояния Какие бывают а э так э fulfilled rejected и pending вроде да да да вот этот вот рейс получит ээ первый выполнивший се ну не ннг А этот вы any ну который будет
Speaker A
Фил то угу вот если все у него rejected то не получит Ну там получит походу херню Ну по глянешь это вот ну часто вот спрашивают Хорошо хорошо пром ты пятницу Да Закончил Нет я в первый этот закончил Сегодня у меня вот со следующей недели
Speaker A
вторник начнётся А всё всё вторник вторник окей ой вторник вторник вторник точно мы с тобой там Я почти тебя всё и и спросил Ладно давай вспомним про терник Ладно бинарник понял да с Уником у Поня тоже Поня почитал немножко
Speaker A
А какие унарные давай повторим Перечисли унарные операторы Какие существуют так Ну у нарх там их целая по факту куча это А ну их не у нарх не куча ну вот получается восклицательный знак Это отрицание потом есть typeof есть Delete и есть
Speaker A
vo Del это что ну Del удаляет я вот это это минут назад сказал Delete удаляет по идее Del А да есть из массива по-моему даже нет Delete Ну окей знаю а потом vo А что за vo vo Я вот тоже Ну то есть
Speaker A
помечает как vo пустота тоже ка интересно Не ну просто есть инкремент вот и ПЛЮСПЛЮС Да ПЛЮСПЛЮС тож тоже будет А ну да это как они пост есть префиксный есть постфиксный Да инкремент да да декремента есть минус Минус вот дальше тоже будет унарная Да
Speaker A
ну о'кей О'кей хорошо да Ну в принципе понимание псевдо истинности там это тра-та-та псевдо ложь мутабельные и мутабельные типы Да понимание есть да Ага есть Ну да там строки Это не А вот смотрел там про методы объекта Ну примерно Да понимаю там тут стрин вот
Speaker A
эти которые используются о не используются Да некоторые О'кей смотри а понимаешь что такое вот чем отличается класс от экземпляра класса вот классы вообще не знаю я сегодня про соли читал немножко что-то понял но в Класс вот я не лез если
Speaker A
честно вообще Ага я понимаю как они примерно работают то есть вот примерно понимаю но не углублялся вообще Угу понял хорошо Ах О'кей это класс экземпляры класса А ну экземпляр Что такое вот экземпляр класса Ну ээ Ну опять же
Speaker A
То есть я даже экземпляр класса не слышал но если предположить Наверное это вот то что создано на основе этого класса Ну конечно да Так давай чу-чуть попроще Просто теперь в эту копён Я немножко чтобы от класса уйти Ну ты по понял что
Speaker A
в обжект есть метод ту string правильно Да а отлично в методе object есть to string хорошо а в классе Ray метода to string Ну допустим нету Да ну его нет Или у промиса Давай у промиса нету но если мы получим промис мы можем у неё
Speaker A
вызвать метод to string правильно это или нет или не можем вот у промиса нету стн а у обк есть Можем ли мы вызвать или нет если сможем то почему если не сможем то Почему так можешь ещё раз я запутался
Speaker A
немножко Хорошо есть массив мы получается получаем да да какой там массив вообще любой 1 2 3 да и ну массив хреново там по-моему это стринг определённо Ладно возьмём промис там ну знаешь как создать прос New prise там что-нибудь неважно или ЧМ короче получил
Speaker A
какой-то промес да то есть п будет каким-то просом пример это понятно совсем ну окей потом делаем тока P то string да можем вызвать Почему можем вызвать давайте я так подскажу Почему мы можем вызвать хотя у он есть вот такой
Speaker A
во Ну тут наверное опять же с что у нас врите можно назвать обетами в конете Чере прототипы сводятся К объектам наверное вот как-то с этим связано Ну плюс-минус да плюс-минус в принципе да и то есть когда мы хорошо давай тогда см закончим вот
Speaker A
есть у нас какой-то примитив допустим единичка Да X ра 1 X = 1 и X то STR тоже можем вызвать потому что типа у нас всё объекты я думаю да потому что там в задачка решается же мы если нам число
Speaker A
приходит мы можем его строку Прив да А если копнуть вот что там внутри происходит такие процедурки не знаю Даду Да боксинг анбоксинг упаковка распаковка слышал что-нибудь когда примитив превращается в объект а объект примитив Ну вот по сути ты всё правильно
Speaker A
сказал всё там объекты можно и так думать работать будет Ну вот действительно Да смотрится что тут примитив обт вот маленький Да с маленькой буквы оборачивается в STR с большой букво Ну типа STR Ага понял да вот сейчас Number Вот это становится
Speaker A
объектом Ну да бонбон вот такие вот есть не знаю методы Да способы преобразования это же Вот это конструктором да как там называет - это оператор а конструктор - это что после New же называется это тоже конструктор с большой бук он должен называться
Speaker A
конструктор если это по сути метод Да но он должен называться точно также как и название класса это у нас получается вот эта штука а смотрел Ты вообще что [музыка] делает ни есть Ой что-то там это методы вот которые Ну
Speaker A
есть метод А есть оператор вот конкретно оператор вот он бинарный что он дела instance of Посри Ну да уточ глянешь Да дада да вот ин тоже такой есть хорошо вот у массива есть метод вот инк да а есть метод incl Да вот они делают почти
Speaker A
тоже самое но В чём отличие Ну он как бы говорит если какой-то содержится допустим какой-то элемент содержится в этом Масси отли индексов он возвращает либос ми Ну су вра надо выть если данный элемент в массиве да то можем это и это использовать Ну просто
Speaker A
то сразу вот и вся разница по сути делают одно и тоже но где-то удобнее это делать ну окей окей Не хорошо хорошо так смотри есть у нас метод у массива Ну можем мы сделать его с помою льно циклического Ну все те же манипуляции Ну
Speaker A
да для каждого элемента вызывать какую-то функцию Да да да скажи подумай вот что с помощью оператора фор мы можем сделать что не можем с чом Ну вот Обрати внимание на вот эти параметры которые внутри То есть три параметра даре
Speaker A
так Эмен индекс индекс и вроде сам массив вот ты вчера говорил да третьим параметром так так и как он вообще работает но он вызывает колк для каждого из элементов вот начинает С какого с Ну вот с того которого мы
Speaker A
зададим получается с индекса с ну с нулевого Вот всегда с нулевого здесь индекс ты ну по сути можешь конечно задать но по умолчанию с нулевого правильно А здесь мы можем поре Да мы поменять можем то есть интервал то есть
Speaker A
не от нуля до длины Да как мы делаем понимаешь о чём три параметра в ре примерно ра от Ну и меньше там L и п п да мы обычно делаем да мы же можем поменять вот этот вот интервал не от
Speaker A
нуля от двойки взять да в этом та с наоборот можем Да ну Поня да реснуть можем можем интервал менять то есть И П П не АНО и рано и п 2 да можем так сделать То есть интервал вот этот вот
Speaker A
который будет бегать по нашему массиву можем ещё э вот в фриче если брейк поставишь Выйдет он как ты думаешь а для каждого из элементов массива брейк Ну брейк что ну для каждого же вызовет Ну бре брейк прерывает Да но я
Speaker A
думаю он для каждого будет вызывать как он там же нету условий брейк не отработает нет даже если условие поставишь брейк не отработает в методе for each А в Форе отработает правильно выйдет из цикла Ну это тоже как бы
Speaker A
возможности Фора где нигде нельзя Ну вот фриче сделать брейк если ты брейк напишешь фриче в методе массива то ничего не отработает а брейк отработает в Форе Ну в самом цикле я про это про возможности оператора фор которых нету
Speaker A
здесь понимаешь меня Угу круто Ну ну не знаю сколько это круто Ну спросят те буду знать ну вот просто что не тут не то что надо это запоминать что просто немножко подумать немножко подумать и всё получится а окей что у нас что у нас
Speaker A
ратата Смотри вот если взять Взять Вообще наш не знаю браузер Да хочется поговорить о том смотри первым а возник вообще HTML да потом CSS А да потом уже там появился остальные вещи там не знаю Ну в начале рисовали простой HTML CSS
Speaker A
вообще не было да то есть браузер был Был он браузер получается мы получали страничку браузер интерпретировал вот этот HTML Код Да и показывал пользователю красивую картинку Понимаешь или не понимаешь угу говоришь отлично Смотри я вообще вопрос к чему это я так
Speaker A
немножко там чуть истории запил Зачем нам дом Что такое дом во-первых первый вопрос а второй почему он появился Зачем он нужен Может он не нужен Так получается это это дерево наших дом элементов то как они выстраиваются вот то есть ну сам вот дом
Speaker A
Вот это пови длям элементов то как они выстраиваются Где они должны лежать там же и семантика всякая подтянулась ну так если ты в HTML напишешь то что они перепутаю или как джаваскрипт пока Если ты написал HTML правильно Ну вот указал там даже
Speaker A
CSS ну нахрена тебе дом то он и так отрис сует браузер посмотрит ему не нужен сам дом это же дом объект такой да в виде дерева дом - это наша HTML страничка только в объектном виде правильно Ну а зачем нам
Speaker A
она нужна Кому нужен Вот то есть если ты написал ты дом ну нахрен этот дом что у тебя отрисовать дом доступ к дому через JavaScript бывает так документ нуле там всякие или камуто конкрет Нет вообще к дому документ Правильно мы
Speaker A
берм докумен Ну а с помощью чего мы берём то документ мы просто ж пишем Я про то что дом появился в связи с тем что появился JavaScript JavaScript на прямой работать не может ему нужны объекты он всё-таки объектно
Speaker A
ориентированный язык понимаешь появился вот всё тут немножко логики и всё это даже можно и не знать Ну логично Что появляется дом Да ты домом документ вот этот Window docum вот и это всё JavaScript JavaScript с этим работает Это уже
Speaker A
динамика добавляется А то что ты сказал что семантика вот это всё Это ж можно без жава скрипта Нахрена оно вообще правильно Ну я имел в виду потом ты просто сказал то что вот до того как там JS CSS был вот чисто HTML я даже не это
Speaker A
не думал да HTML CSS а потом только JavaScript появился соответственно Когда появился Jap тогда и появился дом вот с домом работает Ну javas crep работает с дома а ну ты меня Да я понял ты меня с помощью вот этого как обратиться к дом
Speaker A
ты меня наводил я понял Ну да старался старался по крайней мере понял да Ну хорошо а вот есть такое понятие как виртуальный дом ещё какой-то появился Зачем он вообще основные его цели вообще создания так Ну именно в контексте
Speaker A
реакта то есть реакты ИТ Вообще можно реакта не реакта вообще да Какая основная у него задача виртуального дома оно везде Ну основная задача получается хранить э предыдущую версию Ну актуальную и при изменении каких-то предыдущую получается версию сравнивать её с обновле
Speaker A
обновлённой и отдавать уже Ну а зачем ну с какой целью это сделано Хорошо он есть и сейчас почему он легче пер Ну второй вопрос а первый э с какой целью что это делает Ну легче потому что у виртуального дома нету там
Speaker A
многих как это сказать Э не параметров а способов Да взаимодействия Но из чего дом элемент состоит что есть а так ну получается ну методы и атрибуты правильно Да да Ну вот есть у нас допустим г Input Type Type КСТ
Speaker A
Ну вот то есть по сути элемент дома это наш правильно у него есть атрибуты и методы дома нету методов правильно наверно или не соглас слышал когда взаимодействует он легче и быстрее отсо странички Вот вот принципе виртуальный до быстрее там видел всё понятно что когда
Speaker A
там маленькие объём данных небольшой Это хрен с ним с этим виртуальным но как показывает практика видишь недаром создали потому что Ну действительно были проблемы Вот виртуальный дом дом да дада да хорошо а окей дом вот этот хорошо а С нативным
Speaker A
жава скриптом ну ты как бы в принципе знаком примерно Да задачки пытаюсь решать не знаю какие-нибудь такие пам-пам-пам как получить текущую ссылку с помощью JavaScript может быть встречал может бы так текущую ссылку Да вот я хочу там допустим нажать
Speaker A
на кнопку и мне вот в Арте Да Арт Знаешь такое Что такое Да но у нас там есть различные методы но вроде как через Window Я знаю мы можем посмотреть ссылку с которой перешёл пользователь там много всяких Да да да Window Location да да Ну
Speaker A
правильно из Window надо взять Да всё верно Ну это так для разминки мозгов Ну хорошо а вот есть у нас алерты есть у нас что ещё confirm а есть ещё всплывающее окно Вот типа промт Да правильно называется или как пом Ну вот
Speaker A
в чём разница этих трёх пони выполняют разный функционал всплывающее окно Пром - это тут всё всплывающее окно Ну вот Вспомни что такое про я его по-моему года два назад видел Последний раз Окей ком корм Ну подтверждение корм Окей окей
Speaker A
то есть надо нажать на кнопочки Нет это да только да либо нет да пром ты текст вводишь тебе текст вот ну по сути да отличаются они немножко функционалом но принцип работы да всплывающих окон А скажи пожалуйста можно ли вот ты как
Speaker A
пользователь можешь ли вот эти алерты в браузере допустим Ну поменять им стили как пользователь имен или Ну через это через отладчик зайти там прописать Back навесь прописать выделить нужны элемент Ну соответственно если ты так можешь сделать ты можешь и где-то в коде
Speaker A
у себя правильно изменить или нет Я думаю да ну как нет это браузер браузерный C у тебя к нему доступа нету те никто не даст его изменить че а через браузер Как через браузер это браузерная CSS у тебя нету доступа тебе никто не
Speaker A
даст ни консоль никто ты же вот допустим в Хроме откроешь Арт у тебя один стиль в интернет Explorer и там другой стиль Ну ты не сможешь никак изменить Ну попробуешь потом Сможешь ли ты изменить у тебя доступа нету к браузерном CSS апе ты
Speaker A
туда не залезешь понял Я думал через отладчик нажать эту кнопочку выделение объектов навести выде Ну это если бы были Это ты сам определял эти окна всплывающие Поэтому если хочешь щёлкнуть тебе надо само описанную вещь писать Ну там есть реакта много вообще с
Speaker A
помощью смотр какого фреймворка Да вообще на жава скрипте по сути можно написать я писал эти всп окна там порталы исполь Ну вот вот ну когда сам пишешь кода конечно можно А когда уже встроены то ты по сути никак не сможешь
Speaker A
Ну ладно Хорошо хорошо так так что мы там смотри есть дизайн называемый такой два вида основных дизайна это что у нас Давай вспоминать Типа так ну адаптив экрана там мобильные там планшеты тек обычный экранчик Аби это который мы ставим там с
Speaker A
помощью или как Ну в общем Лекс Вот этот который гибкий То есть он сам подстраивается мы можем там ещё резиновый Да его называют браузер берёшь там да да есть такое ну да ой ой что там ещё Ну ладно ладно так просто
Speaker A
понедельник этот вторник мы уже наверно тут проговорили а давай может повторим Вот что значит детерминирована функция понятие детерминированности так Да сказал вчера я тоже почитал немножко я и про кис почитал Ну детерминирован то есть функция которая принимает какие-то
Speaker A
параметры она не изменяет их внутри То есть она работает с ними Но именно эти параметры не пере назначает То есть это функция которая приняв одни и те же параметры всегда вернёт один и тот же результат А смотри есть функция Date Да есть такой
Speaker A
класс Date Ну с большой буквы Data крипте у не есть метод сейчас Date по сути там возвращается что-то миллисекунд из какого-то там года не суть возвращает текущее время в миллисекундах вот он детер Так ну он возвращает разное всё время он
Speaker A
возвращает текущую дату с детерминирован или нет Ну внутри он ну приняв одни и те же параметры если я там в одну и ту же секунду наверно побу милку выдаст одно и тоже но если я его Ну если я его напишу через секунду то он мне
Speaker A
даст другой другими ли секун Егор тебе надо ответить на вопрос и аргументировать свой ответ детерминированный Так он принимает параметры и отдаёт их но наверное он Дени один результат вернул Через секунду другой Да но если мы вот прямо ровно в
Speaker A
это в одну и ту же миллисекунду вызовем я вот это И вот говорил он же отдаст и что так если ты у тебя метод какой-то допустим выводит рандомное число от одного до десяти и два раза Он вывел что
Speaker A
одно и то же значит он детерминирован у тебя в любое время когда бы ты не вызвал он должен вернуть один и тот же результат неважно в какую там миллисекунду миллиард секунду он всегда должен вернуть одно и тот же результат У
Speaker A
тебя же есть ситуаци я по-другому просто размышлял тут по-другому не надо тут на самом деле всё просто сейчас Вы если в разные секунды Да я так и размышлял Я думал если в одну и ту же пря миллисекунду то он вернётся один и тот
Speaker A
же результат если там разные условия будет то да хорошо ит зна что тако рандомное чайное пони до ЕС сечас ты вызвал двойку вернула Через секунду двойка мы можем говорить что э функция детерминирована Ну так как ты думаешь Да но нет конечно
Speaker A
мы просто не смогу объяснить что у меня в голове Ну я понял я про это тоже себе выясню ну не надо выяснять Я думаю должно быть всё принципе понят зам не зава по да не так размышляю Я понял Ну может быть и
Speaker A
так я хочу понять мы Я хочу чтобы ты это сразу понял и мы дальше пошли на этом не заморачиваюсь А у тебя возникают вопросы и может быть я что-то плохо рассказываю поэтому я хочу выяснить это нормально Нет наоборот это я плохо понимаю Хрен
Speaker A
его знает Всякое бывает может быть я то есть здесь вопросов Ну быть по сути не должно Ну ладно бывает да если заморачиваться заморачиваться надо может быть не всегда но надо хорошо Так давай ещё с тобой про что-нибудь такое такое такое А про макро таски Да
Speaker A
мы вчера рассказывали Да что-то микро Ну что-то да было Ну и ладно макро тас Ну О'кей Окей О'кей А ну давай ещё заденет чистю функции другого человека Бу Вот чистая функция отсутствие сайд эффектов Вот мы вчера начали про Сай эффекты и
Speaker A
Давай перечислим Сай эффекты обще для чистой функции могут быть Ну то есть для просто сафе неважно чисто нечи Да ну допустим если мы пытаемся взять из себя какую-то переменную которая находится там во внешнем окружении это тоже гори переменно из
Speaker A
замыкание Да обращение е Ну вот опять же вот эти алерты там пром обращение к подожди Первое - это переменные замыкание Alert prt Log это Давай как-то обобщим То есть это что ну это обращение к получается браузеру то есть ну ты говорил если мы а
Speaker A
браузера Да к чему-то внешнему Ну по сути это можем в одно Да в первое запросы какие-то также на отлично Ну P вот эти вот все там AOS О отлично Всё отлично первое второе Да что ещё так Ну опять же замыкание А какие ещё
Speaker A
есть асинхронные вот может быть методы асинхронные Ну тайм-ауты да Абсолютно верно Да да да вот это основное Ну ладно добро Егор Спасибо пойду вот напоследок вопрос А если вот ну передавать их в аргументы это также как слогом тогда это остаётся чистой
Speaker A
функцией А что передавать ты хочешь передать Ну вот Ну допустим да и да я понял Всё да глупый вопрос просто появился передать конечно у нас же вот почему у нас JavaScript считается мульти парадигме он и функциональный и опш
Speaker A
функциональный язык он почему циона потому что существуют функции первого рода там первого порядка там высшего рода Ну по-разному называет что это такое функция первого рода по сути когда мы там разные определения но суть одна что мы функцию можем передать функцию Ну
Speaker A
по сути когда мы переменные можем присвоить функцию То бишь это expr вот поэтому здесь можем Но короче что я хотел сказать забыл Ну и хрен с Ладно ребята ВС Спасибо Спасибо мне показалось поучаствовать У меня просто с микрофоном
Speaker A
была проблема Я там очередь занял Я не был ни разу Ага Так у кого там может быть по времени Пусть тогда первого будет потом кого не по времени Ну по полчаса с каждым поговорим сейчас кто говорил занял А кто
Speaker A
занимал Ну я написал в чат у меня просто проблема с микрофоном была в самом начале когда спрашивал меня а окей Сергей Да нет Иван А Ваня хорошо Всё тогда да я Ваню помню у него были проблемы а потом кто Давайте тогда
Speaker A
распределим я вот после Вани с удовольствием поучаствовал бы ты кто отлично Я бы следующем поучаствовал Я тоже поучаствовал так пять ещё четыре да Так первый идёт у нас кто запоминает Иван второй Семён третий Влад Влад четвёртый я Саня са Хорошо
Speaker A
можно то есть ты пя А ты кто Али нет да да А во Али Али Слушай у меня друг Али с Ирака Вчера разговаривали точно я так что-то смотрю Нихера себе Али ко мне пришёл это другой так что-то Али вот хотел с тобой а ты
Speaker A
откуда сам с России Агу Ну ладно татата Окей Ты у меня был не был Али не ни разу не был вот в первый раз все первый раз так пять человек хорошо Ну по 30 минут пром Ну ладно уже хрен с ним так
Speaker A
саче ап кто тре третим Влад Вла О так погнали Сколько сейчас 4 45 отлично хорошо давай про себя немножко ну я чуть больше года прил инкубатор до этого с вобще связан не был нет вот прол все шесть тогда ещ было
Speaker A
шесть спринтов сейчас на стажировке Ну навку особо не изучал что-то вот вчера ребят послушал и немножко это волнуюсь потому что я на собеса нигде ничего не был навку не учил чисто бомби Ага у меня слушай Такой вопрос более
Speaker A
личный Так ты ж нефтянник нахрен законне Т было ягда хотел если не сейчас то значит никогда И я уволился и вот пошл сюда Ну согласен согласен То бишь ну э работа очень интересна тут я могу с уверенностью сказать каждый
Speaker A
день ты новые узнаёшь Я просто не знаю что ты нефтянки делал можно бурить там да скважины А можно и сидеть в кабинете тоже нефтянка правильно не ял главный инженер проекта в кабинете при это высокооплачиваемая работа Да высоко опла но не из княз
Speaker A
гр не наоборот из грязи гряз не гряз в княз не наоборот Ладно Ваня смотри тогда ты получается закончил и ты вообще на собеса нигде не был и сейчас ты Ну вообще У тебя опыт есть написание кода когда Или ты вообще
Speaker A
сейчас просто прил на Собес и ты давно не писал код Нет зачем я сейчас пишу стажировочный проект Ну соответственно все предыдущие там карточки та туду листы я писал всё понял А что за стажировочный проект это какой-то инкубаторские да да Instagram Вот это
Speaker A
копия Инстаграма Ага а что там я вот в принципе никогда не спрашивал А что там за технологии Расскажи что за команда Как устроена работа вообще ну там стек Next Потом значит й роты из основного м к у нас инкубатор мы только фронт пишем
Speaker A
Ну и команда там у нас пять фронтов два тестера инкубаторские сначала скита набором вот этих пере использ компонент потом авторизация Ну и потом пошли проф Ну как таково Ну ясно Ладно хорошо хорошо никогда не был никогда не был на чём что-нибудь с
Speaker A
простого вообще типа вот не знаю вот Назови пожалуйста вот э примитивные типы данных а вообще давай что-нибудь усложнение вот оператор Тай пов какие два ссылочных типа данных может вернуть оператор Тай пов а объект и функция Отлично Отлично функция когда может вернуться в каком
Speaker A
случае Наверно когда typ и туда функцию передаёшь Окей только функции Да да да действительно хорошо хорошо а typ of New стрин если вот что будет как думаешь Ну вот сейчас ребята до этого обсуждали Я так подозреваю что New - это
Speaker A
вот это зарезервированное слово чтобы вызвать новый конструкт Да новый как он называется Да конструк абсолютно Ну значит объект наверное вернёт а ну окей давай такой последний по этому ty of typ of New function тогда что так New function угу он наследуется
Speaker A
от чего-то у него есть какой-то прототип Да хрен на Прототип тут тут видишь специфика работы тайфа тти похе Я не могу это объяснить но мне кажется нер Ну да видишь есть тут прави Про которые мы говорили Неважно как она
Speaker A
создана откуда он вя всегда окей ладно хрен с ним немножко Поэтому Окей такие понятия как сели что-то было это по-моему когда с это с Джейсона стринг и обратно да про Отлично Да это частный случай да то есть J stringify - это се реализация Jon pars
Speaker A
- это дереализация да то есть мы объект делаем строкой а потом строку делаем объект Вот ещё этот хороший способ копирования согласен Да отлично А какие у него недостатки может быть знаешь именно недостатки в конкретном жава скрипте То бишь он там и хороший метод
Speaker A
там в плане сериализовать J потом из него все так и делают по всему миру но вот именно в жава скрипте какие у неё есть недостатки в плане подумай типов данных вот типа данные Все ли хорошие ти данны если ты говоришь про
Speaker A
типы данные если сначала он стринги Fight он объект траку значит э меняет тип соответственно обратный процесс из строки в объект Да какие могут быть тут минусы Э да вот ээ сразу скажи это какая э этот копирование Какое поверхностное или
Speaker A
глубокое А по-моему это глубокое конечно Ну вот с возьми сколько у нас типов сем там да основных Да ну примитивы и объекты Ну да то бишь Вот возьми стрин из строки строк проблем не будет на тоже вот симкин вот здесь
Speaker A
могут быть проблемы в плане того что симбол вот этот вот да он его Захер и Захер ли вообще А назад при десериализации он просто по-моему вте они не де реализуются они просто утеря Либо выдаст вообще ошибка это проблемка она по сути не такая
Speaker A
глобальная потому что Любой объект можно представить с помощью тёх основных Да типов Number ири правильно вот ну ну ладно как у тебя со структурами данных вобще что это такое кры данных понима наверное как хранится объект Какой структуре то есть там может
Speaker A
быть в массиве в объекте он хранится ассоциативном массиве отлично Смотри такой тебя вопрос не знаю философски Да почему ни одна структура данных сделали бы вот этот массив и его бы все юзали придумали там 100 этих структур Для чего Ну есть 100 коров Да ты берёшь 100
Speaker A
коров массив херш Ну с точки зрения программиста Нахрена вот эти деревья шпы хрипы Как ты думаешь вообще Я предполагаю это из-за сложности обработки этих структур Ну то есть там есть там методы сортировки Да там наверное в каком-то случае сортировать
Speaker A
массив будет проблематичный чем объект Ну всё правильно То бишь есть набор операций основных это ну рудовский Да получение удаление и мы выбираем структуру данных при которых мы допустим в дальнейшем намечается там быстрое получение Да мы используем там хшм ну к
Speaker A
примеру потом быстрое удаление Мы другое мы уже заранее выбираем структуру данных потому что знаем А с какими операциями над этой структурой данных мы будем работать правильно Ты сказал сортировка Да мы выбираем тоже структуру чтобы она хорошо сортировать Всё верно всё верно
Speaker A
верно не то чтобы вот в массиве тот массив Ну допустим не оптимальный будет в каком-то случае вот ну помимо массива какие ты структуры данных вот знаешь прям перечисляйте - это формат да Ну да по сути J - это
Speaker A
строка Вот ты делаешь формат Угу угу ну это структура данных Как ты считаешь Ну да конечно примитив да неважно тут уже примитив не примитив у тебя New string - это ж объект правильно здесь просто строка - это структура
Speaker A
данных а она примитив не примитив вообще не важно О'кей Но вот а смотри есть такие две структуры данных она называется стек и очередь да В чём раз понял про что но не знал что это структура данных это структура
Speaker A
данных да то есть там хра А почему нет там хранятся данные То есть ты же можешь положить там карты в стек можешь в очередь ну всё что хочешь ты можешь Туда положить почему это не структура всё что хочешь ты можешь положить в строку
Speaker A
почему это не структура это структура у неё свои особенности структура Чем отличается вот стек от очереди юе Да на английском Q [музыка] так Ну давай попробуем поразмышлять СТК Я вот после вчерашних всех обсуждений я залез на Jap поно начал
Speaker A
рекурсию бомбить вот Насколько я понял СТК - это порядок операций в котором выполняется допустим ЕС к рекурсия именно рекурсия то есть на Первом ша эз томен Ты говориш про в принципе это частный случай А мы говорим об в
Speaker A
принципе у тебя логика правильная так так размышляй размышляй то есть к у тебя может быть не только вызовом у тебя функции идут Как Степ это как функции как элементы Да какой-то структуры конкретно стека А давай возьмём вообще попроще
Speaker A
колоду на может быть слышал такую аббревиатуру как фофо фо Last Input F output Как перевести не слышал последний пришёл первый вышел Ну представь колоду карт ты кладёшь Первую вторую третью А когда хочешь взять Ты же берёшь сверху Да вот это Last inp то есть
Speaker A
первым взял Да Лио вот такой Принцип если ты последним пришёл то первым ты выходишь А если ты первым пришёл Ты последним выходишь вот такой стек Вот его основная то есть хранит он хранит там занимает какую-то область памяти но именно когда ты хочешь
Speaker A
получить Get Да у него такая специфика тут понятно да последовательно Да первым пришёл значит и последний вышел если последний пришёл ты раньше выйдешь всё види колода с этой очередью как у нас сейчас да А сейчас очередь не очередь - это другое То есть очередь -
Speaker A
это обычная очередь магазин это ф первым прил первым ушёл правильно Кто первым в очереди пришёл тот Первый выше согласен Угу Да вот и всё вот и всё то есть это да естно структуры данных они очень простые Ну просто не знал я думаю сейчас
Speaker A
тебе объяснил ты навсегда ты запомнишь учить не Ну да чтобы отложить Хорошо ты говоришь рекурсия ре А что такое рекурсия Ну это метод программирования когда точнее паттерн программирования когда функция вызывает саму себя отлично отлично А с точки зрения вот в
Speaker A
рекурсии давай Спрошу так затронем [музыка] то нужно Чтобы избежать типа ошибки о называется ну чтобы переполнение стека вызовов что должно быть при выполнении рекурсии Ну должно быть услови когда она прекращается опять ссылаться сама на себя самый простой уже некуда и соответственно на базе его
Speaker A
сдуется вычисление предыдущих вызовов этой функции в стеке Да ну какое-то условие там да да потому что по сути если условия этого не будет всё равно это будет рекурсия правильно она бесконечная у тебя просто программа ляжет Но конечно условие Да да
Speaker A
да абсолютно есть ещё такой вопросик набе лучше использовать скажите рекурсию выв Ну этой же функцие либо цикл то биш Ну вот на написано было что неоднозначно и задачки я решал неоднозначно то есть рекурсию как-то проще её понимать и писать но в какой-то
Speaker A
момент у неё сложность алгоритма вот э может быть квадратичная она там сильно возрастает а цикл Он вроде как проще для процессора и памяти во временных вот этих затратах памяти но немножко сложнее как бы понимать поддерживать Ну вот видишь это такой вопрос Когда на
Speaker A
интервью Да где нет по сути совсем правильного ответа да ты размышляешь вот сейчас ты сказал я допустим Ну это даже не задумался я бы сказал что Ну так как цикл в принципе подразумевает что здесь условия выхода Да не надо он Отработал и всё то
Speaker A
есть мы обезопасит того что Ну колк переполниться да курсе Мы должны следить за тем что было условия выхода Ну кто как есть вопросы которые просто поразмышлять как я говорю философски Да поэтому ты сказал Классно я запомню я этого ну не знал не подумал бы об этом
Speaker A
Ну теперь вот две вещи знаю как бы отвечал бы я на собе поэтому как-то так понял самооценок Я же прихожу сюда не только там у вас проверить и что и самому научиться правильно хороший преподаватель тот который сам учится
Speaker A
тоже хорошо а что такое замыкание так замыкание Это относится к областям видимости когда мы в коде ссы на переменную которая не задана в этой области видимости она выпрыгивает как бы во внешнюю область видимости ищет эту переменную так там если не находит
Speaker A
вплоть до глобальной области видимости если её не находит [музыка] говорит упу область видимости область видимости А какие области видимости Просто когда мы говорим про замыкание должна присутствовать одна сущность без неё никак я у тебя у неё Не услышал
Speaker A
А ну м я вот их немножко путаю Какая из них первая Ну короче есть а функциональная область видимости я про то что замыкание Подожди секунду мы можем говорить про замыкание только тогда когда у нас есть функция без функции никакого замыкания быть не может
Speaker A
понял только функция Да вот функция функция тогда ну иногда и вопрос Спрашивается замыкание функции Да функциональное замыкание то есть при говоря при замыкании мы должны говорить что должна присутствовать функци если функции Нет давай поговорим какие области видимости ты вот знаешь вообще
Speaker A
А ну функциональная Блочная потом по-моему модульная Если не ошибаюсь Ну то есть вот то что наш модуль А как ты понимаешь модуль Ага ну как как сказать Ну я не знаю условно модуль CSS вот наш отдельный файл Да
Speaker A
который или там JavaScript файл который мы подключаем Ой я тебя не услышал правильно сказал Ага да да Ну да этот модуль Вот либо либо модуль ещё знаешь я бы отнёс Это скрипт именно тег скрипт открыт закрыт потом следующей идёт Ну
Speaker A
это тоже можно взять модули потому что мы можем импортировать файл правильно дада да Всё правильно да ну с Я тоже хотел сказать то есть когда в скрипте там есть src указываешь вот он этот скрипт подключает как модуля Абсолютно
Speaker A
верно Абсолютно верно Да моду Ну и глобальная Отлично Отлично какую ты знаешь глобальную Вот какие переменные вот хотя бы одну две которые входят в глобальную область видимости для любого жава скрипта Window наверное и консоль Отлично Да да Абсолютно верно это
Speaker A
глобальная область видимости глобально означает что ты можешь в принципе Взять её в любой в любой точке Кода да в любом точке кода люм в любой точке кода заговаривай хорошо Хорошо Окей переходим куда-нибудь типа что такое вообще один вопрос Ну давай на три
Speaker A
их люблю разбивать или где-то я слышал Просто что такое А что такое ре Что такое ре А может ф а ну вот что-нибудь такое давай Что такое А как что для тебя это такое Так ну App - это Application progaming
Speaker A
interf Я насколько понимаю это как условно говоря есть какой-то объект А есть у него методы с помощью которого мы можем как-то работать с этим объектом условно говоря есть автомобиль есть там педали есть рулевое колесо там ручка передач и вот у каждого
Speaker A
производителя своё допустим там знаю китайцев там всё электрическое там шайба какая-нибудь у наших вазовских там ВС на механике Вот это есть взаимодействие с программой взаимодей Окей пример [музыка] конкретный может не програм ВС правильно Ну наверное ну сам попробуй спросить вот библиотека
Speaker A
axos это а или нет Да она даёт нам методы с помощью которого мы можем не обращаясь к нативно жава скрипту делать запросы что что вообще правильно То бишь это конкретно програм если отвлечься от программирования то не знаю руль в
Speaker A
машине это ж а да да Ну вот и всё вот и всё видишь всё просто А мы ещё что-то думаем обсуждаем правильно всё можно всегда из жизни взять примеры и станет более Понятно Окей Окей хорошо сейчас http вот
Speaker A
вообще http что это такое вообще так ты просто е до этого Ире спрашивал Нако я Поня яб короче что Тае дава э Я короче не помню расшифровку помню что это стандарт общения Ну который подразумевает запросы на сервер вот
Speaker A
этого СТ Я насколько понимаю который сделан для круд операций как как-то так может быть [музыка] косноязычный наверно всегда Ну по сути тут и остальные всегда Но именно он на http Да какие там есть м арест слышал ли Ты что арест - это в первую очередь
Speaker A
договорённость либо какое-то соглашение да слышал Какие тут есть соглашения вот основные помимо того что он строится наш ttp Ну это даже не соглашение Это уже как аксиома Да То бишь она вот так и так какие там есть соглашения вот
Speaker A
может основные там их девять В общем я точно не знаю какие-то договорённости Ага всё окей Почитай про stateful Stat про круд эти Get po Вот чем от отличает наверное http методы Ну насколько Я подозреваю что не он подразумевает что ты можешь не
Speaker A
отправлять э как бы ну тело запроса или как Или хедер я могу сейчас ошибаться Короче когда ты делаешь пост Ты должен обязательно тело запроса направить А в Гете Ты просто Направляешь свой запрос без тела и он тебе даёт ответ Наверно
Speaker A
так Ну плюс-минус где-то да Ну обязательно почитать вообще рест кру операции Get пост вообще с точки зрения технических возможности они абсолютно ничем не отличаются То есть ты в можешь засунуть вообще с помощью Гета можно вообще всё что хочешь сделать но есть вот ре рест
Speaker A
для чего для того чтобы не было такого что программисты с помощью одного метода там Непонятно что нахер и получали данные и там ещ что-то и создавали поэтому СТ создан Для того чтобы Вот приходишь ты в компанию говорит у нас
Speaker A
рест Значит ты понимаешь что Get - это получать пост - Это создавать Ну с большего везде конечно свои есть изменения вот Delete удалять Да там А так помощь http с помощью Гета ты вообще чисто технически можешь засунуть там ибо
Speaker A
Единственное что тебе вот тот же ч метод Да это ж тоже а axos тоже А он тебе не даст туда засунуть боди Ну скажет нельзя Это ГТ а чисто технически с помощью там не знаю вот кстати вот с помощью каких
Speaker A
вообще с помощью какого программного обеспечения ты можешь отправить аж ttp запрос Я имею в виду не используя программирование то есть не используя AOS JavaScript Как можно отправить тот же пост запрос с Бади Какие может программки ты знае что-то я затрудняюсь ответить Ну
Speaker A
ладно что ты не знаешь что такое своему Ду я видел что он есть я не смотрел видосы и короче я забил полно на тему и работаю без него Ну хорошо ладно аге запрос Как отправить Если пост брать Ну просто может быть в юри запросе
Speaker A
на сервак брауз где надо боди подставить там там даже можно и с помощью браузера ист Я забыл как называется плагин да для Хрома наверное для мазила Ну не знаю мазила вообще существует ещё я да И даже Андрей говорил то что это самый лучший браузер
Speaker A
по его версии не ну Спорить не буду Каждому своё сейчас вот вот Microsoft H Да ну он же наподобие вообще Хрома сделал то есть Каждому своё Ну Microsoft все они тоже Молодцы Microsoft Они смотрят чтом самый популярный так а
Speaker A
сделаем мы как точно такой же дизайн поменяемся И вообще полностью там же и консоль такая всё такое же Молодцы они вот нет так у линуса есть тоже так нам надо что-то тоже сделать тоже самое И всё херт Молодцы ребята Ладно мы не то
Speaker A
мы томм вот это почита мы знаем а ты говоришь работаешь Вот какие частые статус коды ты вот используешь ой то есть у тебя приходят вообще Ну в таком ключе Ну чаще всего двухсотый что всё О'кей м реже четырёх соты когда там не знаю Ну
Speaker A
из четырёх сох давай Да какие-нибудь вот основные два три какие ты вот помнишь если ты вот недавно работал они должны быть в памяти Ну возможно не работал 400 пер насколько я помню 401 - это когда не авторизован ты а 403 когда э тебе короче
Speaker A
доступ запрещён ф биден по-моему так пермишен да да да ну 401 не совсем не авторизован там да Если не авторизован то он тебе напишет что надо авторизоваться а 401 когда неправильно да авторизация вот итека скорее У угу о'кей О'кей Да а 405 может
Speaker A
помнишь не Тини разу не приходил Ну ладно я так это когда человек работает Просто вот прям Я тоже забываю но когда прямо он недавно работал да у него в памяти это откладывается бля заебала э ошибка вот в плане
Speaker A
такого Ну ладно смотри по http ещё есть такое понятие как Да что это вообще за такое свались запрещает де запрос между доменами то есть с одного домена на другой домен и соответственно если мы так хотим сделать то это должно быть на ке прописано что
Speaker A
это разрешено с какого домена делать запросы Ну да ты говоришь прок А это вообще политика безопасности причём браузеров Всё верно к в этом да к в этом деле имеет немаловажное значение а может и основное Всё правильно хорошо а вот у
Speaker A
тебя есть браузер мы определили что Корс у тебя может вылезти только если у тебя есть браузер Да это как вот у замыкания должна быть функция то у коса должен быть браузер Да если по-простому А вот Крос доменные запросы то есть по
Speaker A
сути это два разных домена А где они вот находятся если взять браузер Ну То бишь первы г до А второй где до вот кро домены два разных они должны уходить куда-то как они уходят с точки зрения у структуры
Speaker A
самого браузера первый ул Ну первый домен Понятно В ул строке правильно А второй где как вот к Да ну понимает с какого он пришёл у него же есть информация правильно С какого домена он принима есть тея Есть ВКонтакте Одноклассники хотят Да сделать
Speaker A
запрос и твой сервер Одноклассники видит что ты пришёл бляха падла ВКонтакте а мы с ними не дружим вот Может я плохо объяснил Да нет ту Дело в том что я что-то не соображу никак как же он определяет Да как нет
Speaker A
как вообще хотя бы посылает определяет хрен с ним это его забота как мы посылаем вот У нас есть допустим ты разработчик в ВК у тебя в браузере ВК или Local Host там 8080 да ты на реакте написала приложение 88.000 какой там
Speaker A
порт по 8.000 Да по-моему ну не помню вот Local Host 8.000 ты как-то хочешь обратиться в Local Host там 99.000 да Всё это уже Крос доменный запрос согласен А как ты посылаешь запрос на вот этот 99.000 скажи мне
Speaker A
ну как как запрос наве указываю в теле ул на который я хочу пойти правильно ты делаешь Ну используешь уже а Ну и делаешь так называемый акс запрос Вот именно так жа вот этому ВК HTML наша страничка ты отправляешь изнутри этой HTML
Speaker A
странички с помощью аяк запроса Ну запросы другие на другие домены понимаешь это да вот а Як запрос - это запрос сформированный с помощью жава скрипта вот тогда только Корс может вот Корс может появиться вообще и можно его обойти сделать запрос на
Speaker A
какой-то сервер на тот же Одноклассники не используя вот этот JavaScript допустим вот есть тег AMG Помнишь Да у него есть src да вот в src засовываешь он пошёл никаких курсов проверять не будет потому что здесь JavaScript он не
Speaker A
отправляется два скриптом не используется это xml http request слышал xml теперь реквест это такой самый древний способ но он по купо тамм у фича у акси Уса у всех вообще всё возможно браузер таки отправляет до сих пор вот
Speaker A
xhr запрос если Это не xhr запрос пожалуйста всё Ты даже браузер открываешь где у тебя сеть Нетворк там фильтр есть или наоборот вот ты там фильтр можешь убрать у тебя покажутся запросы когда у тебя вот этот картинка загружается Да вот он же не
Speaker A
запрос вот так ходит Корс я тебя загрузил ты в курсе или ты уже потерялся Нет я в курсе Яя с [музыка] обойти с помощью какого тега с помощью Может ты подскажешь вот прямо бо можем отправить с помощью hml странички не
Speaker A
используя самим мы что сами Ну фом форму какую-нибудь самим Да совершенно верно Вот фом там метод пост Да и можем отправить и он вообще Корс проверять не будешь мы можем так обойти Ну это я что вот немножко по
Speaker A
безопасности да Мы залезли хорошо а что такое дедос атака так Ну наверное когда перегружает сервер одинаковыми запросами и он не успевает справляться и соответственно ложится Совершенно верно Ну насколько одинаковыми может быть разным главное что сервак Да всё правильно это немножко мы там
Speaker A
безопасность залезли [музыка] Ладно Ваня Спасибо там другие ждут Приходите другой раз чтоб мы блин спасибо прям ты со мной лайто в первый раз поэтому тебе спасибо огромное хотелось ещё хотелось Ну видите сейчас потом на следующей неделе будет где-то один раз и на выходных наверное
Speaker A
следующие Ну вот я предполагаю среда сейчас тогда кто следующие Я сейчас подойду через минутку я Блин вот что-то хотел добавить по поводу того что вы говорили и забыл представлять ребята сейчас добавишь что Ваня Красавчик Ну Ваня по-любому красавчик да
Speaker A
да не просто Олег что-то лайто Прям был то что вчера он грузил смотре думаю как вообще люди отвечают Ну да иногда жст жст вообще так кто у нас следующий следующий Семён сма сма Давай два слова Сёма очень давно не виделся с
Speaker A
тобой Олег не слышался вернее сма раньше учился в инкубаторе закончил его и уже год работает эндером [музыка] вот для со бесов просто это очень полезные навыки вот собеседования с Олегом давай про проект рассказывай все твоя роль Моя роль Спасибо
Speaker A
следущий у нас проект вообще основной - это типа сервис который отображает там данные св Нате с датчиков там сколько литров бензина на НМ сколько там с какой скорость он едет заведён Не завен ну короче всю информацию вот об автомобилях
Speaker A
озс колонках там о Всём всём всём куда можно только впаять датчики ну GPS также н координаты с ними часто работаю вот технологий твоих которые [музыка] ты Что такое основное Ну основное вроде всё угу угу а какой-то м как
Speaker A
работае есть ум да библиотека да или что там фреймворк Рено Ну вот смотри ты год проработал У тебя есть разница вот я назову села фреймворка или библиотека мне интересно Ой я отвечу за себя тебе похуй правильно ты знаешь
Speaker A
я вообще не да да поэтому похер Ладно есть эта штука ты короче а запросы Сам ты пишешь в базе запросы в базу Да постоянно SQL запрос там что-то проверить что-то изменить протестить то есть используя вот этот прям ну там есть
Speaker A
для что-нибудь не вот в коде короче применяются в основном у над очере какие-то серч запросы с множественными там м ой Джой нами там используется уже ль хорошо Сёма Я думаю ты встречал такой вопрос Он очень крутой наверное у тебя А
Speaker A
есть запрос тебе дают вот всё он там длится не знаю одну минуту Да всё по таймауту падает твои действия обще есть короче я попробовал воспроизвести этот запрос в пог с помощью команд блин забыл как они называются для анализа как же они
Speaker A
называются пусть будет короче пря А где ты делаешь Это в какой прямо в ге есть о Посмотри у тебя же это правильно Скорее всего нет у меня этот Ой бля Поэтому меня не интегрированного понял Ладно хорошо лезешь туда что ты
Speaker A
смотришь делаю Вот этот запрос что-то там Аси первыми идти после этого запрос и там отображается Ну в результате отображается не результат как бы который ты достаёшь А сколько там секунд потрачено на выполнение того или иного запроса сколько там
Speaker A
на сравнивание параметров сколько короче есть лупы и всё такое О'кей хорошо там то есть где-то что-то переделать можно ладно а такая ситуация что Окей всё правильно такая ситуация что всё запрос идеальный твои действия запрос идеальный Он написан очень хорошо Джони то есть
Speaker A
лучше ты не сделаешь но всё равно он выполняется больше минут и по таймауту отваливается дальше по таймауту отваливается пу Ну по таймауту он отваливается с твоего ЮА понимаешь да за счёт того что он выполняется даже в базе больше минуты
Speaker A
то есть мы выяснили сетью всё нормально Просто таймаут у тебя стоит секунд За сч чего мы выяснили причину Потому что сам запрос даже из поста он выполняется больше 6 понятно из-за чего из-за того что как-то данные да либо их мно Ну
Speaker A
дальше твои действия наверное в настройках силай есть что-то типа времени запроса Ну то есть я бы увеличил время запроса потому что 1 минута дово у тебя стоит в тво приложении а Угу Да как ты увеличи б всё у тебя ИТ работает только
Speaker A
через полторы минуты понимаешь Ну да Тебе надо добиться А я бы сказал фронтам Что за фигня Почему Ну давайте 0 да давайте 90 Ну нет вот заказчик приходит заказчик приходит говорит я не могу ждать всё у тебя 60 секунд Ну всё
Speaker A
выкручивается Ну прикинь вот ты возьми Facebook ВКонтакте какие там данные да Представляешь если Все ждали больше минут сказали Слушай нахрен мне твой серы эти проблемы решаются Ахаха во в код пошёл смотреть ну блин Если запрос выполняется дольше минуты и
Speaker A
я уже никак его не могу оптимизировать то Да забудь про код забудь про код тут уже неважно какой язык программирования всё конект нормальный То бишь всё у тебя SQL на уровне SQ беда Ну ты говоришь что на уровне Иля
Speaker A
всё идеальный запрос я ничего не могу а я имею в виду что просто на уровне выборки просто много данных м много да А ну тогда я этот лимит Ставил бы как бы пагинацию то есть с чтобы чтобы баз
Speaker A
данных вытягивал частично часть данных короче и не целиком отлично хорошо да Но Окей добавляю тебе ещё допустим тебе надо представляешь У тебя миллион данных Да все миллион он занимает там полторы минуты когда ты ставишь лимит допустим ты вкладываешь А
Speaker A
если вот тебе надо отсортировать все эти данные понятно что они ещё дольше будут понимаешь Тебе надо вот этот вот пейджинг есть но он ещё больше тебе надо все достать потом отсортировать понимаешь проблема не исчезает но сортировка тебе нужна
Speaker A
Угу угу пам-пам-пам Слушай я честно говоря даже хз чтобы я стал делать с такой с такой историей Можно я попробую ну слышал ты что А ты кто А Сергей Давай Сергей помоги порассуждать Ну ладно ну шардирование можно было
Speaker A
попробовать для начала нормализацию базы данных как попробовать можно индексы попробовать что там дадада индексы Да Сёма Вот смотри запоминаю вот есть такие вещи шардирование да посмотри есть вертикальная горизонтальна партиционирование это очень похожие вещи но разные потом индексы Да и так что мы
Speaker A
ещё говорили нормализация баз данных может да нормализация Что такое Семён нормализация базы данных так нормализация выписал выписал всё Вот тебе на нужна здесь не нормализация а денормализация что-то очень знакомое Да но сейчас я не вспомню точно так когда база данных
Speaker A
нормализовалась в единое то есть чтобы запросы стали проще и время отклика меньше стало смотри нормализация она делается для чего чтобы у тебя было меньше дубликатов вообще их не было если полностью нормализовалось скорости твоего селекта ты почитай обязательно вот эти вещи
Speaker A
[музыка] угута да да Окей я про с такой бита именно не работал поэтому не шар за Окей окей Просто этот вопрос этот вопрос Он очень популярный Если ты будешь оного знать то только плюс всё погнали дальше хорошо база данных у тебя
Speaker A
постгрес но ты работал наверное и с там монгай Шмон Да ну с монгай так-то А на работе только постгрес правильно только постс Ну M SQL mysql у меня ещё был там так чисто переставил поменял базу и всё по сути
Speaker A
разница да да SQL он и в Африке SQL правильно Ну да Угу хорошо А ну давай по базам может быть эт эйсид атомарность консистентность изолированность э д д ДАД детерминированность робили вобще а атомарность Ох уж это тсит м атомарность атомарность же очень очень
Speaker A
Сёма Очень популярный вопрос очень да популярный Ох ты решил по базам А вот когда Я учился Самое обидное что когда я учился я помнил это всё отлично а блин атомарность не помню изолированность Слушай тогда ты просто Запиши повторишь тут в принципе я же
Speaker A
тебе ничего нового неж можем пойти дальше чтобы не терять время просто е какие-то моменты непонятные приходи да рассмотрим Окей Вот ещё вспомнил вообще прям про базу данные курсор Тап ID вот вроде набор слов может быть слышал в каком-то
Speaker A
Конгом подумай только не отвечайте только не отвечай а Семён ты подумай не слышал РСО ID что это вообще слышал курсор типа когда ты достаёшь частично Вот как раз данными данные как-то в одном запросе и передвигаешься [музыка] тип это вообще
Speaker A
тип Ну вообще как бы тип ну здесь Серга Ты слышал что-нибудь про это Ну я по отдельности слышал то есть - это по идее когда создаётся у нас что-то и Ашка это у нас как бы уникальное значение под
Speaker A
котом было создано Ну дари проблема бывает что у нас есть динамически удаляющиеся добавляющие данные у нас есть пейджинг и мы иногда переходим от другого Пейн от первой странички на второю и у нас данные могут быть повторяться да либо вообще исчезать
Speaker A
так вот чтобы этого не было используется РТО AMP ID это либо то либо то либо то либо всё вместе то есть мы берём не вот этот Селект который основываясь на курсора либо тайм это значит мы основам на датах то есть до
Speaker A
како Да это вопрос тоже по решению проблемы Вот с этой про что когда динамические данные то есть удаляются добавляются именно надо ты берёшь выборку там до конкретные секунды чтобы дополнительно не добавлялись Всё верно чтобы не было вот этого да да да вот это
Speaker A
я что просто вспомнил Ладно такаяма по чём тогда е у тебя к базы ты не хочешь А что ты хочешь по чём тогда спрашиваю Слушай вообще нативка вроде как нормально у меня дска Да сегодня уже нативка надоела да
Speaker A
навке О не вопрос давай попке что-нибудь что-то принцип о вообще что-то слышал может по натив по по натив так я может купи там что-нибудь по сетям по такому-то прогусь просто чтобы или или Поу именно надой слушай можно можно по сетям вот не так давно их
Speaker A
смотрел там tcpip Угу Ну давай давай Серёга Спрашивай ну давай Может тогда ты расскажешь Ну давай начнём вообще СП сразу проско что-нибудь начну а потом мы тебе посм ещё что-нибудь бахнем оп с простенько Ну рассказать что такое оп да да да давай там три основных
Speaker A
принципа вроде бы Угу Ну когда когда говорят сразу вспоминается Sol подожди не не сод давай о Что такое оп Какие принципы о есть принцип УП принцип вот эти три три слова как я мог их забыть накопал всё-таки да этот полиморфизм точно
Speaker A
помню это говорит ну свойство полиморфизма говорит о том что подклассы должны Как бы а нет что какая-то Функция может принимать в себя Все короче принимать параметры нескольких видов классов короче Вот например если это дочерний класс от какого-то родительского
Speaker A
класса Ну конкретный пример да да близко очень Давай конкретный пример чтоб конкретный пример есть функция ехать она принимается ехать да он она может принимать в себя там и велосипед и машину и там тре отлично то есть способность функции работать с
Speaker A
различными типами Да способность функции работа с мими данными Молодец Олег дап вот два два остальных Давай подскажем просто инкапсуляция и наследование инкапсуляция Ну наследование Это обычно у тебя есть какой-то родительский класс и от него ты наследует и методами тут довольно просто
Speaker A
что позволяет ничего это позволяет переиспользовать код например да как один из вариантов Да Абсолютно верно А инкапсуляция что такое инкапсуляция - это сокрытие деталей говорит о том что короче нуно это наверное уже больше я задумался про то что класс должен отвечать
Speaker A
за свою область Но это из солида принципе как бы Почему нет ну это как одна из инкапсуляции да то есть то что касается класса это дело самого класса Почему нет то есть он предоставляет внешние какие-то методы опиш для работы с
Speaker A
сок внутри Ну раз уже сказал давай тогда подумаем вот у нас есть класс Да вот у него есть достим два свойства и да возраст Почему я понял К чему ты ведёшь он типа по инкапсуляции к ним Достучаться нельзя Они с ними
Speaker A
можно работать только из методов этого класса Ну и с помощью гров Ага Почему Почему Почему их не сделать Лич чтобы в этом вот объекте заключалась вся логика работы с этими свойствами то есть H не может там быть Ну те же
Speaker A
проверки Да не может быть меньше нуля допустим окей да чтобы добавить какую-то сквозную логику правильно Да да да Ну да да всё всё всё круто что там дальше Серёга сети А давай мы он ещё про может про абстракцию что-нибудь расскажет нам
Speaker A
Ну давай про абстракцию ещё такое есть их четыре вообще то есть выделяю сейчас четыре то есть назвали Три абстракцию выделяет э эти э молодые программисты старые опытные они Ну да но всё же так э что-то мне А вопрос будет не
Speaker A
смотри есть э три принципа основных но выделяет иногда четыре помимо инкапсуляции и наследования полиморфизма ещё есть Абстракция что из себя абстракция представляет у м абстракция мне сразу в голову приходит абстрактный класс скрип это уже частный случай а тут
Speaker A
больше абстракция такая как бы часть прям ооп да а не конкретно какая-то сущность Ну да ни какого-то языка абстракция как части УП блин слышал ну давай Сергей тогда ответи наверно подожди подожди-ка наверно какая-то абстрактный интерфейс то есть какой-то абстрактно
Speaker A
описание Лав есть это всё всё всё но это какие-то такие элементы такие а мы больше говорим про то есть с помощью абстракции Ты описываешь что там должно быть в то есть описал какой-то абстрактный класс и от всех все классы которые будут
Speaker A
включать в себя этот абстрактный класс должны имплементировать у тебя в общем ты когда что-то начинаешь разрабатывать У тебя есть какая-то абстракция То есть если у тебя машина то у тебя может выделиться какой-то абстрактный класс с абстрактными методами что там какой-то
Speaker A
там машина у машины есть там к примеру там двери там у неё там столько поки сидений вот это вот это вот всё вот это абстракция в этот класс у тебя может быть входить как он быть класс может Как
Speaker A
абстрактным быть так у тебя входить туда абстрактные методы то есть поля Ну то есть поля методы Угу Вот это всё в купе АБ по сути по Ну по сути да в этом в этом ключе то есть и э абстракция я бы наверное сюда ещё
Speaker A
добавил достигается путём трёх предыдущих инкапсуляции там полиморфизма и наследования Я [музыка] думаю вобще в идеале как бы вот это да наследование не может существовать без инкапсуляции типа полиморфизм без наследования а абстракция без по сути всех трх хорошо что там потя
Speaker A
поши либо поть пох ещё Ну я могу по не знаю наверное у сем у него 6 минут осталось я не знаю Сёма что А ну Сёма давай хорошо эталонная модель usi Какие ты знаешь поз подожди я я у сёмы спрашиваю что ты уже задаёшь
Speaker A
можно можно всё что угодно Давай у Сай Давай давай всё вопрос пошёл Так ну есть Application слой Application уровень вернее ээ по транспортный точно помню физический э ну сетевой уровень ещё да э физический около физическое ещё какое-то и всего Их семь Угу хорош
Speaker A
хорошо X7 - это презентационный прикладной сессионный транспортный сетевой канальный физически Давай мы про с тобой про немножко про прикладной уровень Какие протоколы прикладного уровня Ты знаешь http например [музыка] пампампампам наверное Socket Сюда Тоже относится даю Какие ещё протокол
Speaker A
есть Ну работа с почтой - это блин забыл что там за протокол используется Да работа с smtp smtp Да smtp FTP Окей хорошо ты упомянул http их разные версии ты в курсе htp есть то есть первая вторая версия чем
Speaker A
Они между собой вообще отличаются Какие ключевые отличия Да вот с с помощью http2 работает например grpc Угу http1 Ну http1 - это просто гипертекст трансфер протокол он отправляет текст по сети а http2 работает быстрее и он отправляет текст в буфере и получаешь ты
Speaker A
его с помощью обсервер там каким-то ну да то есть в буфере То есть он как э в общем быстрее работает Вот Угу Так в основном оба это Ну давай так что у нас в hp1 только одно ttp соединение в hp2 уже множество их
Speaker A
появилось то есть несколько можно открывать давай так протокол транспортного уровня Какие какие этот да да давай про что-нибудь отправляет Ну TP сначала договаривается о соединении потом отправляет первый пакет проверяет что пакет дол далее Короче у него очень много
Speaker A
рукопожатий до того как он нутри но по сути с точки зрения там данных это гораздо больше короче грузит устройство чем udp Ну это вернее дольше не грузит устройство дольше хотя и грузит тоже короче udp отправляет просто пакеты пачкой не дожидается ему
Speaker A
пофиг на очередность ему пофиг на всё он просто пака залает их и что быстрее долетит то то быстрее долетит я сталкивался с таким в работе с видео и когда ты считывает по udp тебе приходится Ну короче на твоей стороне
Speaker A
где ты на стороне клиента получается клиент формирует уже видео как у него там получится оно может быть с ВМ доставку tcp гарантирует и очерёдность вот Угу а с помощью чего tcp гарантирует доставку с помощью Вот таких рукопожатий постоянных не совсем
Speaker A
а ну рукопожатие то что Да он установил соединени А tcp ну наверное какие-то промежуточные а гарантирует доставку Угу [музыка] Хм ну с помощью того что получатель отвечает да пакет доставлен вроде бы так ну у тебя пиш протокол у тебя
Speaker A
устанавливает допустим метки в заголовке То есть если у тебя не пришла какая-то метка то есть то идёт запрос повторно за ней же то есть вот это вот это гарантия то есть именно за этих меток Угу ти получается Вроде бы да спасибо Хорошо А
Speaker A
что ты можешь расказать тогда про про про про про канальный уровень и про сетевой что там происходит вообще для чего они нужны как тако вообще отсутствует Давай лучше про сетевой про раз мину сево хо Ну на самом деле плохо помню на
Speaker A
сетевом работает например IP да Это основное что давай последний договори я последний Олег вопрос потом ему ещё задам и всё Поэтому а IP помогает э устройствам в интернете находить адрес вот адрес устройства этого в сети Да адрес устройств с помою Чего
Speaker A
Адрес Ладно с помощью DNS Ну DNS правда находится на уровне приложения по IP адресу присваивает I адреса а канальный Мака адреса присваивает давай так хорошо а этот презентационный слой у тебя Для чего какой цио приклад вообще такого не помню немножко
Speaker A
нет Application следующий entation идёт слой вот презентационный слой для чего у тебя а не следующее А предыдущее Ну предыдущее Да представление представление Да представление ну ну ну представления картинки там как-то пересылаются именно вот представление Ты же отправлять можешь как по защищённому
Speaker A
каналу ну ты же делаешь с это что шифрование Короче ладно чтобы время не терять там этот шифрование декомпрессия или компрессия то есть идёт файлов ужа поэтому Ну в принципе как-то так окей Всё О'кей спасибо спасибо сма Ну те вещи
Speaker A
эт уровни изолированности транзакции вот эти вещи ну повтори нуни да да по-любому по-любому повторю как-то это в работе просто не используется и но всё хорошо так всё давай Всё так Влад да Если я не ошибаюсь Да всё отлично давай Влад ты
Speaker A
про себя немножко Расскажи где так Ну я в инкубатор пришёл в мае получается двадцать четвёртого э до этого отучился в пнту на машфак ээ сходил в армию после армии вот долго искал чем буду заниматься решил попробовать ннд Ну собственно Вот к чему
Speaker A
пришёл сейчас к тому пришёл Ну а какой у тебя спринт закончил не закончил всё закончил в ноябре Ну в мае пришёл Значит уже уже стажировка жировка у тебя была Ага нене не Вот про стажировку кстати никто не сказал что на
Speaker A
неё надо записываться Я как не очень умный человек её ждал первое время то что мне придёт какая-то ссылочка такая что какая-то информация придёт мне потом сказали что надо Может может может умный человек может и не надо было запис может
Speaker A
без стажировки всё нормально Ну ладно Ну я параллельно Просто ищу сейчас работу ещё параллельно там тесты Выпишу всякие и параллельно Вот ещё записался на стажировку Ну одно другому пока не мешает Почему нет Понятно то есть фронт у тебя фронт ты закончил вот этот
Speaker A
Угу хорошо Давай поговорим про пупу Про что Про цикл for in for Чем отличается так цикл for of он итерационный то есть у нас допустим ма если мы говорим тон перебирает все элементы массива когда проходится пом ВС цикл
Speaker A
заканчивается кроме Ты знаешь ещё раз итерационные ну ици а ну строка наверно подойдёт тоже ещ может быть вст нар тоже Почему нет хотя не ну на вряд ли на точно вряд ли Ну я сейчас буду только гадать я тебе точно Ну есть
Speaker A
структуры данных такие как на объект одна похожа а вторая на массив одна на объект вторая на массив а а New Map ты по быть мапы сеты Да они тоже Ирана бу зна Ну окей окей Да да да да а об он по умолчанию Не иб ну
Speaker A
Ну не должен быть Было бы странно да поэтому он с фами не будет работать да хорошо Ну можем его как-то там да сделать А какие методы класса object ты вот знаешь использовал методы класса object так в расплох ято конечно их знаю
Speaker A
я их использую Ну смотри давай попробуй навести типа вот как получить список ключей объекта object то Cas Ну там как-то так он по-моему говорится это же метод всё А ты что спросил не про метод Да метод это же метод Киз поэтому ответ на
Speaker A
этот вопрос первый метод Киз Какие ещё продолжай А какие ещё всё [музыка] хорошо не отвечу Ну допустим метод assign слышал такой не пользовался из из метод is тоже не пользовался никогда define Property нет Фриз Фриз Фриз заморозка Фриз нет
Speaker A
Впервые слышу Не Фриз м а Фриз Фриз я понял ну заморозка на английском я понял о чём ты не не сталкивался Окей но хорошо а вот типы данных есть как мутабельные и мутабельные что-нибудь слышал про это Ну конечно ну мутабельные
Speaker A
типы данных мута может быть и объект Ну мутабельный вообще могут быть объекты по ссылке которы у которых ссылочный тип Угу Ну то есть объекты и массивы Окей окей так а и мутабельные какие-то знаешь вообще наверно самый такой какой тип и мутабельный во всех
Speaker A
языках Константа Почему Константа - Это что за тип Ну это переменно не очень италь смотри массив - это array это же тип данных правильно это же по сути класс какой-то Да вот он он у нас мутабельный объект об Ну он мутабельный а один - это
Speaker A
же значение Это ж даже не тип не класс Ну я хотел услышать строку стрин Н он иммутабельность то есть при работе с ним он сам не меняется А с чего состоит у нас вообще объект любой из пары ключ значения свойства и
Speaker A
свойство ключ значения сво а свойства и методы отлично значит неизменяемое логично предположить что свойство то есть мутабельный тип данных - это тот тип данных в котором свойства мы не можем поменять согласен ну да ну вот есть array Да у него допустим есть Lens
Speaker A
мы поменять можем потому что Рей у нас мутабельный и у строки есть у стрин есть Lens мы можем А в этом смысле Всё я тебя понял да да абсолютно мы его как бы поменять уже ну не сможем правильно Ну
Speaker A
да а Ну да типа того скажи пожалуйста есть такое понятие как сложность алгоритмов Да есть такие сложности очень очень очень очень известные Да по сути можешь какую-то вот поз этим известным составить градацию Какая самая быстрая и вверх пройти может примеры то есть какая
Speaker A
самая быстрая сложность большо Вот вот единицы получается это самое проста Сенно верно пример сразу приводи Ну это когда у нас не знаю какой-нибудь поиск идёт и элемент сразу же находится допустим бинарный поиск и в лучшем случае у него сложность
Speaker A
о от единицы будет потому что элемент сразу находится о от единицы О это он подразумевает наибольшее количество значений здесь просто получение допустим 1 п о сложил вот этого от единиц Мы точно знаем что это Константа бинарный поиск у него совершенно другая сложность
Speaker A
Какая о по-моему n от логарифма N это слишком большая это сортировка ты пере а сортировка поиск Угу Ты же оно же быстрее чем ори просто ну да ну Оке Ну ладно а связанные списки Вот что за структуры данных слышал про них связанные списки
Speaker A
нетт листы Окей Ну ладно А вот сортировка допустим пузырьком да да какая у него сложность как у него в к вот да хреновая да А какая Вот сложность у метода сор массива в два скрипте не скажу Ну ты уже говорил
Speaker A
сегодня отри программистами скрипта думаю не глупые там люди Да вот они по-любому какой-то самый оптимальный сортировку выт не пузырьковую поэтому вот они называется Да ну это можеш посмотреть как она реализована Ну любой язык возми то там можешь говорить что именно
Speaker A
на не будет Поэтому Ну О'кей хорошо э есть структуры данных может дерево бинарное дерево Граф что-нибудь слышал про них слышать слышал ничего не скажу Ну графы я их в в университете строил понятное дело там рё все Мы строили
Speaker A
только для чего не понимали да нет вот когда строил понимал сейчас уже не вспомню Ну я тебе просто скажу вот тут же Google map Яндекс карты то есть графы вот это узлы Да совершенно верно совершенно верно Вот поэтому а нужная штука да
Speaker A
ки Ну не спорю Да да конечно да а дерево вот дерево Приведи пример деревьев вот не знаю из жизни может из программирования какие-то знаешь структуры готовые которых структура данных является структурой данных является дерево структурой а Дерево дом Ну дом это да что ещ вот может
Speaker A
быть Ну да почему нет абсолютно и дерево Родительское Семе семейно дерево есть Бинар дерево это тоже самое дере ты вспомнишь то здесь именно если сверху вниз идёт у дерева да то есть у дедушки там дяди тёти дяди тёти там дети вот потом внуки
Speaker A
Да ну такая градация то у графа может быть вообще беспорядочно там у внука Может быть там дочка и дедушка знаеш ну вот эти связи могут быть хаотически вобще абсолютно в разные Роны Ну можеш глянуть не суть Ладно структуры
Speaker A
данных так себе те мы сегодня говорили Если ты слышал про http методы круд операций Get под да да Окей То бишь понятно что чисто технически Get от поста уже ничем не отличается дада да это понятно отлично А тогда с точки зрения нашей
Speaker A
договорённости Чем отличается Get от давай подумаем именно с точки договоренности у только получение то есть мы не можем изменять данные никакие мы можем их только получать с помощью метода Get там с помощью каких-нибудь сортировок с помощью там выборки какой-нибудь
Speaker A
допустим там по буквам каким-то буквы какие-то должны входить но мы можем только брать данные не можем их менять в то время как пут Это для обновления пост мы говорим про пост а пост пост то время как пост -
Speaker A
Это добавление какой-то информации создание Да с точки зрения структуры как они вот может отличаются Ну структура то не отличаются именно из чего вообще структура htp запроса Какая Ну хедер сы заголовки Бади Так ну вот про Да что там в B у Get и с
Speaker A
Body у пост в Бади Ну то что мы хотим передать допустим если у нас с помощью метода Get там реализована какая-нибудь сортировка сразу чтобы она какое-то приходило или по по какому-то Ну вот есть у нас какой-то запрос допустим чтобы все вот с буквы а
Speaker A
которые начинаются слова Вот мы можем в Бади передать допустим там какой-нибудь Start with a если на Где в гет это гет Да допустим так а гет же ж бо по сту гет вообще боди пустой или А ну вот это вот
Speaker A
м Мы же всё в урлейка зна технически можно я же поэтому и сказал что технически можно передать Но запрещает это делать Get вообще не использует он использует чисто параметры или у параметры всё понял не знал Вот это ж обязательно
Speaker A
поэтому я и спросил поэтому отличие от того что пост в базе должен быть заполнен мы чтото заполняем по крайне мере если не запол то ГТЕ точно пустое всегда а пост уже может быть это нормально да поэтому вот мы
Speaker A
передаём параметры Мы же можем хре передавать либо в Ур правильно то есть в у существует два вида параметров это у параметры параметры вот Ну в чём разница знаешь нет Ури ист даме [музыка] ситуацию вот есть не знаю ива там 30 да вот как бы ты
Speaker A
передавал через строку пара А ну равно Иван потом этот асант так 30 отлично Ну перед этим всем вопросительный знак хорошо это вот параметры Подгони что типа да да обяза Да То бишь слш будет Иван СШ 30 просто БК должен знать
Speaker A
где На каком месте что находится Вот то есть ну qu и request - это [музыка] синонимы Да да хорошо да Да я даже забыл quy Да всё правильно quy она даже больше часто Ну я потому что только quy слышал
Speaker A
реквест о'кей О'кей да да не суть там может кто-нибудь под названием может и я перепутаю ну главное уловить суть Угу Вот То бишь смотри первое отличие - Это что это то что в гет боди пусто да да во-первых гет получение пост создание
Speaker A
второе то что боди пусто обязательно пусто вот третье Ну с точки зрения там исходя из того что мы сказали с точки зрения безопасности какой метод более Безопасен подумали на этом ключе А какой мето более Безопасен ээ Да с точки зрения
Speaker A
передачи да так между каким и каким выбираем Get и пост да да точки зрения передачи информации сервера клиенту или клиента серверу неважно сервера клиенту так они ж Ну нет разницы это ж одно и тоже Ну смотри Get мы передаём в руле
Speaker A
данные А здесь мы передаём в Бади А ну в этом Ну в Бади да с точки зрения Да конечно потому что ты же не будешь там Логин передавать в строке логин паро Да вот он же в открытом виде с точки зрения
Speaker A
безопасности передачи данных пост он более Безопасен а вот с точки зрения изменения состояния сервера Вот смотри у нас Get состояние сервера не меняет Да ничего на сервере не меняет согласен Вот с точки зрения изменения состоя на сервере безопасней дёргай сколько хочешь
Speaker A
ничего не поменяется а пост уже нахер это к тому что возможно там проходит какое-то там тестирование Ну пример я такое из головы взял да и ты там дёргаешь пост можешь нахер такого А на проди Тем более что может там
Speaker A
последствия быть ещё широва нельзя вот пост Почему Потому что он должен кэш что такое кэш вот как какая-то информация которая Ну вот допустим как вот работают современные сервисы есть у них какие-то дата-центры есть ющие сервера которые в раз некоторое время
Speaker A
запрашивают у основных серверов данные если они устарели то они у себя обновляют Ну Для более быстро доступа к информации invid cash Да вот этот вот делает Валиди ет всё правильно А для чего чтобы вы не делали запрос на
Speaker A
основной сервер Да брали сервер основной разгрузить и информация быстрее доходил потому что в разные места можно поставить эти ющие сервера и быстрее к нам придёт Абсолютно верно Так и здесь пост ровать не можешь потому что он дойдёт постоянно должен дойти до сервера
Speaker A
если он не Ну по сути не изменит состояние не создаст агет пожалуйста ширы но то что ты сказал что нужно постоянно обновлять это же самая большая одна из самых больших там проблем программистов invalidate ш вроде всё быстро да Но если
Speaker A
не актуальная информация то Ну [ __ ] [музыка] получится ну это Get пост то есть отличие с точки зрения ре надо не забывать что с точки зрения с технической точки зрения боди всё это посылаешь всё это нормально это как бы такие дела у вас
Speaker A
на проекте где там на стажировке был гит Да гит система контроля версии правильно Ну я на стажировку ещё не попал а Ну а вообще использовал Т Ну да но так только через вебшторм в основном сам чтобы командами Угу не особо Ну ладно тогда
Speaker A
давай поговорим значится о тестировании пирамида тестирования может слышал Знакомые слова нет пирамида нет а автоматизировано мануальное тестирование что-нибудь из это ну да О что для тебя такое автоматизированное автоматная Ну как ты назовёшь Да да это ну когда у нас уже есть
Speaker A
какие-то скрипты заготовленные которые тестируют тот или иной функционал Ну и всё при изменении нашего функционала если у нас какая-то функция Допустим как-то мы её изменили у нас уже заготовлено тест чтобы предыдущий функционал не потерялся чтобы предыдущий функционал работал
Speaker A
правильно у нас уже заготовленные скрипты которые гоняют эти функции и проверяют чтобы их работоспособность не изменилась работали также хорошо тогда спрошу что такое Юнит тесты Юнит тесты так так из твоего определения Я не понял разницу в чём тогда автотест отличается от тоже я вот
Speaker A
я вот думал они не отличаются ты думаешь не отличается Я думал нит - это подразделе какой-то подраздел автотестов это не то Ну это уже наверное А как это особенности языка русского Да что можно так подвести но нет это типа
Speaker A
градация Вот такая есть Вот пирамиду Недаром я сказал что это есть вот тесты интеграционные второй и там верхний слой это по сути end сюда же входит автоматизированное тестирование это немножко не то то что ты сказал описал это Юнит
Speaker A
тестирования вотт выписали эти тесты оно называется модуль или функциональная тестирование это всё как бы вот тест интеграционное это взаимодействие между модулями там к и фронт да а автотесты это уже даже они больше Как автотесты относятся к тому что вот у тебя написано
Speaker A
приложение да то есть есть логин пароль и есть там получение какого-то списка не знаю сущности ты пишешь скрипты Ну в данном случа ты говоришь Ну не знаю с помощью какого-то там фреймворка которые тебе сами логинится сами достают что-то
Speaker A
изменяют Вот это уже автотесты то есть имитация пользователя понимаешь [музыка] автотест Окей это я хотел чтобы ты мне рассказал вот пирамида тестирования Посмотри обязательно что такая есть что она Да будет А пам-пам-пам [музыка] как на тайп скрипте писал да
Speaker A
вот правильно Ну да конечно да да смотри новый тип новый тип новый класс там ну типа там ещ что-то врите мы можем создать с помощю Ключе слово класс да лас Person класс авто да в новый тип в тайп скрипте помимо класса ещё есть типа
Speaker A
не знаю тайп Да что ещё есть помимо вот класса тайпа Какие ещё есть слова м интерфейс отлично Дальше Да А потом ямки Да круто и я ещё вот одну знаю точно класс тоже абстрактный класс [музыка] Ну есть такое Да Ой а вот интерфейс
Speaker A
когда-нибудь видел создавал в чём особенность в ЧМ отличие от класса интерфейс не мы пытали пытался на уроке у Валеры мы там пытались докопаться он сказал пока не забивайте голову я больше голо пока не забивал чем они отличаются хорошо ам Что
Speaker A
такое нум вообще в не об говорим пром Ну хорошо про то что смотри какой вопрос я Да понимаю почему есть сущность Почему не используется обычный класс Хотя рекомендуют но есть в чём его особенность отличия от класса вот просто
Speaker A
Опиши как он врите описал Что это значит вот как объект Да така все И этот интерфейс как объект и Type как объект всё как объект нас же всё всё объекты ну как янам вот Вспомни янам какой-нибудь который ты создавал как он
Speaker A
какая у него структура вообще ну там допустим ошибки у нас янаки допустим ошибок ключ значения правильно значение Ну да почему не создать класс тоже ключ значения Нахрена эти е навыки Ну вообще рекомендуют там Я не помню почему вообще он иму табельный сразу же
Speaker A
понимаешь его неме ты задал ошибки 4 Ну вроде как там говорили Я не понимаю почему там причи то есть класс создать сделать италь да и всё Кстати чтобы сделать объект италь вот этот метод которым ты не знаеш используется
Speaker A
Вот его фризи и ты не можешь свойства поменять если что Но свойства только первого уровня если вложены объекты то их всё-таки как бы они ну там уже свой объект своя ссылка Там [музыка] абсолютно тоже там дескрипторы Можешь почитать с помощью их тоже можно сделать
Speaker A
такие модификации самим объектом Вот вот вот так вот хорошо Ммм так что у нас по времени ещё 5 минут Серёга спроси что-нибудь тут тут тут Ой а какой спринт Ну пятый закончил пя закончил Ну давай давай хорошо разговаривали поп давай расскажи нам про
Speaker A
соли что-нибудь [музыка] пов дра ягни такие аббревиатур слышал тоже слышал по ним ничего даже не повторял повторял Да не надо как-то Надо что-то промисы о промисы Ну хорошо давай вот эти методы популярные вопросы по крайней мере я их задаю там any Race All
Speaker A
All settled методы как они работают вообще для чего они так Ну сначала Что такое промис Да ну это получается обещание которое даёт нам про то что когда выполнится вот это вот наше обещание то потом можем делать какие-то Ну что-то
Speaker A
можем после этого делать это нужно для синхронной работы по что у нас JavaScript язык однопоточный и для того чтобы нам не блокировать наш этот ну стек вызовов мы отдаём некоторые вычисления некоторые запросы на сторону браузера асинхронную и работаем получается Вот
Speaker A
для этого нам нужны промисы чтобы работать с синхронным кодом у него есть методы Zen и О как не помню к а без промисов Подожди а без промисов мы работать с асинхронной не сможем сможем но будет блокироваться у нас
Speaker A
наш стек вызовов Ну код блокироваться чтобы не блокировался есть Event loop промисы другого для колла Что такое Event позволяет не блокировать промисы они просто оболочка такая которая помогает избежать там не знаю Кох А если было не было промисов отправляли
Speaker A
мы что ч отправил чтобы она блокировала что ну он же по пошл бы запрос на серве пока бы он не выполнился у нас бы да Значит я не знаю про про Ну ладно что за методы Запиши Вот что за проблема Как
Speaker A
прос помогают решить Ну методы у нас это если зарисовался положительно наш промис [музыка] и А какие состояния проса есть кроме [музыка] вот какой ещ тре и Ну да метод вот этот да ну да мы туда передаём получается массив
Speaker A
просо у негоже Выполни то ког все Почему у Не ну потому что это он возвращает тоже промис отлично отлично и как он работает какая у него логика работы ну он ждёт пока зазо все промисы если хотя бы один не зазо тогда
Speaker A
он идёт в кэч значит всех Ну если у него 100 и второй сразу значит всех уже не ждт Ну да но да да да Абсолютно верно хорошо всё Влад хорошо спасибо спасибо тебе да Так у меня два человека Али сейчас или Потом
Speaker A
нет потом сейчас я сейчас сейчас кто кто кто сейчас у нас Саша да да да са Я вчера отвечал поэтому это да решил сегодня опять прийти отвечал хорошо а Али у нас не отвечал давай Да ну я могу
Speaker A
пропустить его если что ну давай давай давай так Али ты где Да да я тут Да да я тут Красава давай ну пару слов о себе чтобы я ориентировался где-то что-то кнд квиз закончил недавно сейчас на стажировку буду подаваться потом си
Speaker A
вишку сделаю и буду уже кошмарить и чаров на собесе на собеседование ходить кошмари аккуратно Али я знаю я име виду мно тюрьму не хорошо у тебя к Да да да всё верно Круто Ну давай начнём тоже базы данных
Speaker A
конечно без них никак есть реляционные есть нереляционные да В чём вот основно отличие А ну Отличие в том что в реляционных ПД у нас данные более консистентные они структурированы и там в отличие от Мон DP допустим там Ну определённые типы данных То есть если
Speaker A
ринг то соответственно там ну ционной там части рча Чар то у тебя должен быть соответствующий тип данных в мо db не в радиационных без разницы ты можешь что угодно накинуть туда и без всяких удк Ну это трудно проконтролировать Ну вот Угу
Speaker A
угу ну одм надо понимать это именно для Мон потому что да да потому что там разные типы есть Ну да да да Всё правильно смысл правильно Смотри реляционное это слово relation да отношения что там за отношения какие бывают в ционных базе данных
Speaker A
Ну один к одному один ко многим многи ко многим Всё да Всё правильно всё хорошо оператор есть такой Union есть UN в ЧМ разница он возвращает э из двух таблиц определённые значения А Union ну без дубликатов а Union All он возвращает с
Speaker A
дубликата Ага Круто Да всё правильно смотри есть под языки Ну по сути группа операторов которая входят из SQL берётся это ddl dml да Угу А есть tcl dcl не помню что они значат [музыка] Я слышал сниу так я не смогу назвать сам
Speaker A
Ну помнишь должен знать какие транзакции Нет какие операторы Всё верно Ну коллбэк я не слышал наверное лбк О лбк лбк да да да что-то я Кок комит Абсолютно верно А вот эти как его ddl по-моему нет не ddl а
Speaker A
а там где Control Language Data Control Language вот там где с юзера работа не помнишь а то что давать доступ и вот эти все вопросы там вот это Угу не я сейчас с этим с этим не работа с просто что ну как не работал должен
Speaker A
был работать просто наверно с интерфейсом работал просто не обращал внимания это всё можно писать с Да хорошо а с какими базами работал там ну окей по наверное самое сейчас популярна Какие какие что я хотел спросить какие есть вообще что такое
Speaker A
индексы для чего они а какие есть типы именно в pog потому что у каждой базы Да ну если ты знаешь есть свои какие-то спец индекс слушайте типа кластери Зро Вот ты про это да имеешь в виду и про какие ты
Speaker A
назвал первые Ну есть кластери Зро ие вроде индекс не немножко Да есть кластерные есть не кластерные А я другие там вот самые популярные типа B3 B3 хш да да B3 хш и ещ там есть один такой интерес третий не
Speaker A
помню третий не помню вот я не помню поэтому думал что ты вспомнишь поэтому Нет не окей Чего Что такое индекс для чего они нужны Может они нужны индексы нужны нам для того чтобы обеспечить эффективность в запросах чтобы запросы были намного
Speaker A
быстрее Да и3 он там он насколько быстрее насколько быстрее вот именно какая Вот сложность то есть смотри я выбираю О ну ты охренел о о слишком быстро Ну может быть Даби 3 три это же дерево а sb3 sb3 да возможно
Speaker A
там не у оди с Хэм хш от единицы Да на B3 Какая сложность насколько улучшается Я дума логарифм Совершенно верно Да да бинарного поиск бинарный Поиск А да тогда по индексам почему бы вот индексы и все Не проиндексировать Да
Speaker A
и не париться потому что ну основная проблема с индексирования то что при вставление данных то есть обновление вставление У нас очень долго это будет всё делать круто Поэтому да Да Действительно это так это потому что он занимает место
Speaker A
потому что все индексы надо переписывать это время да Абсолютно верно хорошо Хорошо ты работаешь с п админом Да скорее всего Всё верно А смотри там когда открываешь там же [ __ ] всяких на уровня таблиц ещё ну сущности типа
Speaker A
вюи да вот что такое вюи [музыка] Давай это поня потом переиспользовать То есть ты ему даёшь определённый адрес и соответственно с этим адресом ты работаешь последующим это не не сами сохранённые данные а сохранённый запрос а именно выборка уже правильно Ну да
Speaker A
заготовлен тобой там заранее соответственно для чего они делаются для того чтобы для скорости да да для скорости Согласен согласен Есть ещ что там процедуры есть индекс Ладно есть вот процедура процедуры или храним их называют Ну это как сказать ну это Это типа функция
Speaker A
но не функция основ основные отличия между функцией процедуры в том что процедура ничего не возвращает Да я пра верно всё продолжай да да процедура не возвращает процедуре ты ну делаешь совершаешь какую-то логику там операцию или соответственно это типа
Speaker A
функция в наподобие Ну типа в джее это функция А в по процедура вот и всё типа ты какую-то логику там делаешь Да да да это хранимая процедура в принципе да да да хорошо а что такое Триггер Триггер То есть когда у нас что-то
Speaker A
происходит Мы там этот Триггер вызываем он работает по принципу подписчика иср То есть он смотрит на то как там не обсервер этот Подписчик издатель обсервер Ну как бы обсервер тоже да небольшое отлич Да круто Круто хорошо оператор alter Как работает давай ещё
Speaker A
немножко А это типа вставляет данные Да ну нет Не дан я не не [музыка] помню структу табли colum там alter Table Add colum Ну помнишь добавляет колонку удаляет колонку меняет тип колонки это уже касается Ну структуры таблиц Ну и хрен с ним не
Speaker A
знаешь не знае хорошо ээ Хорошо хорошо вот это вот а может быть знаешь монго она относится вот документо ориентировано да омке да соответственно у неё А какие ещё типы ных баз данных Ты слышал Может может просто название не не типы
Speaker A
Ну слышал то что есть файловые ти есть докумен ориентированы я так считаю Может быть там другие какие-то тут понимаешь нече появились Ну да тоже Кара какая-нибудь слышал что не такая дан [музыка] оперативную память может слышал А который обеспечивает нам
Speaker A
каширование Да Абсолютно верно то есть у неё данные Да оператив а окей Окей хорошо хорошо Давай поговорим про мы сегодня не договорили Ну знаешь что такое не знаешь да Да знаю Ну давай прям Давай я послушал бы ну
Speaker A
первая буква - это атомарность Суть в том что у нас транзакция либо выполняется в целом либо вообще не выполняется а вторая буква - это согласованность меня же слышно Да отлично Что такое что такое согласованность ну Суть в том что когда
Speaker A
у нас транзакция выполняется у нас не должны нарушиться всякие конст и тому подобие Вот согласованность это больше про то как ты там спроектировал свою БД Ну если это там ну пример допустим у нас допустим баланс не должен быть меньше
Speaker A
там какой-то определённой суммы это всё зависит от того как ты там всё спроектировал вторая буква Это зависит от разработчика правильно есть если база данных позволяет отрицательно писать баланс на самом деле это нельзя Ты должен на уровне разработчика всё правильно А так
Speaker A
она очень схожа с атомарность правильно Ну да О'кей Ну может нет Окей изолированность ну изолированность то есть у нас транзакции в процессе выполнения должны там э Когда происходит общие общее выполнение Там каких-либо транзакций они же там стучатся до общего ресурса и
Speaker A
чтобы не было конфликтов чтобы там каждый изолированно выполнял эти транзакции а Ну четвёртая буква - это То есть если у нас транзакция отвалится либо что-то с БД отвалится или что-нибудь такое то Ну у нас гарантированно выполнится там в
Speaker A
последующем Когда бэшка наша восстановится это транзакция вот а за счёт чего она восстановится если память если Ну если я вспомню то там вроде есть какая-то табли или типа такого Лог да да он типа сохраняет вот эти все транзакции на основе это на
Speaker A
основе этой транзак на основе этого Лога он там это всё и делает да закончит Да подключится и до делает там тебе предыдущую отлично поэтому она Да durability отказа устойчив круто хорошо а изолированность уровни изолированности вот Может вспомнишь какие там
Speaker A
А да да есть да а сейчас вот это конечно А вот есть R commited самы низкий уро вй уро тре [музыка] это это проблема уровень изолированности [музыка] называет и [музыка] чет спец спецум честно но есть но круто да А
Speaker A
[музыка] вот не помнишь какие там по умолчанию какой уровень изолир по умолчанию но не у всех ба [музыка] пое у него [музыка] нет не трогал другие Я только позна ты пра если недавно от использовал только пост в при да да Ну там проблема
Speaker A
в том что там на самом деле Ну этто [музыка] Ну давай про аномалии поговорим кае ты помнишь аномалии Ну вот в rep ойн комита там проблема с грязным чтением То есть у нас могут прочита те данные которые не закоммитить
Speaker A
как и второй уровень изоляции его просто добавили ну неизвестно зачем его добавили если он работает также как и второй уровень изоляции то есть там грязного чтения не может быть Априори Я не видел данны в которых вообще оно есть если
Speaker A
честно Окей вторая Аномалия вторая Аномалия - это то есть в процессе выполнения подожди первая а Up Это где сечас я а это потеряно обновление Да это вот эту проблему Lost update а это она у всех автоматически да по-моему Угу угу всё О'кей Да всё давай
Speaker A
то есть вот этот уровень изолированности repeatable Right исключает Non repeatable правильно Да да всё верно Окей О'кей окей Не не не не она второй второй уровень изоляции Он решает проблемы грязного чтения Ну ну не решает проб Да второй это comed решает
Speaker A
да да Да отлично Да а [музыка] исключает решае правильно исключает все эти исключает какую четвёртую аномали все эти или нет Ну мне кажется все Да разве ты фантомное чтение слышал такого слыша Ну соответственно Да все эти п те
Speaker A
оно фантомное чтение и очень-очень Похоже только там небольшой вставками данных пробле здесь берётся множество Да ну по сути да Хорошо хорошо бум круто Окей там там с гитом работал да сегодня поту как-то не спрашивали [музыка] ничего че интерфейс Так я на самом
Speaker A
деле как вот можно смержить Две ветки Ну а можно можно сделать использовал вообще нет не использовал АТ это типа откатить комит Да ну что использовал но я уже не пом даже не три а там а это да софт Да
Speaker A
и не помню не помню не буду ничего говорить лучше потом посмотрю Ну ладно хорошо хорошо аш это когда мы там при выполнении Ну то есть мы кодим допустим и сохраняем код Куда в какой-то потом мы можем его вот это вот состояние Ну да в
Speaker A
принципе да некое хранилище сст ж хорошо принцип Барбары лисков В чём заключается А сейчас вспомнил а у нас вроде суть этого принципа в том что мы э наследуемый класс не меняем а дополняем то есть мы не можем его поменять мы
Speaker A
стараемся его дополнить вот Ну это у тебя принцип Open Я так понимаю это второй принцип крыт для расширения закрыт для изменения Мне кажется принцип баков в другом немножко Ну не знаю Ну ты сейчас что сказал давай ещ раз повтори то есть вот
Speaker A
у нас есть базовый оттого методы Да да мы получается не меняем их мы создаём дополнительные методы то есть дополняем основной базовый класс Ну Окей тогда в чём тогда второй принцип Open Close Ну суть второго принципа в том что мы Ну да что-то
Speaker A
как-то странно звучит там принцип там ключевое слово - это подстановка что-то должны подставить Барбара лисков принцип подстановки Барбары лисков и что поставить Я не знаю Ну дочку вместо родителя То бишь свать Да спроектировать да это наследование наше класс чтобы дочки
Speaker A
заменяемые были чтобы вместо родителя подставив дочку у нас не ломался наш проект Ну не было ошибок Вот то что ты сказал это вот больше про Open CL открыт закры а ещ самый первый Ну это понятно да да Поня
Speaker A
единственный ответ хорошо ой а ты у тебя блин вечно путаю да Ага Там есть такая штука Если я правильно помню этот собачка и in Да такая аннотация есть такое Что это такое вообще како вообще выпот делат можешь писать ну так
Speaker A
называемые декораторы которые нам обеспечивают dep injection да да как вообще самый простой способ реализации dep in через методы через конструктор Ну через методы А конкрет да понима что это ну уже конструктор Да по сути просто запись такая круто
Speaker A
круто скажи давай более глобально так наверное я уже сам подзабыл вот сечас вспомнил Зачем dep in нужен Может он и не нужен Ну в принципе зачем вот это всё если его не будет И что как бы ну в чём
Speaker A
вот прикол основно основные плюсы в том что у нас приложение становится более гибким то есть мы сами там при тестировании мы просто сами нужные моки ему закидываем в этот конструктор чтобы ну не заходить сам код и не присваивать ему эти моки
Speaker A
вот непосредственно мы это делаем через конструктор Это намного удобнее и в случае если у на допустим либо там какой-либо репозиторий кем мы работаем Просто этот репозиторий можем через конструктор переназначить и всё типа о нам гибкость обеспечивает вотже сам по сути
Speaker A
без Нет я имею в виду Чтобы смотри а у нас есть какой-то класс Мы можем инжектить там какой-то репозиторий конкретно an правильно автомобиля репозитории injection - это injection То есть я про то что просто dependency injection без inversion да то есть мы
Speaker A
должны заинжектить какой-то интерфейс правильно или абстрактный класс я про то чтобы гибкость появилась согласен да да вот поэтому само dependency injection ты же можешь как бы инжектить но вот именно нужна вот как бы абстракция Или ты уже подразумевал что она есть то есть
Speaker A
ты инжек какой-то интерфейс правильно это уже dependency inv пятый принцип Да а depend in depend injection Ну является частной реализации dep соответственно Они же взаимосвязаны Ну окей да просто что если я просто in тоже как бы ну ладно Окей если бы ты это
Speaker A
подразумевал то Вообще вопросов нет всё круто да dependency injection это частный случай лизации depend соглас Да да да Какие ещё есть реализации у depend интересный вопрос меня как-то спросили Я думаю А хрен его знает [музыка] больше ну у меня такой же ответ не знаю
Speaker A
Ну на самом деле вот я тебе подскажу это фабрика шаблон проектирования есть такой фабрика да да слышал то что он сам создат экземпляры вот он как бы тоже реализация Просто я тоже не знал кроме вообще не знал низации вот спросили
Speaker A
думаю Бля Потом давай смотре или где-то услышал Поэтому вот на вооружение Записал Записал се Ага а вообще про паттерны знаком ты с паттернами вот там Патер Я помню там эти гов паттерны они классифицируют эти паттерны на поведенческие на э порождающий на
Speaker A
структурный Да если память не изменя Да это вот Гоф паттерны Гоф аббревиатур знаешь Ну Гоф это н софо банда четырёх их просто ну собрала сформулировала там четыре автора вот ну это это то про что ты только что сказал А какие ты знаешь
Speaker A
любые неважно вот мы сегодня Вспомни про что мы сегодня вообще говорили Давай за за весь разговор полчаса А с тобой да то что говори да да Абсолютно с тобой именно 25 Ну ну я наверное Я могу перечислить то что мы с
Speaker A
тобой говорили я уже не нет нет я хочу чтобы ты вспомнил все парны которые именно мы с тобой сегодня задевали ты же память тренируешь правильно этот [музыка] обсервер субс да паблишер Угу угу ещё минуту назад декораторы полминуты назад фабрика Да я тебе сказал а да да
Speaker A
Фабричный метод Фабричный мето это Фабричный метод Кстати да уточни Фабричный метод потом конструктор это тоже пате Угу Окей хорошо какие Ты знаешь Давай вот я наверное спрошу один и ты которые знаешь про какой бы хотел рассказать Вот давай я задам один Бир а
Speaker A
второй ты скажешь вот про какой ты хочешь рассказать и всё тогда перейдём кому к Саше да Саша Ждёт Ну могу рассказать про синтон бля никогда так не говори ска Малый ты охл Ну вообще давай Лано Ну давай у нас один экземпляр в пределах там
Speaker A
всего приложения ВС в этом второе важное свойство Давай тебе буду до точным да то что он один экземпляр ещё ничего хорошего нет у тебя может быть какой-то приватный метод правильно в этом приватном методе это ты созда и сразу и всё Дан боль не доступен п от
Speaker A
него Запомни он должен быть доступен из любой точки твоего приложения Ага согласен да ну да ну потому что смысла от него нет правильно Ну да моду либо приложени да да абсолютно он должен быть публичным ну это вообще обязательно хорошо а Билдер
Speaker A
вообще слышал про Билдер Да в этом в У нас есть который строит нам [музыка] зас а к какой о группе какой группе Вот это наверно структурный создатель он же Ну вот может быть знаешь какая у него вот вообще сладости у него какая
Speaker A
ПП в том что сам там под капотом всё строит и мы не инкапсулировать он так сказать инкапсулировать те действия которые нужно на самом деле посно самому выполнить А минус в том что вот неизвестность вот неявные Какие боевые действия которые там могут создать
Speaker A
определённые нам [музыка] проблемы Ну почему Мы же можем указывать то есть по сути с инкапсуляции смотри я тебе скажу что конструктор тоже заин капсули может быть правильно передать на самом деле смотри такая штука есть Есть конструкторы сам и допустим Представь себя объект
Speaker A
какой-то у него 100 полей А И тебе надо делать экземпляры если там участвует три параметра п представляешь как разра конструкторы в классе сколько их будет 100 а то и того больше 100 ввимо от ком и буде потом пута где Чего подставить
Speaker A
понимаешь о ЧМ я у тебя Смотри допустим пять полей у класса допустим есть класс автомобиль у него первый там цвет цена там ещё что-то Да И вот ты хочешь создать какой-то автомобиль Ты должен туда передавать е перемет допустим поты можешь тоже два передать
Speaker A
Но там не цвет а другой эти конструкторов и будет очень много согласен Ну да комбинаци Вот чтобы этого избежать чтобы существует Билдер ты написал у билде вот эти пять методов и когда надо ты засел эти методы понимаешь класс
Speaker A
будет меньше ну да ну короче ладно Посмотри может я плохо объя Саша где ты Спасибо тея тоже здесь привет ещ раз да Зро А что мы вчера О чём говорили Напомни что ты там ответил не ответил да мы разговаривали вчера о
Speaker A
промеса о методах объектов там и всяко таком прочем вот немножко затронули Нет не всё ответил про Ты спрашивал Вот и всякое прое такое вот к по гиту спрашивал В чём разница между merch и rebas потом что такое репик Какие вообще чем я пользовался
Speaker A
вообще на гите как что и прочее вот про чепик я тебе не ответил про Я тоже тебе не ответил но сейчас я могу ответить Я немножко почитал отлично давай с этого И начнём только давайте перекурить Олег можно те на секундочку
Speaker A
этот я наверно до конца не добуду Напиши мне пожалуста Напиши мне чку телегу свою Ну я да я тебе скинул в чат Ты мне если что черка потому что надо будет отбежать Буду где-то за компьютером если что через часа полтора
Speaker A
Ну я тогда тебе напишу мы с тобой пообщаемся хорошо это вот ми ты мне скинул Да дада да Хорошо Всё Давай так минутки ребята Я отойду Так ну что там Саня тут блин так резко я ж напугался Ну извини
Speaker A
наверное хорошо Кто там чере пик что команда как я понял что такое чепик То есть это команда которая берёт Как сказать короче если нам нужно переместить коммиты с одной ветки на другую без слияния допустим то мы можем командой чере пик выдернуть некоторые
Speaker A
хэши этих коммитов и перекинуть на ветку допустим если у нас на ветке допустим фьюче какой-то добавили какие-то изменения которые нам нужны в Ветке M но вся ветка нам не нужна для слияния мы можем при помощи команды черек их туда
Speaker A
стянуть то есть вот и Ну вот так я понял это пробовал не пробовал вот я не попробовал именно я просто теорию прочитал ти посмотрел как вообще примеры как это всё реализовывается всё происходит Вот я вчера ты сказал что они
Speaker A
Ну это два метода что они выполняют и у не возможно больше имен Да не углублялся то есть вот но как я понял что не я с точки зрения слияния веток чисто слияние веток В чём разница Понятно разни в том Разница в том что
Speaker A
при слиянии при мже у нас происходит новый мит появляется на ветке которую мы сливаем всё это То есть если мы находимся на ветке вливаем в неме какую-нибудь ветку допустим то у нас получается новый комит который содержит историю обеих этих веток то
Speaker A
есть вот а он как перестраивает историю одной ветки поверх другой То есть как я понял что он как бы накладывает то есть он не создаёт отдельный комит на ветке а то есть изменяет ши на ветке с которой мы
Speaker A
сливаем вот есть всю ибрат истори двух ек о не отображает то есть вот вот в этом разница отображает только Ну ну да с новыми Шами Окей хорошо Да да да я там есть там вопросик В при сейчас можно его Ну так
Speaker A
как ты не был не пробовал Я думаю Ладно короче давай тогда так чере частичный рш А да говори говори черек как ты думаешь черек что же сливает [музыка] сечас смотри подумаю нула скорее всего это наверное вс-таки будет простори да делать Можешь черек и
Speaker A
указывать несколько хэшей про это читал ял что можно ши указывать есть это по сути частичный Либо так как нету там дополнительных коммитов и они будут вот так как эти без новых хэшей Ну мер то есть Это частичный рейс Ну окей
Speaker A
Окей хорошо хорошо А репик это что ещё не отве не ответили в прошлый раз я ещё не ответил да я не знаю не помню слишком Прям такого что что я не ответил Я помню что ты меня спрашивал е про индек db про
Speaker A
способ хранения данных в браузере вот это вот именно про Local S и всё прочее Я тебе смог там ответить а ИК db типа я это вообще не читал вот вчера опять прочитал вчера прочитал всё это Теперь знаю Ну хорошо Тогда расскажи мне Я вот не
Speaker A
знаю зачем Икс db если ST так но индекс [ __ ] Зачем он нужен да Ага То есть как как я понял что он делает наподобие что-то типа базы данных то есть и делает именно асинхронные асинхронное сохранение То есть если мы в
Speaker A
Store что-то сохраняем допустим да какое-нибудь там Значение то у нас это выполняется всё синхронно то есть а в ind db - это новый интерфейс который выполняется именно асинхронно то есть у него там Более сложный именно самой способы взаимодействия с
Speaker A
ним то есть я читал это вот а так там в принципе храни тоже самое как бы а по размеру по размеру по размеру по размеру по размеру Нет он явно больше чем Stage и а не помнишь сколько вот
Speaker A
Вот точно не могу сказать 496 по-моему это ну байт это по-моему Local storage я тебе скажу что индекс db я не помню по-моему Даже 60 или 80 Нет скорее всего 60% это от Свободного жёсткого диска то есть там ну в тысячи раз больше Да там
Speaker A
миллионы нифига себе И там формат насколько я помню это не не помни Я просто помню что там ещ Ну что я читал что там было написано про библиотеки которые сейчас есть то есть там разницы нет то есть всё
Speaker A
оно приводит к одному типа ключ значение и всё это в строке Да ну по сути Ну да видишь тут про асинхронность есть там токо есть ты же открывал вкладку Да в браузере там же помимо там ещё хрен по
Speaker A
[музыка] хорошо сри бы вот больше ж Ничего как бы по сути не было Ну наверно отм уже смотри структура хранения данных и в Кука и в одна и та же КЧ значение Да почему их разделили Да почему это не
Speaker A
сделали одно хранилище Ну понятно что в больше там хрен с ним сделали бы обще вот в таком ключе Почему ки Кито по-моему Он входит в http запрос то есть и каждый раз по-моему он как бы отправляется на сервер при
Speaker A
запросе в каком-либо э то есть как сказать Ну и одно из самых главных отличий по-моему что оно типа время хранения у них разное Ну это уже последствия на самом деле это да это причина да то что он отправляется при каждом запросе
Speaker A
действительно он меньше чтобы мы не тянули всю эту лобу день ска Stage на сервер Всё правильно да и то есть как там на ки то есть они ещё используются для того чтоб наж всего у нас авторизоваться пользователь и то есть
Speaker A
при каждом заходе на сайт допустим тот же самой ВК то есть ки сначала идёт в ки проверяется и заходит если он авторизован уже был здесь то просто подтягивается туда всё и всё вот а Local Stage это просто Какие атрибуты там есть
Speaker A
какие какие атрибуты есть у ки помимо вот этого вот срока хранения exp Date что там ещё есть характеристики блин я не могу так назвать просто Ну так открой браузер так Ну давай сделаем так Ладка Application Да это я знаю ки
Speaker A
допустим но любой сайт откроем Сейчас секунду ну вот что там есть Так Application Cook открываем потом могу предположить лиш только что не знаю тако htp [смех] запрос Что такое пион вопрос ко всем скуки не могут переписываться с помощью жава
Speaker A
скрипта не могут переписываться Ну или записываться Ну вообще получаться получить не могу хорошо Да всё правильно А sec что связь может органи только по что что ещ раз скажи пожалуйста передача данных может организовываться только по hps может Т то в том слу Да всё
Speaker A
правильно всё правильно ой Саня Давай дальше Давай дальше мы сегодня говорили говорили запомнил не запомнил Что такое боксинг анбоксинг пом во пото что я вчера это слышал как бы но не прочитал что это такое вчера вчера Вчера я вроде бы даже
Speaker A
не называл вчера лизация лизация бы сегодня где-то в видосе видел вчера а ну может быть Ну да это приведение из примитива в объект из объекта примитив это анбоксинг ну ладно рода или высшего порядка там по-разному для функционально функция первого порядка
Speaker A
блин это вот прямо знакомая очень сильно гдето было да ГТО где-то я програми это встречал Да а наме там чистые функции сюда не относятся не про то нупа нет нет нет нет то есть они могут быть рядом чистые Функции там поп
Speaker A
порядка Но нет Да я не смогу тебе сейчас сформулировать Это что такое сигнатуры смотри пожалуйста рвалось что такое сигнатура метода натура нет да м не знаю что это такое записываешь да Ну да Круто Ну просто ты наговорил всё ответил сейчас на
Speaker A
собираешь не ответил поэтому отвечать я не буду Ну просто я не могу понять что типа такое сигнатура Да О'кей сейчас ну ну загугли сигнатура чего метода или объекта сказал вопрос метода метода функции метода функции Да понял то есть вот ага
Speaker A
Ну что ты гуглишь или или потом потом потом я сейчас Ну хорошо Какие модификаторы какие модификаторы доступа есть в тайп скрипте сом Понял Вопрос модификатор доступа это модификаторы доступа в жава скрипте есть Private и Public врите встречался когда я про это слышал читал но не могу
Speaker A
ответь публичные и приватные это зна что можно отнести есть не знаю там допустим Не знаю нции сюда не относится плюс-минус где-то там ну только только не так ну логика Да да конечно ну поэтому они называются модификатор доступ Какая
Speaker A
логика такая и должна быть Всё правильно хорошо А смотри если у нас приложение как бы складывается http Да вот основной протокол взаимодействия то это по сути она основана на клиент-серверной архитектуре согласен потому что http работа по принципу клиент-сервер А есть такая архитектура
Speaker A
как P topar p2p слышал p2p Нет р to Пир Ну допустим это когда я попробую да писать это когда не клиент сервер а по сути все клиенты которые являются серверами нету какой-то централизованного одного хранилища сервера есть клиент и он же сервер
Speaker A
хороший пример - это Torrent Угу пользовался то есть там ти раздача пиров идт с других этих серверов ещ у кого-то Да ты раздаёшь ты берёшь вот вот это что такое транзакция Что такое транзакция транзакция я сталкивался с такой штукой
Speaker A
типа штука когда транзакция - это как не знаю зна назвать это конструкция или метод какой-то в котором должны все правила и всё прочее То есть он должен завершиться без ошибки именно то всё должно отработать допустим со статусом 200
Speaker A
вот я не туда начал копать Ну как бы точно неправильно копать туда не туда не совсем туда Просто транзакция Я бы так э ну для себя определение мне нравится вот это совокупность операций Угу которые либо все выполняются либо не выполняется ни
Speaker A
одной То бишь Я примерно в эту сторону пере копал Ну да только как бы ты говоришь транзакция именно когда код 200 Ну немножко Нет нетт я я имел в виду что именно код 200 в плане того что всё
Speaker A
выполнило то есть у нас например если есть какой-то как это написать Я не знаю я делал это для именно с банковской штукой что транзакция выполняется вся тогда ну мы делаем операцию какую-то Хорошо если у тебя 10 операций и на пятой операции по
Speaker A
счёту у тебя ошибка что тогда должна выйти как минимум ошибка что транзакция не завершена А те предыдущие четыре операции которые выпол что с ними что делат не знаю о наверное откаты всё к нулю потому что заново буде всё
Speaker A
выполняться При следующем каком-нибудь либо запрос а подожди секунду секунду секунду жду да Саша что они должны так отвлекли меня немного Ну то есть если даже одно одна у нас операция какая-то прерывается то у нас Всё возвращается к исходному
Speaker A
состоянию Всё верно робе каются Да да да да Ну если ты это имел в виду то ты всё правильно ответил если нет то Ну вот так Ну просто я не не смог объяснить Да мы сегодня с кем С Али разговаривали вот
Speaker A
есть такое слово атомарность да целостность Вот это и есть да атомарность да а атом Почему атом неделимое да целостно а да да да О'кей а О'кей э сейчас буду ругаться словами Да может непонятными на самом деле всё просто
Speaker A
это семантика версионность слышал ли ты про такое понятие Что такое семантика вообще для тебя семантика Ну семантические теги есть вообще что такое семантика на на чём основана семантика семантика основана на том что у нас например э ээ допустим вся
Speaker A
веб-страница размеченный тегами и то есть при не мы Я же и говорю что семантика более абстрактная это как транзакция видишь ты хочешь конкретно куда-то упасть А давай в общем поговорим м семантика семантика Я же тебе говорю семантика версионность семантика тегов
Speaker A
семантика Коми тов семантика вот Что подразумевает зна может какой-то набор правил допустим там ну плюс-минус как бы да основываясь на названиях Ну по сути на семантика там то есть тот же й Да вот теги Да если взять хидер да семантика От чего происходит от
Speaker A
смысла Да этих слов хетер значит голова да вверху идёт йн где-то й футер значит вот семантика так и семантика версионность если ты обратил внимание допустим ты работаешь с какой-то библиотекой то у неё обычно есть три Циферки Ну возьмём ноду нода
Speaker A
какая там последняя хре 16 18 20 неважно 20.1 то3 так вот эти Циферки не просто так вот первая двадцатка единичка и тройка у них есть свои названия версии Первая - это мажорная версия вторая - это минорная версия ре это
Speaker A
пачи Вот То бишь мажорное Что значит что минорное что пачи об этом почита это интересно на самом деле не сложно совсем но круто это знать семантика версионность ещ раз пов вчера которое видео было запись есть у вас не знаю не
Speaker A
проверял Ребята кто раз пять посмотрел Вот видите нет успокойся раз много это не надо Там пять по три это 15 часов с кам я только самое важное А ну ладно В каком Ну не знаю где у вас там в каком разделе подскажи а всё
Speaker A
всё всё нашл трениро тренировки есть Классно Вот получается вот эта штука Что ещё интересного есть такая методология разработки как ТДД Я надеюсь слышал да слышал Test D develop то есть разработка через тестирование Отлично Все это мы знаем хорошо Может быть ты для себя
Speaker A
Может знаешь какие у неё есть плюсы минусы может нахрен не надо Нет она нужна потому что е так просто не придумали бы не применяли Ой не скажи не скажи блин тут вообще иногда послушаешь каких-нибудь чуваков говорит Нахрена эти
Speaker A
интерфейсы Давайте удалять Прикинь они удаляют интерфейс из проекта знаешь какая причина того что много файлов в проекте понимаешь но оно реально вроде бы и так понимаешь когда у нас один интерфейс используют там множество Да каких-то классов понят что это круто а
Speaker A
когда один класс использует один интерфейс и больше никто так нахрен он нужен Ну я это поддерживаю при да придумали а потом нахрен их удаляют и станет не 5.000 файлов а 4.000 файлов Вот это проект так он меньше уже быстрее
Speaker A
Да плоть все эти вещи Хорошо сл вернёмся к вопросу ну ты спросил что какие плюсы есть у этого именно у этого подхода ТДД Да плюсы Да действительно плюсы давай плюсы у него в том что мы сначала думаем что у нас
Speaker A
должно получиться в в конце то есть результат должен какой быть а потом уже мы пишем код то есть мы Допустим даже там возьмём тоже самый а п если мы складываем нужно сначала сделать для него тест и получить какой-то результат
Speaker A
допустим АПС переда на дол полу допустим то есть мы уже в конце знаем результаты я для себя сделал вывода То есть когда нед то ты вообще нахрен не думаешь что ты пишешь Нет ну допустим мы например пишем код и
Speaker A
где-то допустили допустим ошибку да то есть нам сразу же об этом про сигнализирует допустим консоль скажет что у вас там Там там-то там-то ошибка то есть или например Мы например у нас какой-то там допустим не монтировал е А
Speaker A
мы уже к нему Обращаемся то есть в тестах мы можем это предусмотреть и сразу же на этапе написа тоь то что ты да то что ты говоришь давай как-то не знаю соберём в Кучум а вместе в кучу соберём То бишь
Speaker A
Это упрощение то есть разработки согласен в плане того что Да То бишь Угу Ну да да я ещё плюс юбот и ещё это сокращение ошибок то есть вот каких На каком этапе расскажи мне на этапе на этапе на этапе разработки
Speaker A
скорее всего то есть на этапе я бы сказал уже рабочей программы понимаешь когда вот у тебя нету тестов Я к тому у тебя программа запустилась и у тебя где-то ошибка и ты начинаешь Что делать дебажить правильно консоль ищешь вот эту хрень А при
Speaker A
наличии правильных хороших Юнит тестов или интеграционный то ты сразу ну вылечишь эту ошибку вот здесь экономия времени Да вот это первое Ну это мы вместе с тобой сказали по сути это первое это одно а ещё одна один плюс
Speaker A
на самом деле раньше ну вы точно не помните Ну ещё не программировали тогда писалось всё в текстовом файле вордовском по сути какой метод что должен вернуть понимаете А так написав эти по методам у вас уже есть готовая документация понимаете даже любой
Speaker A
аналитик или кто плюс-минус зная язык Хотя что-то знать функция какой тип возвращает Да что Принимает два основных момента то есть экономия времени уже потом А минус Ну какой минус вот ТДД Ну скорее всего увеличится наверное время разработки немного потому что нам
Speaker A
нужно писать дополнительный код Совершенно верно иногда есть такие критические моменты такие заглушки и они [ __ ] кот да как называется он есть он всегда будет потому что заказчику нужно сейчас ему неважно вообще ему насрать на то что ваш кот там плохо Вы не соблюдали
Speaker A
Солид ему надо здесь и сейчас потому что он делает деньги Поэтому на вопрос Какой язык лучше там А вот вы используете Java не то слушайте тот язык который в данное время в данном месте приносит денежку то и лучше если у меня есть пять рипт
Speaker A
разработчиков я буду писать на ноде да Или на Несте я не буду искать стов Хотя считаю что jav лучше для моих задач хватит jav скрипта или какую базу данных выбрать Да как её там изолировать чтобы не было у меня у меня не
Speaker A
криптобиржа на миллиард пользователе допустим продаю Ferrari у меня одна транзакция в месяц Чуст правильно Поэтому я не буду у меня не будет голова болеть да как мне изолировать базу чтобы там бля миллион транзакций в секунду летя вот я к чему Ну это я уже
Speaker A
подытоживая пора идти Всем спасибо Если есть вопросы Сначала я немножко скажу Потом по вопросам Ориентировочно на среду часиков 7 вечера всё у меня в этом месяце Одно занятие провести а остальные на выходные тоже ориентировочно понедельник ой то есть Суббота
Speaker A
воскресенье но это уже новый месяц А в этом Ну на среду плюс-минус точно на неделе будет я так на среду ещё подумаю сегодня ориентировочно смотрите расписали давайте ребята ваши вопросы не вопро не может кто-то да может кто-то хочет на среду уже сразу
Speaker A
записаться Особенно тех которые Кто не был Спасибо больш блин записался бы но там пара же будет в среду Я уже был вчера но я бы записался типа там ну пропустить тех кто не был общем поучаствовал бы если есть возможность Ну
Speaker A
вот смотри В среду приходишь Дима Да Дима Дмитрий Смирнов Окей А смотри ты приходишь если там нету людей которые ни разу не были да либо ни разу не отвечали то мы с тобой отвечаем Ты мне напоминаешь Я тебя запомню без проблем
Speaker A
Хорошо я тоже могу в Ну ты кто ты после Димы Денис короче Напомни ой всё га пойду голосовать или не пойду не знаю Спаси у на Беларуси вполне возможно есть один кандидат короче всегда Да и непонятно да кто Ладно всем пока о
Topics:JavaScriptпромисыунарные операторыбинарные операторыООПклассыэкземпляры классовtoStringбоксингсобеседование











