• Blog address exchange friend chain ing

Writing in the front

Every front-end should have its own blog, because it is not only a blog, but also a workflow of its own, how to understand this problem, this is the original intention of me to develop a blog.

Seems to oneself also does not have a habit of writing blog, or feel to write some notes also reach can be released in like the nuggets technology platform, but also in daily use, such as records of some documents or daily, at ordinary times will be stored in the local or some cloud above the document, but is not clear, also will be a little inconvenient, and under a lot of kinds of scenario will be limited So I came up with the idea of creating my own personal blog.

This year seems not to do too much, but a lot of people through the nuggets to add to me asked me to blog source, so to share their own free time to develop this blog experience.

This year’s year-end summary seems to have no time to write, let’s end this year’s share.

Static blog

In the beginning, in order to rapidly to create a personal blog, I choose some static generator type of site, such as hexo, vuepress, this kind of frame, the benefits of this type of blog is fast, a lot of similar this kind of the construction of the blog title is often five minutes to build a XXXX such as title, obviously, this is an advantage, but in many Under scenario, because it is static, some interaction is bad to do, for example, the article reviews, login registration, user interaction, although these convenient is very flexible, it is difficult to achieve the three parties can access some plugins to implement these functions, but can’t be avoided, he is just a static blog articles, such as the operation must be updated to redeploy, appears especially not too Is, more often than vuepress like I feel for the advantage of the technical documentation is more convenient, hexo is community a large part of maintainers, of course industry developed API can let you create a theme or reference topics, others can do it very cool, this is especially good for beginners, a good platform for beginners and this is also I was very For reasons of interest, when I have the ability to develop a personal blog, I think it is necessary to create a personal full stack blog for myself as a front-end development engineer.

What is a blog for?

It’s a question THAT I think, Blog a lot of people find this thing is very naive, also feel completely unnecessary effort to develop a their own blog, feel all kinds of cloud platform convenient enough now, I think the idea is also a problem, but also has a lot of people think it is useful to create a personal blog, to have a record their own platform, completely control, to achieve any function by itself The idea that you can do it all by yourself is attractive enough, but I think the benefits go beyond that, beyond blogging as a cloud platform

  1. Using what you have learned to develop from scratch exercises your skill breadth rather than doing routine tasks
  2. Making your own product allows you to have your own ideas, make your own decisions from UI design to functional interaction, and have a more comprehensive understanding of the life cycle and process of a product as well as the issues that need to be considered
  3. How do you understand the importance of building your own workflow? We’ll talk about it later

preparation

As a project of your own, first of all, you need to conceive what kind of thing you need to make, and how much you want to achieve, of course, the most important thing is that you have to know why you do, what is useful, what can be done.

As a front-end engineer, we need to deal with UI designers after the requirements come down, so we need to draw a prototype diagram. We recommend you to use the platform Process, which has been used for a long time personally. You can make what you need online and also share it with others. Relative is very simple, so that many people may find it difficult, actually otherwise, as a front end engineer every day this time dealing with these, dissatisfaction with the designer at ordinary times you can be realized, and we don’t need too complicated, a prototype of the design is the basis of a front-end layout framework, want to give their appearance into what look like? This is decided by you, such as conventional two-column layout, three column layout, wing layout and so on, with such a structure you can free play, UI that or is difficult, for the front we can grace copying, as well, let’s say right up, a lot of time, after all, everyone said, “the designer’s work is not copy to copy (manual dog head)!

Technology selection

Having a prototype is followed by technology selection, which depends on the individual, after all, everyone’s technology stack is different. As a blog project, I decided to do it in three parts, considering that I would be adding a lot of stuff in other iterations later on.

  • Front desk display page: blog display page, external output page, here is for others to see
  • Background management system: this is used to manage blogs, of course, this management background can be more than common
  • Back-end project development: forAPIInterface provides the ability to develop and provide blogs

Nuxt [a VUE server rendering framework] is used in the foreground page technology stack. Nuxt is used because vue or React single-page projects cannot be crawled by Baidu spider, so there is no collection, so we choose server rendering.

