1
00:00:06,599 --> 00:00:11,320
Hey everybody, and welcome back to
another episode of Adventures in Angular y'ah.

2
00:00:11,359 --> 00:00:13,880
I record so many of these I
almost lost track of which one I was

3
00:00:13,919 --> 00:00:17,039
on. This week on our panel, we have super at Meishra. Hello.

4
00:00:17,079 --> 00:00:21,039
Hello, I'm Charles Maxwood from top
End Devs, and this week we're

5
00:00:21,079 --> 00:00:24,719
talking to Maria Corneva. Is that
how you say that? Yeah? All

6
00:00:24,800 --> 00:00:27,199
right, Maria. Do you want
to tell us who you are and why

7
00:00:27,239 --> 00:00:32,320
you're awesome and all that stuff?
Why not? Yess. I am a

8
00:00:32,320 --> 00:00:39,320
front end technology lead at a small
German company. I'm developing some web applications

9
00:00:39,359 --> 00:00:43,719
by day and I'm writing some blocks
by night here and now. I also

10
00:00:43,799 --> 00:00:48,320
have some talks at meetups and conferences. Yes, and I also like drawing,

11
00:00:48,640 --> 00:00:52,560
so I tried to illustrate my blocks
with some drawings. That's it,

12
00:00:52,600 --> 00:00:56,759
I guess. Cool. So looking
at this blog post that we found on

13
00:00:56,880 --> 00:01:00,280
medium, did you draw that?
Yes? That illustration? That's awesome,

14
00:01:00,479 --> 00:01:03,240
thank you. Yeah. Mine would
be like a little stick figure. It'd

15
00:01:03,280 --> 00:01:07,239
be like that. Is that a
human stick figure? So I'm impressed?

16
00:01:07,359 --> 00:01:10,680
Thank you? Very cool? Well
we got you on to talk about it.

17
00:01:10,680 --> 00:01:15,000
It says how to proxy AHGTP request
in angular, and it was interesting

18
00:01:15,040 --> 00:01:18,439
because I mean, I remember using
proxy servers when I was in college and

19
00:01:18,480 --> 00:01:22,959
stuff to get around the filtering that
the university did. Don't tell anybody.

20
00:01:23,000 --> 00:01:26,079
I guess it's been forty years so
it doesn't matter anymore. But you know,

21
00:01:26,239 --> 00:01:27,640
just stuff like that. You know, we all kind of think about

22
00:01:27,640 --> 00:01:32,280
different proxies and maybe have used something
like Charles Proxy or something like that,

23
00:01:32,560 --> 00:01:38,879
but it looks like you're not really
doing that so much as actually building in

24
00:01:38,959 --> 00:01:42,799
kind of a proxy on your own
end where you have like a fake back

25
00:01:42,920 --> 00:01:45,640
end and stuff. So you do
you want to kind of give us a

26
00:01:45,640 --> 00:01:48,239
ten thousand foot view on what you're
talking about when you're talking about proxy and

27
00:01:48,319 --> 00:01:49,760
the requests, and then we can
dive into why, and then we can

28
00:01:49,840 --> 00:01:55,359
dive into how. Sure. Actually, I was really surprised that you addressed

29
00:01:55,359 --> 00:02:00,640
this topic because and I was really
surprised by myself when I discovered this topic

30
00:02:00,680 --> 00:02:04,680
for myself when I started to write
this blog, because I joined the project

31
00:02:04,719 --> 00:02:07,800
and everything was working fine, and
then I started to dig deeper and deeper,

32
00:02:07,800 --> 00:02:13,520
and then I discovered that they're using
those proxies as a proxy configurations,

33
00:02:13,800 --> 00:02:19,199
and then I started to explore this
topic and trying to understand why do we

34
00:02:19,280 --> 00:02:25,080
need those proxies at all, because
actually, in the basic tutorial Angular you

35
00:02:25,520 --> 00:02:31,400
won't hear about it. But this
is so element so basic and so well

36
00:02:31,479 --> 00:02:38,039
really useful that I think everyone should
know how to proxy those requests, to

37
00:02:38,159 --> 00:02:42,000
work with back end, to work
with local hosts back end, to work

38
00:02:42,039 --> 00:02:46,639
with different environments, to work with
fake back end, et cetera. So

39
00:02:46,680 --> 00:02:53,759
there's so many use cases and the
functionality is really elementary. So that was

40
00:02:53,879 --> 00:02:58,400
my motivation why I wrote this,
And then I was really surprised that you

41
00:02:58,479 --> 00:03:01,520
discovered it and they wanted to talk
about it. That's for the teasing for

42
00:03:01,919 --> 00:03:06,319
as a teaser, as the motivation
for the talk. Yeah, well it

43
00:03:06,360 --> 00:03:08,280
makes sense and if you kind of
read through it, you'll you'll get an

44
00:03:08,280 --> 00:03:12,680
idea. Oh, this is pretty
useful, but but why don't you tell

45
00:03:12,759 --> 00:03:15,159
us, you know, what,
what do you use this for? Like,

46
00:03:15,159 --> 00:03:17,400
what where does this approach come in
for you? Actually, in the

47
00:03:17,520 --> 00:03:23,120
current project where I'm ausly using this
with a fake backhand, we're using library

48
00:03:23,120 --> 00:03:28,080
called Jason Server. This is pretty
a pretty well known one and this is

49
00:03:28,120 --> 00:03:31,479
actually a very useful one. I
recommended h every for it to everyone.

50
00:03:32,120 --> 00:03:36,680
This is not like a commercial or
something, and it's really just my favorite

51
00:03:36,960 --> 00:03:42,800
library on this in the sense.
And once you fake backhand, you also

52
00:03:42,879 --> 00:03:46,919
want to have a switch because you
don't want to occasually deliver this to production

53
00:03:47,439 --> 00:03:53,360
with some fake back end connections.
I guess you won't, and that's why

54
00:03:53,520 --> 00:03:59,719
you need something which which is pretty
easy to switch to to use so that

55
00:04:00,159 --> 00:04:03,599
say, okay, once I start
my application without some particular flag, I'm

56
00:04:03,719 --> 00:04:11,039
using the fake back end. And
once I start the application normally without any

57
00:04:11,039 --> 00:04:14,439
flax, then I just go to
the normal server. And this is how

58
00:04:14,479 --> 00:04:18,759
the proxy works. In this use
case. We set an environment variable to

59
00:04:18,839 --> 00:04:25,519
true, which like fake back end
variable, and in my proxy, if

60
00:04:25,519 --> 00:04:29,240
we would get we'll read this variable
and if it's such true, then the

