background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "#17 Криптономикон: рефакторинг - Vue.js: практика"

input logo icon
Video tags
|

Video tags

javascript
климов
jsninja
javascript.ninja
Subtitles
|

Subtitles

00:00:00
[music]
00:01:31
[music]
00:01:37
[applause]
00:01:39
[music]
00:01:40
[applause]
00:01:42
[music]
00:02:08
[music]
00:02:32
[music]
00:03:49
[music]
00:04:43
well, greetings colleagues,
00:04:46
let's turn up the volume a little so you
00:04:49
can hear me well,
00:04:50
they can only see it, let's fix the camera and
00:04:54
set it up in terms of level, I’m glad to welcome you all, I’m
00:04:59
glad that you are with us, the
00:05:08
number of people is growing and
00:05:10
growing, as always,
00:05:13
a few minutes of an open frame of open
00:05:17
questions,
00:05:18
suddenly you have them accumulated under and
00:05:24
people are catching up, let’s talk, is it
00:05:30
normal to transfer the functions of downloading the
00:05:32
full list of tekirova evil call side,
00:05:34
the method of calling them cry is yes, it’s normal,
00:05:37
well, that is, it’s not normal,
00:05:39
general philosophical, to call sincerely,
00:05:41
then in other methods it’s quite normal
00:05:47
about general philosophical, we’ll talk to you
00:05:49
today too,
00:06:00
here’s the crate id or in the mount, well, here it’s up to you
00:06:03
to decide them, you know
00:06:16
how much the stream is planned, well, how
00:06:17
will it go, usually we do it in an hour
00:06:20
and a half, but we don’t have a strict
00:06:25
time limit
00:06:27
VTZ, it’s just a compliment, we should have already
00:06:29
known about the computer, no, you can
00:06:32
do anything in view without
00:06:33
computers, what to do if you like it and
00:06:39
bag- ende fronted but I don’t want to be half
00:06:42
Fedor and develop here and there and here and
00:06:45
there focus on one thing but you
00:06:47
can develop both in parallel
00:06:49
but from an efficiency point of view it is
00:06:51
more effective to develop one thing first so
00:07:10
while questions are being asked here already
00:07:14
somewhere, if not tomorrow but after tomorrow
00:07:18
definitely seems like pah-pah-pah your health
00:07:21
allows you to already get the first
00:07:24
challenge and everything will be fine
00:07:27
you will be interested and you are working now
00:07:31
limbs before caps you have time with
00:07:33
pleasure you can tell me how to
00:07:37
work with and defective view when and
00:07:39
complex scenarios of the Varangians using a saga
00:07:41
or a review of God in only winding and there will be
00:07:45
an analysis of what is better and when to use
00:07:46
created or mounted we will talk about this
00:07:49
a little
00:08:01
so
00:08:07
we will often see how
00:08:10
people catch up there, here are 191 more
00:08:14
stoves people 9 we will wait until the round
00:08:17
count and we will to start like this, it’s
00:08:28
very funny for an hour to watch
00:08:31
how people ask questions chronically
00:08:33
ignore when I give something,
00:08:35
read it yourself, is it worth
00:08:40
moving to the inside I wouldn’t do it for now, there are
00:08:43
a lot of specific
00:08:45
problems, just look at the number of
00:08:48
quest marches in the repository view 3
00:08:55
1923
00:08:56
well
00:09:03
so just in case, I’ll launch an air
00:09:07
channel suddenly, I missed it, forgot, and so
00:09:11
on,
00:09:18
the description is missing, this is a training stream, well,
00:09:21
from the name you can already see a
00:09:24
functional component and a class of
00:09:25
components or decorators, or something else, or something else, or something
00:09:28
else, ordinary components, class components, I
00:09:33
wouldn’t use decorators, I wouldn’t
00:09:35
use them because this is not a
00:09:39
standard, here are the
00:09:55
best ways to make a network request, we
00:09:57
’ll talk about this
00:09:59
if there is an analogue of terror boundary in view, is it
00:10:02
used, but at times it’s
00:10:05
quite rare, but it’s used, well,
00:10:11
that’s good,
00:10:14
let’s go now, what lesson
00:10:22
did we have to start cutting krypton on our own,
00:10:23
moment he, well here you have a
00:10:25
separate task that actually
00:10:27
describes what they should do and how to do it, and I don’t
00:10:33
remember in the fifteenth video, homework will help,
00:10:35
okay, so let’s start with
00:10:43
the fact that firstly, I’ll open a chat on
00:10:46
the phone so that I can see you, a good
00:10:51
tool in the field of this testing
00:10:54
I got out and pressed
00:11:03
so well, let's start with
00:11:09
our traditional section of working on mistakes and I'm
00:11:16
like, I'll say yes, you know, in
00:11:19
general, I have nothing to apologize for, but now
00:11:21
there is let's look at
00:11:25
what to apologize for in the last
00:11:28
video, you might not have it yet see, but I’ll
00:11:30
just briefly retell it so that you and I
00:11:33
are all in context
00:11:42
in the last video I said I said I
00:11:45
wrote here for us in the last video
00:11:50
we had to react that when the
00:11:52
user enters data in the input we
00:11:57
needed to reset the page and I
00:12:01
wrote here dog
00:12:03
input field as well as an empty line and
00:12:08
was surprised that nothing was entered into me and did
00:12:11
not work because he said that it was
00:12:15
all because we ate the events, in
00:12:17
fact this is nonsense because I take a new one according to the
00:12:21
event in there of the filter, resetting it
00:12:22
naturally it will always be empty here
00:12:25
I meant that, of course, you need to
00:12:27
reset the page to the first page when
00:12:29
filtering and this should work, that is,
00:12:33
we go one page forward,
00:12:36
start entering something and this something
00:12:39
works, filtering works like this, so
00:12:42
in the previous video there is a small cant that’s why
00:12:44
I hold live events,
00:12:46
including so that I can fix such jambs on the fly,
00:12:48
well, let’s
00:12:53
look at what we have in the end,
00:12:57
especially as they say for those who
00:13:01
missed everything, we have a thing that
00:13:06
allows you to add axes to a list of
00:13:11
tasks so that you can add
00:13:13
only unique ones wait, it’s left to
00:13:17
your conscience to work independently,
00:13:19
we have these tickers and are saved between
00:13:22
page reloads, we can
00:13:25
filter and picks, so I left only
00:13:27
those with 7 5
00:13:29
filter and page
00:13:31
are automatically written to the list and when the
00:13:35
page is reloaded, they are also saved and
00:13:37
I want believe that they are
00:13:40
updated correctly let's look at our code
00:13:47
template I'm not very interested in right now
00:13:49
although we will also touch on it
00:13:52
what we have here we have a date
00:13:57
statics let me sort a little bit Perry
00:14:00
sorts what was clear axes filter
00:14:03
these are the elements into which we enter data
00:14:06
Well, there’s probably no escape from them;
00:14:08
the ticker is this field; the filter; this is actually
00:14:11
this field; as you can easily
00:14:13
guess;
00:14:15
then we have an array of kickers that have
00:14:20
already been added; there is a current ticker; well, it seems
00:14:24
logical;
00:14:25
we have a graph; we have a page;
00:14:30
and we have a checkbox. authors if the
00:14:33
next page with pagination
00:14:35
yes because the calculation of this flag is
00:14:40
like here things on the page are not quite
00:14:43
non-trivial and filters are done here kickers
00:14:47
which we consider will we and
00:14:50
will not creak for the type if in like it
00:14:56
would be much more useful if we would
00:14:58
write tests
00:15:00
and not use typescript, so what do
00:15:03
we have here? We have a
00:15:06
life cycle method created, which collects
00:15:09
data from the eagle, and in fact, here we
00:15:13
get the filter from here; we get the page;
00:15:17
it loads data from the local sturridge, in
00:15:20
which we store information about the
00:15:24
selected kickers and all these
00:15:26
and we have the
00:15:30
kickers filters method which
00:15:33
returns all tickers and which
00:15:35
satisfy our seen filter
00:15:38
here it is in the cloud for stickers and cuts them
00:15:42
accordingly page by page
00:15:44
yes here we calculate the start
00:15:46
depending on the indexes from the page here
00:15:49
we are automatically we check what
00:15:51
kind of source code the speed seam is, but if
00:15:54
after that end this rollback on which we
00:15:57
cut the array there are still elements, then
00:16:00
obviously we also have a button for the next page,
00:16:02
we have moved the update script into a separate susu script
00:16:05
like a thing
00:16:08
that updates our keeker and
00:16:13
our button there is a logic buttons
00:16:16
add logic for selecting chihiro logic
00:16:24
deleting those kira and logic normalization and
00:16:28
graphs
00:16:29
we also have two watch as surprisingly
00:16:31
similar logic that is
00:16:35
returned actually if the filter has changed
00:16:39
update the url of the page if the
00:16:44
page has changed update the worrel
00:16:46
page
00:16:48
accordingly it all looks
00:16:50
quite terrible why let's do this
00:16:54
let's make a
00:16:56
list of problems together with chaffik that we
00:17:00
see here right away I said the words computer
00:17:03
don't need to be mentioned I haven't talked about them yet
00:17:05
let's actually
00:17:08
make a list of problems I'll
00:17:13
write it here right here even to the sword
00:17:26
so
00:17:28
while they're writing here I'm naturally the very
00:17:32
first thing is trivially the same code in the watch,
00:17:40
let's use a scale of 1 from 1 to 5 ducks
00:17:44
for the same code in that's how
00:17:46
many cars there are how significant
00:17:49
is this jamb in your opinion
00:17:53
write if you write in the chat write here is the
00:17:56
same code in the watch dash so much
00:17:58
fishing rods dacha we won’t even know how many where
00:18:00
one duck is the little things in life
00:18:03
again ducks it’s a bummer kapet here 1 33
00:18:07
okay let it be
00:18:09
critical 35 absolutely critical yes why
00:18:15
it works and continues to work when deleted there
00:18:20
remains a subscription to download courses and
00:18:26
Kira let’s do it,
00:18:29
how much do you think this is critical and let’s call this
00:18:32
timer so that you don’t have to write this whole
00:18:34
long phrase
00:18:41
5 before this is critical I agree with your
00:18:46
assessment why because if we are
00:18:48
deleting now, then we are starting to have
00:18:51
errors like this, okay, then let’s
00:18:57
continue,
00:19:13
I’ll add more posts until we
00:19:16
let’s collect at least 10 problems, we
00:19:19
won’t move further, and then I’ll tell you in
00:19:22
principle what and how,
00:19:30
let’s break it down into components,
00:19:34
so now let’s talk, well, that
00:19:36
is, you do it, it’s not a problem for the
00:19:39
current year, that is, if you break it down into
00:19:42
components, it will definitely become better, but
00:19:47
also searches, as they say, not everything is still there, there
00:19:54
is no url check, and what Ural you
00:19:59
probably wanted to say ticker, and if you
00:20:02
mean validation notebook and didn’t
00:20:04
add it to you, but you can
00:20:06
add it as part of your validation, yes,
00:20:10
really the number of requests
00:20:13
screams like you absolutely correctly they said
00:20:16
it is possible to get everything we need
00:20:18
and with one request how critical it is
00:20:32
then spock strong connected request 4
00:20:36
okay let there be a strong connection between the
00:20:40
logic and data that affect the
00:20:43
display,
00:20:53
well,
00:20:56
what does it mean strongly let’s so we
00:21:02
put here the strong connection between the
00:21:04
logic and data that affect the
00:21:06
display where give examples I
00:21:13
will show here I will pose a question I’m not very
00:21:15
sure whether this is a problem that is, it’s
00:21:20
not clear to me yet
00:21:31
so what else do we have,
00:21:36
let me help while magic
00:21:45
strings and numbers are url 5000 milliseconds
00:21:56
of delay what else do we have
00:22:04
[music ]
00:22:11
and the Toraja locals keys are
00:22:18
poorly readable html,
00:22:21
well, what can we do, it’s crumpled css, it’s like this,
00:22:23
we can do something about it,
00:22:33
pagination into the same piggy bank is not very
00:22:35
clear, but oh well, quantity
00:22:51
quantity on the page to criticality, we do
00:23:03
n’t display the current page, well, let’s
00:23:06
assume that this is not given to us, this is the
00:23:08
little things in life, and quickly add where the
00:23:12
code is, look at everything in the links from
00:23:14
previous lessons that we also had there
00:23:21
1 watch starts 2 really
00:23:25
look what is happening 1 watch resets the
00:23:28
page and after that the
00:23:32
second watch starts, well that’s bad of course
00:23:39
what can be credited to the
00:23:43
methods for a better understanding of the code is possible,
00:23:46
but I would not include it in the sense that
00:23:48
these are already questions about the design of the code, you can
00:23:52
notice an empty line and so the validation is where we
00:23:55
go, well, that is, roughly speaking, the
00:23:58
top component is your task, we let's
00:24:02
talk about this, what else is a
00:24:22
filter string better massively future
00:24:25
array which I'm afraid to imagine I don't see
00:24:27
a problem in the fact that the filter string
00:24:30
error handling is correct error handling
00:24:38
api the first data of the debt is already
00:24:46
a feature, well, that is, we understand that
00:24:47
we can with optimized why so What
00:24:56
else I would like to
00:25:05
draw your attention to here in the
00:25:07
error handling section,
00:25:08
this also relates to your
00:25:11
homework, that is, which
00:25:17
you had in a couple of videos ago, and that is, in your
00:25:22
example, when loading a list of coins,
00:25:26
there will be
00:25:27
a nuance if you select kicker and then
00:25:30
delete the schedule remains ok ok alive
00:25:33
at night
00:25:34
guardianship, by the way, it has already been deleted, that is, it is
00:25:37
not valid, the fact that it is here is the
00:25:39
little things in life,
00:25:43
what else, let’s mention
00:25:47
requests here directly screaming, here is the fourth
00:25:50
strong connection and logic, I will
00:25:52
write requests directly inside the
00:25:57
component and I’ll put a question mark,
00:26:06
how critical do you think this is guys,
00:26:10
look, we distinguish between code problems
00:26:14
and logic problems, for example, if you
00:26:16
select a ticker and then delete
00:26:18
the graph remains, then this is real, but the
00:26:21
code problem is 5, okay, okay, let
00:26:25
it be 5, and about handling api errors
00:26:35
5
00:26:39
how critical is ours and the requests inside
00:26:43
455 location push why do you think
00:26:47
locations and push is an error
00:26:58
so we are already moving towards the end let’s also
00:27:04
add a hint a local storage and
00:27:11
anonymous tab that is our code
00:27:18
that saves the block data hp
00:27:19
creatively take into account that local storage
00:27:21
may not be available criticality Well, I
00:27:32
’ll allow myself to put 3, well, that is, of
00:27:36
course it breaks,
00:27:38
but only water is not - tabs, isn’t it better to
00:27:43
work with files in a router, why do
00:27:45
we need a router for a single-page
00:27:46
application, well, in this case, a
00:27:49
single-page application, they have the form of a single-
00:27:51
page application,
00:27:52
we don’t have any ways, why? we can’t
00:27:57
clean the router local storage
00:27:58
I don’t think it’s a problem, but
00:28:01
it’s the personal data of my site
00:28:04
at local storage that seems to be better
00:28:07
to refuse, why do
00:28:16
we still have a
00:28:33
large state that
00:28:35
is restored to a
00:28:37
large component that the pages and the
00:28:45
filter stops here I
00:28:48
showed you how to be able to and look filter by
00:28:51
excuse me, almost hit me and here I am
00:28:56
updating the page in the orbit of the jacket, the only thing left is
00:28:58
the naming of methods and so on, well,
00:29:05
we’ll come to this later, when you remove
00:29:13
the kicker, local storage does not change, this is
00:29:20
true, that is, look, I’m taking this here
00:29:24
I have a list to
00:29:25
publish, I will get to the last page
00:29:27
what was visible from 14 kirs, I delete
00:29:31
Lenka, I update the page and 1
00:29:36
and hello again, criticality in my
00:29:46
picture of the world 4
00:29:51
the graph looks terrible if there are a lot of
00:29:53
prices, well let the graph look terrible
00:29:58
if there are a lot prices, we’ll just talk about this
00:30:00
criticality on I’ll put two
00:30:04
probably
00:30:16
so and
00:30:21
okay we have one place left which
00:30:23
will be for criticality five pluses on
00:30:25
which you I asked you not to mention but the
00:30:27
most important thing the most important thing is that we will
00:30:34
actually now get acquainted with the
00:30:36
computer this is the presence
00:30:43
state of dependent data criticality 6
00:30:54
let's now sort 6 this is if it's
00:30:58
ironic let's get five plus 544
00:31:05
5 3 3 2 1 well okay let's
00:31:13
start with now the important point and here you are
00:31:18
now sitting here in front of the screens and here's
00:31:22
your homework, I won't check it
00:31:24
but believe me this task for you, as
00:31:28
it is, very much develops everyone to whom
00:31:30
it was given, the conclusion has now been announced,
00:31:33
some numbers may not have been announced, maybe
00:31:35
they were embarrassed, but and so on 5 4 3 2 1
00:31:40
write to yourself by what criteria you
00:31:43
understood the importance of this or that
00:31:47
problem, that is Now, if
00:31:51
such and such a criterion is met, then this is a
00:31:53
problem of 5 out of 5
00:31:54
if someone is the same and by what signs do you
00:31:57
understand this very often people
00:32:01
voice these numbers based on some
00:32:05
personal feelings, personal feelings in the
00:32:08
first place very much lie the second ones have a very
00:32:11
cunning feature that if you
00:32:13
recently solved some problem, it
00:32:16
automatically gets several points for
00:32:18
importance. Well, in this case, since
00:32:21
the scale is small,
00:32:23
I think that there is one point maximum,
00:32:26
but if we had a 100 point
00:32:27
scale it would be it would be clearly visible, you know
00:32:30
how I say that to someone who has a headache
00:32:32
or someone who has a pain, that’s what he’s talking about, that’s why
00:32:34
in order to adequately evaluate
00:32:37
any code, including someone else’s, it’s important
00:32:39
to have these criteria in your head, there are
00:32:41
no correct answers,
00:32:44
but to formalize it and pull it out, relatively
00:32:47
speaking from the subconscious, what you have is
00:32:50
very important, now let’s start with the
00:32:56
presence of dependent data in the state,
00:33:00
let’s do it like this so that during the
00:33:04
refactoring process we can see the
00:33:09
guys, I’m not asking now, you don’t have to
00:33:12
answer in the chat, you know how they say,
00:33:15
please don’t share symptoms with patients
00:33:18
this makes diagnostics difficult. You
00:33:20
can discuss it later in the southern
00:33:23
channel, but now I need it because
00:33:24
people are watching you and thinking about it ok,
00:33:32
let's first talk about demand
00:33:38
dependent data, what is dependent
00:33:41
data, everything is very, very simple,
00:33:44
look at our filter method
00:33:52
requires filters method kickers and what does it
00:33:56
depend on? It depends on the page, which
00:33:59
is the state
00:34:01
and state of our
00:34:04
application component. Our application
00:34:05
currently consists of one
00:34:07
raw optics component, which is also the
00:34:10
state of our application. Yes, this
00:34:13
means that it has no place in the
00:34:16
methods. It’s a computer, a
00:34:21
computer, and this is another field in the description of
00:34:26
circuit communities and it works exactly the same
00:34:33
as methods, but it is very important that the view
00:34:39
caches the results of calling computers,
00:34:42
that is, what we are talking about, until then,
00:34:45
let’s say it depends on the page and
00:34:49
fielder,
00:34:50
oh well, we have too much here there
00:34:53
will definitely be a lot of dependencies shown here,
00:34:55
we will show it a little later, that is,
00:34:57
this code will be called only when the
00:35:04
kickers change when the page changes or when the
00:35:09
filter changes,
00:35:10
but even this is not important, what is important is that
00:35:16
when we describe something in the computer
00:35:18
we are talking about the fact that this value
00:35:25
is simply a convenient calculation of our
00:35:30
state,
00:35:32
what we need to change is very simple
00:35:36
computers and poplars, that is, these are not
00:35:40
methods, they do not need to be called by the computer and
00:35:41
can never accept an argument, they were
00:35:44
simply removed from the ford and
00:35:47
enfield articles further, kindly, Lind
00:35:51
highlighted it to us this line says an
00:35:54
unexpected side effect filters
00:35:57
kickers computer property what are
00:36:01
side effects computer from the word
00:36:04
computer 5 it is doing calculations here is the
00:36:06
input data
00:36:07
here is the result at the output and here we
00:36:10
suddenly perform an assignment this is also
00:36:13
incorrect so
00:36:17
what should we do yes very much we’ll just
00:36:20
make another computer
00:36:23
his next page
00:36:26
and what it depends on zis look here
00:36:34
our calculations mean return
00:36:37
filtero tickets links naturally
00:36:41
add in front zys but here we
00:36:44
turn to the computer
00:36:46
more about look at the variable n
00:36:51
it is also used here ok let’s
00:36:55
take this out into a separate computer and
00:36:58
for convenience we’ll take out the start index
00:37:03
returnd for from page
00:37:05
minus 1 multiply by 6 and index well,
00:37:13
just to make it consistent, that is, the
00:37:15
same everywhere for bake multiply by 6
00:37:21
what we next change here
00:37:32
start Yandex disk
00:37:35
and index delete this line
00:37:39
here we speak for the CIS Yandex and rule
00:37:45
our call and again he is smart for us there is
00:37:49
Lind highlighted he says that you have a
00:37:52
duplication of the key his next page
00:37:54
what am I talking about and because I dick sleep
00:37:56
announced in the date in the date there should not be
00:38:00
properties the value of which you you can
00:38:02
calculate based on the current state,
00:38:04
that is, this is a horseradish x page, I can
00:38:07
count it, I know what the current
00:38:09
page is, what deckers what filter, and
00:38:11
so on, yes, it has no place, the date was deleted,
00:38:19
let’s see how to calculate that your method
00:38:23
is actually a computer, it’s very
00:38:26
simple, it’s not changes the state
00:38:31
but actually returns some
00:38:36
value that is used in the template,
00:38:40
look at it, look, the graph has run into nothing, it does
00:38:45
n’t change anything, it does the calculation
00:38:48
perfectly, we bring the normals
00:38:56
from the graphs into the computer, again since
00:38:59
computers are properties, they
00:39:02
are described through the getters window,
00:39:04
then the name of the property of the normal from the graph is
00:39:07
enough bad
00:39:09
because normal ice is a verb
00:39:13
normalizer the graph in this
00:39:20
form will not work his next
00:39:21
why in your opinion it will not work
00:39:27
understand why it was renamed because
00:39:30
this is a property because now here
00:39:33
before there will not be a call to normalizer methods
00:39:36
from but a noun explosion filters
00:39:42
kickers i feel the ticker with these
00:39:43
will be different arrays yes no why let's
00:39:48
see yes you are right sorry I'm
00:39:55
wrong of course that is Phil trackers and
00:40:01
here it will be well let's name one more property
00:40:04
you are right here we will do
00:40:10
feel the red kickers and here we will do gdp
00:40:15
j'en ai datte keers truth retire in this
00:40:20
field number heretics notice
00:40:23
how gracefully we cut entities into
00:40:25
separate small components
00:40:32
ok
00:40:34
means we change there in our code where our
00:40:42
feel the red kickers is waiting to go
00:40:45
tires look I didn’t work what
00:40:53
went wrong when tried steaming
00:40:58
links of an definitions from property his next
00:41:01
page look where our properties go
00:41:08
hare feel there it requires a because
00:41:11
filters kickers worked great with the
00:41:23
concept of computers I hope it’s clear
00:41:26
that is, as soon as you have
00:41:37
something then it is
00:41:41
used
00:41:51
if you have something - something that uses
00:41:53
only the value returns the data
00:41:57
that is used in the template
00:41:58
and does not change anything; it’s a computer, you can
00:42:01
use a standard color scheme,
00:42:03
yes please, although I’m like, actually, a
00:42:09
low-contrast scheme is usually considered to make
00:42:12
the eyes less tired, but
00:42:16
the default will be a default in Africa too
00:42:19
if you wish ok let's fix
00:42:27
our logic with the broken graph at the same time
00:42:31
let me add all sorts of things here
00:42:37
in parallel where
00:42:48
the graph is broken if the values ​​are the same everywhere
00:42:51
until
00:43:01
ok let's fix it all here it's
00:43:04
very simple if
00:43:15
the max is still the same as the min of the villa then this
00:43:21
means that we have all the values in
00:43:22
the graph the same is true return this
00:43:26
graph map 50 well, we will display
00:43:34
the same average lines if the point is
00:43:40
to do cheap calculations on a computer then
00:43:43
all the guys the main principle
00:43:47
about performance we actually think about
00:43:50
in the last place the
00:43:52
computer is primarily about semantics
00:43:56
which describes that this value
00:43:58
is dependent because of our condition,
00:44:01
you won’t be able to make your
00:44:03
computers slow down, but
00:44:06
you’ll also get performance as a free
00:44:10
bonus, but remember, we
00:44:13
never optimize
00:44:15
performance prematurely, so let’s check it out,
00:44:22
let’s go back and forth, here it goes through
00:44:25
the pages, everything works further, the
00:44:33
country with permission, so you can in
00:44:36
yu - the tube is forced to set the resolution
00:44:41
that then it got worse, okay, let's
00:44:44
bring back the world, I also think that it got worse,
00:44:46
as for me, I'm
00:44:47
less of an eater on the topic, let's
00:44:54
check, we fixed the graph, you see,
00:44:57
now it's displayed like this, and in the course
00:45:00
we'll figure out how to look for
00:45:02
performance problems. here's
00:45:08
the problem about the fact that it was voiced in the
00:45:11
chat, so you fixed it, that when you
00:45:17
remove the kicker, you are left with a choice of the meaning of
00:45:24
computers in the main subject of holes it gives
00:45:26
or in performance,
00:45:28
I think that the first meaning of semantics is
00:45:32
many times more important than performance,
00:45:34
but if you do not use your
00:45:37
computer there will be problems with
00:45:39
performance, you understand,
00:45:41
that is, roughly speaking,
00:45:44
you get performance for free,
00:45:45
but it’s worth thinking about it, that is, you don’t have to
00:45:48
think about this easy calculation to
00:45:52
cache it will be more expensive for yourself, so I
00:45:54
won’t save it to the computer, no,
00:45:56
any dependent state is put in the
00:45:58
computer, go to the screen resolution I
00:46:03
I'm streaming full hd
00:46:09
so let's move on what we still have
00:46:20
look what's happening also pay
00:46:28
attention that we have parts of the logic
00:46:32
that I've clearly described so when we
00:46:37
say there we change that we add something we
00:46:40
need to do something before
00:46:45
for example this is this kind of logic this is a reason
00:46:51
to display it in watch, that is, when
00:46:54
some conditions occur, do this, I’ll
00:46:57
explain with an example, look, oh, what
00:47:03
went wrong and on the floor I deleted the entity
00:47:06
and everything broke,
00:47:11
look, I’m deleting like this,
00:47:14
deleting oh and look, I suddenly
00:47:20
find myself on empty pages and floor are
00:47:23
probably bad, we would like to
00:47:24
roll back a page, we have
00:47:28
two options, the first
00:47:30
in the handle method divides to write that and
00:47:36
generated kickers more links
00:47:44
less than zero still zero
00:47:47
that and up and space more than one for from
00:47:55
page minus equals 1 then there is I
00:48:01
again update the page that by deleting I
00:48:04
delete and you see we automatically
00:48:06
jumped to page number two
00:48:08
conveniently convenient but this logic and also not
00:48:12
the logic of deleting you agree this is the logic
00:48:15
sometime so I go watch and say
00:48:30
that there is something underneath that requires a watch
00:48:34
has a side effect trigger when
00:48:36
setting the value is not intended, of course, and that’s
00:48:38
correct, why isn’t there any need for hacks to
00:48:42
prevent the first triggering? No,
00:48:44
most often it means that you wrote the logic
00:48:47
incorrectly if you need
00:48:48
such hacks
00:48:49
watch reginald and kickers and I say and
00:48:55
down genetics tires links equals zero because of
00:48:59
bake more than one for from page
00:49:03
minus equals 1 check delete here
00:49:12
update the page delete worked
00:49:20
miracle true
00:49:22
that is, notice how I
00:49:25
just cut the logic
00:49:26
from the action and removed the logic if
00:49:30
to watch two values ​​actually arrive, a
00:49:35
new value and old value, that is,
00:49:38
I could, for example, take here
00:49:44
just watered you and write it like this, but I do
00:49:50
n’t like it, I think it’s
00:49:52
prettier this way, so
00:49:54
I use comparison of values
00:49:56
quite rarely, plus it has a
00:49:57
side effect,
00:49:58
but you’ll read about it in documentation,
00:50:01
roughly speaking, in the case of
00:50:04
arrays, I will still show
00:50:06
you objects in the watch value, always
00:50:13
again and the old value will always be
00:50:14
identical, we overload it,
00:50:22
but
00:50:26
interestingly they are not identical, it will be good to look at the fall,
00:50:30
but I’ll see 2 for sure, they
00:50:35
will definitely be identical and I don’t remember
00:50:37
if they changed it in viewtrip it would be
00:50:38
strange if they changed it,
00:50:39
but you need to know about it, it will be
00:50:41
indicated in the documentation, well, then
00:50:50
we look at this logic, how can we
00:50:58
get out of duplicating this
00:51:01
design, they are always different, yes
00:51:04
no, they should be the same, no with a
00:51:09
computer, yes of course with by the computer
00:51:11
they will be different because it doesn’t
00:51:13
generate different ones every time, but if we
00:51:15
hang up a watch, they will always be
00:51:18
the same, and that is, yes, everything is correct, I did
00:51:21
n’t think if we hang up a watch for the sake of
00:51:24
testing on kickers, which is our
00:51:26
arrays,
00:51:27
and I’ll just do it for the sake of testing display the
00:51:32
result blog console of the new value
00:51:34
and the old one I’ll update the page
00:51:45
I’ll delete the ticker is also different okay but no
00:51:49
these stickers and even the array array
00:51:53
strangely shouldn’t be the same but come on
00:51:58
for the sake of interest newell and links out well
00:52:02
you
00:52:06
clickz well I want it’s logical coins
00:52:16
really now they are are updated
00:52:19
why yes I know why look
00:52:23
because the filter returns a new array this is how
00:52:25
I have it written and now
00:52:27
look I’ll add where the comma is
00:52:30
I’ll add a new coin so I’m like this for the
00:52:36
benefit of no validation I’ll add beat again
00:52:38
and the 7th and watch didn’t work at all really
00:52:42
surprise, how unpleasant
00:52:55
the question is for you why it didn’t work, when
00:52:59
adding, I’ll provide in the code
00:53:05
further, what else do we have? When deleting
00:53:17
the kicker, it melts remains selected,
00:53:20
is this logic part of the
00:53:23
deletion logic, as for me, so it’s
00:53:35
absolutely normal to write here I’ve
00:53:38
hung equals equals ticker round muv csl
00:53:47
equals well, look, check, selected,
00:53:58
deleted, reset, everything is fine, let's
00:54:03
by the way, remove the stupid name of the village, I
00:54:06
made it this way on purpose and remember
00:54:09
that you should always stay, try to
00:54:11
give reasonable human understandable
00:54:13
names, so instead of village, I will make a
00:54:17
selected ticker oh, I almost could
00:54:36
tank
00:54:39
selected kicker and where is it We still have the
00:54:42
selected kicker stuck and
00:54:50
in the template I have a star, but no, then
00:54:56
this logic should also be
00:55:03
put into watch
00:55:17
select the ticker when the
00:55:19
selected ticker changes please update
00:55:25
reset the chart let's check
00:55:37
so I left the selected ticker stuck somewhere in the
00:55:44
template
00:55:49
yes and here in the same way
00:55:53
to reset select atiker look oopsie
00:56:05
counter steaming name of undefined
00:56:09
what went wrong
00:56:27
why so much logic watch because
00:56:29
it’s correct let’s check for
00:56:33
fun the walls work here is one of the
00:56:41
funny charms view
00:56:42
he’s like that somewhere you turned to the field
00:56:46
I sat down, but where I won’t tell you, right here, be
00:56:55
up to configure so that these such
00:56:57
refactorings work here, just in
00:56:58
my opinion, I’m even setting up the type of ballot box, let
00:57:03
’s see what went wrong, the
00:57:07
proxy and movie 3 TB report was displayed name of
00:57:12
undefined damn
00:57:15
it,
00:57:16
first of all, I have it again there is somewhere you
00:57:21
got hooked on xl main and that’s actually the
00:57:23
error, unfortunately this weak side
00:57:26
of view even still in the days of view 3
00:57:28
is that when you have errors in the
00:57:30
template you start to feel pain because it’s
00:57:35
completely impossible to see exactly which point of the
00:57:38
template this happened, everything works,
00:57:44
let’s check that it all
00:57:47
works, pay attention, I continue to
00:57:50
click, the click works, but the graph doesn’t
00:57:54
reset perfectly, here everything
00:57:57
continues to work well, let’s
00:58:01
look at our logic,
00:58:03
so the ticker is spy, it’s a filter,
00:58:27
but damn it, I want it, you agree
00:58:31
that this logic should be executed
00:58:34
when the ticker changes and therefore
00:58:43
I still have to move it here
00:58:49
and here I will have to follow the path of
00:58:56
the reactor, namely where ours is and
00:59:10
write here like this to update the
00:59:13
link to the array. There is an alternative
00:59:21
approach,
00:59:22
but we’ll talk about it later that
00:59:25
is, why should my stickers become
00:59:26
new, let's check if it works,
00:59:30
firstly, I delete two elements and
00:59:34
look at the battle local storage,
00:59:38
which contains crypto for a moment, it's a
00:59:41
sheet of a cross for a moment, don't pay
00:59:43
attention, it's still the old one, let's go
00:59:48
here let's look, I'll delete what didn't
00:59:50
bother you and look, we have 13 elements,
00:59:55
I deleted
00:59:56
voila 12 elements, that is, pay
01:00:00
attention to
01:00:01
the idea that I want you to take away
01:00:05
is that in the eyes they
01:00:09
allow you to separate the logic that
01:00:14
describes with words when something changes
01:00:17
over the meaning of doing something is to do something and it is
01:00:20
very important to carry out this logic and
01:00:28
share the logic that is when performing
01:00:31
actions and here why it is important
01:00:34
because in the future, for example, I will want to be
01:00:38
able to possibly stick out and Kirkuk
01:00:40
somehow differently
01:00:41
somewhere- someday I will have a friend on the
01:00:43
page no matter how I choose
01:00:45
the ticker I will have the chart updated
01:00:47
thanks to this logic perhaps as we have
01:00:51
already seen I forgot to call life thong fare in the deletion logic, you can
01:00:58
see thanks to the fact that I added this
01:01:02
watch now it works regardless depending on
01:01:05
how the data changes in the same way,
01:01:12
regardless of where I will
01:01:16
change the filters and page, let's
01:01:18
fix them again,
01:01:21
how can I deal with this, how can I
01:01:29
get rid of duplication,
01:01:31
look very easily, we will use
01:01:33
a computer and create a new computer,
01:01:38
which I will call the stay up page chance
01:01:48
I say that please return the filter and
01:01:56
page from the
01:01:59
page and now watch I will not
01:02:07
filter up each state of sense
01:02:11
let’s not here but here the page then I
01:02:18
will place this chance in it
01:02:20
here, by the way, it’s convenient for me in the silt and take it
01:02:22
and take it right away everything here has a filter for
01:02:28
bake here, by the way, I think it’s absolutely
01:02:30
normal to make 1 bead a variable,
01:02:33
but if vst you can write everything is
01:02:40
disabled again, it looks like configure tour does
01:02:43
n’t even rename here and the filters
01:02:50
will remain like this logic for from page
01:02:53
equals ken when me
01:02:54
let’s do that let's read what
01:02:56
we wrote watch when the selected
01:03:00
keter changes reset the chart when the
01:03:03
ticker changes and save the stickers
01:03:06
the watchman cried when it changes the
01:03:11
ticker is waiting for spy stickers that we see
01:03:13
now on the page if we don't see anything on the page
01:03:16
reset the page one step
01:03:19
back when the filter changes reset the
01:03:22
page to first,
01:03:23
when those options change that we want to
01:03:26
save in the helm,
01:03:27
they will change due to how the
01:03:29
computer works, thanks
01:03:32
in those moments when either the page
01:03:34
or the fielder changes, well, push it into the url
01:03:40
ok, let's try,
01:03:42
as you can see, the filter continues to be updated,
01:03:49
let's go ahead, can I have some fluff, there
01:03:53
’s a lot of kicker on this one, apparently you
01:03:55
can’t 5 well, okay, it’s not fate, but what if
01:04:10
we’re on page 1, if we’re on the first
01:04:12
page, we have an empty filter, where should we
01:04:14
reset,
01:04:16
we’ll have something like this in reality, of course we have to
01:04:19
display empty, it costs up to that, like,
01:04:21
excuse me, there are no elements at the moment,
01:04:25
otherwise if we hadn’t written
01:04:28
this logic, then on the first page we would have
01:04:31
been reset to zero, it would
01:04:33
n’t have been very good,
01:04:43
this is especially a java script, but I write this with this one like
01:04:49
this for from the page equals the
01:05:00
maximum value from one for from
01:05:05
page -1 but as for me these are very
01:05:15
readable
01:05:22
ok we have successfully completed the very
01:05:27
first initial phase of refactoring what
01:05:31
we have corrected is this presence of
01:05:35
dependent data in the state I want to delete so and
01:05:42
that is we
01:05:44
have not done this yet we have corrected
01:05:50
in parallel before, when removing the kicker, the
01:05:52
curls of Sturridge are the same
01:05:54
codes watch corrected ok
01:06:00
actually that’s what I wanted
01:06:06
to do with you today on the stream,
01:06:08
that is, to introduce you to the concept of
01:06:11
computers and go into detail on the
01:06:14
application in what I’m talking about
01:06:28
by the way, a small remark for now here I go
01:06:31
this construction,
01:06:33
that is, I pull data from the eagle and
01:06:35
then assign it, you can write it like this
01:06:41
acai object this window date, but I
01:06:49
categorically don’t like it, let’s
01:06:55
show that this is work, why because
01:06:57
it’s not clear at all what
01:07:00
data comes from me and so then
01:07:03
I left an extra comma there somewhere, let's
01:07:08
look at it, let's check that
01:07:13
they are updated when loading, but everything
01:07:15
continues to work, but I wouldn't recommend doing it like
01:07:20
this, I wouldn't advise doing it like that, in
01:07:24
extreme cases, I'd do it like this
01:07:27
const
01:07:28
fails the case the keys that my application is waiting for
01:07:32
are a filter and a page and
01:07:37
then it brings down keys couples
01:07:43
iv window to the key detective is
01:07:50
equal to window so it will at least be
01:07:53
clearly visible that what is happening is
01:07:55
a shame and they can take it well and let’s say
01:07:59
make a peak just do it, that is, like
01:08:03
this record if you use get along
01:08:06
I have much less complaints in the image of the
01:08:08
cat Sainz from the flesh of the bacon bacon the date
01:08:13
brushes I don’t remember in what order
01:08:15
this key is, that is, it is important for you to understand you are
01:08:18
showing that you are only waiting for a
01:08:20
specific set of vod-ok keys,
01:08:26
we still have a very long time ahead the way to
01:08:30
implement all this and I think that
01:08:35
after four five six videos you and I
01:08:40
will get a code that can be sanely
01:08:44
watched and this is even before cutting
01:08:48
into components begins because before
01:08:52
cutting into components is, as we
01:08:55
already said, just struggle with
01:08:57
growing complexity and we will have
01:08:59
another requirement that will ruin everything for us,
01:09:03
but you can write beautiful code in one
01:09:06
component
01:09:07
and so far this thing is very, very
01:09:10
far from it, that’s all for this content
01:09:17
part of the lecture, as they say, that’s all and let
01:09:21
me answer yours questions why
01:09:24
do you use const doesn’t bark well because
01:09:26
I’m so used to it because I want I
01:09:30
prefer to use const during the visit
01:09:32
maybe there won’t be tests as part of this
01:09:36
course well okay maybe if I’m in the
01:09:38
mood I’ll record one lecture but for
01:09:42
it to be useful as my
01:09:44
practice shows one lecture looks like
01:09:46
talk in favor of the poor because
01:09:48
the problems are usually not in testing view
01:09:50
the problem is in understanding the concept of
01:09:52
testing what to test how
01:09:53
to test when the next stream is, well,
01:09:58
how is this even a schedule every
01:10:00
Wednesday 1915 in Ukraine
01:10:02
why in Ukraine on March 28, in my opinion, our
01:10:06
clocks will be changed and we we'll
01:10:08
be on par with you, programming at the very least for
01:10:11
15 years, here more even so, let me give it
01:10:15
to the sword for now
01:10:21
git status- guide this is cersei kit komi m well
01:10:27
in the lodge that computer and watch dependent
01:10:30
states yes means depending on what
01:10:32
in yes yes yes you you don’t have a look, if
01:10:37
you are accessing something on the computer
01:10:39
that is not in the date, then
01:10:44
you won’t get any reactivity,
01:10:46
okay, it’s not a burden because
01:10:47
you can look there, they’ll get stuck there,
01:10:49
we’ll talk about this later, but if
01:10:52
I were here somewhere I’ll turn to
01:10:54
some
01:10:55
windows line for the width, then of course in
01:11:00
June it will react to changes in
01:11:02
windows clients and in width it’s
01:11:06
interesting what how why and how not to
01:11:08
test about this I have a
01:11:10
separate paid master class you can
01:11:11
go to right now buy because
01:11:14
there are so many videos there I’m really interested in
01:11:17
14 or 13 there will also be bonuses
01:11:21
to add these leonoras interest because
01:11:28
you can’t tell this in one
01:11:30
lecture there are two long practices for
01:11:32
four hours and a bunch of video
01:11:36
showcases from
01:11:45
13 14 15 two huge youtube 2 huge
01:11:49
youtube practice
01:11:51
there in the basement for three hours, so in
01:11:58
the meantime what keyboard do you use I just
01:12:02
wrote on the laptop today all this is
01:12:07
like this git push and so here they are except for a
01:12:13
branch there was a branch 84 guide which
01:12:17
minus c dsm-5 git push origin weighing 5
01:12:22
so that you there was the source code of Egypt
01:12:28
switch master guide mayor lesson 5 can you
01:12:34
link to the video which video is this push
01:12:40
master fight origin master of course the
01:12:54
link to the testing course asleep.
01:12:56
Ninja, that’s the name of the channel on
01:13:01
which he is not present, these two master classes, so
01:13:09
let’s go right away, let’s add this in
01:13:14
the description of today’s video, do
01:13:19
n’t you need to take out specific
01:13:22
things like vocals to reach a window
01:13:23
history, implement using the principle of
01:13:25
dependency injection idps,
01:13:35
you use litex, it doesn’t stick I use
01:13:38
both with support for dubstep view Jess
01:13:40
mediocre
01:13:41
everything means adding materials
01:13:48
materials
01:13:50
there cat broke a kettle about it budget
01:13:58
clapp youtube crypto course for a moment it 3
01:14:04
lesson 5 so materials for
01:14:09
self-study of law whose already
01:14:12
given to you by Rugges org calculated properties is it
01:14:26
difficult to hide with ice? will migrate to view 3
01:14:28
start now a new project on emv2v
01:14:30
depends on what libraries the
01:14:33
data will come in the request
01:14:38
installed in do to watch and it
01:14:39
will work as you need to do so that
01:14:41
watch is not on initialization
01:14:43
in any way this is normal behavior you
01:14:48
changed the value of the variable you can
01:14:49
look at the old value l d l u n u
01:14:52
will be empty why don't you use
01:14:56
typescript because typescript
01:14:57
adds very little value there is no point in
01:15:00
wasting time on it question about tp d7 g
01:15:08
view how to do this and gobbled it up with . for example,
01:15:10
well, through the jack provider, we
01:15:13
will talk about this in words and there is our
01:15:17
own dependency injection mechanism,
01:15:21
but I’m not going to do some kind
01:15:25
of dpt ejection here because this
01:15:28
also makes no sense, there is no additional
01:15:30
value, most often people want to do tp d7
01:15:33
g to the bitten ghouls, we will
01:15:36
analyze the topic of when it is worth making a
01:15:37
component stupid and when not, yes, we
01:15:39
will generally talk a lot about
01:15:41
components, let us first, as
01:15:47
they say, our base, I deliberately do not go
01:15:48
to the component yet, this is what you see how many
01:15:50
problems we have here we still have here
01:15:53
to the server here, I think at least an hour for
01:15:55
three videos, if not more
01:15:58
will wake you up, I think even more types with
01:16:02
does not add value within the framework, you
01:16:04
mean, in fact, I think that
01:16:05
typescript
01:16:06
in almost all projects does not
01:16:08
add value to the view, it adds even
01:16:10
less, that’s by
01:16:16
the way why it didn’t work I’m
01:16:18
renaming, you see, for some reason my
01:16:20
work is hanging down, I didn’t sit down to
01:16:23
digest with Language Futures, I wonder
01:16:26
why this is so, and just about to sleep, why
01:16:36
renaming worked less well,
01:16:39
what can we say about native
01:16:42
web components [ __ ], well, this is a completely
01:16:43
separate topic that needs to be sorted out Well,
01:16:47
that is, I don’t really understand what kind of answer
01:16:50
you might want to hear, the prosthesis is
01:16:56
perceived as a personal insult,
01:16:57
your right,
01:16:59
given the general weakness of typescript inferences,
01:17:02
so in the script, actually, Artem
01:17:05
spoke at the engineer’s course on Monday, he just
01:17:09
showed almost everything more typescript, and it’s
01:17:11
nice to see how people do who were
01:17:13
on the course as an engineer, not so solid,
01:17:16
but the values ​​of typescript and
01:17:36
worked with nux were given very little, how often
01:17:39
do you use markers when you need to
01:17:41
process something in the background, but these guys, the
01:17:44
questions should still be within the framework of
01:17:46
the course, you don’t like it at least slightly
01:17:49
typed java script and I don’t like it,
01:17:52
of course, because it gives an unnecessary and
01:17:57
false feeling of reliability, and this is much
01:18:00
worse than the absence of such a feeling, there is a
01:18:03
link about what hurts with
01:18:05
there, if briefly, there is no way to tell
01:18:10
about what hurts with, you need
01:18:11
to dive into the system in great detail types
01:18:15
if everyone has taken the path of temps and will simplify
01:18:19
development due to common contracts
01:18:21
between phantoms back myth is a very
01:18:23
common myth because
01:18:26
first of all, common contracts you can
01:18:28
easily generate these contracts on anything
01:18:31
its stack and whatever you want is a course on
01:18:35
view 2 or view 3 in general by view in
01:18:36
general by view we are writing on view 3
01:18:39
I am focusing on and where there are differences in
01:18:41
behavior I will type 2
01:18:46
so as much time as possible has passed 22
01:18:49
hours 16 minutes and don’t listen to what 2:16
01:18:55
this is by the way I finished a little earlier than
01:18:59
planned because I didn’t I looked there, an
01:19:01
hour passed, just as planned, the
01:19:04
strict mod of this one in the flower gives a
01:19:07
normal feeling of confidence, absolutely not even close,
01:19:15
unfortunately 78 minutes, yes, everything is fine,
01:19:19
everything is according to plan, where is the son view 3, why
01:19:25
not, it’s because compositional 5
01:19:27
is additional
01:19:28
and it’s not the main thing inside and why
01:19:31
tell it at the beginning of the course is not the main thing
01:19:34
and 5 plus I really don’t like
01:19:36
composition 5
01:19:47
that is, there are things that he
01:19:49
solves gracefully, but this is not a reason to write everything about
01:19:51
composition what kind of work experience do you have
01:19:55
specifically yours, six years actually we
01:20:02
wrote on view view was the third
01:20:04
framework the main framework of our
01:20:08
company when he and I had our
01:20:10
own source in Hawaii company for seven years we
01:20:11
started with backgon marionette it was a
01:20:15
very long time ago then we moved to react then from
01:20:18
react and we moved to view
01:20:19
but from oats now For two years now I’ve
01:20:21
been working in the git lobby as a senior
01:20:23
front-end engineer and all this time I’ve been
01:20:25
working with view, why do
01:20:40
n’t you write to Nadys, and
01:20:42
lately who said I’ve been following it very closely
01:20:43
myself and writing to thousands of it
01:20:46
regularly, I can view it for you tell you
01:20:49
what came out in 42 fresh I can tell you
01:20:52
about a bunch of typescript problems and I’m just
01:20:55
interested in it now I’ll show you or I won’t
01:20:59
show you now I’ll think about it, that is, what was the
01:21:05
reason for moving away from reactor for
01:21:07
most
01:21:08
ariag projects, the topic we were working on
01:21:12
react is too slow in terms of speed
01:21:14
developments are not in terms of speed of work,
01:21:24
so
01:21:33
I’ll look for an hour, so I have the sound turned off,
01:21:36
why haven’t you heard the sound from the broadcast of
01:21:40
which sports are better, a number of which views are
01:21:43
most often applicable, they are applicable
01:21:45
equally,
01:22:03
some consider weak privatization to be
01:22:05
advantages and disadvantages, I don’t
01:22:07
think so, I think so
01:22:09
this typification
01:22:29
about mixins was given to you by a feature, I’m not going to tell you
01:22:31
because mixxen and are behind the
01:22:34
reason for functionality and
01:22:38
well, it’s not that in the West the picket is not
01:22:40
recommended by functionality and I don’t
01:22:42
see the validity of huskies in their use
01:22:44
in view 2 it’s inside
01:22:48
that reactivity is built on
01:22:51
mutations it a good approach is a
01:22:53
conceptual approach, and this is what
01:22:55
determines the framework, is it necessary to
01:22:57
stick to mutable ones when writing
01:22:59
views?
01:23:51
I will add the video to this video to the playlist
01:23:53
and see you live in a week
01:23:57
bye

Description:

Код урока: https://gitlab.com/vuejs-club/youtube-course/cryptonomicon/-/tree/lesson5 Материалы для самостоятельного изучения: https://ru.vuejs.org/v2/guide/computed.html#%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5-%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0 Присоединяйтесь к нашему сообществу в Telegram https://t.me/vuejs_club --- Видео создано благодаря подписчикам проекта на нашем Patreon. https://www.patreon.com/javascriptninja

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "#17 Криптономикон: рефакторинг - Vue.js: практика" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "#17 Криптономикон: рефакторинг - Vue.js: практика" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "#17 Криптономикон: рефакторинг - Vue.js: практика" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "#17 Криптономикон: рефакторинг - Vue.js: практика" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "#17 Криптономикон: рефакторинг - Vue.js: практика"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "#17 Криптономикон: рефакторинг - Vue.js: практика"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.