ฝึกพูดภาษาอังกฤษด้วยเทคนิค Shadowing จากวิดีโอ: Why 95% of Android Developers Get Use Cases Wrong

กำลังสร้างบทเรียน...
1
Hey guys and welcome back to a new video.
2
95% of Android developers use use cases wrong.
3
It's a catchy title, but I really mean that number.
4
I will tell you why.
5
Because use cases on Android and in software development in general are so often misunderstood.
6
I also myself misunderstood them when initially getting into these.
7
I'm pretty sure you can still find some super old videos on my channel where I'm also making the mistake
8
that I talk about in this video.
9
If your use case looks like this to get some user information, then you are doing it wrong.
10
Why is that?
11
In order to understand what use cases should contain and what kinds of use cases you should create, if you decide to stick to use cases,
12
we need to understand what a use case is originally meant to be in the context of software engineering.
13
And if we actually just Google for that, use cases software development, and we just click on a random picture here, then we have, for example, a library information system.
14
And then we have some use cases.
15
This is what we call a use case diagram.
16
Maybe you remember that from university or so.
17
to browse books, checkout books, return books, update the catalog, clicking here, view items, make purchase, checkout, client register.
18
If we carefully think about these use cases here, how they are named, view items, browse books, checkout books, what do all these have in common?
19
They all have in common that the user is actively aware about these things happening
20
because it is a real use case of your app.
21
And if you have a use case, then you can use it as a user.
22
Now, when we talk about email validation, is that a use case?
23
Is this something where a user would go to your app and now say, ah, now I'm going to validate my email, or now I'm going to clear my session.
24
Or hey, now I will retrieve a user by its ID.
25
No, they actually have no idea that these things happen.
26
These are rather just side effects of a real use case.
27
The user definitely knows that they are currently registering an account.
28
And email validation is just a side effect, something that happens as part of registering an account, but it's not something that the user actively has in their mind when they go through registration.
29
So if we take a look at some real use cases, the way it's really intended here on the correct, then we, for example, have this register use case.
30
And you can see suddenly it starts to contain real logic.
31
It's not just a single line of code that calls a repository or some kind of validation class, but it's a real use case that combines multiple pieces of business logic into a use case,
32
into something the user can do with your app that they are aware about.
33
So this would be a good example for a use case because the user knows that they are registering an account.
34
Of course, what's part of the use case is actually validating the email.
35
It's validating the password.
36
It is actually making the call to our remote API, for example.
37
It is then handling the errors and actually forwarding these to whatever class calls this use case.
38
That is a good example of a use case.
39
Well, let's take a look at this logout use case a user certainly knows that they are logging out.
40
But what internally happens as part of logging out, like actually making the network call, clearing the session, clearing their shopping cart, that's something they don't know and they don't have to know.
41
So the use case actually just bundles these function calls and makes sure that they are executed in the right order.
42
So we have a reusable kind of package for logging out and we just need to invoke the logout use case.
43
So other parts of our app also don't need to know what internally happens when we log out.
44
And all these other classes that act as utility for our use cases, like validating an email, this is of course still business logic.
45
This still lives in your domain layer, but it's not a use case.
46
So you really just make this a plain class, call it whatever it's responsible for, email validator, password validator, and then suddenly use cases make a lot more sense.
47
As you know, I'm usually not for using use cases a lot
48
because you will still often have these pretty much empty use cases, even when doing it the correct way.
49
So for example, if you say you want to fetch your nodes, so you actually want to see the nodes as a list, and then there's usually just a call to a REST API.
50
So you just forward this to your repository.
51
There's no error handling or so.
52
Maybe the repository already handles that, but no real business logic error handling in the use case itself.
53
But there are certainly use cases that make a lot of sense.
54
Like here, bundling these different calls here into a logout use case makes a lot of sense
55
because you will never again have to memorize what logging out really does in your app.
56
Instead, you just call this use case.
57
You never have to memorize what registration actually means and does in your app, unless you're, of course, responsible for working on that part.
58
But you can really just invoke the use case
59
and you know the use case involves the business logic to take care of that.
60
And if you stick to use cases in your app and you actually stick to them like this the right way, then I don't have a big problem with that.
61
Still, I personally lean more towards not using them at all
62
and just also bundling such business logic either in the view model or the repository, at least for small to medium-sized projects.
63
But for larger projects, this can make a lot of sense and I would also really consider having use cases there.
64
Now, if you feel like, okay, there is still a lot to learn about Android architecture, about Kotlin multi-platform architecture, then I can help you with exactly that
65
because we have our senior app developer mentoring where you get to build a real production project over multiple months
66
and have all your code reviewed by your personal mentors, including me.
67
This way we can spot issues in your app's architecture.
68
You actually have no idea about that these even exist.
69
If you're making mistakes you don't know of, then you obviously can learn from these mistakes.
70
So this is really a fast lane program here for you to grow to a senior developer level.
71
Link is below.
72
You can apply to this program.
73
We can have a chat if this could be a fit.
74
You can't just buy it on that website like a course, but we really first of all have to talk if we can help, how we can help, how it makes sense for you in order to also craft an individual learning plan for you.
75
So take a look at that.
76
Thanks for watching and I will see you back in the next video.
77
Have an amazing rest of your week.
78
Bye bye.