61
00:04:29,240 --> 00:04:32,560
proxy gets activated and then all my
requests go to the fake back end.

62
00:04:32,639 --> 00:04:36,839
And if the variable is set to
false, then it's not proxy to some

63
00:04:36,920 --> 00:04:41,600
fake back end. It goes to
the server. The advantage of this approach

64
00:04:41,720 --> 00:04:45,360
is that I don't have to care
about like I don't have to worry about

65
00:04:45,759 --> 00:04:48,759
those switches and production because they're just
not there and I don't have to change

66
00:04:48,959 --> 00:04:53,199
anything in my code, like in
the code that I write for the application.

67
00:04:53,240 --> 00:04:57,800
It's just the configuration of the proxy
which comes additionally to the application,

68
00:04:58,199 --> 00:05:00,959
right, Yeah, that makes sense
to me. You you run it in

69
00:05:00,000 --> 00:05:04,360
production without any flags and so it
just connects to the regular back end.

70
00:05:04,600 --> 00:05:09,199
But yeah, on your machine,
you can stand up the fake back end

71
00:05:09,360 --> 00:05:12,480
and then you just tell it,
hey, use this config yes, and

72
00:05:12,600 --> 00:05:15,759
yeah, you know this is something
that I think we all run into at

73
00:05:15,000 --> 00:05:19,279
one point or another in our career, right where it's hey, look,

74
00:05:19,319 --> 00:05:23,360
you know, I need to be
able to control what I'm getting, you

75
00:05:23,360 --> 00:05:27,000
know, out of a database or
from a back end, or from some

76
00:05:27,240 --> 00:05:31,279
service or some API, or you
know whatever whatever you want it to be,

77
00:05:31,959 --> 00:05:34,639
right, I need to know how
this behaves under this circumstance, the

78
00:05:34,680 --> 00:05:39,480
other circumstance and the other circumstance.
And so if you can stand up a

79
00:05:39,519 --> 00:05:43,279
fake back end that has all of
your different use cases in it, then

80
00:05:43,319 --> 00:05:46,800
yeah, you can just move move
around your app and make it behave in

81
00:05:46,839 --> 00:05:50,000
the way that you want and make
sure that you're what you're seeing is what

82
00:05:50,040 --> 00:05:55,600
you're expecting. Yes, absolutely,
well, I've considered several approaches. Of

83
00:05:55,639 --> 00:05:58,959
course, you can just mark your
data in your component or in your server

84
00:05:59,399 --> 00:06:02,560
a service to me, but then
you change your code. You can also

85
00:06:02,759 --> 00:06:09,000
have some switches in your code checking
for the environment, but again those are

86
00:06:09,399 --> 00:06:14,759
this is the functionality which does not
contribute to the app functionality. This is

87
00:06:14,800 --> 00:06:18,240
not a business logic that you're writing, and any switch, any additional check

88
00:06:18,319 --> 00:06:27,120
for some development environments introduces in security
threat. So I prefer not to have

89
00:06:27,240 --> 00:06:31,360
any switches in my code directly in
my code, but rather solve with via

90
00:06:31,439 --> 00:06:34,920
some configurations. Yeah, that makes
sense. I could also see this as

91
00:06:34,920 --> 00:06:40,120
a convenient way too. For example, if I'm running into a bug in

92
00:06:40,160 --> 00:06:44,399
production, right, I can effectively
copy the payload into this fake back end

93
00:06:44,439 --> 00:06:46,879
and then say do your thing right
and just see what happens. Yes,

94
00:06:47,040 --> 00:06:51,199
there are a couple of more use
cases for fake back onto. In my

95
00:06:51,240 --> 00:06:57,759
current project, we have some really
rare test user combinations, and to get

96
00:06:57,800 --> 00:07:01,560
there we need to wait for so
that real test users for weeks, which

97
00:07:01,839 --> 00:07:06,600
will slows down the development tremendously.
That's why we just can configure those test

98
00:07:06,720 --> 00:07:11,839
users in our fake back and and
get them immediately. The same is a

99
00:07:11,959 --> 00:07:15,279
valid for some days that we want
to test, so that we just get

100
00:07:15,959 --> 00:07:21,680
some really rare combinations the twenty nine
of February, February in September, right,

101
00:07:21,759 --> 00:07:25,120
Yeah. The other one I can
see that you could play with is

102
00:07:25,319 --> 00:07:28,639
time zones. Yeah, go ahead. You know what I was saying is

103
00:07:29,600 --> 00:07:33,160
I got to work with the finger
fake back and or mocking stutypy server.

104
00:07:33,519 --> 00:07:36,519
As you start the board, the
front and the back end at the same

105
00:07:36,560 --> 00:07:42,240
time, so there is no request
present for the back end to serve,

106
00:07:42,519 --> 00:07:46,959
then you know that this is the
response which you'll get going to get And

107
00:07:46,040 --> 00:07:51,519
that's how we started started using that. But later it gives us a lot

108
00:07:51,600 --> 00:07:57,360
of flexibility, like if we need
some extra functionality which you need to test

109
00:07:57,360 --> 00:07:59,959
in the front end, if it
is fine, then it will be implemented

110
00:08:00,160 --> 00:08:03,399
in the back end. So this
is like you told, isn't just a

111
00:08:03,439 --> 00:08:07,879
black thing and that you're going to
work. That's a pretty pretty handy handy

112
00:08:07,920 --> 00:08:11,639
scenario. Like if the both the
front and back and you're starting together,

113
00:08:11,920 --> 00:08:13,639
it's a pretty good use case to
go. But I think there are a

114
00:08:13,639 --> 00:08:18,319
lot of framework. What I have
used is not at all depend on any

115
00:08:18,360 --> 00:08:22,639
call. It's all all stayed in
stage in Angular. You just need to

116
00:08:22,639 --> 00:08:28,240
switch the used class to a different
service and that that will work it as

117
00:08:28,279 --> 00:08:33,039
the interceptor or something. Yeah,
test the interceptors to However, I know

118
00:08:33,159 --> 00:08:39,080
myself, I always forget to comment
it out and to change the change this

119
00:08:39,279 --> 00:08:43,879
to switch to the real interceptor,
and then I'm always afraid to deliver something

120
00:08:43,919 --> 00:08:48,360
to production which just doesn't do what
it's supposed to do. Yeah. Yeah,

121
00:08:48,399 --> 00:08:54,200
but you're right that using the fake
backhand is a way to decouple those

122
00:08:54,240 --> 00:08:58,879
two. And I don't have to
wait for the real implementation. I don't

123
00:09:00,039 --> 00:09:03,600
have to wait for my colleagues to
ship the back end. I can work

