Classification of articles in summer

Today, I went to visit my grandparents and played with my mobile phone. After playing with my mobile phone, my friend sent me a message: "is there any statement that can modify the folder path in batch?" so he asked about his needs. After half a minute's conversation, he found that it was dir/A => dir/2020/A According to the year corresponding to the excel table, classify the relevant catalog, and confirm that a few minutes is more than enough (too naive)

Since I didn't have a computer in hand and my mobile phone didn't have a proper editor, my friend suggested that he write it. I thought: OK.

Command is really difficult for people who have a programming foundation but can no longer reach their daily work. use readdirSync Listing all the directories under the directory has been operating for nearly half an hour, let alone debugging.

Calm down, I think, is it really necessary for ordinary people to learn? There is a certain need. If my friend simply grasps nodejs related skills, I believe that his work will be of great help. He does not need to manually copy and paste time-consuming, recognize the law of repetitive work, write scripts to execute the work, and efficiency will be his biggest experience.

After reading the above paragraph, it may mean "programming depends on work". I don't agree with this view. I agree with it Programming is a productivity enhancement Can be understood in disguise "Lazy" When it comes to computer programming, you can get a lot of data in front of you, but if you are in the front of the computer, you can also avoid being hit by a lot of data. Do not need to love, just because of interest and to understand, learn, meet the needs Happy, happy That's fine.

I saw it a few years ago "Python enters Shandong primary school textbooks" In retrospect, children's competitiveness has started since childhood. Cultivating thinking logic, observing children's interests and hobbies, and solving problems can be more logical.

In addition, programming should be regarded as a skill with the lowest threshold. After all, programs are everywhere in this era. Thanks to the open source sharing spirit of the Internet, relevant information can be readily available. The cost is really low, and learning is fruitful, You don't lose if you don't learn.

During this period of time, I started a 3.5 knife machine in vultr. Why should I use them? Because I didn't use up the 50 knives before???? I had no choice

His family's machine is very unfriendly to Hubei Telecom, so it must be installed bbr Otherwise, the loss of the package is enough for you, increase the contract amount, and it's quite cool

These two days are free, online landing found that there are 1W + violent landing!!!

wtf!

 network-attacks.png

For the first time, I feel such a flood of network attacks. Today, I will briefly introduce how to modify the sshd monitoring port to prevent brute force cracking

SELinux has a lot of advantages and disadvantages when I turn off SELinux

-Read the rest-

doubt

If you have done wechat jssdk before, you will find that there is nothing more than a back-end signature and return it to the front-end

However, after careful consideration, there is no value information of the configuration items, and the signature is only returned on the H5 page of the public number

Look back at the request parameters and see what's going on

 Wechat order ID

I understand one of the examples of random values at the beginning prepay_ id by Unified single interface Parameters returned in the result

Start writing logic again

Here we use H5 payment, and the return result is https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_ id=wx151809054027204613d0ca330422xxxxxx&package=287231xxxx

Can only be intercepted to the URL prepay_ id by wx151809054027204613d0ca330422xxxxxx

take prepay_ id Send back to the back end for signature and return

 {
 "code": 1, 
 "MSG": "obtained wechat browser payment signature successfully", 
 "data": {appid ":" wx54c4e3c9a7xxxxx ", 
" timestamp ":" 1537007685 ", 
" noncestr ":" 5b9ce0458db30 ", 
" package ":" prepay "_ id=wx151809054027204613d0ca330422xxxxxx",
    "signType": "MD5",
    "paySign": "A819D6551E9E3FE62BE612FA96000000"
  }
}

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


Related links:

Transfer payment from H5 in wechat
Single wechat unified

appear invalid signature The wrong situation is really fascinating

  1. At the beginning, the document said no need to escape. Later, I saw the error related and said it needed encodeURIComponent(location.href.split('#')[0])
  2. wx.config() Medium nonceStr When signing with the back end noncestr dissimilarity
  3. The description of dynamically obtaining URL is very confusing. It does not specify whether to use the back-end interface to provide signature or the URL when the front-end initiates the request

In a word, to use ajax Signature, front end needs encodeURIComponent(location.href.split('#')[0]) Take the current URL as a parameter and pass it into the backend signature interface. If the backend is PHP, you need to urldecode($_ GET['url']) And get it again jsapi_ ticket Sign and return parameters