Background management system using VUe3 open, VUE3 has been out for a long time, the company has not used on, personal projects can certainly try fresh, here I think the background management system is irrelevant, for each front-end development should be familiar with the road.

The backend is of course the easiest NodeJs to use in the front end, which I believe everyone knows. The framework is NestJs, but the project on Github is very popular, so I chose this framework.

The deployment part uses docker+ GitLab, a relatively common system, because individual projects also set up their own private GitLab for the convenience of their own management and deployment.

The project structure

After we have considered the technology stack, we need to design the interaction at the bottom of the organization of the brain idea project, which we usually need a mind map to draw. Here again, the process tool is very comprehensive, can draw a lot of things, basically can be used.

  • recommendedprocess The registered address

In the beginning, we didn’t have to think too complicated about the project, we could break down the features as much as possible, do the first layer, know what we need to build, not have to think about whether we can do it, what stack we need to use, etc.

Beginning with this mind map we found as clear a lot of, what to do, how to do it, if there is a obvious sense, of course it is you can think of, this is not personal advice? Is this point in time before you go to bed to think about what you do a thing, close your eyes can think of more clear, efficiency is higher, I also used to sleep at every night To think about the next day’s work arrangements to achieve ideas, some clear will naturally fall asleep, the next day will get twice the result with half the effort.

Project development sequence

This I think is probably not the same for most people, but I’m just sharing a personal point of view. On a daily basis, if you are the front end, the pace is usually later than the back end.

  • One is to consider the interface of the docking will be subject to the back-end, the back-end to us before docking
  • The second is that when we don’t touch the back end we can’t do it until the back end is implemented

When you stack yourself, you control the order, you can work backwards, you can write the front end and then do the back end, because you define the fields, you design the interaction, and you know it all.

But my personal habits is at the same time development, the front-end contrast in the backend is one fun wysiwyg code can get feedback right away, have a kind of hand feeling, this also is compared to the back-end for a bit more happy, personal feel also develop the advantage of alignment error will soon, or tell a process error on both sides, I can change at the same time, this feeling The experience was good, both projects started at the same time, there were not too many problems, of course, there is actually some nonsense here, everyone’s development habits are different, it is up to you.

Into the development

After entering the development scenario is returned to the familiar field, is the daily demand development requirements, believe that everyone in this step will be handy if, here we began to develop, relative to the technology, personal technology is still relatively shallow can’t give you very good technical guidance, more is to want to share some personal experience, I hope Family shows mercy.

Here on some personal blog development to provide some ideas and some development process encountered pits, I hope you can encounter less pit, that’s all.

Front page development

  • Framework:nuxt

There are a lot of small technical points needed to develop a complete project, and we won’t list them all, but we’ll talk about things to do in terms of development thinking

  • Project directory
. ├ ─ ─ Dockerfile * docker deployment configuration ├ ─ ─ the README. * md project documentation ├ ─ ─ app. * HTML homepage ├ ─ ─ * static resource assets ├ ─ ─ components │ ├ ─ ─ base * basic components encapsulation │ │ ├── ├─ ├─ ├─ ├─ ├─ ├─ ├─ ├── env.develop.js │ ├── ├── ├── ├── ├── ├── env.develop.js ├─ ├─ ├.js * Setup file │ ├─ ├─ ├.js * Web Map ├── chat * chat room layout │ ├ ─ ─ default. Vue * default layout │ └ ─ ─ the error. The vue * error page layout ├ ─ ─ nuxt. Config. Js * global configuration file ├ ─ ─ package. The json ├ ─ ─ pages * page development ├ ─ ─ Plugins │ ├─ API ├.js * API API Package │ ├─ Axios. Js * AXIOS Global Request │ ├─ Bidu ├─ ├─ class.txt * class.txt * class.txt * class.txt * class.txt * class.txt * class.txt * class.txt * class.txt * class.txt * Class.txt ├─ ├─ ├─ ├─ ├─ ├── favicon Robots, etc ├─ Store * Vuex ├─ Gitlab-ci.yml * Gitlab-ci ├─ stylelint.config.jsCopy the code