124
00:09:03,639 --> 00:09:07,679
with it. If I have this
vaguar definition, that's enough for me.

125
00:09:07,840 --> 00:09:11,159
Then I can spin out of a
fake back and then just work with this

126
00:09:11,519 --> 00:09:16,200
till it's ready. Yeah. But
one thing, it's not a negative though,

127
00:09:16,639 --> 00:09:20,720
but I think if you're using TEG
fakeback end or any flag, we

128
00:09:20,759 --> 00:09:26,440
should have a documentist and it properly. I mean documented properly, because one

129
00:09:26,600 --> 00:09:31,120
one is like the scenario happened in
my team was in my past experience that

130
00:09:31,279 --> 00:09:35,559
new in New I game. We
forgot him to inform that we are using

131
00:09:35,600 --> 00:09:41,440
this and he started using APA call
and see why it's not why it's not

132
00:09:41,519 --> 00:09:46,360
working because he haven't gone then we
came into the Okay, if we are

133
00:09:46,480 --> 00:09:50,039
using this is not hitting the SABA
then so I think if you're using this,

134
00:09:50,240 --> 00:09:54,399
then it should be in the initial
of the documentary and that there is

135
00:09:54,440 --> 00:09:58,679
a flag which will use fakeback end
to the real back end. Then it

136
00:09:58,720 --> 00:10:01,759
will not be a creator chaos for
a newcomer. Yeah, that's true,

137
00:10:01,919 --> 00:10:09,320
and the threat is also it's also
a certain risk to derive too far away

138
00:10:09,440 --> 00:10:16,679
from the real data. Once you
stay with some desired values, you develop

139
00:10:16,159 --> 00:10:20,960
differently. You don't check for news, you don't check for anti fines because

140
00:10:20,000 --> 00:10:24,840
in your data you always get something
and then then there is a big surprise

141
00:10:24,960 --> 00:10:28,279
when you switch to the real real
server service and then you get some other

142
00:10:28,440 --> 00:10:33,200
data which you haven't predicted. But
yeah, those are the downsides of fake

143
00:10:33,279 --> 00:10:39,399
back end yep. I think nowadays
if you're in mon NX, then that

144
00:10:39,919 --> 00:10:45,440
is solved. If both the front
end we can rely use the same interface

145
00:10:45,600 --> 00:10:50,480
or same class as a model.
But yeah, but currently it is a

146
00:10:50,480 --> 00:10:56,440
lot of projects are different as the
independent project. But I think two podcasts

147
00:10:56,440 --> 00:10:58,879
back, I think we have someone
from an next so that we discuss like

148
00:11:00,039 --> 00:11:03,559
how it is useful to have a
single interface and use it in both that

149
00:11:05,120 --> 00:11:09,840
the pretty life they front and back
and integration. Yeah, obviously that will

150
00:11:09,879 --> 00:11:13,399
also help in this scenario. Yeah, that's so, especially if you use

151
00:11:13,519 --> 00:11:18,320
notes and jazz and back end and
ceas really easy to use the same type

152
00:11:18,360 --> 00:11:22,200
definitions for both front and and back
end. But proxying, like we were

153
00:11:22,200 --> 00:11:28,639
talking about proxying in the beginning,
actually working with a fake back end is

154
00:11:28,720 --> 00:11:33,600
just one of those use cases.
This is the one that charles you.

155
00:11:33,600 --> 00:11:37,639
You ask me what I'm using now, So this was the major use case

156
00:11:37,679 --> 00:11:41,879
in my project. So working with
the fake back end. However, it's

157
00:11:41,960 --> 00:11:48,159
also useful for effortless switching between the
environments because normally you wouldn't introduce the whole

158
00:11:48,480 --> 00:11:54,919
your well in your HDP requests,
would work rather with the relative paths,

159
00:11:54,360 --> 00:12:01,320
so that you have your test environment, staging environment and production environvironment slash API

160
00:12:01,480 --> 00:12:07,639
slash users for example, and proxying
to the particular environment allows you to get

161
00:12:07,679 --> 00:12:13,080
your data when working on local hosts. This is also what we use in

162
00:12:13,120 --> 00:12:16,600
our current project setup, so that
when we work on local hosts, when

163
00:12:16,879 --> 00:12:22,720
I'm developing some features and proxy my
requests to the test environment and I get

164
00:12:22,759 --> 00:12:26,519
the real data from our service which
is un deployed there. And then once

165
00:12:26,559 --> 00:12:31,399
I'm ready, I deploy my application
in the test environment. And since I'm

166
00:12:31,480 --> 00:12:37,919
using the relative paths, that's still
working. And once the tests are through

167
00:12:37,080 --> 00:12:41,000
and once I deliver it to the
staging environment, I don't have to change

168
00:12:41,039 --> 00:12:46,600
the code of the application itself because
I still like the code still has those

169
00:12:46,639 --> 00:12:52,919
relative urals, so then again there's
no changes needed and the only thing that

170
00:12:52,000 --> 00:12:56,440
I have to set up is the
angle adjacent file where I say that for

171
00:12:56,600 --> 00:13:03,480
the development mode you use another a
proxy configuration and for the staging another one

172
00:13:03,519 --> 00:13:07,559
on for production one more so,
yeah, nice, Now you mentioned something

173
00:13:07,600 --> 00:13:11,960
about swagger, so we're using open
API slash swagger set up for this,

174
00:13:13,159 --> 00:13:16,080
And does this work for other types
of things like graft you wel or some

175
00:13:16,159 --> 00:13:20,360
other crazy setup where I'm just making
up my own endpoints dot Jason at the

176
00:13:20,519 --> 00:13:28,360
end, Yes, you have the
possibility to define some endpoints using wild cards,

177
00:13:28,440 --> 00:13:33,039
so that you say, all the
requests that have API in the path,

178
00:13:33,360 --> 00:13:39,360
or all the requests that have some
particular values there will be proxit somewhere

179
00:13:39,399 --> 00:13:43,919
else, So you have the opportunity
to filter. You can use just a

180
00:13:43,960 --> 00:13:46,600
list of them. You can also
have some as I said, some regax

181
00:13:46,639 --> 00:13:52,320
expressions. You have even the opportunity
to rewrite the path. So let's say

182
00:13:52,600 --> 00:13:56,759
you can work locally with something like
slash API, slash fu, slash bar,

183
00:13:58,240 --> 00:14:03,360
and then you have the option to
rewrite food slash bar and remove it

184
00:14:03,399 --> 00:14:09,320
from the path to proxy to some
server, so you also have more options

185
00:14:09,480 --> 00:14:13,120
what to do with your requests.
That makes sense, so effectively, then

