🔍 登录 注册
分类:
标签: 共 1222 篇文章
React是web前端框架

React是web前端框架

React是web前端框架 目前市面上比较主流的前端框架 React Vue Angular "NG" 主流思想:不在直接取操作DOM,而是改为“数据驱动思想” 操作DOM思想 操作DOM比较消耗性能“主要原因是:可能导致DOM重排(回流)/重绘” 操作起来相对来讲麻烦一些 数据驱动思想 我们不会直接操作DOM 我们去操作数据“当我们修改了数据,框架会按照相关的数据,让页面重新渲染” 框架底层实现的视图的渲染,也是基于操作DOM完成的 构建了一套虚拟DOM->真实DOM的渲染体系 有效避免了DOM的重排/重绘 开发效率更高、最后的性能也相对较好 React框架采用的是MVC体系;Vue框架采用的是MVVM体系; MVC: M是model,是数据层,V是View视图层 + C是controller是控制层 我们需要安照专业的语法去构建视图(页面):React中基于jsx语法来构建视图的 构建数据层:但凡在视图中,需要“动态”处理的(获取需要变化的

大 大苹果 2023/12/5 👍 0 ⭐ 0 💬 0
前端开发

前端开发

前端开发 当前以及未来的前端开发,一定是:组件化、模块化 有利于团队协作开发 便于组件的复用:提高开发效率、方便后期维护、减少页面中冗余代码 如何规划组件 业务组件:针对项目需求封装的 普通业务组件“没有啥复用性,只是单独拆出来的一个模块“ 通用业务组件“具备复用性” 功能组件:适用于多个项目“例如:UI组件库的组件” 通用功能组件 因为组件化开发,必然会带来“工程化”的处理 也就是基于webpack等工具“vite/rollup/turbopack...” 实现组件的合并、压缩、打包等 代码编译、兼容、校验等 React的工程化/组件化开发 我们可以基于webpack自己去搭建一套工程化的架子,但是这样非常的麻烦、复杂;React官方,为我们提供了一个脚手架; create-react-app 脚手架:基于它创建项目,默认就是把webpack的打包规则已经处理好,把一些项目需要的基本文件也都创建好了!! create-react-app基本运用 安装脚手架 npm i create-rea

大 大苹果 2023/12/5 👍 0 ⭐ 0 💬 0
linux挂载共享目录脚本

linux挂载共享目录脚本

实现windows下共享的目录挂载到linux目录 用途 windows下编写的代码在linux下测试运行 实现脚本如下: #!/bin/bash # 共享目录 src="//192.168.1.77/game" # 挂载目录 dest="/home/zcm/share/game" cmd="mount -t cifs -o rw,username=admin,password=1111,uid=1000,gid=1000,iocharset=cp936,file_mode=0777,dir_mode=0777 $src $dest" if [ `df | grep share | wc -l` -eq 0 ]; then echo "not mounted" echo $cmd $cmd else echo "mounted" echo umount $dest umount $dest fi

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
软件设计原则

软件设计原则

<html><head></head><body><p>01 遵循单一职责原则</p> <p>函数是程序员的工具中最重要的抽象形式。它们能更多地被重复使用,你需要编写的代码就越少,代码也因此变得更可靠。较小的函数遵循单一职责原则更有可能被重复使用。</p> <p>02 尽量减少共享状态</p> <p>你应该尽量减少函数之间的隐式共享状态,无论它是文件作用域的变量还是对象的成员字段,这有利于明确要求把值作为参数。当能明确地显示函数需要什么才可以产生所需的结果时,代码会变得更容易理解和重用。</p> <p>对此的一个推论是,在一个对象中,相对于成员变量,你更应该优先选择静态的无状态变量 (static stateless variables)。</p> <p>03 将“副作用”局部化</p> <p>理想的副作用(例如:打印到控制台、日志记录、更改全局状态、文件系统操作等)应该被放置到单独的模块中,而不是散布在整个代码里面。函数中的一些“副作用”功能往往违反了单一职责原则。</p> <p>04 优先使用不变的对象</p> <p>如果一个对象的状态在其构造函数中仅被设置一次,并且从不再次更改,

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
centos下升级gcc

centos下升级gcc

<html><head></head><body><p>1.先安装gmp,mpfr,mpc三个包</p> <ul> <li>安装gmp包:</li></ul> <pre><code class="lang-bash">wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz tar xvf gmp-6.1.2.tar.xz cd gmp-6.1.2 ./configure –prefix=/usr/local/gmp make &amp;&amp; make install </code></pre> <ul> <li>安装mpfr包:</li></ul> <pre><code class="lang-bash">wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.gz tar xvf mpfr-4.0.1.tar.gz cd mpfr-4.0.1 ./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp make

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
Redis配置文件参数说明

Redis配置文件参数说明

<html><head></head><body><ol> <li>Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程<br> <code>daemonize no</code></li><li>当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定<br> <code>pidfile /var/run/redis.pid</code></li><li>指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字<br> <code>port 6379</code></li><li>绑定的主机地址<br> <code>bind 127.0.0.1</code><br>5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能<br> <code>timeout 300</code></li><li>指定日志记录级别,Redis总共

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
centos7下安装redis及php配置redis

centos7下安装redis及php配置redis

<html><head></head><body><ol> <li>安装redis<pre><code class="lang-bash">$ wget http://download.redis.io/releases/redis-3.0.6.tar.gz $ tar xzf redis-3.0.6.tar.gz $ cd redis-3.0.6 $ make &amp;&amp; make install </code></pre> </li><li>下载<br><a href="https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz">https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz</a></li></ol> <ul> <li>上传phpredis-2.2.4.tar.gz到/usr/local/src目录<pre><code class="lang-bash">cd /usr/local/src #进入软件包存放目录 tar zxvf phpred

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
centos7下的mysql的编译安装

centos7下的mysql的编译安装

<html><head></head><body><h3 id="h3-u51C6u5907u5DE5u4F5C"><a name="准备工作" class="reference-link"></a><span class="header-link octicon octicon-link"></span>准备工作</h3><ul> <li>依赖安装<pre><code class="lang-bash">yum -y install make gcc-c++ cmake bison-devel ncurses-devel yum install -y gcc gcc-c++ kernel-devel yum install -y readline-devel pcre-devel openssl-devel openssl zlib zlib-devel pcre-devel </code></pre> </li><li>编译安装<br>```bash<br>gzip -d mysql-5.6.29.tar.gz<br>tar -xvf mysql-5.6.29.tar<br>cd

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
设计模式的六大原则

设计模式的六大原则

设计模式设计模式的六大原则原则一:单一职责原则定义:一个类只负责一项职责。 讨论:主要疑难点就是如何控制住职责扩散(所谓职责扩散,就是,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。)?遵循单一职责原的优点有: 1. 可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多; 提高类的可读性,提高系统的可维护性; 2. 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。 (需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都适用单一职责原则)。 原则二:里氏替换原则定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。 定义2:所有引用基类的地方必须能透明地使用其子类的对象 讨论:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
斐波那契数

斐波那契数

斐波那契数斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n &gt; 1 给定 n ,请计算 F(n) 。 示例 1: 输入:n = 2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1 示例 2: 输入:n = 3输出:2解释:F(3) = F(2) + F(1) = 1 + 1 = 2 示例 3: 输入:n = 4输出:3解释:F(4) = F(3) + F(2) = 2 + 1 = 3 提示: 0 &lt;= n &lt;= 30 以下是 JavaScript 代码实现: /** * @param {number} n * @return {number} */ var fib = function(n) { if (n == 0 ) { return 0; } if (n == 1) {

大 大苹果 2023/12/3 👍 0 ⭐ 0 💬 0
nodejs最新版本安装相关依赖问题

nodejs最新版本安装相关依赖问题

近期经常遇到使用源码编译的部署方式进行应用部署,在 GCC 编译环境上遇到各种问题,本文对升级部署 GCC 编译环境的流程以及遇到的一些问题进行记录。 一、python3gcc 11.2 安装需要 python3 yum install -y python3-devel 二、升级 Make 查看版本make -v # 查看版本 make -v # 下载 wget http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz # 解压 tar -zxvf make-4.3.tar.gz cd make-4.3 # 编译 ./configure --prefix=/usr/local/make make make install # 应用 # 找一下都有哪些 make whereis make cd /usr/bin/ # 把默认的 make 改名 mv make make.bak # 建立一个软连接 ln -sv /usr/local/make/bin/make /usr/bin/ma

大 大苹果 2023/12/2 👍 0 ⭐ 0 💬 0
【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本

【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本

提前部署 安装编译环境devtoolset-8 编译安装glibc-2.28 编译安装gcc高版本并配置LD_LIBRARY_PATH 参考链接: https://github.com/nodejs/build/issues/2815 https://cloud.tencent.com/developer/article/2021784 操作步骤 1、安装编译环境devtoolset-8 sudo yum install centos-release-scl sudo yum install devtoolset-8 scl enable devtoolset-8 bash gcc --version 2、编译安装glibc-2.28 wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz --no-check-certificate tar -xzvf glibc-2.28.tar.gz cd glibc-2.28 mkdir build &amp;&amp; cd build

大 大苹果 2023/12/2 👍 0 ⭐ 0 💬 0