Nuxt framework syntax follows vue, but there are some slight differences, here is a summary of some convenient for you to get started quickly.

  • The router routing in vue is through its configuration, is about stereotypes in nuxt routing, it is similar to an egg, will help you according to the directory of the folder to generate routing, we do not need to go to configure routing, his rule is according to the pages directory to generate a directory tree interface routing, for some dynamic routing is _ matching manner with

  • The axiOS interface request is also different. The first thing to note is that nuxT’s package for AXIos is NuxtJS-AXIos instead of the module we use in normal VUE. All configuration for NUxT is injected in the form of directory tree plugins, similar to KOA Plugins are usually used to export a function. The parameters of the function are the context, which contains all the things we need to use. Here you can print it out and see it, and then go to the plugins in nuxt.config.js Also need to register the modules in the modules, since this module can be normal use, it is important to note, the introduction of each plug-in because is the chain so there is a call to order, such as encapsulated interface when we want to before the introduction of axios, otherwise we can’t get of, again after the introduction of middleware will mount on global object of CTX This middleware, so we also introduced in order, some CSS introduced also need to be aware of, use UI framework needs to be aware of this issue.

  • We usually use SVG ICONS, but nuxT doesn’t have AN SVG-loader by default, so we need to configure it ourselves, and the configuration file is in the build of nuxt-config.js, and so on

    build: {
        extend(config, ctx) {
          const svgRule = config.module.rules.find((rule) => rule.test.test('.svg'))
          svgRule.exclude = [path.resolve(__dirname, 'assets/icons/svg')]
          config.module.rules.push({
            test: /.svg$/,
            include: [path.resolve(__dirname, 'assets/icons/svg')],
            loader: 'svg-sprite-loader',
            options: {
              symbolId: 'icon-[name]'
            }
          })
        },
    Copy the code

    In order to change the color of SVG ICONS, I used vue2-SVG-icon and encountered a bit of a hole in the process. The default export of this component in vue project is to export all ICONS in SRC/ICONS and register them. Nuxt does not have this directory and needs to create it manually Has also had a hole here, do not distinguish between the filename in the nuxt case, when you rename a file before, for the new file instead of before, this time in the name of the file before still point to a file, we can see that each time start the root directory is a success. Nuxt compiled file, the file is cached, there will be confusing error many times Is he produced, if encountered do not understand, might as well delete. Nuxt and then restart try.

  • In nuxt are two environments, for it is SSR rendering of a service, you will find, so print prints twice, means that the code is implemented in two environments, so in mounted for dom node is still an error because it produces, we need to judge the environment belongs to the browser can access, such as:

    Process.browser && console.log(' This is the browser environment ')Copy the code
  • For THE SPA project of VUE, we usually only need a root node app. If we make a three-column layout management side on the app page, it means that our router-view on other pages will be rendered on this page. We cannot change the layout style, and nuxT lay Out solves this scenario, gives you multiple nodes, lets you choose which node to mount the rendering under, and just adds this configuration item to the page build.

  • Data request, we hope to get in before the interface to render a lot of data, rather than a similar spa again after the page render request data, or synchronized, nuxt provides asyncData here to proceed with this operation, can request data, and earlier than a rendering, means that cannot get here dom also need to pay attention to, and Note the documentation, which can only be used in page-level components, the first layer under Pages, and will not be executed if written in a normal build. There is also an API at the component level that can use Fetch, which is pretty much the same.

  • One of the key points of using NUXT is that you need SEO, so you should pay attention to this in your development, and more on this later

Nuxt seems to be simple, but there will be a lot of holes to go through, many vue packages nuxT does not support, need to pay attention to before using, this is just a small part of the summary, there may be many more can not remember, if you have any questions, feel free to leave a comment, see and I can help you will answer you.

Part of the front desk is simple for everyone to sum up so much, a lot of things after finishing will forget, if the follow-up encounter will be supplemented, the front desk things a lot of places also need to consider performance, here is not summarized, there is time to talk about performance optimization.

Background management system

  • Framework:vue3.x + vite

Blog background management system of the individual actually think there isn’t much to say, believe each front end are familiar with this patch, because there is always more or less access to the background, personal opinions here back to the original point of view, a blog is a blog, single is not only blog, we build a blog background management is not difficult, I hope to have more creative ideas here Implementation, I want to make a workflow for himself and the foreground of project incubation of many, but the background I think personal integrated a good, general a also enough, in addition to the blog here, we can manage a lot of things, manage the daily work, study progress, his task layout and so on, these things are a lot of subsequent can also talk about my personal view for everyone.

  • forvue3At present, ecology has already been very mature, and I have made a summary of it early and early. You can look at the previous articleThe long text will give you a comprehensive grasp of vue3,
  • Background management things I think can be more of an idea to share, technically I think there seems to be no identity to share things.

Back-end module development

  • Framework:nestjs
  • Technology stack:Redis typeorm mysql socket-io.

Use NodeJs to write the back-end believe that for most front-end engineer is the most cost saving, quick learning, when it comes to the development of the back-end, I feel more need to pay attention to the back-end project specification, overall logic, if you have time to define a good project specification template I think it is necessary, and the other is after the project before the development of measured point as far as possible, Try to think about the whole thing before moving, and a lot of things to insert later may not be very friendly, so it is necessary to be able to draw a mind map before development.

Let’s start with the project base directory:

.├ ─ Dockerfile * Docker ├─ Nest -cli.json ├─ package.json ├─ pm2.conf ├── PnPm-Lock. yaml ├─ SRC * Development folder │ ├─ app.module.ts * Root module │ ├─ Common * Public Files │ ├─ Config * Includes all configurations │ ├─ Constant * Constant Files │ ├─ Decorator * Custom Decorations │ ├─ Filters * Pipe Filters │ ├─ Guard * Permission Validation │ ├─ Interceptor │ ├─ Main. Ts * Import files │ ├─ Modules │ ├─ Swagger * Swagger document │ ├─ Tasks * Regular Tasks │ ├ ─ ─ templates * rendering of a service module Registered mail │ └ ─ ─ utils * tools and other custom ├ ─ ─ the test * unit test ├ ─ ─ tsconfig. Build. The json ├ ─ ─ tsconfig. Json ├ ─ ─ utils └ ─ ─ viewsCopy the code

This is my personal Nest project directory, maybe everyone is new, roughly these features, NestJs is known as the Springboot framework in Node, currently very hot, in the Framework of Node, currently on Github has a high rate of growth, as a contact express, KOA For users of frameworks such as, Egg and Hapi, I still like this framework very much. The project specification is relatively restrictive, the form of dependency injection inversion can be very clear to read the code, the MVC layerization is also very good, and it is quite convenient. You can basically set up the basic project after going through the documents on the official website. On the back end of this piece is also the same for everyone to share the NestJS pit has to pay attention to the problem is a blog idea, first or need to draw a simple mind map for the overall development of the project and you can expect to develop the function and its implementation.

There should be a general expectation in the early stage, and some things may be added in the later stage. We can also not consider too much in the early stage, knowing how many problems and scenarios we will encounter, and then developing in sequence.

A personal project should take some basic services into account and make some presets during infrastructure development. Of course, we should have a set of basic templates for rapid development, instead of having to start from scratch every time, which would be too time consuming.

Based on NestJs there is not too much to share to you, for the code level of things feel here for a period of time is also difficult to generalize in place, or for you to share the framework of some relatively important modules, I hope to use this framework partners can use.

  • For a lower level frameworkexpress,koaThis kind of framework with low encapsulation degree, relatively low encapsulation degree, many things need to make wheels, enterprise-level development is with many different specifications, difficult to unify, in the case of high flexible development also increases the requirements for development, and forNestJsThis type of framework and current domestic users of multi-pointEggJsBasically, it’s an application-layer framework that gives you a lot of wheels, permissions, routing, error handling, whatever you want to use, and the framework itself is very prescriptive.MVCThe stratification is also very clear, inNestJsChinese, dependency injection, pipe, Guard, interceptor and other mechanisms, basic coverage of various development needs, out of the box, reduce a lot of time, at the same timeNestJsforTSSupport is high and personalTSThere are few studies, but I can still feel that it is more normative in the process of contact, with relatively comfortable grammatical hints and error reporting mechanism. In the development stage, it can also avoid many mistakes. From the framework level, I personally feelNestJsIs easy to deal with enterprise-level development, is worth learning, this kind ofAopPatterns andJavaBe very similar toJavaDevelopers believe that learning this will be very quick.
  • First, permission authentication,NestJsprovidesGuardsGuards are annotated Guards who describe what the access limits of the controller they’re modifying are. He should implement the CanActivate interface. Guards have a single responsibility to determine whether a request can be routed. The most permission authentication we’ve had in the front view before is thisJWTAnd, that is,JsonwebtokenWe often saytokenThis is usually added to the request headerAuthorizationIn fact, there is something very similar to itAuthenticationThe two are very similar, one is to represent whether you have access to the identity, no will encounter we commonly used401, while the other is403, Guards is in charge of this matter, as well as front end routing guard, can use, also can use local and global have mentioned two kinds of official document, may not be too deep learning, personal feel is not so good, some things don’t feel very convenient, for the enterprise level, how to control the permissions will seem onerous, also has in the past The point is too currified, the average individual feels similar to such a service, and finally has a separate permission system, throughRPCWhere does this procedure go? Can you customize oneGuardGuard is used globally, get it heretokenAuthentication is performed globally at this layer through token resolution and access is performed hereRPCIt is also very convenient to call the universal authentication mode, the official document in the form of which I personally find a little cumbersome.
  • The second point is routing and parameter verification, routing and herekoa, orexpressThese are pretty much the same, stacked down a directory tree, but the parameter verification here,NestJsA pipeline validation concept is built inValidationPipeThe module will combineclass-validator,class-transformerWe usually check the parameters from the client in various ways, inNestJsNeed to configure theDtoTo verify that this point is similar toJavaIt will pass your definitionDtoLet’s say we need a number 1 and the client sends us a string 1. If we don’t do this, we’ll throw the wrong string to the client. Here we can passclass-transformerLet’s just convert him toNumberOf course, this is only a simple example. In a real world scenario, such a form can be very useful and save a lot of things.DtoAre rules that you define and can work withSwaggerThis is similar to what my current company usesHapiThe framework andJoiValidate such a pattern. In contrast, I thinkNestJsThe layers are clearer, and the business functions of each layer are removed thoroughly and highly readable.
  • And the third thing that we useSwaggerDocumentation integration here is also simple and introduced first@nestjs/swaggerPackage, documentation has basic configuration, step 2 is directly inmain.tsCan be directly introduced into the use, here will interfaceDtoTo display authentication parameters for different interfaces, the interface layer needs to pass decorators, for example@ApiTagsIdentifies the interface, inDtoThe use of@ApiPropertyTo explain the interface. It is also very easy to use and convenient.
  • The fourth parameter return, each back-end project will generally have a unified return format, regardless of success or failure, we need to do a unified data interception processing format when returning, similar to ours for the front endaxiosTo handle errors or data uniformly.NestJsprovidesNestInterceptorInterceptors are for us to use, interceptors provide a lot of functionality, which is object-oriented programmingAopInspiration, this layer we can do a lot of things, data restructuring, error classification, onCode sizeRewrite, and so onexpressMost of these low-integration frameworks need to be handled manually, which is more convenient for us to use here, and it only takes two steps. The first step is to create an interceptor, and the second step is to introduce and use it globally.
  • The fifth multi-environment distinction, usually back-end projects are also called.envEnvironment profile, but someone asked me whyprocess.env.xxxIt is important to note that in the front-end environment, a lot of things are actually done for us by the framework. We can do this directly. In the back end, we need to manually declare the path of these filesdotenvSuch a library to solve this problem, otherwise we would not be able to read. The second point is that we usually extract sensitive information and put it together, for exampleThe databaseConfiguration,cdnAddress,RedisAddresses and so on, if general code is put in privateGitFortunately, if you put it on a public platform, remember that these things need to be kept secret, and most of these profiles will generally passDisk mountIs placed in the deployment directory, which is relatively safe.
  • Sixth point onWebsocketThis kind of duplex communication, I used in the project with higher encapsulation and more convenient usesocket-ioAlthough the two are not the same thing in nature, but the implementation function is almost the same, for this kind of duplex communication and heHttpThe interface is not sharedIPPort, which means that it is actually independentHttpOutside, also need their own unique permission authentication, for he went before the global channel is not appropriate, this need to understand, he is a need to re-verify the interface, generally can be in the first time to connect thetokenPut it into the request header for validation, so validation, and also need to be noted at deployment time, ifdockerThis deployment requires exposure of two ports. And if you usePm2To deploy, he will find that he will run the project with four processes resulting in foursocketThis point needs to be noted, there will be a linkwsInterface is not in a room, to considerpm2This deployment creates a variety of problems.
  • Number seven: security for back-end projects, which is really a small consideration as a front-end developer,jwtJust made a basic layer of certification, most of the time frame will take a lot of security check, but we still want to consider a lot of problems in the business side, such as file transfer size restriction, day transmission size, the number of a user’s article reviews several restrictions, prevent the crawler, image hotlinking prevention, as the front-end may consider enough, this also is later asked personal needs into consideration But be security-conscious when writing back-end projects. Many things can be damaged by malicious attacks if left unchecked.

There are few insights about the back-end project, and it is not deep enough. It is also about sharing some basic information about NestJs. I like this framework very much, and I can recommend you to try it.

Project deployment

The front end has always known little about deployment, it’s really a blind spot if you don’t do it yourself, and deployment is actually very simple for the front end project. There are a few ways to share front-end deployment.

  • Yards cloud [gitee]theGit pagesYou can deploy for free, change the project name to your own name, and then go to Settings to choose this service can be 0 cost deployment of the front-end project, here is very simple, if there is a need for friends can look.GithubThe same could be true.
  • usecdnIn fact, the front-end project is a few static files, we can directly upload similarTencent cloudIn this object store can be directly accessed, this way is very simple, for do not understand deployment and want to be seen by others when you might as well try.
  • If you don’t want to is too white, want to contact a little deployment knowledge and you don’t know how to run it again, we can go to control panel to install a server, pagodas, this tool believe a lot of people also come into contact with, to the server after installation will have a background, this website can write very detailed installation attempt, was still in school, as a small white the most began to pick up There are many tutorials on this stuff. If the front end doesn’t know much about deployment, try this.
  • There are many other ways to deploynginxOr based onjenkinsAnd based ondockerOf theseCICDPackages are also used by many companies.

The deployment method is relatively diversified, and docker+ GitLab is used for personal project deployment. CICD process roughly about the same, the server via the Git hooks to pull the latest code, then package deployment, it is a basic process, can also add a lot of other process in the middle of it, what code, test coverage, some detection, branch, caching, and so on is in the middle of the link to join, involving the CICD things Yes, there are a lot of them. I have time to write a summary for CICD.

Post-project planning

Before I am don’t have the habit of writing blog, feel good with words, it is difficult to have good output, can let the person understand easily, but think later, the article is to see others, also show themselves, in the process of writing can find a lot of problems, before written some not good articles will continue to ask someone to add something, let me feel writing this The idea of designing a personal blog comes from the feeling that something is worthwhile and recognized, and that it is a win-win situation.

I have always felt that the blog is also a tool for web site, for your paper is not just to share and records, he can record a lot of it can also record can share articles, small and exquisite daily notes, a lot of things for ourselves, no need too loud, but must use, seen many bosses blog, relative looks not so loud.

Articles alone are not enough to meet the needs of the tool site, so more tools will be added to the blog for daily use.

  • Personal bookmark migration, custom bookmark management and navigation page,GooleBookmark while convenient to use, but because the network problems sometimes is not very convenient, is inferior to move to your own blog, realize the same function and don’t worry about not convenient migration, at the same time to have a personal navigation page, the custom search habits and search history I think is still a lot of necessary can be optimized.
  • Personal tools website integration, whether front-end development or back-end development, we have a lot of their usual use of tools, such as some simpleJson serialization.Image compression conversion.File conversionAnd so on these small tools, I think there is time to try their own to achieve, if you feel that these things are not worth when meaningless, they include other people’s websites, at least when they use more convenient to find.
  • Personal work flow. As a person with low self-discipline, I often upset the pace of my study and work because of something else, procrastinate, and consider doing one next yearelectronThe development of personal work and study management schedule, I hope to intuitively know my next arrangement, time planning, rather than sometimes very messy timeline resulting in low efficiency. This is already in the works, backend management can continuously integrate various functions, and these extra work orders just need to expand on their own.
  • Build web station of some foreign tools independently of the blog, website, a lot of people don’t understand is how to make money, also don’t know profit way, actually this is also true that in previous sites don’t have to consider, we can do some tools, depending a lot of people on these sites are very high, it’s not difficult to do such a site is more, we need to do is to last New and have a website like this can doseoWebsite promotion, training, through this way to guide the way to earn money, after has the traffic, is diversified, many excellent blogger has its own public number, small program, the bosses are very much, at ordinary times we see some public tweets is one source of income, insist to do, I think a lot of things are actually will have a chance, which I also want to this year Things to try.

How to create a personal work flow

This point is purely my personal opinion, I think a lot of people are not in favor of, but I really willing to do such a thing, a lot of things I think anything you daily work need more clutter, lead to do everything himself very reasonable fragmentation, always can’t make good use of your time, so that the efficiency is low, appear suddenly forget fill TAPD daily every evening I came up with this idea because of what I did today, the need for insertion in my daily work, the progress of my daily study, and the fact that no record is always easy to forget.

Improve the function of blog, also is the project planning, development, an electron desktop tools needed to manage their tasks, a lot of things, learning process, learning plan and so on, also can come on move everyday tools, background management continues to do some integration configuration, we can add some SMS alerts, email, or the public, to remind, all kinds of These seemingly meaningless things can actually improve a lot of efficiency for people with low self-discipline like me. Many times when I don’t want to learn, I can look at my task list and there are so many things, so I can stick to it.

This topic may be too broad and has no practical significance for many people, but I think it is very practical for me at present. At present, the process is not perfect enough and it is difficult to summarize all. When you actually enter the development, there will be many points that you want and practical things appear.

Write in the last

The share many things too wide and the lack of real scenes, just give you an idea, a lot of people love their development blog, also has a lot of people feel childish and meaningless, but I think, as a programmer, the blog is also a copy of your resume, a lot of things can not only use also would have to write, will summarize and record, so much to learn, to return Turned a lot of things you wrote don’t remember, if your mind is a computer, whether can also add a solid, save a lot more, sort out better context and in many cases, there is a good habit can get twice the result with half the effort, moreover, when you are doing these things, and not have met lots of problem and solved it.

2022 the new Flag

This year’s year passed quickly, but there are also a lot of harvest, but far from reaching their expectations, the New Year in the new flag hope to be in this time next year to cash one by one.

  • Follow the plan above to create a complete personal workflow so that you can be more efficient.
  • Improve the quality of the blog, many of the previous articles were written in a short time on a whim, lack of quality, lack of thinking, and lack of many things, including writing style, so I hope to be productive and high quality in the New Year.
  • About work, no matter how I look at it, work must come first. I need to break the current stereotypes in work. I hope that I can find new directions after understanding the business.
  • Owning a cat. I’ve always wanted to get a cat, but it hasn’t worked out. 2022 I think IT’s time to really make it happen.
Friends and exchange chain

The blog has just been created and there are not too many articles, I hope we can exchange a wave of friend chain, to my blog message, looking forward to your arrival.

Xiao Jiu’s blog