186
00:14:13,159 --> 00:14:18,679
I can say yeah, proxy to
my crazy setup where I just made up

187
00:14:18,679 --> 00:14:22,639
the path names and this little map
that however I tell it to yes.

188
00:14:22,720 --> 00:14:26,799
And if you're even more crazy,
you can set secure to falls, and

189
00:14:26,840 --> 00:14:31,600
then you can even switch off HTPS
off, which is particular relevant if you

190
00:14:31,679 --> 00:14:37,600
are working on local hosts and plan
to send your requests to the server to

191
00:14:37,639 --> 00:14:41,639
the service which is deployed in the
test environment, because usually they won't like

192
00:14:41,679 --> 00:14:45,759
it if they get some cross origin
requests from local hosts. But if you

193
00:14:45,840 --> 00:14:52,240
proxyed with the configuration of secure set
to falls, then you can effectively switched

194
00:14:52,320 --> 00:14:54,679
off. Makes sense to me.
Yeah, that's another use case. As

195
00:14:54,679 --> 00:15:00,799
I said, like when developing on
local hosts, I usually have the following

196
00:15:01,480 --> 00:15:09,639
the configuration of setting it to secure
two foals and then setting the context like

197
00:15:09,519 --> 00:15:13,919
putting all the APIs, all the
URLs that I need for my request in

198
00:15:13,960 --> 00:15:20,440
the context, and then specifying the
target which is the environment where I want

199
00:15:20,440 --> 00:15:22,399
to proxy my request to. And
when you're running your test, do you

200
00:15:22,440 --> 00:15:26,440
stand up a big back end for
that too then or do you is that

201
00:15:26,480 --> 00:15:31,000
only on the end to end tests
or yeah, do you use this in

202
00:15:31,039 --> 00:15:35,799
testing at all? For the unit
test, we have the HDP testing a

203
00:15:35,840 --> 00:15:41,000
module which Angler provides or usually take
this one. And for anti end tests,

204
00:15:41,080 --> 00:15:46,759
the application is already deployed in the
development or staging environment and there there's

205
00:15:46,879 --> 00:15:50,759
usually proxy to the same origin,
so I don't have to proxy there.

206
00:15:50,240 --> 00:15:54,759
Basically, it's you need a proxy
always when you are not in the same

207
00:15:54,840 --> 00:16:00,840
environment where your service is okay,
like mostly in local most Yeah, so

208
00:16:02,120 --> 00:16:07,960
we've covered the local development and proxying
this to some deployed service, but sometimes

209
00:16:08,000 --> 00:16:11,240
you also have your back ends with
you, so in the same in the

210
00:16:11,240 --> 00:16:17,039
same Mona repo, and then you
have your back end running on local hosts

211
00:16:17,080 --> 00:16:22,600
three thousand and your Angular app running
a local host four thousand and genred and

212
00:16:22,759 --> 00:16:27,279
you can also proxy your requests to
the back end your well, because you

213
00:16:27,320 --> 00:16:30,960
need to change the port otherwise it
wouldn't work. So this one is another

214
00:16:32,240 --> 00:16:37,519
use case where you can use proxy. So what do you mean is your

215
00:16:37,559 --> 00:16:41,840
back end pot can be dynamic and
that can also be handled through the proxy

216
00:16:41,759 --> 00:16:45,440
if that is the scenario. Yeah, like maybe if if you vacuant is

217
00:16:45,519 --> 00:16:48,600
running in a doctor and it's running
dynamic proxy, and that you can grab

218
00:16:48,639 --> 00:16:53,120
that proxy maybe in a content or
something, and that you can club club

219
00:16:53,159 --> 00:16:57,120
together. I think this use case
will be helpful in test continents as well,

220
00:16:57,159 --> 00:17:03,640
Like may have use test continents and
that's how help us to create to

221
00:17:03,759 --> 00:17:08,720
run the test by creating differently and
doctal images, and it creates possible in

222
00:17:08,759 --> 00:17:14,960
the runtime we can set the up. So one thing that I was going

223
00:17:15,000 --> 00:17:18,640
to ask is what what are the
other approaches to solve this problem and why

224
00:17:18,680 --> 00:17:22,000
did you pick this one over the
other ones? Well, the straightforward approach

225
00:17:22,480 --> 00:17:29,359
for the forproxying the request to the
local host back end or in general what

226
00:17:29,440 --> 00:17:33,839
others general? In general? Yeah, yeah, to kind of get some

227
00:17:33,279 --> 00:17:37,039
sanity and control on your back end. What you can also do you can

228
00:17:37,279 --> 00:17:44,039
work with the environment files in Angular
because this are these are also configurations that

229
00:17:44,079 --> 00:17:48,079
you can and they are meant to
store your environmental configurations so that you can

230
00:17:48,279 --> 00:17:56,440
place your uryal environment specific uryal in
there and references in your GTP request so

231
00:17:56,480 --> 00:18:02,000
that you will just import you know, a product uryl based URL and then

232
00:18:02,240 --> 00:18:06,599
slash API slash users. That would
be another option how to do this and

233
00:18:06,640 --> 00:18:11,200
this is also what Angler offers.
This will solve the problem with deploying the

234
00:18:11,240 --> 00:18:17,480
same code in different environments. However, it won't help with fake back end

235
00:18:17,599 --> 00:18:22,880
and it won't help. It will
help with start with working with back on

236
00:18:22,000 --> 00:18:26,720
local house. That's not a problem, but it's a said it's then well

237
00:18:26,880 --> 00:18:29,960
for the fake back end, you
will steal and it still need to proxate

238
00:18:30,079 --> 00:18:34,279
somewhere, right. It will solve
some problems there is in the last use

239
00:18:34,319 --> 00:18:40,400
case and this is really rare,
but we are also facing those problems or

240
00:18:40,480 --> 00:18:44,519
this is our use case in the
current project too. We have a huge

241
00:18:44,559 --> 00:18:49,920
mono repo and we have different styling
of our applications. We have several brands

242
00:18:51,200 --> 00:18:55,839
which belong to the same company and
we have to style them according to the

243
00:18:55,880 --> 00:19:02,279
corporate identity of this brand, and
that's why our styling comes from different end

244
00:19:02,279 --> 00:19:07,559
points. And that's again the option
for us to configure the proxy for this

245
00:19:07,799 --> 00:19:14,000
for each particular app to go to
the relevant to go to the respective style

246
00:19:14,359 --> 00:19:18,880
source and get the respective styling.
That's another option how we can have the

247
00:19:18,960 --> 00:19:25,200
same code and then style it in
a different way depending on the proxy configuration.

