Write Junior Code in Scala
What makes us excited when coding? Refactoring the code, involving new technology, or using a fantastic solution to resolve a hard problem?
What makes us excited when coding? Refactoring the code, involving new technology, or using a fantastic solution to resolve a hard problem?
In 2022, I’m back to the Java tech stack(I should be crazy!). There is a poetry in China: “Of Mountain Lu we cannot make out the true face, For we are lost ...
I developed a scala log library…
What is Central Repository?
Tagless Final is a coding pattern in Scala.
In this blog, I will share some practice in our Scala project, hope this can help you.
We already introduced Reader Monad, It can inject dependency to function by returning a Reader effect.
Reader Monad is very popular in FP, you can find lots of high quality blogs by Google.
Cake Pattern is the inborn Dependency Injection in Scala.
In this blog, we will talk about Self-types which is not used very often, but it’s an important concept to understand Cake Pattern, so it’s worth to do a sim...
Database is always a thing for developer to consider, there are lots of tools in other languages. In this blog, Let’s introduce a tool for Scala developer: ...
When we talk about Free Monad, almost everyone just tell us Free Monad can split the definition and implementation of program which is more flexible and easy...
What is http4s?
In this blog we will talk about Monad which is the core concept of FP. We won’t touch any category theory which belong to mathematics. We will try to find ou...
In the micro service, we always use RESTFul API as communication protocol which pass data using JSON format. So the mapping between JSON and Data Model is an...
In this small blog, we will try to summarize the usage of underscore in Scala.
In this blog, we will talk about Algebraic Data Type in Scala and try to find out why we need it.
In this blog, we will talk about the nature of Functional Programming.
In this blog, we will talk about Type Class in Scala and try to find out why we need this pattern.
In the world of Functional Programming, we are familiar with the Side-Effect1, but we rarely mentioned Effect. In this blog, we will try to explain it from c...
In this blog, we will talk about map and flatMap again. they are the most common monadic operations in functional programming. I don’t want to tell you what’...
In this blog we will talk about scala.util.Try and try to figure out if it is a Monad.
We have talked about Implicits1 and Variances2 detailedly, In this blog we will talk about an edge case when use them together. Implicits ...
In this blog, we will talk about the basic knowledge of Implicits in Scala and some common programming situations where you can use Implicits.
In this blog we will talk about the problem of list concatenation and give a rough introduction to Trampoline.1 Steven E. Ganz and Daniel P. ...
Pattern matching is a powerful tool in Scala. it has a common syntax like
Are you familiar with this error? do you remember the nightmare when writing recursive methods? In this post, we will talk about a technique to eliminate Sta...
Seems it’s very hard, but it follows the Pareto principle…
In 2022, I’m back to the Java tech stack(I should be crazy!). There is a poetry in China: “Of Mountain Lu we cannot make out the true face, For we are lost ...
Are you familiar with this error? do you remember the nightmare when writing recursive methods? In this post, we will talk about a technique to eliminate Sta...
In China, we can’t use google, lots of people will set up their VPN. But if we only use Google to search, running a VPN instance is too expensive.
What is the purpose of Bug analysis? Some people think it is to classify Bugs, others think it is to prevent Bugs from reoccurring, and some think it is to i...
What makes us excited when coding? Refactoring the code, involving new technology, or using a fantastic solution to resolve a hard problem?
This article introduces our attempt to apply GenAI in UI automation testing. We developed an AI Testing Tool based on gpt-4-turbo and Appium for POC. It enab...
In the article Let’s try having ChatGPT ask us questions, we explored how to guide ChatGPT to interact with us in the form of questions. This article applies...
Recently I listened to a lecture by Xu Hao(徐昊) about how to train ChatGPT to become a domain expert so we can use it to solve various problems in that domain...
What is the purpose of Bug analysis? Some people think it is to classify Bugs, others think it is to prevent Bugs from reoccurring, and some think it is to i...
What is the purpose of Bug analysis? Some people think it is to classify Bugs, others think it is to prevent Bugs from reoccurring, and some think it is to i...
DynamoDB is a no-sql database supplied by AWS, we will talk about some basic knowledge and best practice about it.
DynamoDB is a no-sql database supplied by AWS, we will talk about some basic knowledge and best practice about it.
Blog is a good place to share your knowledge, enhance your skills. It’s pretty cool to have your own blog website.
Vim is an awesome editor and you can find the Vim simlulator in lots of popular editors(such as Intellij Idea, Atom, Sublime Text). it will make your life mo...
Recently I read a book Mastering OAuth 2.01, it give me a very clear picture for this protocol. In this blog I want to share the knowledge I learned in this ...
接触Python也有五六年了,一直都是小打小闹,撑死了也就一个几十行的小脚本。 大型工程也就知道需要一个requirement.txt去管理依赖,从来没有实践过。 前段时间用Python开发了一个图床工具simple-image-tool, 在这里分享一下用到的工程管理工具Poetry(主页很酷炫)
Scala3 did lots of improvement in Implicit, which is the most painful feature in Scala2.
This article introduces our attempt to apply GenAI in UI automation testing. We developed an AI Testing Tool based on gpt-4-turbo and Appium for POC. It enab...
This article introduces our attempt to apply GenAI in UI automation testing. We developed an AI Testing Tool based on gpt-4-turbo and Appium for POC. It enab...