自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ccirclee的博客

戳爷比伯断眉蒙德alec的粉丝

  • 博客(91)
  • 收藏
  • 关注

原创 paas配置及构建问题处理

CI 可以确保在生产环境中部署应用程序时,应用程序已经被充分测试,并已通过了相应的部署要求和标准。构建环境:构建环境是指 Web 服务运行所需的软件和配置环境,包括操作系统、Web 服务器、运行时环境和依赖库等。自动化测试:自动化测试可以保证应用程序的可靠性和性能,在生产环境中交付之前可以通过自动化测试来确保应用程序符合标准,并且可以按照预期进行工作。自动化构建:构建过程可以使用自动化工具来完成,确保应用程序在生产环境中的部署过程是完全自动化的,并且与开发环境和测试环境的构建是一致的。

2023-11-01 15:26:18 174

原创 Git常用操作

分支上按顺序添加的,不会保留原始的分支历史。这可以使提交历史更加整洁,但也可能导致冲突和提交历史的混淆,特别是在多人协作的情况下。git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下。分支,会创建一个新的合并提交,保留两个分支的提交历史,可以清晰地看到合并的地方和不同的地方。git push origin develop(远程分支名称/和本地分支名称一样),从而有效地整合了所有 master 分支上的提交。分支的顶端,会产生一个线性的提交历史,看起来就像是。

2023-10-09 21:26:15 367 1

原创 关于React hooks的一些故事

它展示了如何创建一个名为的自定义Hook,该Hook封装了与聊天室相关的副作用逻辑。这个自定义Hook接受一个包含serverUrl和roomId的对象作为参数,然后在内部使用useEffect来执行相应的操作,包括创建连接和处理清理逻辑。通过这种方式,它将副作用逻辑隐藏在一个更容易理解和使用的API背后。可以使用自定义钩子});// ...抽象副作用逻辑:将useEffect包装在自定义钩子中可以将复杂的副作用逻辑抽象出来,使组件的代码更加清晰和可读。

2023-09-12 16:41:11 384 1

原创 React中函数式组件与类组件有何不同?

1.class component 使用this 指向可以获取到实例中最新的props值。function component 是个纯函数,相当于闭包,捕获的值就是当前作用域的值。2.如果function component想获取到最新的值,可以使用hooks,如useEffect,来处理副作用,并在props变化时执行相应的操作,以确保获取到最新的props值。3.React 中props的不可变性,指的是不要在组件中对它进行修改。

2023-09-08 21:07:30 1063 2

原创 元素居中的方法总结

大多数现代浏览器都支持它。然而,如果你需要考虑更旧的浏览器,特别是IE9及更早版本,Flexbox的支持可能会有限。文本属性的话,如果你的行内元素是文本,你可以使用。用于微调元素的位置,使其完全居中。元素被设置为相对定位,以作为。将其移动到容器的中心。不是所有的浏览器都可以兼容。来实现水平和垂直居中。

2023-08-30 00:34:41 984

原创 常见的移动端布局

使用百分比、相对单位(如 em、rem)等来设置元素的宽度,使页面元素根据视口大小的变化进行调整。这种方法可以实现基本的自适应效果,但可能在不同设备上显示不一致。max-width;margin;padding;.boxwidth;height;;;

2023-08-26 16:12:56 755

原创 组件化开发之如何封装组件-react

组件是构建用户界面的基本单元,它是一个独立的、可重用的、可组合的代码单元,用于表示UI的一部分。人话:当谈论组件时,就像在搭积木一样,每个组件都是一个独立的、可以重复使用的代码块,用来构建网页或应用的各个部分。比如界面的布局,像按钮、文本输入框这样的东西。

2023-08-26 14:44:37 1998

原创 面试题总结

Javascript 代码都是在执行上下文中运行的执行上下文: 指当前执行环境中的变量、函数声明、作用域链、this等信息执行上下文(Execution context)是。

2023-03-30 08:27:59 297 1

原创 算法61天|图论

每日精华:https://www.yuque.com/chengxuyuancarl/wnx1np/ktwax2,训练营群里讨论的问题,都会做总结,放在每日精华里,方便大家回顾。417. 太平洋大西洋水流问题(深搜、广搜)大家平时刷题可以用这个网站画草稿图帮助理解!1791. 找出星型图的中心节点。数据结构和算法可视化可以看这个网站!127. 单词接龙 (困难)797. 所有可能的路径。695. 岛屿的最大面积。1020. 飞地的数量。130. 被围绕的区域。463. 岛屿的周长。841. 钥匙和房间。

2023-03-29 17:23:52 885

原创 Javascript

