Categorization of eight articles in summer

Today, when I visited my grandparents and played with my mobile phone, my friend sent a message, "is there any statement to batch modify the folder path"? Dir/A = > dir/2020/A According to the corresponding catalogues corresponding to the year of the excel table, we can confirm that there are more than a few minutes to decide (Tai Tianzhen).

Because I didn't have a computer on my hand, and there was no suitable editor for my cell phone, my friend suggested that he write it. I thought, OK.

Command is really difficult for people who have a programming basis, but those who can't touch them anymore. Use ReaddirSync List all the directories in the directory for nearly half an hour, but not even debugging.

Calm down, I think, is it really necessary for ordinary people to learn? It is necessary that if this friend of mine can grasp a little bit of nodejs related skills, I believe that his work will be of great help. It will be a great experience for him to manually copy and paste the work without wasting time and effort, to recognize the regularity of repetitive work and to write script execution.

After reading the above passage, it may be a little bit "programming dependent on work". I do not agree with this view. Programming is a skill to improve productivity. It can be understood in disguise. "Lazy" The friends mentioned before are just in the heavy handling of massive data, a bit tricky, but if they are not related work, you can also use programming in other places, so that you can avoid buying your favorite items by being hit by platform price difference, and can indirectly grasp English, for scientific Internet access. No need to love, just because of interest, to understand, to learn, to meet the needs. Happy and happy All right.

I saw it a few years ago. "Python enters primary school textbooks in Shandong" Related news, in retrospect, the competitiveness of children began from childhood, to cultivate the logic of thinking, observe children's interests and solve problems can be more logical thinking.

Besides, programming should be regarded as the skill with the lowest threshold. After all, this era is full of procedures, thanks to the open source sharing spirit of the Internet, so that the relevant information can be readily available, the cost is really low, and learning is fruitful. If you do not learn, you will not lose.

In this period of time, we were trying to drum up the tars framework and went to vultr to open a 3.5 knife machine. Why should we use their home, because the 50 knives used before were not used up??

His home machine is very unfriendly to Hubei Telecom. BBR Otherwise, if you lose your package, you will be able to accept it.

These two skies are idle, landing on line and finding a violent landing of 1w+!!!



The first time I felt such a flood of cyber attacks, I would like to introduce briefly the modification of sshd listening port to prevent violence.

Here I began to turn off SELinux. You can choose to shut down SELinux because there will be a lot less trouble. Of course, there will also be hidden problems, but the advantages outweigh the disadvantages.

- reading the remainder part -


If you had done WeChat jssdk before, you would find nothing in the first look at the document. The process is nothing more than a back-end signature, which is returned to the front end.

But I think carefully that there is no value information of the goods, and the H5 page on the public address only returns the signature.

Looking back at the request parameter, I found the clue.

 WeChat order ID

At first, I looked at an arbitrary number of examples that I understood. Prepay_ ID by Unified order interface Returns the parameters in the result

Resume writing logic

Here we are using H5 payment, and the result is returned. Https:// Prepay_ Id=wx151809054027204613d0ca330422xxxxxx&package=287231xxxx

You can only intercept URL and get it. Prepay_ ID by Wx151809054027204613d0ca330422xxxxxx

take Prepay_ ID Send back to the back to sign and return.

 {"code": 1, "MSG": "get WeChat browser payment signature successfully", "data": {"appId": "wx54c4e3c9a7xxxxxx", "timeStamp": "1537007685", "nonceStr": "5b9ce0458db30", "package": "prepay_": "prepay_") Id=wx151809054027204613d0ca330422xxxxxx "," "signType": "MD5", "paySign": "A819D6551E9E3FE62BE612FA96000000", "}}}

Now the front end can be used happily. WeixinJSBridge and JSSDK

Related links:

WeChat H5 tune up payment
WeChat unified order

Appear Invalid signature The wrong situation is really fascinating.

  1. At the very beginning, the document did not need to escape. Later, I saw the error related. EncodeURIComponent (location.href.split ("[0]"))
  2. Wx.config () Medium NonceStr When signing with the backend Noncestr Dissimilarity
  3. It is very fascinating to get the description of the URL dynamically. It is not clear whether it is necessary to use the interface provided by the back end to provide the signature or the URL when the front-end initiates the request.

In short, we need to use it. AJAX Signature, front-end needs EncodeURIComponent (location.href.split ("[0]")) The current URL is passed as the parameter to the back-end signature interface. If the backend is PHP, it needs. URLDecode ($) GET['url']) And get it again. Jsapi_ Ticket Signature, return parameter