It seems that Lianbi finance is going to collapse. There are more than 1000 cars left in the K3 car last year.

I hope it's not 618. It's worth more than 700 million yuan. I've run away with my sister-in-law...

June 26, 2018, 150 yuan is still in cash withdrawal, so I don't hold much hope
On July 20, 2018, app can still be opened

No more

A few days ago, the salon bug, I believe many people have gone to rub, but geese, I quietly watch you roll over

Today, I'll tell you about the new activity on the front page. If you buy the MySQL entry-level model for three years, you can only click on the page to buy it for six months at most (I don't feel like it's enough)

Check the order submission information, successfully purchased for 3 years
 Purchase successful

Copy the following code, save as HTML file, open the page, click the link to jump, you can buy

 < a id = "get MySQL" http: / / buy. Cloud. Tencent. COM / order / check "method =" post "style =" display: None "> 
 < textarea name =" itemdetails "> {raw_ goodsData":[{"type":"cdb","goodsCategoryId":"100016","regionId":4,"projectId":0,"zoneId":200001,"goodsDetail":{"pid":12074,"timeSpan":36,"timeUnit":"m","subType":"CUSTOM","payType":0,"mem":256,"disk":50,"cdbMem":256,"cdbVolume":50,"vpcId":0,"subnetId":0,"zoneId":200001,"type":"cdb","cdbInstanceType":"CUSTOM","mysqlVersion":"5.6","devClass":"Z3", "Action": "applycdb", "curdeadline": "0000-00-00", "instancerole": "master", "projectid": 0, "goodsnum": 1, "paymode": 1, "salebyzone": 1, "productinfo": [{"name": "instance type", "value": "primary instance"}, {"name": "billing mode", "value": "monthly package"}, {"name": "configuration type", "value": "high IO version"}, {"name": "configuration", "value": "256MB memory, 50GB storage space, mysql5.6"}, {"name": "region", "value": "East China (Shanghai)"}, {"name": "availability zone", "value": "Shanghai area 1"}, {"name": "infrastructure network"}, {"name": "project", "value": "default project"}, {"name": data replication mode "," value ": asynchronous replication}], protectmode: 0," deploymode ": 0," slavezone ": 0," origin ":"}, "goodsnum": 1, "payMode":1}]}</textarea>
</form>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    $('#get-mysql').click(function () {
        $('form').submit()
    })
</script>

It's really a cry ('; ω;')

In their own git station spent Q some content review system, actually was ban dropped!!!

I quickly checked the IP of the machine, and it was very good that I didn't sit in tandem_ ゝ`)

But the ten-year short field I bought was so ban that I didn't like it (╯`) ╯ (┴┴┴┴┴┴┴)

Google's big idea, the solution is probably four If you know what rescue methods are available, you can tell them“

resolvent

  1. Switch domain name to domestic DNS resolution
  2. To file a case of nmlgb
  3. Change domain name (go away)
  4. Find a big factory IP to do a record for the domain name, and then leave to fate

The first solution doesn't work

The second and third types are not used

With hope, we can only use the fourth option and let it be

Timeline

  • March 2, 2018
  • On March 3, 2018
  • On March 4, 2018
  • March 5, 2018
  • Improvement on March 6, 2018
  • On March 7, 2018, four nodes have been resolved to the penguin father's IP_ (:3 」∠ )_
  • On March 8, 2018 (,, ゚゚゚゚゚゚゚゚゚゚゚゚゚゚
  • On March 9, 2018, 9 ('ー ') became 9, the fourth day of expectation
  • It's half cold on March 10, 2018
  • A cool song for me on March 11, 2018

On the 23rd, my luck really exploded. I didn't need money to buy water because there was a bug. After verification, I found that I had got 188 red envelope for no reason

The 24th somehow became a hot comment, but also draw a small mushroom to send the award

PS: of course, I don't know women's clothes ({}) ", so I'll send them to my female friends

 Screenshot_ 20171224-003057.png

 Screenshot_ 20171224-003106.png

 Screenshot_ 20171224-004310.png

 Screenshot_ 20171227-122305.png

 Screenshot_ 20171227-122137.png