248
00:19:25,519 --> 00:19:29,000
Gotcha, That's why, as I
said, it was so I was

249
00:19:29,160 --> 00:19:33,240
surprised by myself when I discovered that
we're doing this, but like, we're

250
00:19:33,359 --> 00:19:37,079
implementing those proxies and using this configuration
which is so basic, and it took

251
00:19:37,119 --> 00:19:44,160
me so long to discover this concept, and that this concept does not come

252
00:19:44,200 --> 00:19:48,640
in the very beginning of the Angler
setup. It is mentioned in the documentation

253
00:19:48,160 --> 00:19:56,000
it is part of building and serving
Angular apps under Angular Tools, but it

254
00:19:56,079 --> 00:20:00,759
took me a while to discover the
section in the documentation. Yeah, so,

255
00:20:00,480 --> 00:20:03,920
I mean, are there other tricks
to this or is it just as

256
00:20:03,920 --> 00:20:07,200
straightforward as it looks? You know, you set up your adjacent server,

257
00:20:07,480 --> 00:20:11,440
you you set up your configued point
stuff to it, and then you know,

258
00:20:11,480 --> 00:20:12,519
make sure your back ends are giving
you what you need. I mean,

259
00:20:12,599 --> 00:20:18,680
is it really that simple or are
there other tricks that make it,

260
00:20:18,759 --> 00:20:22,559
I guess, more robust or give
it more hump. I don't know.

261
00:20:22,720 --> 00:20:27,519
Actually it is that simple. It
is some native capability of Angler, so

262
00:20:27,680 --> 00:20:33,000
we are not talking about some workaround. This is the solution that the Angler

263
00:20:33,039 --> 00:20:41,160
team offers Angler. I use this
webpack and webpack relies on the HDP middle

264
00:20:41,200 --> 00:20:45,319
of ware package under the hood,
which means this is also something which works

265
00:20:45,319 --> 00:20:48,680
out of the box, which is
need to configure it properly to set up

266
00:20:48,680 --> 00:20:52,440
the file to reference it in the
Angler Jason, and then where good to

267
00:20:52,480 --> 00:20:55,480
go? Cool? Now? Suber
was trying to ask a question when he

268
00:20:55,559 --> 00:21:02,160
dropped off, so brought what was
your question? Yeah, it's if maybe

269
00:21:02,160 --> 00:21:07,079
integation test which run our doctor on
the from the goal while learning our tests.

270
00:21:07,160 --> 00:21:11,759
So one question, is it possible
to set the boat the run time

271
00:21:11,799 --> 00:21:15,400
in the proxy to which boat it
is going to hit while you are running

272
00:21:15,400 --> 00:21:19,920
the test. I'm just checking the
documentation because in all examples as said that

273
00:21:21,000 --> 00:21:25,160
the target and we are talking about
the target target of our proxy, that

274
00:21:25,400 --> 00:21:29,519
was the string that they used.
So they just provided this sthetically, I

275
00:21:29,559 --> 00:21:33,039
need to double check if it's possible
to provide a function instead of target and

276
00:21:33,279 --> 00:21:40,519
if it is possible, if it
works, than then that should work with

277
00:21:40,839 --> 00:21:45,240
different ports too. As of now, I don't see any example of the

278
00:21:45,319 --> 00:21:51,920
function being called on there. But
since this is a normal package, which

279
00:21:52,039 --> 00:21:56,400
is which provides a lot of options, I'm actually quite positive that you should

280
00:21:56,480 --> 00:22:00,640
be able to configure it like this. So you just need a function which

281
00:22:00,680 --> 00:22:06,119
you'll get the port and then we'll
return the whole target URL which you provide

282
00:22:06,119 --> 00:22:10,480
in the configuration. Oh interesting,
Yeah, usually I'm using doctor composed,

283
00:22:10,559 --> 00:22:12,759
so I would imagine that you could
also put it into an environment variable and

284
00:22:12,799 --> 00:22:17,400
then just yeah, that would work
too. That's actually a very good point

285
00:22:17,519 --> 00:22:22,599
because in your ap proxy configuration you
can read the environment and variables and then

286
00:22:22,680 --> 00:22:26,759
you can just use this part of
the target problem solved, right, Yeah,

287
00:22:26,880 --> 00:22:30,680
so then you just say, hey, use this other container on this

288
00:22:30,799 --> 00:22:33,559
port in the environment variable. But
yeah, it'd be interesting to see if

289
00:22:33,559 --> 00:22:37,160
you could, yeah, make it
dynamic. So very cool. So anything

290
00:22:37,200 --> 00:22:41,720
else that you're working on that you
want to tell us about before we move

291
00:22:41,759 --> 00:22:45,240
on to the next segment of the
show. Maybe just to mention we were

292
00:22:45,279 --> 00:22:51,759
talking about all this fake back end
stuff which is relevant for developers. But

293
00:22:52,200 --> 00:22:56,920
I noticed that we have this privileged
position of faking our data as we want

294
00:22:57,119 --> 00:23:03,880
being front and developer or testers don't. And that's usually like it's just it's

295
00:23:03,240 --> 00:23:07,519
it's a pity, like you know, I was able to test it,

296
00:23:07,599 --> 00:23:11,359
but for you, you have to
wait for your test users and you have

297
00:23:11,480 --> 00:23:15,599
to wait till you can you can
test my application. That's why I really

298
00:23:15,640 --> 00:23:21,480
like the solution my colleagues came up
with where they wrote the script which runs

299
00:23:21,519 --> 00:23:27,359
on some middle laya let's say UPIC
or anything that you have between your servers

300
00:23:27,400 --> 00:23:33,759
and outer world, and there's script
runs there and checks for the headers or

301
00:23:33,799 --> 00:23:37,759
for the cookies. It's up to
you what to check, and then you

302
00:23:37,799 --> 00:23:42,240
can set those setters or cookies in
your browser. Like the tester can do

303
00:23:42,319 --> 00:23:48,160
this and configure the desired outcome or
the desired response of the server, being

304
00:23:48,960 --> 00:23:55,759
it four or four or some mock
data which is required for this test use

305
00:23:55,839 --> 00:23:59,319
case. Uh, And the script
does the following. It looks like the

306
00:23:59,359 --> 00:24:03,359
cookies or the heather, and if
it sees some particular value in there,

307
00:24:03,799 --> 00:24:07,440
it the script knowws that this description
should not be proxy to the server.

308
00:24:07,559 --> 00:24:12,880
To the actual server, it will
directly response with the values that are provided

309
00:24:12,920 --> 00:24:17,640
in this cookie, so that it
looks for the application, it looks as

310
00:24:17,680 --> 00:24:22,599
if the server request a response with
the with the error response or with some