ทำไมการฝึกพูดกับวิดีโอนี้ถึงสำคัญ?

การฝึกพูดภาษาอังกฤษผ่านวิดีโอนี้ไม่เพียงแค่ช่วยให้คุณเรียนรู้การใช้ศัพท์และโครงสร้างประโยคที่ถูกต้อง แต่ยังสร้างความมั่นใจให้กับคุณในการสื่อสารอย่างมีประสิทธิภาพ ในวิดีโอนี้มีการแสดงตัวอย่างการใช้ use cases ในการพัฒนาแอปพลิเคชัน ซึ่งคุณสามารถนำเคล็ดลับเหล่านี้ไปปรับใช้ในชีวิตประจำวันหรือในบริบทการทำงานได้ การฝึกพูดตามวิดีโอจะช่วยให้คุณพัฒนาทักษะการฟังและการพูด โดยเฉพาะอย่างยิ่งเมื่อคุณใช้เทคนิค shadowspeak หรือ shadowspeaks ที่ช่วยให้คุณเลียนแบบน้ำเสียงและการพูดของผู้พูดได้อย่างใกล้ชิด

ไวยากรณ์ & สำนวนในบริบท

ในวิดีโอนี้มีโครงสร้างและสำนวนที่สำคัญหลายอย่างที่สามารถนำไปใช้ได้ เช่น:

  • “Is this something where a user would go to your app...” - การตั้งคำถามที่ช่วยให้ผู้ฟังคิดตาม
  • “What do all these have in common?” - การสร้างการเชื่อมโยงระหว่างแนวคิด
  • “This is a good example of a use case” - การยกตัวอย่างเพื่อทำให้เข้าใจได้ง่ายขึ้น

การใช้โครงสร้างเหล่านี้ช่วยให้การสื่อสารมีความชัดเจนและน่าสนใจมากขึ้น คุณสามารถฝึกพูดตามเหล่านี้เพื่อสร้างความคุ้นเคยและปรับปรุงทักษะการพูดของคุณ

กับดักการออกเสียงทั่วไป

ในการฝึกพูด มีคำและแบบแผนการออกเสียงที่อาจทำให้คุณสับสนได้ เช่น:

  • “use case” - คำนี้อาจจะออกเสียงยากสำหรับบางคน เพราะเป็นคำที่ใช้ในบริบททางเทคนิค
  • “validate” และ “session” - คำเหล่านี้มีเสียงสระและพยัญชนะที่อาจจะต้องฝึกฝนบ่อยๆ

การฝึกฝนการออกเสียงของคำเหล่านี้จะช่วยให้คุณสามารถพูดภาษาอังกฤษได้อย่างมั่นใจและเป็นธรรมชาติมากขึ้น โดยเฉพาะเมื่อคุณพยายามเลียนแบบน้ำเสียงและจังหวะของผู้พูดในวิดีโอ การเรียนรู้จากวิดีโอเป็นวิธีที่มีประสิทธิภาพในการพัฒนาทักษะการพูดภาษาอังกฤษ และการใช้เทคนิค shadow speak จะช่วยให้คุณเรียนรู้ได้ดีขึ้นในการสื่อสารในชีวิตจริง

เทคนิค Shadowing คืออะไร?

Shadowing เป็นเทคนิคการเรียนรู้ภาษาที่ได้รับการรับรองทางวิทยาศาสตร์ พัฒนาขึ้นสำหรับการฝึกนักแปลมืออาชีพ วิธีการนี้เรียบง่ายแต่ทรงพลัง: คุณฟังเสียงภาษาอังกฤษจากเจ้าของภาษาและพูดตามทันที — เหมือนเงาที่ตามผู้พูดด้วยช่วงเวลาห่าง 1-2 วินาที การวิจัยแสดงว่าเทคนิคนี้ปรับปรุงความแม่นยำในการออกเสียง ทำนองเสียง จังหวะ การเชื่อมเสียง การฟังเข้าใจ และความคล่องแคล่วในการพูดได้อย่างมีนัยสำคัญ

เทคนิค shadowing: อ่านคู่มือฉบับเต็มทีละขั้นตอน →