This repository was archived by the owner on Aug 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNotes.txt
More file actions
215 lines (172 loc) · 9.03 KB
/
Notes.txt
File metadata and controls
215 lines (172 loc) · 9.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
8/24
-https://github.com/microsoft/semantic-kernel/discussions/438
8/7
-I think I should create an IEntity abstraction...
8/3
-Done a lot of work on the Blazor UI and learnt a ton about HTML, CSS and JS.
I am now able to do a lot of things.
-I made a massive update to TODOs.txt so I now have an fairly complete list of things to do.
7/29
-Added full text search to the migrations and then built a bunch of tests for it.
-
7/22
-Excellent experience with RadZen stuff. Really natural for me now.
-Selected a PRO theme. Will need to resolve later before going commercial.
-DataList (https://blazor.radzen.com/datalist)
-Perfect for both infinite scrolling and data grid style
-DataFilter (https://blazor.radzen.com/datafilter-loaddata)
-Almost-perfect filter UI.
7/20
-Yesterday was a great day. I feel unstuck with the UI now. By making the html-pure example for the
VideoCard (see yest nots) I realized I could write the whole UI by simply using basic Blazor (without Balzorise)
and following the bootstrap specs instead of Balzorise's!!!
-The downside is I need to be more intimate with a JS framework...
-A pro is I could get regular web devs and they would find themselves more at home than with Blasorize stuff
7/19
From VideoCard
@*<div class="card" style="width: 100%;">
<img src="https://codingyaar.com/wp-content/uploads/bootstrap-4-card-image-left-demo-image.jpg" class="card-img-top" />
<div class="card-body">
<h5 class="card-title">@Video.Name</h5>
<h6 class="card-subtitle mb-2 text-muted">
<Badge Color="Color.Primary">@(Video.Tags?.Count() ?? 0) Tags</Badge>
</h6>
<p class="card-text">@TruncateDescription(Video.Description).</p>
<Button Color="Color.Primary" Margin="Margin.Is2.FromTop" Type="ButtonType.Link"
To="@Video.Location" Target="Target.Blank">
Watch
</Button>
<Button Color="Color.Primary" Margin="Margin.Is2.FromTop" @onclick=OnEditClicked>
Read more <Icon Name="IconName.ArrowRight" />
</Button>
</div>
</div>*@
7/16
-BIG EPHIPHANY: I am quite happy with many things but I realized I should consolidate the Intrastructure tests
in one assembly. In order to test the YT transcript import I need to access the db and this makes
me have to configure a whole set of things in YouTube tests that make the separate test assembly
useless.
-Closing the Upsert branch (it's a bit more complex than that: some things can upsert, some (eg videos) cannot not
as we don't allow editing all fields on update!)
7/15
-Some constructors and factories need work
-PlaylistVideo is missing the jsonconstructor
-Are the factory methods a good idea?
7/14
-The handlers are in the wrong place. I should move them to Application since I adopted
the IRepository<> stuff and their implementation should be EF independent.
-Nice post about DTOs and domain objects: https://stackoverflow.com/questions/73640666/should-handler-from-the-application-layer-return-dto-or-domain-object
7/13
-Learnt how to revert check ins in Github! I made a ton of work trying to get LinqPAD to work (unsuccessfully).
The branch name has the text 'linqpad' in it.
-
7/4
-IVideoService is used in 2 spots (handler *and* the seeder!): it does make sense to keep it.
-Massive work of clean up:
-Domain assembly is very clean
-Application assembly is very clean
-And so are the others, until proven wrong.
-All important tests work (108/117)
6/30
-A lot of other good changes
-Introduced ValueObject
-Made Ids a ValueObject
-Simplified navigations for EF
-TIP: do not use strongly typed IDs in the web api. They don't look good (complexity in JSON)
6/28
-Did a ton of work to improve the architecture.
-The Domain belongs. While it looked appealing to have that stuff in the Data assembly,
it really belongs in a different place if we follow DDD.
6/19
-Worked all weekend and I think I finally resolved my problems with CA and DDD.
-I have virtually no use for aggregates right now
-The Domain assembly seems to only add complexity: vertical slice architecture is much easier
6/13
-FINALLY PUBLISHED APP on AZURE!
-Should move to github actions
-Managed to transcribe a good chunk of our MC#1
-It's slow... Does it need to listen to everything at the same speed we talk?!?!?
-Added some WAV samples from https://voiceage.com/Audio-Samples-AMR-WB.html
-Had a hickup in the speech tests: I forgot to mark the Theory arguments wqith FromServices
5/22
-Should look into DDD and CA and see how aggregates and stuff truly work.
5/20
-Made a lot of progress with the diagrams. I have enough to start trying Blazor code
without wasting time figuring out the UI.
-Object Model changes:
-Add Collections (video collection?) and remove folders?
-A video can be in multiple collections, so it works a little bit like tags.
-I should make these changes and make sure I have the right test data instead of
wasting time making mocks in the client
-Semantic search is what I should think about vs the old 'sql-like filter' approach.
5/14
-When i buuild the Blazor SS app, I should use all messages from the API directly
5/13
-Watched Google IO donference
-Tailwind notebook
-UI like VideoM
-Metadata in AI artifacts
-Eliminate/gauge toxicity in AI models and general text
5/3
-Starting to reproduce the following:
-https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb?ref=mlq.ai
-Everything uses IRepository and IReadOnlyRepository.
-Found several articles on chunking
-I will try to follow this one: https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb?ref=mlq.ai
4/29
-Added WebAPI to the project. Technically we have a REST endpoint!
-Trying to code a Blazor app that uses only the Swagger stuff.
-This is already showing me that the APi generation is not as good as I thought: the result
types are not being generated correctly. I'm getting a lot of voide methods for Queryes.
-Fixed using ProducesResponseType and AsParameters (<-- glorious!!)
-Weird docker issue after restart. Sql 2022 gives me 'A connection was successfully established
with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider,
error: 0 - An existing connection was forcibly closed by the remote host.)'
-I had to install 2019.
4/28
-Great day with a lot of things. I think I'm getting close to a MVP.
4/27
-Lots of problems with DbContext's ChangeTracker
-Tests like ApplicationTests.ImportVideoCommandWorks() was blowing up because the
ChangeTracker was tracking the Video object
-Resolved by clearing the ChangeTracker in the SaveChangesAsync
-https://itsnotbugitsfeature.com/tag/entityframework/
-https://www.entityframeworktutorial.net/efcore/update-data-in-entity-framework-core.aspx
-https://www.learnentityframeworkcore.com/dbcontext/modifying-data
-https://pmichaels.net/entity-framework-error-cannot-be-tracked/entity-framework-cannot-be-tracked/
-Adding IRepository stuff
-Key articles so far:
- https://deviq.com/design-patterns
- https://deviq.com/design-patterns/specification-pattern
- http://specification.ardalis.com/
4/26
-Most of the day on Specifications. Great results!
4/25
-Renamed Drivers to Infrastructure. It's a better name and more DDD-ish.
4/24
-Need to create test for the application Commands and Queries
4/23
-Investigating into DDD class design.
1. https://ssw.com.au/rules/rules-to-better-clean-architecture/
2. https://www.thereformedprogrammer.net/creating-domain-driven-design-entity-classes-with-entity-framework-core/
3. https://stackoverflow.com/questions/20886049/ef-code-first-foreign-key-without-navigation-property
Very good explanation of how to design classes following DDD conventions. See init properties all over the place.
"I don't need navigation properties (although they're nice) because I am practicing DDD and I want Parent and Child
to be two separate aggregate roots. I want them to be able to talk to each other via foreign key not through
infrastructure-specific Entity Framework navigation properties.
All you have to do is to configure the relationship on one side using HasOne and WithMany without specifying the
navigation properties (they're not there after all)."
-Seems to work well. I like the fact I didn't use *ANY* navigation properties in EF. It's much cleaner, or so it seems at the moment.
4/22
-Talked to ChatGPT to help me make this layout.
|---------------------------------------------------------|
| Videomatic | Search Box | Icon1 | Icon 2 |
|---------------------------------------------------------|
| Home | | |
| YouTube Playlists | | Expand |
| Google Drive | Infinite scroll area | Hide |
| Updates | | Area |
| FAQ | | |
|---------------------------------------------------------|
|Text1 | Text2 |Text3 |
|---------------------------------------------------------|