311
00:24:22,680 --> 00:24:27,200
desired data. And I think this
is also really important because we're it's being

312
00:24:27,240 --> 00:24:32,480
able to develop fast to mock data
as a developers just one half of the

313
00:24:32,519 --> 00:24:37,039
whole process. And that's what I
really like about this script and or this

314
00:24:37,119 --> 00:24:42,440
idea that you can also give your
testers some more options and the same as

315
00:24:42,480 --> 00:24:48,480
well as for some proxy. Another
colleague of me of mine wrote a proxy

316
00:24:48,839 --> 00:24:52,880
in a different context. We're out
of the Angular application there, but it

317
00:24:52,880 --> 00:24:56,759
doesn't matter, and there was a
proxy who would check, which would check

318
00:24:56,839 --> 00:25:02,119
the headers and do the same,
so it wouldn't even re any middle HI

319
00:25:02,240 --> 00:25:07,920
layers out there. It would just
stop at the application layer in the browser

320
00:25:07,160 --> 00:25:12,640
and go back with some desired response. So this is another aspect of the

321
00:25:12,680 --> 00:25:17,799
whole marketing data story. Yeah,
yeah, there. I've seen a couple

322
00:25:17,799 --> 00:25:19,519
of approaches to this. I mean
one is you know kind of what you're

323
00:25:19,519 --> 00:25:25,160
talking about, where you either intercept
the signal coming in and you know,

324
00:25:25,279 --> 00:25:29,480
just give the response that you want. I've also seen systems I mostly do

325
00:25:29,559 --> 00:25:34,240
backend development actually reviey on rails and
so we have a seeds file the little

326
00:25:34,359 --> 00:25:38,559
seed data into your database, and
so you could set up basically a testing

327
00:25:38,640 --> 00:25:42,759
seed and then you know, based
on your environment, you just run the

328
00:25:42,799 --> 00:25:47,079
seed and it just populates the data
you want. You have to maintain that,

329
00:25:47,200 --> 00:25:49,559
you have to maintain any other automation
or script that you run anyway.

330
00:25:49,759 --> 00:25:52,160
But yeah, I mean, however
that works, there are a lot of

331
00:25:52,200 --> 00:25:56,119
ways to do it. It's it's
interesting though, just kind of think about,

332
00:25:56,200 --> 00:25:59,720
Yeah, you know, you could
slide something in that middleware and manage

333
00:25:59,720 --> 00:26:03,680
what you need. I've also seen
people do it with like an actual proxy

334
00:26:03,720 --> 00:26:07,960
system like Charles proxy or something,
because then again they can put the response

335
00:26:08,000 --> 00:26:11,680
that they expect to send back that
doesn't quite get your end to end because

336
00:26:11,920 --> 00:26:15,559
your back end may have a bug, you know, may do something you

337
00:26:15,599 --> 00:26:18,319
don't expect, but if you're just
making sure that the front end reacts properly,

338
00:26:18,480 --> 00:26:21,000
Yeah, there are a lot of
ways to do it, but it

339
00:26:21,000 --> 00:26:23,319
sounds like you've got an elegant solution
there. I really like it because our

340
00:26:23,400 --> 00:26:29,279
tests are so happy and the more
the testers can test during the test phase,

341
00:26:29,680 --> 00:26:33,359
the less box and production we have
the better I can sleep on Friday

342
00:26:33,440 --> 00:26:37,440
night, makes sense? Yeah,
I write bugs all the time. Superrot

343
00:26:37,480 --> 00:26:41,799
never does. But you know it's
a constant battle for me. My box

344
00:26:41,880 --> 00:26:47,240
always come. I don't know.
There you go. It will alway like

345
00:26:47,279 --> 00:26:51,720
well, once you thought that this
weekend will be good, and someone will

346
00:26:51,759 --> 00:26:56,279
call it. Yeah, we ordered
your favorite pizza. Get into the office.

347
00:26:56,519 --> 00:27:02,119
Oh all right, well, let's
go ahead and wind down. I'm

348
00:27:02,119 --> 00:27:06,720
really curious before we do that.
If people want to follow anything else that

349
00:27:06,759 --> 00:27:10,640
you're writing or ask you questions about
this, how do they connect with you

350
00:27:10,680 --> 00:27:15,319
online? I can pring me on
Twitter. I'm at browser person on Twitter,

351
00:27:15,559 --> 00:27:18,880
so drop my line. If it's
more professionally, you can connect via

352
00:27:18,920 --> 00:27:25,279
LinkedIn. It's Maria minus Carneva,
so I'd be happy to connect. Very

353
00:27:25,279 --> 00:27:27,039
cool. All right, well let's
go ahead and do some pics then.

354
00:27:27,279 --> 00:27:30,400
Now, picts are just things that
we're shouting out about, and so I'll

355
00:27:30,400 --> 00:27:33,359
have Subrot go first, Subro,
you have some pics. Yeah, this

356
00:27:33,519 --> 00:27:37,799
week be also a book I have
tacted reading. It's a famous book,

357
00:27:38,119 --> 00:27:44,759
Le Sapiens, bas History of Humankind. It's a bitty take book. I've

358
00:27:44,799 --> 00:27:49,680
started. Uh, how how am
my kids that evolved? And so I

359
00:27:49,720 --> 00:27:56,839
think that's sorta be someone getting time
apart from coding. Then you'll go and

360
00:27:56,079 --> 00:28:00,599
read it's a good book. Apart
from that, I will try to pick

361
00:28:00,759 --> 00:28:06,000
another book, which I already picked
maybe twice. It's a Psychology of Money.

362
00:28:06,200 --> 00:28:08,799
It's a pretty pretty good book.
I keep coming back to the book

363
00:28:08,839 --> 00:28:11,440
just to thought about, like how
it's to think about money. It's not

364
00:28:12,039 --> 00:28:17,039
everything. Times matter, money matters. Everything matters in life. So that's

365
00:28:17,079 --> 00:28:21,839
how the perspective towards money will change. That's a two pick for this pick

366
00:28:21,960 --> 00:28:25,519
Awesome. I'm going to jump out
there with a couple of picks. I

367
00:28:25,599 --> 00:28:29,279
usually do a board game pick,
but I haven't really been playing board games

368
00:28:29,359 --> 00:28:33,000
much lately, trying to get my
group of guys that I play with back

369
00:28:33,240 --> 00:28:37,119
together to play, and so I
don't know that I have a new game

370
00:28:37,359 --> 00:28:41,160
to throw out that I haven't already
picked. So I'm just going to forego

371
00:28:41,279 --> 00:28:44,240
that for a minute. I'm going
to put up a couple of other picks

