自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sunshine_hanxx的博客

每天进步一点点

  • 博客(51)

原创 【Django】有效解决django1.11.11与django-haystack版本不匹配问题

一、问题描述haystack是django中对接搜索引擎的框架,在服务器上使用docker安装好了elasticsearch搜索引擎之后,需要在本地开发环境中安装haystack模块,官方示例的安装方式是pip install django-haystack但是当我使用这种方式进行安装时,由于版本匹配问题,django-haystack安装完成后会自动卸载掉不符合需求的django并安装上合适的版本(如截图中将django1.11.11卸载,并且安装上了django3.1.2),从而导致项目运行不了。

2020-10-08 20:27:50 86

原创 【Django】有效解决django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings

一、问题描述在使用celery进行异步邮箱验证时,定义好异步任务和配置好celery的相关设置后,使用celery -A celery_tasks.main worker -l INFO命令能正确启动celery,如下:但是一旦进行debug,celery端就报出如下错误:django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings are not configured. You mus

2020-09-29 07:48:07 26

原创 【Django】有效解决postman进行post请求时服务器返回500错误

一、问题描述在学习Django框架时,使用postman工具模拟客户端的各种请求,今天在使用类视图时遇到了一些问题:使用GET方式进行请求时,服务器处理ok,返回200状态码,但是换成POST请求时,服务器总是返回500状态码,其结果如下:使用GET方式进行请求:检查了下代码,没有发现什么问题,类视图代码如下:url配置也没有问题网上找了一下相关问题,发现很多都是提交的JSON数据格式有误等导致,但是我试着不提交任何数据还是会出现同样的问题,于是把postman各个位置的按钮都尝试着点了下

2020-09-12 16:21:55 889

原创 【leetcode C语言实现】剑指 Offer 53 II.0~n-1中缺失的数字

题目描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8限制:1 <= 数组长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof解题思

2020-07-30 22:28:44 677

原创 【leetcode C语言实现】剑指 Offer 50. 第一个只出现一次的字符

