<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Frontend on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/frontend/</link><description>Recent content in Frontend on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Sat, 13 May 2023 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/frontend/atom.xml" rel="self" type="application/rss+xml"/><item><title>Writing WebAssembly Programs in Go</title><link>https://www.chenshaowen.com/en/blog/get-webassembly-programs-using-go.html</link><pubDate>Sat, 13 May 2023 00:00:00 +0000</pubDate><atom:modified>Sat, 13 May 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/get-webassembly-programs-using-go.html</guid><description>1. Introduction to WebAssembly Cross-platform: it can run on any platform that supports WebAssembly, including web browsers, servers, and mobile devices
High performance: it uses a compact binary format that can be loaded and parsed quickly in the browser, improving application performance
Security: it uses a sandbox model that isolates the code running inside it, protecting the system from malicious code</description><dc:creator>微信公众号</dc:creator><category>Go</category><category>WebAssembly</category><category>Frontend</category><category>R&amp;D</category></item><item><title>Django Full-Stack Optimization Guide</title><link>https://www.chenshaowen.com/en/blog/django-full-stack-optimization-guide.html</link><pubDate>Thu, 15 Nov 2018 00:00:00 +0000</pubDate><atom:modified>Thu, 15 Nov 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/django-full-stack-optimization-guide.html</guid><description>As the data volume exploded, the system responded very slowly. We carried out a series of optimizations on the application, and the system&amp;rsquo;s response time improved by an order of magnitude. Overall, optimizations in file compression and faster network access gave a noticeable boost to frontend performance, while optimizations in stored procedures, caching, and logic code gave a noticeable boost to backend performance.</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>Python</category><category>Optimization</category><category>Frontend</category><category>Backend</category><category>Guide</category><category>R&amp;D</category></item><item><title>Using axios in Vue</title><link>https://www.chenshaowen.com/en/blog/using-axios-in-vue.html</link><pubDate>Mon, 25 Jun 2018 15:00:00 +0000</pubDate><atom:modified>Mon, 25 Jun 2018 15:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/using-axios-in-vue.html</guid><description>1. Installing axios Install with npm 1 npm install axios --save There are two ways to register it globally: Bind it to the prototype 1 2 import axios from &amp;#34;axios&amp;#34;; Vue.prototype.axios = axios; With this approach, every Vue object gets a new axios object. 1 2 3 this.axios.post(apiUrl).then((res) =&amp;gt; {</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>Interface</category><category>API</category><category>Vuejs</category><category>Axios</category><category>R&amp;D</category></item><item><title>Frontend Webpack Practice of GitLab CI</title><link>https://www.chenshaowen.com/en/blog/front-webpack-practice-of-gitlab-ci.html</link><pubDate>Wed, 08 Nov 2017 09:15:56 +0000</pubDate><atom:modified>Wed, 08 Nov 2017 09:15:56 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/front-webpack-practice-of-gitlab-ci.html</guid><description>Starting with GitLab 8.0, GitLab began integrating CI (Continuous Integration) functionality. You only need to add a Runner on the server and a .gitlab-ci.yml file in the project, and you can run CI. In GitLab Setup and Configuration I recorded the whole process of setting up a GitLab service from</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>Continuous Integration</category><category>Tools</category><category>DevOps</category><category>GitLab</category><category>CICD</category></item><item><title>Controlling Static File Versions in Django</title><link>https://www.chenshaowen.com/en/blog/control-of-static-file-version-in-django.html</link><pubDate>Fri, 06 Oct 2017 09:58:43 +0000</pubDate><atom:modified>Fri, 06 Oct 2017 09:58:43 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/control-of-static-file-version-in-django.html</guid><description>To respond quickly to user needs and meet the requirements of marketing campaigns, internet products usually have a very high release frequency. Adopting agile development shortens the delivery cycle and speeds up product iteration, but it also brings challenges to a project&amp;rsquo;s file management. Frontend engineering faces users directly, bears</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>Frontend</category><category>JavaScript</category><category>Files</category><category>R&amp;D</category><category>Version</category></item><item><title>Axios ajax</title><link>https://www.chenshaowen.com/en/blog/axios-ajax.html</link><pubDate>Fri, 04 Aug 2017 07:07:11 +0000</pubDate><atom:modified>Fri, 04 Aug 2017 07:07:11 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/axios-ajax.html</guid><description>1. Basic Concepts 1.1 Ajax Ajax stands for &amp;ldquo;Asynchronous JavaScript and XML&amp;rdquo;. At its core it is made up of the JavaScript, XmlHttpRequest, and DOM objects: through the XmlHttpRequest object it sends an asynchronous request to the server, gets data back from the server, and then uses JavaScript to manipulate</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>Tools</category><category>Axios</category><category>Ajax</category><category>API</category></item><item><title>Using Custom Fonts on a Page</title><link>https://www.chenshaowen.com/en/blog/page-uses-a-custom-font.html</link><pubDate>Tue, 01 Aug 2017 19:30:47 +0000</pubDate><atom:modified>Tue, 01 Aug 2017 19:30:47 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/page-uses-a-custom-font.html</guid><description>1. Font-family The fonts you can use on a web page are limited to the handful of fonts already installed on the PC the browser is running on. Windows operating system, Chinese fonts: SimHei (Hei) SimSun (Song) NSimSun (New Song) FangSong (FangSong) KaiTi (Kai) FangSongGB2312 (FangSong GB2312) KaiTiGB2312 (Kai GB2312)</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>CSS</category><category>R&amp;D</category><category>Fonts</category><category>Learning</category></item><item><title>Frontend-Backend Symmetric Encrypted Transmission - AES</title><link>https://www.chenshaowen.com/en/blog/symmetric-encrypted-transmission-of-aes.html</link><pubDate>Wed, 26 Jul 2017 18:52:18 +0000</pubDate><atom:modified>Wed, 26 Jul 2017 18:52:18 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/symmetric-encrypted-transmission-of-aes.html</guid><description>1. Basic Concepts Symmetric encryption: Symmetric encryption is an encryption method that uses a single-key cryptosystem, in which the same key is used both to encrypt and to decrypt the information. Because it is fast, it is often used to encrypt the transmission of large amounts of data. DES (Data</description><dc:creator>微信公众号</dc:creator><category>Security</category><category>Frontend</category><category>Backend</category><category>Encryption</category><category>R&amp;D</category></item><item><title>ECMAScript 6 Primer</title><link>https://www.chenshaowen.com/en/blog/book/the-101-of-ecma-script.html</link><pubDate>Tue, 27 Jun 2017 20:05:01 +0000</pubDate><atom:modified>Tue, 27 Jun 2017 20:05:01 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/book/the-101-of-ecma-script.html</guid><description>Author: Ruan Yifeng
Publisher: Publishing House of Electronics Industry
Publication year: 2014-8-1
ISBN: 9787121238369
E-book</description><dc:creator>微信公众号</dc:creator><category>Books</category><category>JavaScript</category><category>Frontend</category><category>Learning</category></item><item><title>Frontend-Backend Separation - Mock Data</title><link>https://www.chenshaowen.com/en/blog/mock-server.html</link><pubDate>Fri, 16 Jun 2017 21:10:54 +0000</pubDate><atom:modified>Fri, 16 Jun 2017 21:10:54 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/mock-server.html</guid><description>In frontend-backend separated development, when the backend API is not finished, the frontend cannot continue debugging. So that frontend and backend can develop in parallel, the frontend needs a set of API interface environments — this is the Mock API. The diagram below lays out the development flow nicely. Without a Mock data step, frontend-backend integration takes up a great deal of time.</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>Backend</category><category>Mock</category><category>R&amp;D</category></item><item><title>XSS Cheat Sheet</title><link>https://www.chenshaowen.com/en/blog/xss-cheat-sheet.html</link><pubDate>Sat, 20 May 2017 09:12:31 +0000</pubDate><atom:modified>Sat, 20 May 2017 09:12:31 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/xss-cheat-sheet.html</guid><description>If you use the Chrome browser to test XSS vectors, disable the browser&amp;rsquo;s XSS interception first. First, close all Chrome browser processes, then run:
1 chrome.exe -args --disable-xss-auditor --args --disable-web-security Enter non-web-safe mode.
1. Injecting HTML/JavaScript with the &amp;lt;&amp;gt; tags 1 &amp;lt;script&amp;gt;alert(&amp;#39;XSS&amp;#39;)&amp;lt;/script&amp;gt; 1 &amp;#39;&amp;#39;;!--&amp;#34;&amp;lt;XSS&amp;gt;=&amp;amp;{()} 1 2 //The quotes around SRC can be omitted &amp;lt;SCRIPT SRC=http://ha.</description><dc:creator>微信公众号</dc:creator><category>Security</category><category>XSS</category><category>R&amp;D</category><category>Vulnerability</category><category>Frontend</category></item><item><title>Quickly Export Excel Files in Web Development (with Code)</title><link>https://www.chenshaowen.com/en/blog/how-to-export-excel-quickly-in-web-development.html</link><pubDate>Thu, 18 May 2017 17:51:05 +0000</pubDate><atom:modified>Thu, 18 May 2017 17:51:05 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-export-excel-quickly-in-web-development.html</guid><description>In web development you often run into the need to export data. This post mainly covers how to quickly export data and save it as an Excel file. 1. Frontend In web development, formatted data is usually displayed as a table. Below is an employee salary table; we will use</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>Frontend</category><category>Data</category><category>Demo</category></item><item><title>Frontend Automated Build Tool gulpjs</title><link>https://www.chenshaowen.com/en/blog/front-auto-build-tools-gulp.html</link><pubDate>Tue, 28 Jun 2016 21:59:04 +0000</pubDate><atom:modified>Tue, 28 Jun 2016 21:59:04 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/front-auto-build-tools-gulp.html</guid><description>1. Frontend Automated Build Tools When dealing with frontend scenarios, you write CSS with Less, HTML with Jade, modularize with Browserify, and add MD5 hashes to resources for non-overwriting deployments. If all this work were done purely by hand, the efficiency would be extremely low. A frontend automated build tool</description><dc:creator>微信公众号</dc:creator><category>Frontend</category><category>gulp</category><category>Tools</category><category>R&amp;D</category><category>Build</category><category>Learning</category><category>Automation</category></item></channel></rss>