372
00:28:44,279 --> 00:28:47,240
that I have. First of all, I've been talking to a friend of

373
00:28:47,240 --> 00:28:49,799
mine and he's been helping me kind
of get some branding stuff together, which

374
00:28:49,799 --> 00:28:56,079
has been awesome, and so I've
kind of gotten back on the email bandwagon

375
00:28:56,160 --> 00:29:00,000
and stuff like that. So I'm
going to throw out some of the things

376
00:29:00,039 --> 00:29:03,279
and I'm using to connect with people, and I'm going to be integrating all

377
00:29:03,359 --> 00:29:06,440
this into top end devs. So
if you want to get some of the

378
00:29:06,440 --> 00:29:08,119
stuff that I'm talking about, that
we'll have it there. One of them

379
00:29:08,279 --> 00:29:12,920
is active Campaign, which is an
email system so that I can send emails

380
00:29:12,960 --> 00:29:18,079
out. I'm planning on, you
know, just putting out content and putting

381
00:29:18,279 --> 00:29:22,920
that stuff together. I've also basically
gotten things together for top end devs so

382
00:29:22,960 --> 00:29:26,799
that I can start doing video series
and courses, and so I'm going to

383
00:29:26,839 --> 00:29:30,839
be putting out a course on how
to stay current because I get asked that

384
00:29:30,839 --> 00:29:33,759
all the time, how do I
stay current? On the other thing that

385
00:29:33,759 --> 00:29:37,240
I'm also going to be putting out
as a course on or a series rather.

386
00:29:37,720 --> 00:29:40,000
So. One of the things that
really helped me when I was coming

387
00:29:40,079 --> 00:29:45,759
up as a developer was there was
a series called Railscasts and what it was

388
00:29:45,759 --> 00:29:48,359
was what's his name, It'll come
to me in a minute. Anyway,

389
00:29:48,680 --> 00:29:52,160
the guy that was putting it together, he did a video every week about

390
00:29:52,279 --> 00:29:56,160
some aspect of Rails, and I'd
like to do that for all the different

391
00:29:56,160 --> 00:29:59,599
shows that we have right so,
I'd like to have one for Angular or

392
00:29:59,599 --> 00:30:03,599
one for React and one for Ruby
and one for JavaScript. And I'm probably

393
00:30:03,599 --> 00:30:07,359
gonna do something, probably going to
be enlisting people to do the rest of

394
00:30:07,400 --> 00:30:10,519
them. So if you're interested in
doing it for React or for Angular,

395
00:30:10,599 --> 00:30:14,119
sorry not React, i haven't been
on the reaction for a while, a

396
00:30:14,160 --> 00:30:17,400
long while. But if you're interested
in doing it for for Angular, let

397
00:30:17,440 --> 00:30:21,640
me know. We're also doing an
Angular remote conference in November, so if

398
00:30:21,640 --> 00:30:25,759
you want to speak at that,
the CFP is open and you can buy

399
00:30:26,160 --> 00:30:29,599
tickets for it right now. And
it's a good time to kind of go

400
00:30:29,640 --> 00:30:32,000
to your boss and say, hey, look, this is a great way

401
00:30:32,079 --> 00:30:34,279
for me to kind of connect with
other people and level up and know what's

402
00:30:34,279 --> 00:30:37,240
going on in Angular and stuff like
that, especially if you couldn't make it

403
00:30:37,279 --> 00:30:41,440
to Anti comp which actually is going
on as we speak. But yeah,

404
00:30:41,480 --> 00:30:45,440
you know, it's just another opportunity
for you to get to interact with people.

405
00:30:45,799 --> 00:30:51,359
The system we're using allows you to
actually join conversations with people and talk

406
00:30:51,400 --> 00:30:56,200
to them kind of like how we're
talking from Utah India and Germany right over

407
00:30:56,759 --> 00:31:00,720
a video. It has tables and
allows like eight people to get on into

408
00:31:00,759 --> 00:31:07,200
a video voice chat talk like this. So we're gonna have a robust hallway

409
00:31:07,240 --> 00:31:10,160
track. And then if your company
is hiring or something and you want to

410
00:31:10,240 --> 00:31:12,160
sponsor and kind of get your name
out there, that's a good way to

411
00:31:12,160 --> 00:31:15,079
go too. But anyway, that's
just kind of the stuff I'm used in

412
00:31:15,119 --> 00:31:19,480
there. Like I said, the
email marketing system is Active Campaign. The

413
00:31:19,519 --> 00:31:23,920
texting system that I'm setting up is
on community dot com, and the phone

414
00:31:25,000 --> 00:31:26,880
number will also be on the website. You have to have a US number,

415
00:31:27,039 --> 00:31:30,640
I think US or Canada. I
think they're working on getting into texting

416
00:31:30,640 --> 00:31:33,160
systems for the other countries, but
I don't think you're there yet. And

417
00:31:33,200 --> 00:31:38,279
then the system we're using for the
conferences is called air meet. That's air

418
00:31:38,480 --> 00:31:41,480
a air Meet, And like I
said, we're you know, we're gonna

419
00:31:41,480 --> 00:31:45,720
have networking sessions in the whole nine
yards. But I'm really excited about all

420
00:31:45,720 --> 00:31:48,400
this stuff. It feels like it's
finally coming together. I've got I've got

421
00:31:48,400 --> 00:31:52,480
this vision of where we can get
to with this stuff. And ultimately what

422
00:31:52,519 --> 00:31:55,920
I'm about is I really just want
to help people. Hey, look,

423
00:31:55,960 --> 00:31:59,680
you know whatever your career is that
you're kind of dreaming of, you know,

424
00:31:59,680 --> 00:32:02,480
whether it's I want to be the
CTO of a startup that goes big,

425
00:32:02,680 --> 00:32:07,960
or you know, I just want
to be a senior developer and then

426
00:32:07,039 --> 00:32:12,480
go hiking in the afternoon and anything
in between. Right. I want to

427
00:32:12,519 --> 00:32:15,279
be an influencer with a podcast or
a blog, and I want to help

428
00:32:15,279 --> 00:32:16,799
people that way. I want to
give you the resources that you need in

429
00:32:16,920 --> 00:32:21,119
order to do that, and I
feel like kind of serving some of these

430
00:32:21,200 --> 00:32:24,480
technical skills needs is there. But
then the other thing is is I want

431
00:32:24,519 --> 00:32:30,200
to provide people with the coaching and
content that's going to help them go Okay.

432
00:32:30,640 --> 00:32:34,039
I know I need to level up
on how I talk to my coworkers,