题目描述在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = “abaccdeff”返回 “b”s = “”返回 " "限制:0 <= s 的长度 <= 50000解题思路遍历两次字符串,第一次记下每一个字符出现的次数,第二次遍历时,第一次出现次数为1的即为所求字符。代码char firstUniqChar(char* s){ if((s == NULL) || (strlen(s) == 0))

2020-07-28 22:17:01 54

原创 【leetcode C语言实现】剑指 Offer 42. 连续子数组的最大和

题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/

2020-07-27 22:18:50 56

原创 【leetcode C语言实现】剑指 Offer 29. 顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <=

2020-07-25 22:28:12 59

原创 【leetcode C语言实现】剑指 Offer 39.数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof解题思路

2020-07-23 20:13:25 69

原创 【leetcode C语言实现】剑指 Offer 57.和为s的数字

题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.length <= 10^51 <= nums[i] <= 10

2020-07-22 21:45:57 66

原创 【leetcode C语言实现】剑指 Offer 25. 合并两个排序的链表

题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof解题思路对两个链表进行分析,若链表1

2020-07-21 21:23:04 65

原创 【leetcode C语言实现】剑指 Offer 24. 反转链表

题目描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof解题思路对链表进行反转就是让遍历到的节点指向前一个节

2020-07-20 21:26:34 59

原创 【leetcode C语言实现】剑指 Offer 22.链表中倒数第k个节点

题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao

2020-07-19 20:54:51 56

原创 【leetcode C语言实现】剑指 Offer 21.调整数组顺序使奇数位于偶数前面

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/diao-zheng-shu-z

2020-07-17 21:45:35 100

原创 【leetcode C语言实现】剑指 Offer 19. 正则表达式匹配

题目描述请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。示例 1:输入:s = “aa”p = “a”输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa”p = “a*”输出: true解释: 因为 ‘

2020-07-16 21:42:10 66

原创 【leetcode C语言实现】剑指 Offer 18.删除链表的节点

题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数

2020-07-15 22:41:19 81

原创 【leetcode C语言实现】剑指 Offer 17. 打印从1到最大的n位数

题目描述输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof解题思路给定n位数,先求出最大数,然后依次遍历得到所

2020-07-14 23:10:00 80

原创 【leetcode C语言实现】剑指 Offer 16.数值的整数次方

题目描述实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位

2020-07-13 08:00:17 70

原创 【leetcode C语言实现】剑指 Offer 14. 剪绳子

题目描述给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 ×

2020-07-12 22:32:00 80

原创 【leetcode C语言实现】剑指 Offer 13.机器人的运动范围

题目描述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例 1:输入:m = 2, n = 3, k = 1输出:3示例 2:输入:m =

2020-07-11 23:35:53 81

原创 【leetcode C语言实现】剑指 Offer 12.矩阵中的路径

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一

2020-07-09 23:19:29 152

原创 【leetcode C语言实现】剑指 Offer 11.旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi

2020-07-08 23:23:03 82

原创 【leetcode C语言实现】剑指 Offer 63.股票的最大利润

题目描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。限制:0 <= 数组长度

2020-07-07 22:48:08 99

原创 【leetcode C语言实现】剑指 Offer 10 II.青蛙跳台阶问题

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21提示:0 <= n <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof

2020-07-06 21:46:26 89

原创 【leetcode C语言实现】剑指 Offer 10.斐波那契数列

题目描述写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5提示:0 &

2020-07-05 21:17:18 111

原创 【leetcode C语言实现】剑指 Offer 64.求1+2+...+n

题目描述求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qiu-12n-lcof解题思路由于题目限制不能使用乘除及一些关键字,可以考虑使用比较贴近硬件操作的位操作和逻辑

2020-07-04 23:11:44 70

原创 【leetcode C语言实现】剑指 Offer 15.二进制中1的个数

题目描述请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000

2020-07-03 23:36:16 84

原创 【leetcode C语言实现】剑指 Offer 09.用两个栈实现队列

题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“appendTail

2020-07-02 23:22:12 133

原创 【leetcode C语言实现】剑指 Offer 07.重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof解题思路前序遍历的第一

2020-07-01 22:39:06 128

原创 【leetcode C语言实现】剑指 Offer 05.替换空格

题目描述请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof解题思路由于遍历字符串之前并不知道字符串有多少个空格,因此通过空间换取时间方式,定义一个大小为3倍大小的内存空间,遍历原字符串,

2020-06-30 22:41:32 208

原创 【leetcode C语言实现】剑指 Offer 04. 二维数组中的查找

题目描述在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定

2020-06-29 22:51:24 1898

原创 【Django】auth.User.groups: (fields.E304) Reverse accessor for User.groups clashes with reverse

问题简述在django中,当新建一个User类并继承AbstractUser类时,出现了以下错误:ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.HINT: Add or change a related_name argument to the definition for 'User.groups' o

2020-06-28 12:41:20 291

原创 【leetcode C语言实现】75_颜色分类

题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数空间的

2020-06-27 23:42:49 131

原创 【leetcode C语言实现】1_两数之和

题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路由于在C语言中采用hash结构比较复杂,此处直接采用数组散列,将数组中的元素作为下标,下标作为对应元素进行散列,由于考虑

2020-06-25 23:55:28 91

原创 【leetcode C语言实现】剑指 Offer 06. 从尾到头打印链表

题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof解题思路由于遍历链表只能从头到尾,先遍历的后打印,这是典型的“先进后出”,即栈结构。此处采用数组存储依次遍历到的数据,

2020-06-24 23:35:50 112

原创 【leetcode C语言实现】剑指 Offer 03. 数组中重复的数字

题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof解题思路对于找重复元素的问题

2020-06-23 22:05:21 127

原创 【leetcode C语言实现】442_数组中重复的数据

题目描述给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-duplicates-in-an-array解题思路数组中每一个元素都在1~n之间,故依次遍历整个

2020-06-22 23:07:18 130

转载 Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)-- 转载自https://www.cnblogs.com/shwee/p/9427975.html </h2> <div class="postbody">一、前言  由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅。  一、前言  二、Tkinter 是什么  三、Tkinter 控件详细...

2020-06-22 07:53:59 167

原创 【leetcode C语言实现】面试题 02.05-链表求和

题目描述给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912进阶:假设这些数位是正向存放的,请再做一遍。示例:输入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295输出:9 -&g

2020-06-21 23:02:37 158

原创 潜在解决方法-系统映像还原失败,找不到可用于恢复系统盘的磁盘

以XPS15 9570为例,因更换NVME M.2硬盘需要完全地迁移系统盘及应用盘。在采用Win10自带的备份和还原(Windows7)功能中的“创建系统映像”和“创建系统修复光盘”分别在移动硬盘和DVD光盘中进行写入,具体的整个流程参考了什么值得买社区的文章《XPS 13 (9350) 实战SATA SSD至PCIe SSD的真无损系统迁移》“https://post.smzdm.com/p/596467/”。 在“System Image Recovery”一步中出现“系统映像还原失败找不到可用于恢复系

2020-06-19 23:24:06 357

原创 【Django】项目总结(一):web项目开发流程

在进行实际Django项目开发之前,首先需要了解一下Django项目的开发流程。从最初的项目立项到最后的部署上线,中间需要经历几个步骤,结合自己的学习对后台开发相关部分进行简单总结。第一,项目的立项。在进行项目立项之前需要进行前期的调研,对项目的可行性、经济性等进行分析,确定一个项目是否有必要做。项目立项时需要综合考虑项目过程中可能出现的一些问题以及初步的解决思路。第二,需求分析。web项目一般面向的是企业或者个人用户,对不同的用户群体及网站性质不同,对网站的需求也是不一样的,但是不管怎样,面向对象的开

2020-06-01 23:24:20 816

空空如也

空空如也

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