Joke Collection Website - Bulletin headlines - Exposing a website, I spent a weekend on it.

Exposing a website, I spent a weekend on it.

Hello, why am I?

What did you do last weekend? Are you rolling it up or lying flat?

I actually wanted to lie flat, but I came across a learning website, which attracted me very much, and then I rolled it up.

It is really a very good website. Sharing is a good thing, so I decided to "expose".

Before introducing this website, let me ask you a question:

I believe that most students know this, but a large part of them just stay at the stage of "talking on paper".

I haven't actually operated it myself.

Why?

I guess when you first got to know Alsace, you must have been attracted by its cool operation and pages.

Thought: lying in the trough, so 6?

I am eager to prepare for practical exercises. As a result, I need to make a Demo myself, throw it on the server, and then install Alsace on the server before I can analyze it.

This operation is no problem for most people.

But there are still quite a few students who don't have their own servers.

You cannot make a silk purse out of a sow's ear.

The first step is stuck.

Intention to practice, but the conditions are limited.

So the matter was shelved. Because I haven't practiced, I almost forgot all kinds of Sao operations about Alsace.

No Demo, no server, no server with good environment.

This kind of problem often appears, which can be regarded as the "last mile" problem encountered in learning.

I came across this website to solve the "last mile" problem.

It may not be perfect, but at least the support on Alsace is impeccable, and it is really hands-on.

With so many shops, what is that website?

Is the following website:

Zhihu Mobile Lab is a cloud native open source technology experience platform created by Ali's Alibaba Cloud.

It comes with its own running environment.

Users only need to care about the course content itself, and don't have to waste time preparing a complex running environment. All experiments are run in a container with a pre-prepared running environment.

It has an immersive learning experience.

Set up interactive documents, terminals and editors in a browser page, without copying and pasting back and forth in multiple windows.

It can automatically execute commands and automatically modify the code with one click.

Documents can interact in real time, and the mouse can automatically execute commands, code automatic modification and other operations; You can also choose to manually enter the viewing effect in the terminal or editor.

I know, the painting style here looks like an advertisement.

But I swear, I am really tap water, and I really recommend it.

Knowing the mobile lab, we can see that the name emphasizes "integration of knowledge and practice" and "hands-on".

I once read an article by Ali, entitled "I see the growth path of technical people".

But in reality, we have to admit that self-study accounts for a considerable proportion.

And everyone has a common problem when they teach themselves: just look, just think, and basically do nothing.

What impressed me most about hands-on is when I read this book:

I remember reading this book when I graduated more than a year ago.

At that time, I thought the technical book was quite expensive, so I bought it with my colleagues. One person gave half the money and put it in the office for everyone to see.

I browsed the book as soon as I had time at that time.

When I first read it, I thought: Wow, this is really a good book. It's full of knowledge I don't know.

But not long after reading it, I came across a question and thought about it for a long time: hey, this question seems to have been mentioned in the book, why can't you remember it?

So I asked my colleague: What do you think of this book? I turned over every page of the book some time ago, and now I can't remember many things clearly.

He told me: first of all, you should read more books. This book is still too informative for you. Yes, it is normal that it is not completely absorbed. Also, have you followed so many hands-on examples in the book? I have done it all, and I have encountered all kinds of pits. The impression is naturally a little deep.

It can be said that a word woke up the dreamer, and I really didn't practice.

Not only did I not practice, but I even glanced at the actual part when I saw the specific command, because I didn't think this part was important.

Later, I watched it again. This time, I set up several servers and typed all the commands on them with the book.

The progress is much slower, but the things absorbed are much more.

Several years have passed, and today I still remember going to the company to read this book at the weekend. I remember all kinds of strange problems I encountered when I built a cluster with books. I remember the 16384 slot, and the redis-trib.rb that I have been unable to run.

I remember one time a few years later, the interviewer asked me: Do you know the cluster of Redis? Have you ever built a cluster yourself?

Of course I remember, after all, when the young man with only one year's experience had crustily skin of head to form a cluster, his mentality had been broken several times.

There are also 45 lectures on MySQL actual combat, how MySQL works and high-performance MySQL that I have watched intermittently recently.

In fact, there are many examples, especially the 45 lectures, which are all good things. What the teacher said was all cases.

I'll take my time. Anyway, whether I understand it or not, I'll open a few windows first, and then I'll prepare the experimental SQL and follow the teacher step by step.

Anyway, it's time to do it. Practice is the only way to learn new technology.

Doing middle school means doing it by hand and learning while doing it.

But most of the time is spent on the preparation of the environment, which leads to a bit low efficiency.

And this website, in some projects, has solved this problem.

Go back to the mobile lab and show you around this website.

Seriously, there are not many things on this website at present, which means I spent a weekend studying them.

Mainly there are some open source projects that I don't know much about, so I learned about them and broadened my horizons.

