Hi, welcome to my blog.
This is my first time writing a blog, for me, it's a new adventure
First of all, who am I
I'm a high school student lives in China, I study in an international school. School is hard and tedious for me, although I'm busy all the time (or at least I should), I always try my best to squeeze out some time to write programs, complete projects. Though there's no computer science class in school (I would be so glad if we do have one), so I learned computer programming all by my self.
Me & Programming
Things I use/language I write
- Kotlin: I have been using Kotlin since grade 10, I'm using it primarily for its data class, inline class, and coroutine features. At a time I was trying to make an HTTPS-based client, I wanted to try out either Kotlin coroutine or RxJava. I've chosen Kotlin, and have been using it till now. But I'm not too much a fan of Kotlin's extension function (although I do use it) and other syntaxes, so I would probably go back to Java after project loom (java coroutine), record class type (data class) and project Valhalla (value type) all comes out.
- Java: The second programming language I learned (first one was pascal lol). I learned this language originally with the intention of making a Minecraft mod, haven't tried to make one yet. I like java, I like the fact that it has a well-formed, rich eco-system full of intelligent people.
- Github: Every programmer uses Github at least at some point in their life :)
- Tencent Cloud: My school project is built upon it, just a Tencent version of AWS, it has free docker repository service and its HongKong server has a better connection quality than Aliyun's.
- CloudCone: Just a nice VPS provider :D, my email is built on their service, my projects are hosted on their service, their pricing is affordable, and access speed from China is not bad
- Vert.x: Since I'm running on a budget VPS (1c 1g), I have to choose a lightweight framework, vert.x seems to be a good choice. Besides its small footprint, it also has good support for kotlin and provides integrations to Kotlin Coroutinue.
- Spring + Hibernate + MySQL: The tool kit I used for my first web project, although it's simple, effortless, it has too much memory overhead and feels cumbersome. and it hides a lot of things I want to learn, so I abandoned it.
- JavaFX: I built my first application based on JavaFx, learned first few design patterns (annotation-driven pattern, observer pattern, etc)
IDE & Misc
- Intellij IDEA: love it :D!
- Caddy: easy to use configurations, automatic free letsencrypt SSL management, secure TLS settings, and most of all QUIC!
- Docker: Learning continuous deployment so docker is a must!
- ProtoBuf: a good tool for communications between services, it avoids the hassle of request validation and documentation, I think it's far better than JSON
Projects I've done (not ordered)
- A JavaFX application for school bus management
- Http based client applications
- Kotlin Recaptcha Client
- IC card copy
- A blog (abandoned)
- A forum (under active development)
Conferences I watch
- Google Chrome Developers (Http 203)
I figured that's all I have to show in a dev forum? (lol)
I want to learn computer science at the university but confused about whether I should aim to be a web developer latter in my career, computer science is such a big genre, there's much more else than web science, graphics, hardware, compiler, theories, all seem interesting to me, so I'm trying to not stuck myself in learning web stuff.
Though I'm still too busy as a student after all, frankly computer programming has taken me a lot of time and is impacting my grade.
Why do I want to try blogging
Because learning is fun, the excitement felt when first learning Vue, spring, vert.x, kotlin, reading java's roadmap, the satisfaction of finally completed a project, or a subset of it, they're the best moments of programming. I want to record them, reflect on them, review things I've learned through them, record the frustrations and the excitement, so when the day I come back, I can remember those good moments; I want to share my knowledge, my learning process, maybe I'm solving a question others are struggling as well; I want to improve my writing on expressing feelings, communicating thoughts, sharing ideas and experiments, I think writing blog will be the best medium.
I did do some vlogs as a medium for recording events, thoughts, they're for life in general (I never publish them), but vlogging is not suitable for coding, blogging shows the full picture better and forces me to understand concepts more :D
No plans of any kind for this blog (lol)
I'll be busy in the next few months so I won't have time to write and do research :(