433
00:32:34,519 --> 00:32:37,640
so I'm going to do a course
on that, right, Or I

434
00:32:37,720 --> 00:32:42,039
need to know how to lead a
team, right because I'm kind of at

435
00:32:42,039 --> 00:32:44,079
that place where I'm starting to become
a team leader, and I want to

436
00:32:44,079 --> 00:32:47,079
put that stuff together so that whatever
it is that you're dreaming you want,

437
00:32:47,240 --> 00:32:50,960
you can have. And in the
meantime, I'm also doing some coaching.

438
00:32:51,000 --> 00:32:52,359
So if you go to top endev
dot com, slash coaching. You can

439
00:32:52,440 --> 00:32:55,799
sign up for some of that stuff. What it'll do is it'll actually fill

440
00:32:55,799 --> 00:33:00,240
in the form and then you'll get
a link where you can schedule or a

441
00:33:00,240 --> 00:33:02,720
half hour call with me and we'll
just talk through what you need and then

442
00:33:02,720 --> 00:33:07,480
we'll figure out how we can do
weekly follow up to get you where you

443
00:33:07,519 --> 00:33:09,519
want to go. Plus any other
content that I'm making for people. You

444
00:33:09,559 --> 00:33:13,839
know, a lot of that will
be focused around the questions people are asking

445
00:33:13,880 --> 00:33:16,279
and the coaching because I know how
to address that. So anyway, and

446
00:33:16,319 --> 00:33:20,519
I've helped people through this stuff for
years, and I'm excited to be able

447
00:33:20,559 --> 00:33:23,400
to do it in a more focused
way. But anyway, I have rambled

448
00:33:23,400 --> 00:33:27,000
long enough. But yeah, one
of the things he did is he walked

449
00:33:27,000 --> 00:33:30,720
me through that visioning stuff and I've
just I've been fired up every ever since

450
00:33:30,720 --> 00:33:35,000
then because i just keep thinking about
kind of what it feels like and what

451
00:33:35,039 --> 00:33:37,640
it looks like. So anyway,
Maria, what are your picks? Wow,

452
00:33:37,759 --> 00:33:45,920
I'm still so enchanted by this inspirational
talk. So I've prepared two picks

453
00:33:45,079 --> 00:33:51,559
because I actually I really like those
life coding sessions with my business colleagues where

454
00:33:51,839 --> 00:33:55,079
they come with some ideas to me, like, you know, once they

455
00:33:55,079 --> 00:33:59,000
see the buttons, they want to
change the buttons. So we got to

456
00:33:59,039 --> 00:34:02,799
go sit together and I just shift
those buttons, change the color and change

457
00:34:02,799 --> 00:34:07,480
the phone size, et cetera,
so that we are co creating our application.

458
00:34:08,119 --> 00:34:13,599
And then I realized, why not
give them this opportunity to do this

459
00:34:13,719 --> 00:34:17,800
by themselves. So my business colleagues
have learned how to work with def tools,

460
00:34:17,840 --> 00:34:22,760
which is a huge step forward,
so they can change there. Yes,

461
00:34:22,000 --> 00:34:29,039
there are huge respects on them because
this way they can change some texts

462
00:34:29,039 --> 00:34:32,519
on the website because they can edit
it in the developer tools. And recently

463
00:34:32,559 --> 00:34:38,360
I've learned that actually we have a
browser API which enables this for everyone,

464
00:34:38,719 --> 00:34:44,039
which is called document Design Mode.
So once you switch design mode to on,

465
00:34:44,519 --> 00:34:46,800
like there is on and off and
off is default, then you can

466
00:34:47,000 --> 00:34:52,199
change all the text data all.
You can delete all the elements from the

467
00:34:52,239 --> 00:34:55,480
website. And fortunately you cannot add
more buttons by yourself, but at least

468
00:34:55,519 --> 00:35:00,519
you can change all the text on
a website without any additional tools. So

469
00:35:00,599 --> 00:35:06,679
it's quite easy to switch on this
mode, and then the business guys can

470
00:35:06,760 --> 00:35:09,760
work with a website change their wording. That's one pick that i'd like to

471
00:35:09,840 --> 00:35:16,280
introduce also in my team, and
another one has been recommended to me today

472
00:35:16,480 --> 00:35:22,480
by one Hour testers. This is
a Chrome extension which is called tweak Mark

473
00:35:22,480 --> 00:35:27,679
can modify HDDP requests which fits to
our topic. And I find it really

474
00:35:27,719 --> 00:35:32,360
cool that our testers recommended this to
me because he was so excited that this

475
00:35:32,519 --> 00:35:38,119
tool, this extension helped him a
lot working with HDP requests and doing what

476
00:35:38,119 --> 00:35:45,159
we were discussing before. So this
is something which enables test our testers to

477
00:35:45,199 --> 00:35:50,760
test my software and gives me more
time to focus on my coding instead of

478
00:35:50,840 --> 00:35:55,559
supporting the testers and providing something some
tooling for them how to mock requests.

479
00:35:55,639 --> 00:36:00,159
They have this extension and they can
work with us by the links to both

480
00:36:00,320 --> 00:36:07,559
of my picks, the documentation of
the API and the link to this extension.

481
00:36:07,039 --> 00:36:13,679
But those tools are for me something
which helps my team members to be

482
00:36:13,679 --> 00:36:16,679
in the whole development process, and
I like it. That's awesome. I

483
00:36:16,760 --> 00:36:22,079
might have to pick your brain and
share it with people on how you get

484
00:36:22,079 --> 00:36:28,519
the business people into because you know, because that level of collaboration is really

485
00:36:28,559 --> 00:36:32,119
hard to get and you know,
not that they have to learn how to

486
00:36:32,119 --> 00:36:37,480
code necessarily, but just so that
they can kind of then get their fingers

487
00:36:37,519 --> 00:36:39,840
on what's actually going on. Yeah, it helps a lot, It helps

488
00:36:39,880 --> 00:36:43,920
read a lot. Yeah yeah,
I mean that's ultimately what it's about,

489
00:36:43,960 --> 00:36:46,760
right, It's that communication, that
the level of communication yet very cool.

490
00:36:46,880 --> 00:36:50,320
Well we'll go ahead and wrap it
up. This was awesome, Maria,

491
00:36:50,400 --> 00:36:52,480
Thank you so much for coming and
sharing with us. And yeah, I

492
00:36:52,480 --> 00:36:57,320
had no idea that this proxy stuff
was even built into Angular, so thank

493
00:36:57,360 --> 00:36:59,760
you for having me. It was
fun. All right, Well we'll wrap

494
00:36:59,800 --> 00:37:01,239
it up here. Until next time, folks max out