GET”请求期望返回信息(通常以网站的形式),而“POST”请求通常表示客户端正在向 Web 服务器提交信息(例如表单信息,如提交的用户名和密码)。HTTP 请求的正文包含正在提交到 Web 服务器的任何信息,例如用户名和密码,或输入到表单中的任何其他数据。Promise还可以做更多的事情,比如,有若干个异步任务,需要先做任务1,如果成功后再做任务2,任何任务失败则不再继续并执行错误处理函数。要串行执行这样的异步任务,不用Promise需要写一层一层的嵌套代码。这两个列子是一摸一样的结果。

2023-03-18 08:26:31 416

原创 Learning Typescript and React in ts

左边不可以给同一变量赋值不同的type。右边可以赋值不同的type,当它使用Math.round()的时候,不会报错啊!typescript就加入了static typing。因为js 和ts 太像了,所以我总是写错代码。不知道怎么应用比较好。然后问了colin,他说,interface常会被使用,就是用来定义type的。他就像个可有可无的东西,标注了,他可以有也可以没有。

2023-03-05 22:00:09 415 4

原创 Git 相关内容

假设commit时,pre-commit hooks会被自动调用,比如说使用eslint检查有无code 问题,unit test 之类的东西。里也有钩子,我们常听说的一些工程化操作,比如CI里的打包啊,自动部署啊都是拜。就是在git里头,执行每一个操作前运行一遍相应的script。所赐,有了钩子之后,能让自己的脚本嵌入到。Git 上面本身就有一些Hook的样例。

2023-03-05 21:53:31 184

原创 实习日记!

需要进入这个路径,运行dotnet run 才可以运行只有一直保持着连接才可以进入连接 使用5789进入后端 build components没有组件,所以需要使用里面的构建组件后的效果就是会多出来choose One/confirmation/.....等等选择 所以我现在需要了解summary中的大概代码是什么然后大概需要了解一下mvc架构MVC 架构 今天居家上班Target:Part 2, add a controller to an ASP.NET Core MVC app |

2023-01-27 21:49:31 703

原创 Create Realtime-chat app

env是用来存储环境变量的,就是那些会随着环境的变化而变化的东西,比如数据库的用户名、密码、缓存驱动、时区,还有静态文件的存储路径之类的。因为这些信息应该是和环境绑定的,不应该随代码的更新而变化,所以一般不会把 .env 文件放到版本控制中。的步骤.env 文件之后初始化,react app使用yarn start就可以打开react.js的文件了之后需要使用加载一些dependencies。

2023-01-18 23:41:49 1059

原创 React.js 学习

当我们想点击一个按钮,然后更新一下点击数量,需要建立函数去更新count,还需要React render,这非常麻烦。使用数组存放数据,并且使用接受数据的那个值,使用spread operator去存放数据到数组中。2.需要触发函数,这个函数可以帮助传送数据到app.jsx中,props可以帮助传送数据。我们需要实现,当你的鼠标放在button上面的时候,他的颜色会从黑变成白色。可以通过设定变量,修改变量的值,然后使用ejs应用再html中。3.在app中加入传送数据的函数,并加上接收的函数。

2023-01-03 19:17:19 732

原创 算法day60|84

今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己 代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。有了之前单调栈的铺垫,这道题目就不难了。84.柱状图中最大的矩形。

2022-12-25 04:12:46 85

原创 算法day59|503,42

双指针算法还挺简单理解的,就是分别最高的柱子,然后找到两个柱子中最短的那个,然后一减,就是想要的结果。因为使用双指针会有很多重复的步骤。所以使用数组存储它的值。连接两个数组,然后使用i%len(nums)来存储下标。503.下一个更大元素II。

2022-12-25 04:11:12 91

原创 算法day58|739,496

通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。单调栈里只需要存放元素的下标i就可以了,如果需要使用对应的元素,直接T[i]就可以获取。result的定义,如果右边比左边大,就更新result。本题和 739. 每日温度 看似差不多,其实 有加了点难度。496.下一个更大元素 I。然后需要使用栈来存放。

2022-12-24 07:18:51 577

原创 算法day57|647,516

但是如果从上往下,从左往右遍历的话,会直接使用dp[i+1][j-1]未初始化的情况。dp[i][j]代表的是区间[i,j]的字串是否为回文字符,如果dp[i][j]为true,否则为false。647. 回文子串,求的是回文子串,而本题要求的是回文子序列, 大家要搞清楚两者之间的区别。dp[i][j]指的是字符串在[i,j]范围内最长回文子序列的长度是dp[i][j]为同一个字符,dp[i][j] = True。如果i==j的话,一定是等于1的。如果s[i]和s[j]相等的话。那么把s[i]放进去。

2022-12-24 04:51:37 872

原创 算法day56|583,72

