第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例

传奇开心果博文系列

  • 文章目录
    • Ant Design Mobile of React 开发移动应用示例博文系列
      • 第一篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:从helloworld开始
      • 第二篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:天气应用
      • 第三篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:健身追踪
      • 第四篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:数据存储的七种类型讲解和示例
      • 第五篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:基础页面制作介绍和示例代码
      • 第六篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:UI框架39个组件集中讲解和示例代码
      • 第七篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:安装配置node和npm避坑攻略
      • 第八篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:打包上架部署云服务托管等后期工作
      • 第九篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:使用内置组件实现响应式设计
      • 第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例
        • 前言
        • 一、会用到React相关的基础知识
        • 二、会用到HTML、CSS和JavaScript基础知识
        • 三、会用到Ant Design Mobile组件相关基础知识
        • 四、会用到到响应式设计相关基础知识
        • 五、会用到使用移动开发工具来环境配置、管理项目依赖、构建和打包等相关基础知识
        • 六、会用到使用不同的方式与后端服务进行数据交互,例如使用RESTful API、Ajax等进行数据请求和响应处理相关基础知识
        • 七、会用到调试、测试、定位、解决应用中出现的问题和bug相关基础知识
        • 八、会用到性能优化提升应用的加载速度和用户体验相关基础知识

文章目录

Ant Design Mobile of React 开发移动应用示例博文系列

第一篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:从helloworld开始

第二篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:天气应用

第三篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:健身追踪

第四篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:数据存储的七种类型讲解和示例

第五篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:基础页面制作介绍和示例代码

第六篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:UI框架39个组件集中讲解和示例代码

第七篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:安装配置node和npm避坑攻略

第八篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:打包上架部署云服务托管等后期工作

第九篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:使用内置组件实现响应式设计

第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例

前言

开发移动应用涉及到Ant Design Mobile时,您需要掌握以下相关方面的知识:

  1. React框架:Ant Design Mobile是基于React框架的UI组件库,因此需要熟悉React的基本概念和使用方法,如组件、状态管理、生命周期等。

  2. 前端开发基础:了解HTML、CSS和JavaScript等前端基础知识,掌握DOM操作、样式布局和事件处理等技能。

  3. Ant Design Mobile组件:详细了解Ant Design Mobile提供的各种移动端UI组件,包括按钮、表单、导航栏、列表等。理解这些组件的用法、属性和事件,能够正确地使用和定制它们来构建移动应用界面。

  4. 响应式设计:移动应用需要适配不同屏幕尺寸和设备,了解响应式设计的原理和实践,能够编写适应不同屏幕的布局和样式。

  5. 移动端开发工具:熟悉移动应用开发所使用的工具和环境,如Webpack、Babel等,能够配置和管理项目的依赖、构建和打包。

  6. 移动端网络通信:了解移动应用与后端服务之间的数据交互方式,如使用RESTful API、Ajax等进行数据请求和响应处理。

  7. 移动应用调试和测试:掌握移动应用调试和测试的方法和工具,能够定位和解决移动应用中出现的问题和bug。

  8. 移动端性能优化:了解移动应用性能优化的基本原则和技巧,如减少HTTP请求、图片优化、代码压缩等,以提升应用的加载速度和用户体验。

以上是开发移动应用涉及到Ant Design Mobile时的一些基本知识要求。当然,具体的开发需求和项目情况可能会有所不同,您可能还需要深入学习其他相关知识来满足实际的开发需求。

一、会用到React相关的基础知识

第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第1张图片1. 创建React组件示例代码:

import React from 'react';

const MyComponent = () => {
  return (
    

Hello, Ant Design Mobile!

); }; export default MyComponent;

在上述示例代码中,我们使用import React from 'react';语句引入React库,然后创建了一个简单的函数式组件MyComponent。在组件中,使用JSX语法定义了一个包含标题的

元素,并在返回语句中返回该元素。

  1. 使用组件示例代码:
import React from 'react';
import ReactDOM from 'react-dom';
import MyComponent from './MyComponent';

ReactDOM.render(, document.getElementById('app'));

在上述示例代码中,我们使用import语句引入React和ReactDOM库,并导入了之前创建的MyComponent组件。然后,使用ReactDOM.render方法将MyComponent组件渲染到指定的DOM元素上,通过document.getElementById('app')获取到容器元素的引用。

  1. 使用props传递数据示例代码:
import React from 'react';

const Greeting = (props) => {
  return (
    

Hello, {props.name}!

); }; export default Greeting;

在上述示例代码中,我们定义了一个名为Greeting的函数式组件,并通过参数props接收传递过来的数据。在组件中,使用props.name来获取传递的name属性,并在标题中显示出来。

  1. 使用状态管理示例代码:
import React, { useState } from 'react';

const Counter = () => {
  const [count, setCount] = useState(0);

  const increment = () => {
    setCount(count + 1);
  };

  return (
    

Counter: {count}

); }; export default Counter;

在上述示例代码中,我们使用useState钩子函数来定义了一个状态变量count和一个更新该状态的函数setCount。在组件中,通过count来展示当前计数值,并通过点击按钮触发increment函数来增加计数值。

这些示例代码展示了在Ant Design Mobile开发中所用到的React相关的基础知识的应用。通过灵活运用这些知识,你可以构建出更加复杂、交互性更强的Ant Design Mobile前端应用程序。

二、会用到HTML、CSS和JavaScript基础知识

在Ant Design Mobile开发中,你会用到以下HTML、CSS和JavaScript基础知识。下面是一些示例代码来演示它们的应用:

第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第2张图片1. HTML基础知识示例代码:

DOCTYPE html>
<html>
<head>
  <title>Ant Design Mobiletitle>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
head>
<body>
  <h1>Welcome to Ant Design Mobileh1>
  <div id="app">div>
body>
html>