The main theme is some technology stack under Ali's ecology. At present, a * * * has 16 tutorial:

As you can see, the first thing that catches your eye is Arthas, a diagnostic tool. After all, he is one of Ali's more promising sons.

Overall promotion is not too much.

Arthas is divided into four courses, from introduction to practice.

Followed by the experience of Chunyun Alibaba series:

In six small experiments, distributed configuration, service registration and discovery are all based on Nacos. RPC calls use Dubbo Spring Cloud, current limiting and fusing are based on Sentinel, distributed transactions use Seata, and distributed messages are based on RocketMQ.

It basically covers the main modules of micro-service development.

This is a complete experience.

Of course, there are other practical tutorials about RocketMQ, Dapr, Dubbogo, ChaosBlade and k8s, so I won't explain them one by one.

At present, everyone knows that there are these things in it.

These people may be a little strange to Dapr and ChaosBlade.

Say it briefly.

The full name of Dapr is distributed application runtime, which is translated as distributed application runtime.

Mainly serving the cloud.

It should belong to a technology in the service grid, which supports the runtime of k8s, with the purpose of better isolating services and making them less aware of infrastructure such as middleware.

In fact, the goal of using it should be istio architecture.

It should be noted that Dapr is an open source project initiated by Microsoft, not Ali.

Ali is a deep participant and early adopter of Dapr open source project, which is equivalent to endorsing a domestic big factory of Dapr.

ChaosBlade is an open source experimental injection tool of Alibaba, which follows the chaotic engineering principle and chaotic experimental model. It helps enterprises to improve the fault tolerance of distributed systems and ensure business continuity during the migration of enterprises to cloud or cloud native systems.

Quote the description on git:

The ecology of this project is as follows:

So many scenarios are currently supported:

For example, there are three experimental scenarios in the mobile lab:

Anyway, just remember one thing about ChaosBlade:

It's here to sabotage. Inject all kinds of faults into the system or the environment in which the system runs to test and improve the stability and high availability of the system.

In the mobile lab, in addition to the official tutorials mentioned above, everyone is also supported to upload their own tutorials.

The following situations are very suitable for publishing tutorials on it:

Think about it, wouldn't it be wonderful if the experiment attached to the book "Redis Development and Operation" I mentioned earlier could be published here?

Learning efficiency must be high again.

Counseling is the core function of the laboratory.

However, it has another big function:

Java engineering scaffolding, the following slogan is:

Java engineering scaffolding is more suitable for developers in Asia Pacific region.

Although I still don't understand why it is "more suitable for the Asia-Pacific region", it sounds very powerful anyway.

Its page looks like this, is it familiar?

At first glance, you are more familiar with the goal:

But through my actual use, I have to say that Ali's scaffolding is easier to use.

For example, I use Ali's scaffolding, and I choose a sample code of a web project:

The project structure is as follows:

Moreover, this web project can be run directly without modifying a line of code or even starting the database.

Because it uses h2 database:

After running, access the h2 console as follows:

Although I found several bugs during the operation of the demonstration project, they are generally harmless and easy to modify. It is still very friendly for novices.

On this page, I also found a project architecture called COLA:

What the hell is coke?

I pulled a coke demo in official website and ran away. The project structure is as follows:

The official gives such a code structure diagram:

Seeing this, I probably understand that there are App layer, domain layer and infrastructure layer. This building is actually a landing of DDD thought.

After a brief understanding of these two days, I found that if I want to understand the abstract DDD concept, then Coke Building, I think this is a good starting point.

So many things have been introduced before, so let's take you to practice. The golden tutorial is:

In fact, I don't think it's really necessary, because the above tutorial has been taught step by step.

For example, if you look at this Alsace basic course, I'll record a screen for you:

On the left is the operation document and on the right is the running environment. What you get is what you get. How fragrant it is.

I strongly suggest that you read all four tutorials yourself and operate them.

But the center of gravity can be put into this tutorial:

Look at the 14 experiment in this tutorial:

For example, the "Arthas hot update code case" is actually a common problem in production environment:

There is something wrong with a judgment logic. I don't want to modify the code, repackage it and go online. What should I do?

Alsace heat update. Do you think it's weird?

For example, the following code:

Now, when the requested id is less than 1, an exception will be thrown. However, it is found that this place may return a default value after going online, and it is best not to throw an exception.

Then we can use Arthas to hot update this code.

On the left is after transformation, and on the right is before transformation:

How to modify the code and how to load the modified code with ClassLoader is detailed in this case:

Of course, it would be great if you understand the working principle behind the hot update after the actual operation.

Know how to use it and master the realization principle. Congratulations, give yourself a production case, so that you can get extra points in the casual interview.

In addition, quietly say a coquettish operation.

You can find any tutorial, get a window, and then ......

For example, I installed a Redis:

It works well:

It also supports uploading and downloading files:

Well, it's fun anyway. Think you are familiar with Linux commands.