dp[i][j],是以i-1为结尾的word1,j-1为结尾的word2,要让他们两个相等所需要的最少次数。同时删掉word1[i-1]和word2[j-1],操作的最少次数为dp[i-1][j-1]+2。dp[i][j]代表i-1的word1和i-1的word2的最少操作数。当word1[i-1]==word2[i-1]:相同的时候。不需要操作dp[i][j]=dp[i-1][j-1]得初始化dp[i][0]和dp[0][j]删除word[i-1],所以是往上走一个。删掉word2[j-1]

2022-12-23 08:11:19 566

原创 算法day55|392,115

t[j-1]的时候,删除t,那么剩下的就是s-1和t-2 开始比较,dp= dp[i][j-1]分两种情况:当s[i-1] == t[j-1]的时候,dp[i-1][j-1]前面的长度的集合+1。dp[i][j]是以i-1为结尾的s子序列中出现以j-1为结尾为1的t的个数为dp[i][j]i-1的字符串s的子序列。dp[i][j]代表相同子序列的长度。dp[i-1][j]跳了下一个匹配。所以还是dp[i][j] = dp[i-1][j]如果s[i-1]和t[j-1]相等,dp数组的含义dp[i][j]

2022-12-23 01:48:59 574

原创 算法day53|1143,1035,53

这道题我们用贪心做过,这次 再用dp来做一遍。还有需要注意数组的定义是怎么设置长度的。这里很不一样的就是dp数组的定义。1143.最长公共子序列。1035.不相交的线。

2022-12-18 17:28:19 110

原创 算法day52|300,674,718

if语句的意思是:找到升序的地方.Eg:[10,9,2,5,3,7,101,18],找到5,下标为3。相当于nums[4] ,以3为结尾(该序列长度为4),最长上升子序列的长度为2。dp[j]指的是j从(0到4-1)各个位置的最长升序子序列 + 1 的最大值。dp[i]表示i之前包括i的以nums[i]结尾最长上升子序列的长度。连续的话只用比较前面的数是不是大的,连续的话就存储,比不连续的简单。所以dp[j]+1就相当于dp[i],他们两个是一样的。674. 最长连续递增序列。52 第八章 动态规划。

2022-12-18 07:17:16 376

原创 算法day51|309,714

组合起来是:max(dp[i-1][0],max(dp[i-1][1]-prices[i],dp[i-1][3]-prices[i]))所以操作二取最大值,即:max(dp[i - 1][3], dp[i - 1][1]) - prices[i]过了冷冻期,但是没有操作,今天买入:dp[i-1][1]-prices[i]前一天是冷冻期状态,今天可以买入:dp[i-1][3]-prices[i]前一天买入股票 dp[i-1][0]+prices[i]dp[0][0] 买入股票 -prices[0]

2022-12-17 00:13:59 172

原创 算法day50|123,188

dp[0][0] = 0,dp[0][1] = -prices[i],dp[0][2] = 0(当天卖出,所以为0),dp[0][3](当天第二次买入) = -prices[i],dp[0][4] = 0。dp[i][1] = max(dp[i-1][1],dp[i-1][0]-prices[i]) 前面不操作的状态。dp[i][2] = max(dp[i-1][2],dp[i-1][1]+prices[i]) 持有。dp[i][0] 不操作的状态。50 第八章 动态规划。

2022-12-16 06:24:22 189

原创 算法day49|121,122

定义二维数组,如果dp[i][0]第i天持有股票的最大利润,dp[i][1]第i天不持有股票的最大利润。持有不代表买入卖出,也有可能是留着不变。如果定义为第i天卖出买入股票的话,还需要定义其他的状态。

2022-12-16 01:51:38 234

原创 算法day48|198,213,337

337.打家劫舍III。213.打家劫舍II。

2022-12-13 20:40:37 97

原创 算法day46|139

关于多重背包,你该了解这些!

2022-12-12 06:31:50 107

原创 算法day45|70,322,279

本题 和 322. 零钱兑换 基本是一样的,大家先自己尝试做一做。这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍。如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。这句话结合本题 大家要好好理解。70. 爬楼梯 (进阶)70. 爬楼梯 (进阶)

2022-12-12 03:43:55 78

原创 算法day44|518,377

01背包的时候遍历背包的时候是使用倒叙遍历的。完全背包的时候遍历背包的时候使用正序遍历的。这里先遍历背包还是先遍历物体的顺序是有差别的。如果先遍历背包,再遍历物体,是排列问题。如果先遍历物体再遍历背包,是组合问题。518. 零钱兑换 II。377. 组合总和 Ⅳ。

2022-12-11 08:26:38 101

原创 算法day43|1049,494,474