It looks like the finance of Lian Bi is going to fall. More than 1000 of the K3 cars on last year did not come out.

I hope not to sell more than 700 million for 618, and run away with my sister-in-law.

2018.06.26 150 is still in cash. It's not very hopeful.
2018.07.20 APP can also open...

No more.

A few days ago, salon bug, I believe a lot of people have gone to rub, but geese, I was watching you roll over quietly.

Today, I tell you the new activities on the front page, the cloud database mysql entry model has been purchased for 3 years, and the purchase time is 6 months at most.

Checked the order submission information and successfully purchased it for 3 years.
 Purchase success

Copy the following code, save it as HTML file, open the page, click the link to jump, and then you can purchase it.

 <a id= "get-mysql" href= "href=" > point I receive </a>
<form action= "" method= "post" style= "display:none" style= "" "" ">" " "Type": "CDB", "goodsCategoryId": "100016", "regionId": "4", "projectId": "0", "zoneId": "200001", "goodsDetail": "PID": "12074", "timeSpan": 36 "," timeUnit ":" timeUnit ":" timeUnit ":" "," "," "", "", "", "" 0 "," ": 256," ":" 50 "," ":" 256 "," "256", "": "50". GoodsData: "Action": "applyCdb", "curDeadline": "0000-00-00", "instanceRole": "master", "projectId": 0, "goodsNum": 1, "payMode": 1, "saleByZone": 1, "productInfo": [{"saleByZone": "instance type", "" "}", "{" "}", "{" ":" "charging mode" "," "{" "{" "{" "{" ":" "configuration" "," "Gao": "high edition"}, {"" ":" configuration "" "" ":" "Area", "value": "East China (Shanghai)"}, {name ":" usable area "," value ": {" Shanghai area "}, {" name ":" network "," value ":" basic network "}, {" name ":" project "," value ":" default project "}, {" name ":" data replication mode "," value ":" asynchronous replication "}]," protectMode ": 0," value ": 0," 0 "," "": "0", "" "", "}," ":": 1, {"name" "PayMode": 1}]}</textarea>
<script src= "" ></script>
$('#get-mysql').Click (function ()) {$('form').Submit ()}) 

It was really a cry of wow.

At the GIT station, I spent Q on a content censorship system. It was really dropped by Ban!!!

I quickly checked the machine IP. It was very nice not to be seated. ""

But the ten year short domain I bought was so ban that I was not resigned to it.

Google took a big look, and the solution probably was. Four Kind of, if the big guy knows what rescue measures he can tell him, too.


  1. Switching domain names to domestic DNS analysis
  2. Go to the file (prepare for nmlgb case).
  3. Change domain name (go away)
  4. Find a big factory IP to make A record for the domain name, then follow your fate.

The first solution is not effective, pass

Second and third are not allowed, pass

With hope, you can only use fourth alternatives and leave your life to death.


  • 2018.3.2 begins to be walled
  • 2018.3.3 continues...
  • 2018.3.4 continues...
  • 2018.3.5 continues...
  • 2018.3.6 is improving.
  • 2018.3.7 has 4 nodes resolved to penguin dad's IP. (3)
  • 2018.3.8, I have 13 nodes back.
  • 2018.3.9 became the 9, the fourth day of expectation.
  • 2018.3.10 is half cool.
  • 2018.3.11, a cool cool to me.