在上述示例代码中,我们使用了HTML标签来创建一个简单的页面结构。通过</code>标签设置页面标题,<code><meta></code>标签设置字符编码和视口,<code><h1></code>标签创建一个标题,<code><div></code>标签创建一个容器用于渲染Ant Design Mobile组件。</p> <ol start="2"> <li>CSS基础知识示例代码:</li> </ol> <pre><code class="prism language-css"><span class="token selector">h1</span> <span class="token punctuation">{</span> <span class="token property">color</span><span class="token punctuation">:</span> #ff0000<span class="token punctuation">;</span> <span class="token property">font-size</span><span class="token punctuation">:</span> 24px<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token selector">#app</span> <span class="token punctuation">{</span> <span class="token property">background-color</span><span class="token punctuation">:</span> #f0f0f0<span class="token punctuation">;</span> <span class="token property">padding</span><span class="token punctuation">:</span> 20px<span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>在上述示例代码中,我们使用CSS样式来设置HTML元素的外观。通过选择器和属性值,我们可以设置标题的颜色和字体大小,设置容器的背景颜色和内边距。</p> <ol start="3"> <li>JavaScript基础知识示例代码:</li> </ol> <pre><code class="prism language-javascript"><span class="token keyword">import</span> React <span class="token keyword">from</span> <span class="token string">'react'</span><span class="token punctuation">;</span> <span class="token keyword">import</span> ReactDOM <span class="token keyword">from</span> <span class="token string">'react-dom'</span><span class="token punctuation">;</span> <span class="token keyword">import</span> <span class="token punctuation">{</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd-mobile'</span><span class="token punctuation">;</span> <span class="token keyword">const</span> <span class="token function-variable function">App</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token keyword">const</span> <span class="token function-variable function">handleClick</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token function">alert</span><span class="token punctuation">(</span><span class="token string">'Hello, Ant Design Mobile!'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token punctuation">(</span> <span class="token operator"><</span>div<span class="token operator">></span> <span class="token operator"><</span>h1<span class="token operator">></span>Welcome to Ant Design Mobile<span class="token operator"><</span><span class="token operator">/</span>h1<span class="token operator">></span> <span class="token operator"><</span>Button type<span class="token operator">=</span><span class="token string">"primary"</span> onClick<span class="token operator">=</span><span class="token punctuation">{</span>handleClick<span class="token punctuation">}</span><span class="token operator">></span>Click Me<span class="token operator"><</span><span class="token operator">/</span>Button<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token operator"><</span>App <span class="token operator">/</span><span class="token operator">></span><span class="token punctuation">,</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">'app'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>在上述示例代码中,我们使用JavaScript来创建一个React组件。通过导入React和ReactDOM库,我们可以使用JSX语法创建组件,并使用Ant Design Mobile的Button组件。定义了一个点击事件处理函数,在点击按钮时弹出一个提示框。最后,使用ReactDOM.render将组件渲染到指定的DOM元素上。</p> <p>这些示例代码展示了在Ant Design Mobile开发中所用到的HTML、CSS和JavaScript基础知识的应用。通过灵活运用这些知识,你可以构建出更加丰富、交互性更强的Ant Design Mobile前端应用程序。</p> <h5>三、会用到Ant Design Mobile组件相关基础知识</h5> <p>在Ant Design Mobile开发中,你会用到一些Ant Design Mobile组件相关的基础知识。下面是一些示例代码来演示它们的应用:</p> <p><a href="http://img.e-com-net.com/image/info8/7c5daea695204cabab121dbbbb7f504e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/7c5daea695204cabab121dbbbb7f504e.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第3张图片" width="650" height="571" style="border:1px solid black;"></a>1. Button按钮组件示例代码:</p> <pre><code class="prism language-jsx">import React from 'react'; import { Button } from 'antd-mobile'; const MyButton = () => { const handleClick = () => { alert('Button clicked!'); }; return ( <Button type="primary" onClick={handleClick}>Click Me</Button> ); }; export default MyButton; </code></pre> <p>在上述示例代码中,我们使用<code>import { Button } from 'antd-mobile';</code>语句引入Ant Design Mobile的Button组件。然后,我们创建了一个自定义的函数式组件<code>MyButton</code>,在组件中使用<code><Button></code>标签来创建一个按钮,并通过<code>type="primary"</code>属性设置按钮样式为主要按钮。同时,我们定义了一个点击事件处理函数<code>handleClick</code>,当按钮被点击时弹出一个提示框。</p> <ol start="2"> <li>List列表组件示例代码:</li> </ol> <pre><code class="prism language-jsx">import React from 'react'; import { List } from 'antd-mobile'; const MyList = () => { return ( <List> <List.Item>Item 1</List.Item> <List.Item>Item 2</List.Item> <List.Item>Item 3</List.Item> </List> ); }; export default MyList; </code></pre> <p>在上述示例代码中,我们使用<code>import { List } from 'antd-mobile';</code>语句引入Ant Design Mobile的List组件。然后,我们创建了一个自定义的函数式组件<code>MyList</code>,在组件中使用<code><List></code>标签来创建一个列表,并在列表中使用多个<code><List.Item></code>标签来创建列表项。</p> <ol start="3"> <li>Flex弹性布局组件示例代码:</li> </ol> <pre><code class="prism language-jsx">import React from 'react'; import { Flex } from 'antd-mobile'; const MyFlex = () => { return ( <Flex> <Flex.Item>Item 1</Flex.Item> <Flex.Item>Item 2</Flex.Item> <Flex.Item>Item 3</Flex.Item> </Flex> ); }; export default MyFlex; </code></pre> <p>在上述示例代码中,我们使用<code>import { Flex } from 'antd-mobile';</code>语句引入Ant Design Mobile的Flex组件。然后,我们创建了一个自定义的函数式组件<code>MyFlex</code>,在组件中使用<code><Flex></code>标签来创建一个弹性布局容器,并在容器中使用多个<code><Flex.Item></code>标签来创建布局项。</p> <p>这些示例代码展示了在Ant Design Mobile开发中所用到的一些组件相关的基础知识的应用。通过灵活运用这些知识,你可以构建出更加丰富、交互性更强的Ant Design Mobile前端应用程序。</p> <h5>四、会用到到响应式设计相关基础知识</h5> <p>在开发Ant Design Mobile应用程序时,你会用到一些响应式设计相关的基础知识。以下是一些示例代码,演示了这些知识的应用:</p> <p><a href="http://img.e-com-net.com/image/info8/96f2435f85b8488c8b5ae95a0fc44923.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/96f2435f85b8488c8b5ae95a0fc44923.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第4张图片" width="650" height="366" style="border:1px solid black;"></a>1. 使用媒体查询示例代码:</p> <pre><code class="prism language-css"><span class="token selector">.container</span> <span class="token punctuation">{</span> <span class="token property">display</span><span class="token punctuation">:</span> flex<span class="token punctuation">;</span> <span class="token property">flex-wrap</span><span class="token punctuation">:</span> wrap<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token selector">.item</span> <span class="token punctuation">{</span> <span class="token property">width</span><span class="token punctuation">:</span> 100%<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token atrule"><span class="token rule">@media</span> screen <span class="token keyword">and</span> <span class="token punctuation">(</span><span class="token property">min-width</span><span class="token punctuation">:</span> 768px<span class="token punctuation">)</span></span> <span class="token punctuation">{</span> <span class="token selector">.item</span> <span class="token punctuation">{</span> <span class="token property">width</span><span class="token punctuation">:</span> 50%<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token atrule"><span class="token rule">@media</span> screen <span class="token keyword">and</span> <span class="token punctuation">(</span><span class="token property">min-width</span><span class="token punctuation">:</span> 1200px<span class="token punctuation">)</span></span> <span class="token punctuation">{</span> <span class="token selector">.item</span> <span class="token punctuation">{</span> <span class="token property">width</span><span class="token punctuation">:</span> 33.33%<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> </code></pre> <p>在上述示例代码中,我们使用CSS的媒体查询来实现响应式布局。在默认情况下,<code>.item</code>元素的宽度设置为100%。当屏幕宽度达到768px时,媒体查询将应用,<code>.item</code>元素的宽度设置为50%。当屏幕宽度达到1200px时,另一个媒体查询将应用,<code>.item</code>元素的宽度设置为33.33%。通过这种方式,我们可以根据不同的屏幕尺寸设置不同的样式,实现响应式布局。</p> <ol start="2"> <li>使用Flex布局示例代码:</li> </ol> <pre><code class="prism language-jsx">import React from 'react'; import { Flex } from 'antd-mobile'; const MyComponent = () => { return ( <Flex wrap="wrap" justify="center" align="center"> <Flex.Item>Item 1</Flex.Item> <Flex.Item>Item 2</Flex.Item> <Flex.Item>Item 3</Flex.Item> </Flex> ); }; export default MyComponent; </code></pre> <p>在上述示例代码中,我们使用Ant Design Mobile的Flex组件来实现响应式布局。通过设置<code>wrap="wrap"</code>属性,当需要换行时,元素将自动换行。通过设置<code>justify="center"</code>属性,元素在主轴上居中对齐。通过设置<code>align="center"</code>属性,元素在交叉轴上居中对齐。这样,无论屏幕尺寸如何变化,元素都能够自适应地排列和对齐。</p> <ol start="3"> <li>使用Grid网格布局示例代码:</li> </ol> <pre><code class="prism language-jsx">import React from 'react'; import { Grid } from 'antd-mobile'; const MyComponent = () => { const data = Array.from({ length: 6 }).map((_, index) => ({ icon: `icon-${index}`, text: `Item ${index + 1}`, })); return ( <Grid data={data} columnNum={3} /> ); }; export default MyComponent; </code></pre> <p>在上述示例代码中,我们使用Ant Design Mobile的Grid组件来实现响应式网格布局。通过传递一个数据数组给<code>data</code>属性,我们可以自动生成网格项。通过设置<code>columnNum={3}</code>属性,每行显示3列。这样,不论屏幕尺寸如何变化,网格布局都能够自适应地展示。</p> <p>这些示例代码展示了在Ant Design Mobile开发中所用到的一些响应式设计相关的基础知识的应用。通过灵活运用这些知识,你可以构建出适应不同屏幕尺寸和设备的响应式Ant Design Mobile前端应用程序。</p> <h5>五、会用到使用移动开发工具来环境配置、管理项目依赖、构建和打包等相关基础知识</h5> <p>在移动应用开发中,你会用到一些工具和环境来配置和管理项目的依赖、构建和打包。以下是一些基础知识示例代码,演示了这些工具的应用:</p> <p><a href="http://img.e-com-net.com/image/info8/a4ed6dc5fbed45d1b48bca405a272b0d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a4ed6dc5fbed45d1b48bca405a272b0d.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第5张图片" width="650" height="338" style="border:1px solid black;"></a>1. 使用Webpack进行项目构建示例代码:</p> <p>首先,确保已经全局安装了Webpack和Webpack CLI:</p> <pre><code class="prism language-bash"><span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-g</span> webpack webpack-cli </code></pre> <p>然后,在项目根目录下创建一个<code>webpack.config.js</code>文件,配置Webpack的相关设置:</p> <pre><code class="prism language-javascript"><span class="token keyword">const</span> path <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'path'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span> <span class="token literal-property property">entry</span><span class="token operator">:</span> <span class="token string">'./src/index.js'</span><span class="token punctuation">,</span> <span class="token literal-property property">output</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token literal-property property">path</span><span class="token operator">:</span> path<span class="token punctuation">.</span><span class="token function">resolve</span><span class="token punctuation">(</span>__dirname<span class="token punctuation">,</span> <span class="token string">'dist'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token literal-property property">filename</span><span class="token operator">:</span> <span class="token string">'bundle.js'</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token literal-property property">module</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token literal-property property">rules</span><span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> <span class="token literal-property property">test</span><span class="token operator">:</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">\.(js|jsx)$</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token literal-property property">exclude</span><span class="token operator">:</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">node_modules</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token literal-property property">use</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">'babel-loader'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> <span class="token literal-property property">test</span><span class="token operator">:</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">\.css$</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token literal-property property">use</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">'style-loader'</span><span class="token punctuation">,</span> <span class="token string">'css-loader'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token literal-property property">resolve</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token literal-property property">extensions</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">'.js'</span><span class="token punctuation">,</span> <span class="token string">'.jsx'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> </code></pre> <p>在上述示例代码中,我们配置了Webpack的入口文件和输出文件路径。同时,我们使用<code>module.rules</code>配置了Babel和CSS加载器,以便处理JavaScript和CSS文件。最后,使用<code>resolve.extensions</code>配置了可以省略的文件扩展名。</p> <p><a href="http://img.e-com-net.com/image/info8/a33ac547b6e346e8a60744aa50262128.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a33ac547b6e346e8a60744aa50262128.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第6张图片" width="650" height="325" style="border:1px solid black;"></a>2. 使用Babel进行JavaScript代码转换示例代码:</p> <p>首先,确保已经安装了Babel和相关插件:</p> <pre><code class="prism language-bash"><span class="token function">npm</span> <span class="token function">install</span> --save-dev @babel/core @babel/preset-env babel-loader </code></pre> <p>然后,在Webpack配置文件中添加对Babel的配置:</p> <pre><code class="prism language-javascript"><span class="token literal-property property">module</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token literal-property property">rules</span><span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> <span class="token literal-property property">test</span><span class="token operator">:</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">\.(js|jsx)$</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token literal-property property">exclude</span><span class="token operator">:</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">node_modules</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token literal-property property">use</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">'babel-loader'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre> <p>在项目根目录下创建一个<code>.babelrc</code>文件,配置Babel的预设:</p> <pre><code class="prism language-json"><span class="token punctuation">{</span> <span class="token string-property property">"presets"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"@babel/preset-env"</span><span class="token punctuation">]</span> <span class="token punctuation">}</span> </code></pre> <p>这样,Webpack将会使用Babel加载器来处理JavaScript文件,通过Babel的预设将ES6+代码转换为浏览器可兼容的代码。</p> <ol start="3"> <li>使用npm进行依赖管理示例代码:</li> </ol> <p>在项目根目录下的<code>package.json</code>文件中,可以添加和管理项目的依赖:</p> <pre><code class="prism language-json"><span class="token punctuation">{</span> <span class="token string-property property">"name"</span><span class="token operator">:</span> <span class="token string">"my-app"</span><span class="token punctuation">,</span> <span class="token string-property property">"version"</span><span class="token operator">:</span> <span class="token string">"1.0.0"</span><span class="token punctuation">,</span> <span class="token string-property property">"dependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string-property property">"react"</span><span class="token operator">:</span> <span class="token string">"^17.0.1"</span><span class="token punctuation">,</span> <span class="token string-property property">"react-dom"</span><span class="token operator">:</span> <span class="token string">"^17.0.1"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"devDependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string-property property">"webpack"</span><span class="token operator">:</span> <span class="token string">"^5.10.0"</span><span class="token punctuation">,</span> <span class="token string-property property">"webpack-cli"</span><span class="token operator">:</span> <span class="token string">"^4.2.0"</span><span class="token punctuation">,</span> <span class="token string-property property">"babel-loader"</span><span class="token operator">:</span> <span class="token string">"^8.2.2"</span><span class="token punctuation">,</span> <span class="token string-property property">"@babel/core"</span><span class="token operator">:</span> <span class="token string">"^7.12.3"</span><span class="token punctuation">,</span> <span class="token string-property property">"@babel/preset-env"</span><span class="token operator">:</span> <span class="token string">"^7.12.1"</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> </code></pre> <p>在上述示例代码中,我们可以在<code>dependencies</code>中添加生产环境依赖,例如React和ReactDOM。在<code>devDependencies</code>中添加开发环境依赖,例如Webpack、Webpack CLI、Babel Loader和Babel相关插件。通过运行<code>npm install</code>命令,可以安装并管理项目的依赖。</p> <p>这些示例代码展示了在移动端开发中所用到的一些工具和环境的基础知识的应用。通过灵活运用这些工具,你可以配置和管理项目的依赖、构建和打包,以满足移动应用开发的需求。</p> <h5>六、会用到使用不同的方式与后端服务进行数据交互,例如使用RESTful API、Ajax等进行数据请求和响应处理相关基础知识</h5> <p>在移动应用开发中,你会使用不同的方式与后端服务进行数据交互,例如使用RESTful API、Ajax等进行数据请求和响应处理。以下是一些基础知识示例代码,演示了这些数据交互方式的应用:</p> <p><a href="http://img.e-com-net.com/image/info8/db7e218a5af34503a8d6600424a53bf3.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/db7e218a5af34503a8d6600424a53bf3.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第7张图片" width="650" height="304" style="border:1px solid black;"></a>1. 使用RESTful API进行数据请求示例代码:</p> <pre><code class="prism language-javascript"><span class="token keyword">import</span> axios <span class="token keyword">from</span> <span class="token string">'axios'</span><span class="token punctuation">;</span> <span class="token comment">// 发送GET请求</span> axios<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">'/api/users'</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">response</span> <span class="token operator">=></span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>response<span class="token punctuation">.</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">catch</span><span class="token punctuation">(</span><span class="token parameter">error</span> <span class="token operator">=></span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">error</span><span class="token punctuation">(</span>error<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 发送POST请求</span> axios<span class="token punctuation">.</span><span class="token function">post</span><span class="token punctuation">(</span><span class="token string">'/api/users'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">'John'</span><span class="token punctuation">,</span> <span class="token literal-property property">age</span><span class="token operator">:</span> <span class="token number">25</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">response</span> <span class="token operator">=></span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>response<span class="token punctuation">.</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">catch</span><span class="token punctuation">(</span><span class="token parameter">error</span> <span class="token operator">=></span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">error</span><span class="token punctuation">(</span>error<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>在上述示例代码中,我们使用axios库来发送HTTP请求。通过调用<code>axios.get</code>方法可以发送GET请求,传递请求的URL作为参数。通过调用<code>axios.post</code>方法可以发送POST请求,传递请求的URL和请求体作为参数。使用<code>.then</code>方法处理请求成功的响应,使用<code>.catch</code>方法处理请求失败的错误。</p> <p><a href="http://img.e-com-net.com/image/info8/0d6d164a5a434e29a452cabb334e6f5a.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/0d6d164a5a434e29a452cabb334e6f5a.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第8张图片" width="650" height="361" style="border:1px solid black;"></a>2. 使用Ajax进行数据请求示例代码:</p> <pre><code class="prism language-javascript"><span class="token keyword">const</span> xhr <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">XMLHttpRequest</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> xhr<span class="token punctuation">.</span><span class="token function">open</span><span class="token punctuation">(</span><span class="token string">'GET'</span><span class="token punctuation">,</span> <span class="token string">'/api/users'</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span> xhr<span class="token punctuation">.</span><span class="token function-variable function">onreadystatechange</span> <span class="token operator">=</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>xhr<span class="token punctuation">.</span>readyState <span class="token operator">===</span> XMLHttpRequest<span class="token punctuation">.</span><span class="token constant">DONE</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>xhr<span class="token punctuation">.</span>status <span class="token operator">===</span> <span class="token number">200</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>xhr<span class="token punctuation">.</span>responseText<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">error</span><span class="token punctuation">(</span>xhr<span class="token punctuation">.</span>statusText<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> xhr<span class="token punctuation">.</span><span class="token function">send</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>在上述示例代码中,我们使用XMLHttpRequest对象来发送HTTP请求。通过调用<code>xhr.open</code>方法设置请求的方法、URL和异步标志。通过设置<code>xhr.onreadystatechange</code>事件处理函数来监听请求状态的变化。当请求状态变为<code>XMLHttpRequest.DONE</code>时,可以通过<code>xhr.status</code>获取响应的状态码,通过<code>xhr.responseText</code>获取响应的文本数据。</p> <p>这些示例代码展示了在移动应用开发中所用到的一些数据交互方式的基础知识的应用。通过灵活运用这些方式,你可以与后端服务进行数据请求和响应处理,实现移动应用与后端服务之间的数据交互。</p> <h5>七、会用到调试、测试、定位、解决应用中出现的问题和bug相关基础知识</h5> <p>在移动应用开发中,调试和测试是非常重要的环节,可以帮助你定位和解决应用中出现的问题和bug。以下是一些基础知识示例代码,演示了一些常用的移动应用调试和测试方法和工具:</p> <p><a href="http://img.e-com-net.com/image/info8/e9f4b9ee5dca474fb037491e40ca9b04.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e9f4b9ee5dca474fb037491e40ca9b04.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第9张图片" width="650" height="637" style="border:1px solid black;"></a>(一)使用Chrome开发者工具进行移动应用调试示例代码:</p> <p>将移动设备连接到电脑上,并打开Chrome浏览器。</p> <ol> <li> <p>打开开发者工具:在Chrome浏览器中,按下<code>Ctrl + Shift + I</code>(Windows)或<code>Command + Option + I</code>(Mac)打开开发者工具。</p> </li> <li> <p>切换到移动设备模式:在开发者工具窗口的左上角,点击手机图标按钮,进入移动设备模式。</p> </li> <li> <p>选择移动设备:在开发者工具窗口的顶部,点击设备选择框,选择你要模拟的移动设备。</p> </li> <li> <p>调试移动应用:在开发者工具中,可以使用各种调试工具和功能,例如查看元素、调试JavaScript代码、监控网络请求等,来定位和解决移动应用中的问题和bug。</p> </li> </ol> <p><a href="http://img.e-com-net.com/image/info8/3ed7f1892fbc4acf95e8047e541280b7.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/3ed7f1892fbc4acf95e8047e541280b7.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第10张图片" width="650" height="387" style="border:1px solid black;"></a>(二)使用移动端调试工具进行移动应用调试示例代码:</p> <p>对于移动应用的调试,你可以使用一些专门的移动端调试工具,例如:</p> <ul> <li> <p>Android Studio:适用于Android应用的集成开发环境,提供了丰富的调试工具和功能,例如Logcat日志查看器、调试器等。</p> </li> <li> <p>Xcode:适用于iOS应用的集成开发环境,提供了强大的调试工具和功能,例如调试器、Instruments性能分析器等。</p> </li> </ul> <p>通过使用这些移动端调试工具,你可以在真实设备或模拟器上进行应用调试,查看日志、检查变量、跟踪代码执行流程等,以便定位和解决移动应用中的问题和bug。</p> <p>(三)使用单元测试和集成测试进行移动应用测试示例代码:</p> <p>在移动应用开发中,你可以使用单元测试和集成测试来验证应用的各个部分是否按照预期工作。以下是一个基于Jest测试框架的单元测试示例代码:</p> <pre><code class="prism language-javascript"><span class="token comment">// calculator.js</span> <span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">add</span><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> a <span class="token operator">+</span> b<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">subtract</span><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> a <span class="token operator">-</span> b<span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <pre><code class="prism language-javascript"><span class="token comment">// calculator.test.js</span> <span class="token keyword">import</span> <span class="token punctuation">{</span> add<span class="token punctuation">,</span> subtract <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'./calculator'</span><span class="token punctuation">;</span> <span class="token function">test</span><span class="token punctuation">(</span><span class="token string">'add function should add two numbers correctly'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token function">expect</span><span class="token punctuation">(</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">toBe</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">test</span><span class="token punctuation">(</span><span class="token string">'subtract function should subtract two numbers correctly'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token function">expect</span><span class="token punctuation">(</span><span class="token function">subtract</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">toBe</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>在上述示例代码中,我们定义了一个<code>calculator.js</code>文件,其中导出了<code>add</code>和<code>subtract</code>两个函数。然后,我们创建了一个<code>calculator.test.js</code>文件,在该文件中编写了针对<code>add</code>和<code>subtract</code>函数的单元测试。通过运行测试命令(例如<code>npm test</code>),可以执行这些测试并查看测试结果。</p> <p>这些示例代码展示了在移动应用开发中所用到的一些调试和测试的基础知识的应用。通过灵活运用这些方法和工具,你可以定位和解决移动应用中出现的问题和bug,并确保应用的质量和稳定性。</p> <h5>八、会用到性能优化提升应用的加载速度和用户体验相关基础知识</h5> <p>在移动应用开发中,性能优化是非常重要的,可以提升应用的加载速度和用户体验。以下是一些基本原则和技巧,可以帮助你进行移动应用性能优化:</p> <p><a href="http://img.e-com-net.com/image/info8/8d258c1a15f343bb81f8aba45c887022.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/8d258c1a15f343bb81f8aba45c887022.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第11张图片" width="400" height="285" style="border:1px solid black;"></a>1. 减少HTTP请求:</p> <ul> <li>合并文件:将多个CSS或JavaScript文件合并为一个,减少HTTP请求的数量。</li> <li>使用雪碧图:将多个小图标合并为一个大图,通过CSS的背景定位来显示不同的图标,减少HTTP请求的数量。</li> <li>使用字体图标:使用字体图标代替图像图标,减少HTTP请求的数量。</li> </ul> <ol start="2"> <li>图片优化:</li> </ol> <ul> <li>压缩图片:使用工具(例如ImageOptim、TinyPNG)压缩图片文件大小,减少下载时间。</li> <li>使用适当的图像格式:选择合适的图像格式,例如JPEG、PNG或WebP,以在图像质量和文件大小之间取得平衡。</li> </ul> <ol start="3"> <li>代码压缩和合并:</li> </ol> <ul> <li>压缩CSS和JavaScript代码:使用工具(例如UglifyJS、Terser)压缩代码文件大小,减少下载时间。</li> <li>合并CSS和JavaScript文件:将多个CSS或JavaScript文件合并为一个,减少HTTP请求的数量。</li> </ul> <p><a href="http://img.e-com-net.com/image/info8/321e263edc624a3b9d6507461f8148d1.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/321e263edc624a3b9d6507461f8148d1.jpg" alt="第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例_第12张图片" width="337" height="299" style="border:1px solid black;"></a>4. 延迟加载和懒加载:</p> <ul> <li>延迟加载:延迟加载某些资源,例如图片、JavaScript库,直到它们真正需要时再加载。</li> <li>懒加载:只在用户滚动到可见区域时加载特定的内容,例如图片或其他资源。</li> </ul> <ol start="5"> <li>缓存机制:</li> </ol> <ul> <li>使用浏览器缓存:通过设置适当的HTTP响应头来启用浏览器缓存,减少重复的网络请求。</li> <li>使用缓存策略:将不经常变化的资源(例如静态文件)设置为永久缓存,将动态内容设置为可缓存但有限时间的缓存。</li> </ul> <ol start="6"> <li>DOM操作和重绘优化:</li> </ol> <ul> <li>减少DOM操作:减少对DOM的频繁操作,因为DOM操作是昂贵的,会引起重排和重绘。</li> <li>使用CSS动画:使用CSS动画代替JavaScript动画,因为CSS动画通常更高效。</li> </ul> <p>这些是一些基本的移动应用性能优化原则和技巧。通过遵循这些原则和运用这些技巧,你可以提升移动应用的加载速度和用户体验,使应用更加高效和流畅。</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1748554150322388992"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Ant,Design,Mobile,of,React,示例,react.js,javascript,前端框架,ui,node.js)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1942273364521447424.htm" title="[内核开发手册] 一文搞懂 MISRA C编码规范" target="_blank">[内核开发手册] 一文搞懂 MISRA C编码规范</a> <span class="text-muted">车载操作系统---攻城狮</span> <a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%EF%BC%88C%2FC%2B%2B/1.htm">语言学习(C/C++</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/Rust%E7%AD%89%EF%BC%89/1.htm">Rust等)</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/1.htm">嵌入式开发</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>一文搞懂MISRAC编码规范一、MISRAC是什么?二、如何获取MISRAC官方文档?获取步骤三、为何需要MISRAC标准?行业刚性需求四、MISRAC核心规则详解(以2012版为例)规则结构:关键规则类别及典型示例:1.环境约束2.数据类型安全3.初始化与声明4.表达式安全5.流程控制安全6.指针与内存安全7.预处理器规范8.标准库限制五、总结一、MISRAC是什么?MISRAC是由汽车工业软件</div> </li> <li><a href="/article/1942269333447176192.htm" title="axios 使用入门" target="_blank">axios 使用入门</a> <span class="text-muted"></span> <div>axios使用入门阅读目录一、前言#二、干货合集#1、加载#2、get&post#3、拦截器#三、总结#一、前言在没有接触React、Angular、Vue这类MVVM的前端框架之前,无法抛弃Jquery的重要理由,除了优秀的前端DOM元素操作性以外,能够非常便捷的发起http请求也占有非常重要的地位。既然我们已经开始使用Vue进行前端开发,抛弃了对页面DOM元素的操作,难道,为了方便的发起htt</div> </li> <li><a href="/article/1942266309400129536.htm" title="JVM系列五:字节码与执行引擎深度解析" target="_blank">JVM系列五:字节码与执行引擎深度解析</a> <span class="text-muted"></span> <div>JVM系列五:字节码与执行引擎深度解析文章目录JVM系列五:字节码与执行引擎深度解析引言⚡五、字节码与执行引擎字节码文件结构字节码文件组成部分解析️Class文件结构详解实例分析字节码指令集介绍指令分类常用指令详解字节码示例分析⚙️执行引擎工作原理解释执行与即时编译(JIT)解释执行⚡即时编译(JIT)热点代码探测探测方法计数器详解示例代码️分层编译技术编译层级️分层编译配置性能对比️实战案例案例</div> </li> <li><a href="/article/1942264669217550336.htm" title="面向对象与面向过程程序设计语言:核心概念、对比分析与应用指南" target="_blank">面向对象与面向过程程序设计语言:核心概念、对比分析与应用指南</a> <span class="text-muted">咸鱼_要_翻身</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录一、面向过程程序设计语言(ProceduralProgramming)1、基本概念2、主要特点3、代表语言4、典型示例(C语言)5、优势6、局限性二、面向对象程序设计语言(Object-OrientedProgramming)1、基本概念2、四大核心特性3、代表语言4、典型示例(Java)5、优势6、局限性三、主要区别对比四、实际应用选择建议五、现代语言趋势一、面向过程程序设计语言(Proce</div> </li> <li><a href="/article/1942264416506540032.htm" title="Elasticsearch:基本概念、索引结构与优缺点分析" target="_blank">Elasticsearch:基本概念、索引结构与优缺点分析</a> <span class="text-muted">Leaton Lee</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a> <div>一、Elasticsearch基本概念Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful搜索引擎,专为云计算环境设计,能够实现近乎实时的数据搜索和分析功能。核心概念解析文档(Document)Elasticsearch中的基本数据单元,使用JSON格式表示每个文档有唯一ID和类型示例:一条产品信息、一篇博客文章或一个客户记录索引(Index)文档的集合,类似于关系数</div> </li> <li><a href="/article/1942264289523986432.htm" title="数据库迁移实战:如何零停机、零丢失迁移数据库?" target="_blank">数据库迁移实战:如何零停机、零丢失迁移数据库?</a> <span class="text-muted">Leaton Lee</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>引言:一场没有硝烟的“数据大迁徙”想象一下,你正在为一家电商公司优化数据库架构,需要将MySQL迁移到分布式数据库TiDB。但问题来了:如何在业务高峰期不停止服务,同时确保数据零丢失?这不仅是技术挑战,更是一场精密的“数据芭蕾舞”。今天,我们就从理论到实战,手把手教你完成这场“不可能的任务”!一、迁移前的“战前沙盘推演”1.1数据摸底:绘制“数据地图”数据规模:统计表大小、索引、分区信息(示例:S</div> </li> <li><a href="/article/1942263028636512256.htm" title="以下是基于 C# 的面向对象设计,抽象出公共接口和协议实现" target="_blank">以下是基于 C# 的面向对象设计,抽象出公共接口和协议实现</a> <span class="text-muted">zhxup606</span> <a class="tag" taget="_blank" href="/search/%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE/1.htm">通讯协议</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>以下是基于C#的面向对象设计,抽象出公共接口和协议实现,涵盖SerialPortProtocol、TcpProtocol、HttpProtocol、WebSocketProtocol、ModbusProtocol和MQTTProtocol。每个协议实现为单独的项目,公共接口定义在独立项目中,使用异步编程模式(async/await)确保高效和稳定,代码结构易于扩展。以下内容包含详细的代码示例、注释</div> </li> <li><a href="/article/1942262901855285248.htm" title="李工ROBOT架构之硬件驱动或数据存储的详细代码" target="_blank">李工ROBOT架构之硬件驱动或数据存储的详细代码</a> <span class="text-muted"></span> <div>我将提供基于.NET8.0-windows7.0的半导体可靠性测试机上位机系统的硬件驱动和数据存储模块的详细代码实现。代码将与之前的UI框架(WPF、Prism、MVVM、MaterialDesignThemes、LiveCharts2)无缝集成,涵盖硬件驱动的抽象接口、不同协议(串口、TCP/UDP、Modbus)支持,以及数据存储的CSV、SQLite和MySQL实现。以下内容包含详细的代码示</div> </li> <li><a href="/article/1942262902354407424.htm" title="李工ROBOT架构之扩展 TestController 以支持更多实验(如 TDDB、TC)并增强可扩展性" target="_blank">李工ROBOT架构之扩展 TestController 以支持更多实验(如 TDDB、TC)并增强可扩展性</a> <span class="text-muted"></span> <div>基于您的需求,我将为半导体可靠性测试机上位机系统提供以下内容的详细实现:扩展TestController以支持更多实验(如TDDB、TC)并增强可扩展性,以及硬件驱动层协议扩展(支持Modbus、UDP)。内容基于.NETCore8.0、WPF、MVVM模式、Prism框架,并使用中文描述,确保代码可落地且易于扩展。我将提供具体代码示例、设计思路和性能优化建议,并实现动态配置切换不同测试模式的功能</div> </li> <li><a href="/article/1942262773798989824.htm" title="Bootstrap 表单" target="_blank">Bootstrap 表单</a> <span class="text-muted">wjs2024</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Bootstrap表单Bootstrap是一个流行的前端框架,它可以帮助开发者快速构建响应式和美观的网页界面。在Bootstrap中,表单是用户与网站交互的重要部分。本文将详细介绍Bootstrap表单的用法、样式和优化技巧。1.Bootstrap表单概述Bootstrap表单提供了丰富的样式和组件,可以帮助开发者轻松实现各种表单需求。以下是一些常见的Bootstrap表单组件:输入框(Input</div> </li> <li><a href="/article/1942259999984119808.htm" title="java从服务器EXECL文件下载" target="_blank">java从服务器EXECL文件下载</a> <span class="text-muted">三思的韦小宝</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>Java从服务器下载Excel文件的实现在现代软件开发中,经常需要与服务器进行数据交互,其中一种常见的场景是从服务器下载Excel文件。本文将介绍如何在Java中实现从服务器下载Excel文件,并展示相关的代码示例。为什么需要从服务器下载Excel文件Excel文件是一种广泛使用的电子表格格式,它能够存储大量的数据和公式。在企业应用中,经常需要将数据以Excel的形式进行存储和传输。然而,由于Ex</div> </li> <li><a href="/article/1942256596977512448.htm" title="Pyramda:Python 中的函数式编程利器" target="_blank">Pyramda:Python 中的函数式编程利器</a> <span class="text-muted">惠悦颖</span> <div>Pyramda:Python中的函数式编程利器pyramdaPythonpackagesupportingheavyfunctionalprogrammingthroughcurrying.TranslationoftheRamdalibraryfromjavascripttopython.项目地址:https://gitcode.com/gh_mirrors/py/pyramdaPyramda是</div> </li> <li><a href="/article/1942253949985812480.htm" title="李工ROBOT架构之开篇" target="_blank">李工ROBOT架构之开篇</a> <span class="text-muted">zhxup606</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>以下是一个基于.NETCore+WPF的半导体可靠性测试机上位机系统的完整架构设计,涵盖UI、业务逻辑、硬件驱动、数据处理模块、日志、计算和扩展功能等。内容将按照模块化、分层设计进行详细说明,并提供关键代码示例。由于内容较长,我会分模块逐步展开,确保清晰且实用。同时,我会根据你的需求(MVVM、Prism、Autofac、Serilog、LiveCharts等)提供一个系统性框架,并附带中文解释。</div> </li> <li><a href="/article/1942252563894169600.htm" title="Pixhawk源码笔记五:存储与EEPROM管理" target="_blank">Pixhawk源码笔记五:存储与EEPROM管理</a> <span class="text-muted">zhouxinlin2009</span> <div>这里,我们对APMEEPROM存储接口进行讲解。如有问题,可以交流30175224@qq.com。新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢。第六部分存储与EEPROM管理详细参考:http://dev.ardupilot.com/wiki/learning-ardupilot-storage-and-eeprom-management/用户参数、航点、集结点、地图</div> </li> <li><a href="/article/1942247525167722496.htm" title="Wizard全栈开发框架:轻松构建企业级应用" target="_blank">Wizard全栈开发框架:轻松构建企业级应用</a> <span class="text-muted">GISer_Jinger</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/1.htm">前端基础</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>Wizard全栈开发框架详解Wizard是一个现代化的全栈开发框架,旨在简化企业级应用的开发流程,提供从前端到后端的完整解决方案。一、核心架构前端架构UI层:支持React、Vue等主流框架状态管理:集成Redux、Vuex等方案API客户端:自动生成类型安全的API调用代码生成器:基于模板自动生成页面组件后端架构Web服务器:支持Express、SpringBoot等多种实现ORM:内置多数据库</div> </li> <li><a href="/article/1942247146698895360.htm" title="【ESP32最全学习笔记(基础篇)——7.ESP32 ADC – 使用 Arduino IDE 读取模拟值】" target="_blank">【ESP32最全学习笔记(基础篇)——7.ESP32 ADC – 使用 Arduino IDE 读取模拟值】</a> <span class="text-muted">「已注销」</span> <a class="tag" taget="_blank" href="/search/ESP32%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">ESP32学习笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/ESP32/1.htm">ESP32</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/Arduino/1.htm">Arduino</a> <div>关于本教程:ESP32基础篇1.ESP32简介2.ESP32Arduino集成开发环境3.VS代码和PlatformIO4.ESP32引脚5.ESP32输入输出6.ESP32脉宽调制7.ESP32模拟输入☑8.ESP32中断定时器9.ESP32深度睡眠</div> </li> <li><a href="/article/1942247146220744704.htm" title="Ubuntu 14.04连接上海大学ShuWlan-1X与eduroam" target="_blank">Ubuntu 14.04连接上海大学ShuWlan-1X与eduroam</a> <span class="text-muted"></span> <div>无线配置GUI窗口界面配置无线:安全-WPA及WAP2企业认证-受保护的EAP(PEAP)CAZ证书-不需要内部认证-MSCHAPv2eduroam的用户名为学号@sdvip.shu.edu.cn,密码为一卡通密码。ShuWlan-1X的用户名学号,密码为一卡通密码。</div> </li> <li><a href="/article/1942246768188125184.htm" title="Ch55xduino 项目使用教程" target="_blank">Ch55xduino 项目使用教程</a> <span class="text-muted"></span> <div>Ch55xduino项目使用教程ch55xduino项目地址:https://gitcode.com/gh_mirrors/ch/ch55xduino1.项目介绍Ch55xduino是一个为CH55X系列微控制器提供的Arduino编程接口。CH55X是一系列低成本的MCS51USB微控制器,Ch55xduino项目旨在简化这些设备的编程环境设置,使用户能够像使用ArduinoIDE一样轻松地编写</div> </li> <li><a href="/article/1942245129729404928.htm" title="Arduino CH552 ADC的使用" target="_blank">Arduino CH552 ADC的使用</a> <span class="text-muted">perseverance52</span> <a class="tag" taget="_blank" href="/search/WCH-E8051%E5%8D%95%E7%89%87%E6%9C%BA%E5%BC%80%E5%8F%91/1.htm">WCH-E8051单片机开发</a><a class="tag" taget="_blank" href="/search/CH552/1.htm">CH552</a><a class="tag" taget="_blank" href="/search/ADC/1.htm">ADC</a> <div>ArduinoCH552ADC的使用CH552ADC简介CH552芯片提供8位的模拟数字转换器,包括电压比较器和ADC模块。该转换器具有4个模拟信号输入通道,可以分时采集,支持0到VCC模拟输入电压范围。ADC寄存器ADC控制寄存器(ADC_CTRL)ADC配置寄存器(ADC_CFG):ADC数据寄存器(ADC_DATA):ADC功能ADC采样模式配置步骤:(1)、设置ADC_CFG寄存器中的AD</div> </li> <li><a href="/article/1942244750715318272.htm" title="FPS射击游戏状态同步架构方案" target="_blank">FPS射击游戏状态同步架构方案</a> <span class="text-muted">你一身傲骨怎能输</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E4%B8%93%E6%A0%8F/1.htm">游戏开发技术专栏</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>文章摘要本文提出了一种FPS射击游戏的状态同步架构方案,旨在实现低延迟、高一致性和抗作弊。采用服务器权威架构,客户端仅提供输入和预测渲染,服务器验证并广播状态。通过客户端预测、服务器校正和增量同步机制优化延迟与带宽,同时利用事件驱动同步确保关键事件一致。网络优化包括数据压缩、差异编码和优先级排序。方案还包含输入验证、反作弊措施和容错机制,并通过示例数据包设计和流程说明具体实现。优势包括低延迟、状态</div> </li> <li><a href="/article/1942242980488343552.htm" title="VTK着色器MarbleShader代码学习(4)" target="_blank">VTK着色器MarbleShader代码学习(4)</a> <span class="text-muted">点PY</span> <a class="tag" taget="_blank" href="/search/%E4%B8%89%E7%BB%B4%E6%B8%B2%E6%9F%93/1.htm">三维渲染</a><a class="tag" taget="_blank" href="/search/%E7%9D%80%E8%89%B2%E5%99%A8/1.htm">着色器</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>代码链接https://examples.vtk.org/site/Cxx/Shaders/MarbleShader/这段代码是一个使用VTK(VisualizationToolkit)实现的复杂着色器渲染示例,主要用于在3D模型上模拟大理石纹理效果。下面是对代码的详细解析:1.核心功能程序实现了一个基于Perlin噪声的大理石纹理着色器,主要特点包括:动态静脉纹理生成多级噪声叠加几何扭曲效果参数</div> </li> <li><a href="/article/1942241468571774976.htm" title="写测试太烦?Copilot + Jest 让你 3 分钟搞定单元测试" target="_blank">写测试太烦?Copilot + Jest 让你 3 分钟搞定单元测试</a> <span class="text-muted"></span> <div>网罗开发(小红书、快手、视频号同名)  大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO</div> </li> <li><a href="/article/1942239321444642816.htm" title="trae的使用" target="_blank">trae的使用</a> <span class="text-muted"></span> <div>trae的使用下载地址:https://www.trae.com.cn/home直接在官网下载安装即可可以从VScode和cursor当中导入配置(插件·设置·快捷键等等)需要登陆后才能正常使用(国内版本的可以通过手机号登录)登录打开后的页面:左边大框架可以在本软件里打开文件或是克隆github的项目到本地右边是选择trae的模式:有两种:chat和Builderchat模式和Builder模式下</div> </li> <li><a href="/article/1942236675430215680.htm" title="Java2025最新学习路线(从入门到精通)" target="_blank">Java2025最新学习路线(从入门到精通)</a> <span class="text-muted">亭亦青</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a> <div>注:这份学习路线结合了2025年春招Java开发岗位要求和2024年Java就业市场需求,要求较高,并且省略了大多数基础部分,如果目标不是中大厂,可以适当放低学习的要求,但是请完成云原生之前的所有内容,并且经常性进行项目实践,切实提升编程能力。Java学习路线一键预览版:JavaSE-Mysql-JavaWeb(htmlcssjsjqUI组件框架-bootstrapelementUIVUE)-My</div> </li> <li><a href="/article/1942235414458855424.htm" title="Form-Generator拖拽表单的使用+二次修改" target="_blank">Form-Generator拖拽表单的使用+二次修改</a> <span class="text-muted"></span> <div>Form-Generator拖拽表单本文讲述了form-generator项目基于Vue框架以及ElementUI组件实现拖拽表单完成项目及二次开发gitee地址:https://gitee.com/mrhj/form-generator?_from=gitee_search简介ElementUI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,</div> </li> <li><a href="/article/1942235287170117632.htm" title="【CMake】CMake简介及使用示例" target="_blank">【CMake】CMake简介及使用示例</a> <span class="text-muted">晴雨日记</span> <a class="tag" taget="_blank" href="/search/CMake/1.htm">CMake</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>CMake简介CMake是一个跨平台的开源构建系统生成器,用于管理软件构建过程。它不直接编译代码,而是根据CMakeLists.txt文件生成标准构建文件(如Makefile、VisualStudio项目等),再调用底层工具(如gcc、MSVC)编译。核心优势:跨平台:支持Windows、Linux、macOS可扩展:支持C/C++/CUDA/Fortran等多种语言模块化:提供find_pack</div> </li> <li><a href="/article/1942235287711182848.htm" title="Oracle面试题-体系结构" target="_blank">Oracle面试题-体系结构</a> <span class="text-muted">加油干sit!</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>1.如何查看Oracle数据库的版本信息?1.标准SQL查询(推荐)方法1:查询v$version视图(最常用)SELECT*FROMv$version;输出示例:BANNER--------------------------------------------------------------------------------OracleDatabase19cEnterpriseEditi</div> </li> <li><a href="/article/1942232511677526016.htm" title="更换SSL证书引发的异常:`sun.security.validator.ValidatorException: PKIX path building failed` `[Nginx跳转失败:501]" target="_blank">更换SSL证书引发的异常:`sun.security.validator.ValidatorException: PKIX path building failed` `[Nginx跳转失败:501]</a> <span class="text-muted">猿享天开</span> <a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E7%BB%8F%E9%AA%8C/1.htm">技术经验</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a> <div>博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++,C#,Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQLserver,Oracle,mysql,postgresql等进行开发应用,熟悉DICOM医学影像及DICOM协议,业余时间自学JavaScript,Vue,</div> </li> <li><a href="/article/1942231502100164608.htm" title="七牛云前端面试题及参考答案 (上)" target="_blank">七牛云前端面试题及参考答案 (上)</a> <span class="text-muted">大模型大数据攻城狮</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue%E7%BB%84%E4%BB%B6/1.htm">vue组件</a><a class="tag" taget="_blank" href="/search/reactjs/1.htm">reactjs</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E7%BB%8F/1.htm">前端面经</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E6%8A%96/1.htm">防抖</a><a class="tag" taget="_blank" href="/search/%E8%8A%82%E6%B5%81/1.htm">节流</a><a class="tag" taget="_blank" href="/search/fiber/1.htm">fiber</a> <div>目录基本数据类型有哪些?typeofnull的结果是什么?null和undefined的区别是什么?let关键字的特点有哪些?this指向的规则是什么?箭头函数中this指向哪里?如何实现JavaScript的深拷贝和浅拷贝?数组去重的常见方法(手写代码)数组扁平化(手写,不能使用flat(Infinity))forEach和map方法的区别是什么?闭包的应用场景:实现链式加法add(1)(2)(</div> </li> <li><a href="/article/1942230368539176960.htm" title="Vue 3 - JavaScript细节大揭秘" target="_blank">Vue 3 - JavaScript细节大揭秘</a> <span class="text-muted">碧海蓝天·</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>在学习Vue3的过程中,我们可能会发现一些令人惊讶的JavaScript细节,这些细节可能之前我们并不知道。本文将探讨一些Vue3中的JavaScript细节,并提供相应的源代码示例。CompositionAPIVue3引入了CompositionAPI,它是一种新的API风格,可以让我们更灵活地组织我们的代码。在Vue2中,我们使用OptionsAPI来定义组件,而在Vue3中,我们可以选择使用</div> </li> <li><a href="/article/98.htm" title="微信开发者验证接口开发" target="_blank">微信开发者验证接口开发</a> <span class="text-muted">362217990</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1+%E5%BC%80%E5%8F%91%E8%80%85+token+%E9%AA%8C%E8%AF%81/1.htm">微信 开发者 token 验证</a> <div>微信开发者接口验证。 Token,自己随便定义,与微信填写一致就可以了。 根据微信接入指南描述 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html 第一步:填写服务器配置 第二步:验证服务器地址的有效性 第三步:依据接口文档实现业务逻辑 这里主要讲第二步验证服务器有效性。 建一个</div> </li> <li><a href="/article/225.htm" title="一个小编程题-类似约瑟夫环问题" target="_blank">一个小编程题-类似约瑟夫环问题</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>        今天群友出了一题:         一个数列,把第一个元素删除,然后把第二个元素放到数列的最后,依次操作下去,直到把数列中所有的数都删除,要求依次打印出这个过程中删除的数。      &</div> </li> <li><a href="/article/352.htm" title="linux复习笔记之bash shell (5) 关于减号-的作用" target="_blank">linux复习笔记之bash shell (5) 关于减号-的作用</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E5%87%8F%E5%8F%B7%E2%80%9C-%E2%80%9D%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">linux关于减号“-”的含义</a><a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E5%87%8F%E5%8F%B7%E2%80%9C-%E2%80%9D%E7%9A%84%E7%94%A8%E9%80%94/1.htm">linux关于减号“-”的用途</a><a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E2%80%9C-%E2%80%9D%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">linux关于“-”的含义</a><a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E5%87%8F%E5%8F%B7%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">linux关于减号的含义</a> <div>    转载请出自出处: http://eksliang.iteye.com/blog/2105677        管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有</div> </li> <li><a href="/article/479.htm" title="Unix(3)" target="_blank">Unix(3)</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/unix+ksh/1.htm">unix ksh</a> <div>1)若该变量需要在其他子进程执行,则可用"$变量名称"或${变量}累加内容 什么是子进程?在我目前这个shell情况下,去打开一个新的shell,新的那个shell就是子进程。一般状态下,父进程的自定义变量是无法在子进程内使用的,但通过export将变量变成环境变量后就能够在子进程里面应用了。 2)条件判断: &&代表and  ||代表or&nbs</div> </li> <li><a href="/article/606.htm" title="关于ListView中性能优化中图片加载问题" target="_blank">关于ListView中性能优化中图片加载问题</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/ListView/1.htm">ListView</a> <div>ListView的性能优化网上很多信息,但是涉及到异步加载图片问题就会出现问题。 具体参看上篇文章http://314858770.iteye.com/admin/blogs/1217594   如果每次都重新inflate一个新的View出来肯定会造成性能损失严重,可能会出现listview滚动是很卡的情况,还会出现内存溢出。 现在想出一个方法就是每次都添加一个标识,然后设置图</div> </li> <li><a href="/article/733.htm" title="德国总理默多克:给国人的一堂“震撼教育”课" target="_blank">德国总理默多克:给国人的一堂“震撼教育”课</a> <span class="text-muted">永夜-极光</span> <a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2/1.htm">教育</a> <div>http://bbs.voc.com.cn/topic-2443617-1-1.html德国总理默多克:给国人的一堂“震撼教育”课  安吉拉—默克尔,一位经历过社会主义的东德人,她利用自己的博客,发表一番来华前的谈话,该说的话,都在上面说了,全世界想看想传播——去看看默克尔总理的博客吧!   德国总理默克尔以她的低调、朴素、谦和、平易近人等品格给国人留下了深刻印象。她以实际行动为中国人上了一堂</div> </li> <li><a href="/article/860.htm" title="关于Java继承的一个小问题。。。" target="_blank">关于Java继承的一个小问题。。。</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>今天看Java 编程思想的时候遇见一个问题,运行的结果和自己想想的完全不一样。先把代码贴出来! //CanFight接口 interface Canfight { void fight(); } //ActionCharacter类 class ActionCharacter { public void fight() { System.out.pr</div> </li> <li><a href="/article/987.htm" title="23种基本的设计模式" target="_blank">23种基本的设计模式</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。   Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。   Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。   Builder:将一个复杂对象的构建与它的表示分离,使得同</div> </li> <li><a href="/article/1114.htm" title="《周鸿祎自述:我的互联网方法论》读书笔记" target="_blank">《周鸿祎自述:我的互联网方法论》读书笔记</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a> <div>从用户的角度来看,能解决问题的产品才是好产品,能方便/快速地解决问题的产品,就是一流产品.   商业模式不是赚钱模式 一款产品免费获得海量用户后,它的边际成本趋于0,然后再通过广告或者增值服务的方式赚钱,实际上就是创造了新的价值链.   商业模式的基础是用户,木有用户,任何商业模式都是浮云.商业模式的核心是产品,本质是通过产品为用户创造价值. 商业模式还包括寻找需求</div> </li> <li><a href="/article/1241.htm" title="JavaScript动态改变样式访问技术" target="_blank">JavaScript动态改变样式访问技术</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/style%E5%B1%9E%E6%80%A7/1.htm">style属性</a><a class="tag" taget="_blank" href="/search/ClassName%E5%B1%9E%E6%80%A7/1.htm">ClassName属性</a> <div>  一:style属性 格式:  HTML元素.style.样式属性="值";   创建菜单:在html标签中创建 或者 在head标签中用数组创建   <html> <head> <title>style改变样式</title> </head> &l</div> </li> <li><a href="/article/1368.htm" title="jQuery的deferred对象详解" target="_blank">jQuery的deferred对象详解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/deferred%E5%AF%B9%E8%B1%A1/1.htm">deferred对象</a> <div>        jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。         每个版本都会引入一些新功能,从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。    &nb</div> </li> <li><a href="/article/1495.htm" title="淘宝开放平台TOP" target="_blank">淘宝开放平台TOP</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%89%A9%E6%B5%81/1.htm">物流</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>淘宝网开放平台首页:http://open.taobao.com/ 淘宝开放平台是淘宝TOP团队的产品,TOP即TaoBao Open Platform, 是淘宝合作伙伴开发、发布、交易其服务的平台。 支撑TOP的三条主线为:    1.开放数据和业务流程     * 以API数据形式开放商品、交易、物流等业务;  &</div> </li> <li><a href="/article/1622.htm" title="【大型网站架构一】大型网站架构概述" target="_blank">【大型网站架构一】大型网站架构概述</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E6%9E%B6%E6%9E%84/1.htm">网站架构</a> <div>大型互联网特点 面对海量用户、海量数据 大型互联网架构的关键指标 高并发 高性能 高可用 高可扩展性 线性伸缩性 安全性 大型互联网技术要点   前端优化 CDN缓存 反向代理 KV缓存 消息系统 分布式存储 NoSQL数据库 搜索 监控 安全 想到的问题: 1.对于订单系统这种事务型系统,如</div> </li> <li><a href="/article/1749.htm" title="eclipse插件hibernate tools安装" target="_blank">eclipse插件hibernate tools安装</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div> eclipse helios(3.6)版 1.启动eclipse 2.选择 Help > Install New Software...> 3.添加如下地址: http://download.jboss.org/jbosstools/updates/stable/helios/ 4.选择性安装:hibernate tools在All Jboss tool</div> </li> <li><a href="/article/1876.htm" title="Jquery easyui Form表单提交注意事项" target="_blank">Jquery easyui Form表单提交注意事项</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/jquery+easyui/1.htm">jquery easyui</a> <div>jquery easyui对表单的提交进行了封装,提交的方式采用的是ajax的方式,在开发的时候应该注意的事项如下:         1、在定义form标签的时候,要将method属性设置成post或者get,特别是进行大字段的文本信息提交的时候,要将method设置成post方式提交,否则页面会抛出跨域访问等异常。所以这个要</div> </li> <li><a href="/article/2003.htm" title="Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量" target="_blank">Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java%E5%AE%9E%E7%8E%B0/1.htm">java实现</a> <div> import java.util.LinkedList; public class CaseInsensitiveTrie { /** 字典树的Java实现。实现了插入、查询以及深度优先遍历。 Trie tree's java implementation.(Insert,Search,DFS) Problem Description Igna</div> </li> <li><a href="/article/2130.htm" title="html css 鼠标形状样式汇总" target="_blank">html css 鼠标形状样式汇总</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>css鼠标手型cursor中hand与pointer  Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a><br/>  Example:CSS鼠标手型效果 <a href="#" style=&qu</div> </li> <li><a href="/article/2257.htm" title="[IT与投资]IT投资的几个原则" target="_blank">[IT与投资]IT投资的几个原则</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/it/1.htm">it</a> <div>       无论是想在电商,软件,硬件还是互联网领域投资,都需要大量资金,虽然各个国家政府在媒体上都给予大家承诺,既要让市场的流动性宽松,又要保持经济的高速增长....但是,事实上,整个市场和社会对于真正的资金投入是非常渴望的,也就是说,表面上看起来,市场很活跃,但是投入的资金并不是很充足的......    </div> </li> <li><a href="/article/2384.htm" title="oracle with语句详解" target="_blank">oracle with语句详解</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/with/1.htm">with</a><a class="tag" taget="_blank" href="/search/with+as/1.htm">with as</a> <div>oracle with语句详解 转 在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用 例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的 ----------------------------------------------------------------</div> </li> <li><a href="/article/2511.htm" title="hbase的简单操作" target="_blank">hbase的简单操作</a> <span class="text-muted">deng520159</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/hbase/1.htm">hbase</a> <div>近期公司用hbase来存储日志,然后再来分析 ,把hbase开发经常要用的命令找了出来. 用ssh登陆安装hbase那台linux后 用hbase shell进行hbase命令控制台! 表的管理 1)查看有哪些表 hbase(main)> list 2)创建表   # 语法:create <table>, {NAME => <family&g</div> </li> <li><a href="/article/2638.htm" title="C语言scanf继续学习、算术运算符学习和逻辑运算符" target="_blank">C语言scanf继续学习、算术运算符学习和逻辑运算符</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>/* 2013年3月11日20:37:32 地点:北京潘家园 功能:完成用户格式化输入多个值 目的:学习scanf函数的使用 */ # include <stdio.h> int main(void) { int i, j, k; printf("please input three number:\n"); //提示用</div> </li> <li><a href="/article/2765.htm" title="2015越来越好" target="_blank">2015越来越好</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E6%AD%8C%E6%9B%B2/1.htm">歌曲</a> <div>越来越好 房子大了电话小了 感觉越来越好 假期多了收入高了 工作越来越好 商品精了价格活了 心情越来越好 天更蓝了水更清了 环境越来越好 活得有奔头人会步步高 想做到你要努力去做到 幸福的笑容天天挂眉梢 越来越好 婆媳和了家庭暖了 生活越来越好 孩子高了懂事多了 学习越来越好 朋友多了心相通了 大家越来越好 道路宽了心气顺了 日子越来越好 活的有精神人就不显</div> </li> <li><a href="/article/2892.htm" title="java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim" target="_blank">java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim</a> <span class="text-muted">feiteyizu</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00” 程序使用select 语句从中取数据时出现以下异常: java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date   java.sql.SQLException: Valu</div> </li> <li><a href="/article/3019.htm" title="Ehcache(07)——Ehcache对并发的支持" target="_blank">Ehcache(07)——Ehcache对并发的支持</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/%E9%94%81/1.htm">锁</a><a class="tag" taget="_blank" href="/search/ReadLock/1.htm">ReadLock</a><a class="tag" taget="_blank" href="/search/WriteLock/1.htm">WriteLock</a> <div>Ehcache对并发的支持          在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同</div> </li> <li><a href="/article/3146.htm" title="mysql中blob,text字段的合成索引" target="_blank">mysql中blob,text字段的合成索引</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>  在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能, 但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找 则速度快 比如: create table abc(id varchar(10),context blog,hash_value varchar(40)); insert into abc(1,rep</div> </li> <li><a href="/article/3273.htm" title="逻辑运算与移位运算" target="_blank">逻辑运算与移位运算</a> <span class="text-muted">latty</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97/1.htm">逻辑运算</a> <div>源码:正数的补码与原码相同例+7 源码:00000111 补码 :00000111 (用8位二进制表示一个数) 负数的补码: 符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。   -7 源码: 10000111 ,其绝对值为00000111  取反加一:11111001 为-7补码 已知一个数的补码,求原码的操作分两种情况:</div> </li> <li><a href="/article/3400.htm" title="利用XSD 验证XML文件" target="_blank">利用XSD 验证XML文件</a> <span class="text-muted">newerdragon</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/xsd/1.htm">xsd</a> <div>XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看: http://www.w3school.com.cn/schema/index.asp java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。 以下代码可用在J</div> </li> <li><a href="/article/3527.htm" title="搭建 CentOS 6 服务器(12) - Samba" target="_blank">搭建 CentOS 6 服务器(12) - Samba</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>(1)安装 # yum -y install samba Installed: samba.i686 0:3.6.9-169.el6_5 # pdbedit -a rensn new password:123456 retype new password:123456 …… (2)Home文件夹 # mkdir /etc</div> </li> <li><a href="/article/3654.htm" title="Learn Nodejs 01" target="_blank">Learn Nodejs 01</a> <span class="text-muted">toknowme</span> <a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>(1)下载nodejs https://nodejs.org/download/ 选择相应的版本进行下载     (2)安装nodejs 安装的方式比较多,请baidu下 我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本 (1)上传服务器 (2)解压 tar -zxvf  node-v0.12.</div> </li> <li><a href="/article/3781.htm" title="jquery控制自动刷新的代码举例" target="_blank">jquery控制自动刷新的代码举例</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>1、html内容部分  复制代码代码示例: <div id='log_reload'> <select name="id_s" size="1"> <option value='2'>-2s-</option> <option value='3'>-3s-</option</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>