通过这道题目,大家先粗略了解, 01背包,完全背包,多重背包的区别,不过不用细扣,因为后面 对于 完全背包,多重背包 还有单独讲解。大家重点理解 递推公式:dp[j] += dp[j - nums[i]],这个公式后面的提问 我们还会用到。因为summ//2是向下取整,所以,summ-dp[target]一定比dp[target]大。递推公式的推导也挺抽象的,dp[j]代表容量为j,有dp[j]种方法。已有物品2,dp[3]种方法的基础上凑成dp[5]。就像找两个集合,正数的集合和负数的集合。

2022-12-11 04:04:37 423

原创 算法day42|背包问题

目录01背包问题 二维01背包问题 一维416. 分割等和子集 题目: 那么假设有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。动态规划五部曲:首先从dp[i][j]的定义出发,如果背包容量j为0的话,即dp[i][0],无论是选取哪些物品,背包价值总和一定为0。如图: 最后遍历顺序可以先遍历物品,也可以先遍历书包重量即dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量

2022-12-07 07:32:19 299

原创 算法day41|343,96

目录343. 整数拆分96.不同的二叉搜索树代码随想录视频讲解:动态规划,本题关键在于理解递推公式!| LeetCode:343. 整数拆分_哔哩哔哩_bilibili代码随想录 这张图画的很清楚视屏讲解:动态规划找到子状态之间的关系很重要!| LeetCode:96.不同的二叉搜索树_哔哩哔哩_bilibili

2022-12-06 07:39:41 92

原创 Mongoose

目录Connect database and insert dataReadupdate and deleterelation and embeddingConnect database and insert dataReadrelation and embedding

2022-12-04 02:48:45 201

原创 算法day39|62,63

创建dp数组,使用列表推导式创建初始化的时候,需要把第一行和第一列都变成1,因为都只有一条路径然后还需要注意,m,n到底是行还是列。遍历顺序也是从前到后返回最后的m-1/n-1代码随想录视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibilihttps://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.html视频讲解:|动态规划,这次遇到障碍了| LeetCode:63. 不

2022-12-03 23:06:01 173

原创 算法day38|509,70,746

很简单的动规入门题,但简单题使用来掌握方法论的,还是要有动规五部曲来分析。代码随想录视频:手把手带你入门动态规划 | 对应力扣(leetcode)题号:509.斐波那契数_哔哩哔哩_bilibili本题大家先自己想一想, 之后会发现,和斐波那契数 有点关系。主要是找规律,如何找到一阶台阶有1种,两阶台阶有2种三阶台阶= 二阶+1阶代码随想录视频:带你学透动态规划-爬楼梯(对应力扣70.爬楼梯)| 动态规划经典入门题目_哔哩哔哩_bilibili这道题目力扣改了题目描述了,现在的题目描述清晰很多,相当于

2022-12-03 08:43:05 548

原创 算法37|738,714,968

贪心解法可以跳过,有点难以理解,即使理解了,后面也会忘,还是在动态规划章节在好好做本题。可以看看贪心算法的总结,贪心本来就没啥规律,能写出个总结篇真的不容易了。本题是贪心和二叉树的一个结合,比较难,一刷大家就跳过吧。遍历这个数字,前面如果比后面大,前面的减一,后面的变成9。714. 买卖股票的最佳时机含手续费 (可以跳过)局部最优:永远都9,前面永远都减1。968.监控二叉树 (可以跳过)全局最优:这样就是最大的。738.单调递增的数字。

2022-12-02 07:40:12 146

原创 算法day36|435,763,56

435. 无重叠区间我不知道怎么说这道题,又好像很难,又没有很难,因为你知道了想法后,我也不知道难在哪里?就很玄学,不知道想法就是想不出763.划分字母区间一旦看了解释,就知道怎么写这个题目了。了解了后就很简单56. 合并区间我的大概思路是对的,但是不知道怎么合并题解给出的方法是,先将第一个区间加入结果集中,直接变换结果集里面的数。

2022-12-01 06:43:34 267 1

原创 Mongodb

首先需要下载command line,mongodb配套的mongodb sh。使用bash 语句在command line 建立文件夹,并且创建app.js。直接输入一个string(27017),所以直接就连上这个数据。collections是集合(products),有点像数据表。Set current database,创建一个数据库。随后打开mongo自带的sh,并且连接上数据库。在使用bash启动node.js。就是在一个文档中,再添加多一点。创建一个文档,并插入数据。根据两个query查找。

2022-11-30 08:10:58 900

原创 算法day34|1005,134,135

本题涉及到一个思想,就是想处理好一边再处理另一边,不要两边想着一起兼顾,后面还会有题目用到这个思路。本题简单一些,估计大家不用想着贪心 ,用自己直觉也会有思路。真的是没有模板的, 就只能就事论事。如果目前cursum为负数的时候,下一个为正数。本题有点难度,不太好想,推荐大家熟悉一下方法二。如果整个差值都为复数,说明不可能有油到达终点。1005.K次取反后最大化的数组和。

2022-11-29 22:37:48 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除