钢七连软件技术慕课
文章平均质量分 82
技术讲解,项目开发
钢七连软件实战技术
大型企业项目架构,多种技术实战开发,少儿编程,游戏开发
展开
-
企业项目开发的艰难过程
一个人毕业后,如果要从事五年、十年软件开发,真正的实战能力,来自企业工作中的积累、各种新问题的磨炼。企业中的实战,第一天通知见客户,第二天双方谈需求,做与不做,难易程度、规模大小、技术选型、资金人力,怎么做?挑了一个简单模块先做,做到一半,遇到了难题、新问题,怎么做?各种企业项目,都是标准的用户管理、角色权限、业务流程、业务数据管理、行为日志、消息通知、文件处理,加根据具体业务订制的特殊功能,加第三方模块。原创 2023-07-05 14:53:19 · 246 阅读 · 0 评论 -
企业职业发展和C语言调试问题
在学校任教多年,由于各种问题,离开学校,到了一个甲方企业。甲方企业不编程,虽然轻松很多,但也有很多新问题。这些问题,写100篇博文都行。又或者不必写,项目的发展,终究会给出答案。同样是擅长编程的学生,职业发展差别太大了。大一到大四,学生的误区,100篇博文说不完,说了也没人信。毕业后的经历,自然会把职业的真相、他人的谎言,逐个分辨清楚。有一个问题,值得谈一下。公司做过三个项目:1个是JavaEE SSH;1个是原生android;1个是Flutter。这三个项目,都是当时擅长这些工具的人,开发而成。项目原创 2021-08-15 22:11:56 · 325 阅读 · 1 评论 -
真实项目技术总结:数据库和数据结构
我在公司里做事,不便发布和商业项目相关的资料。一些通用技术,可以公布出来。服务器运维:CentOS, Javaee SSM项目,SSH的一个老项目。小程序:PHP thinkadmin+小程序官方组件。第三方库:环信。某项目从去年9月,反复修改返工,做到今年4月。开发过程是这样:开发人员学会shiro、Activiti,做了项目。出现错误、需求改变,再去研究shiro、Activiti,给出一个解决方案。甲方永远有新需求、新变化。碰到问题,再接着改。就这样,半年过去了。除原创 2021-04-12 15:47:55 · 418 阅读 · 2 评论 -
真实项目技术总结:CentOS远程服务器端口操作
理工科没什么捷径可言。一个人的综合能力,靠点点滴滴积累而成。有没有谁的综合能力很弱,却掌握了一项别人都不会的技术,这样的情况很少。人们都想学个有竞争力的技术。很多技术都是必要的,必不可少。没有耐心,对于很多技术、课程,都放弃学习。这很有问题。这种情况很常见,有的学生自以为有一个特长,其他内容就不学了。学生自以为的“特长”,是强、是弱,需要市场检验。市场上,高手无数、前辈无数。防火墙CentOS防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctl enable原创 2020-10-15 11:56:04 · 450 阅读 · 0 评论 -
[转载]美团外卖调度配送技术资料和学习问题
1.原文地址:解析美团外卖智能配送的AI技术原理(附PPT)https://blog.csdn.net/eNohtZvQiJxo00aTz3y8/article/details/797998432.原文地址:美团技术团队CSDN博客 :智能配送系统的运筹优化实战https://blog.csdn.net/MeituanTech/article/details/104421895一个外卖调度配送项目,可以覆盖数据结构、操作系统、计算机网络、数据库、前端、后台等多项技术。有学生在大四毕业设计转载 2020-09-06 11:41:01 · 1389 阅读 · 0 评论 -
博客数据统计2019.9-2020.9
本科毕业生为没有工作经验发愁,我的经验够写一本书了。大学学习+培训班培训是软件学习的主要模式。同时,培训班招收的各种学历、各种专业的社会学员,在实践中锻炼技术,相当快捷、高效,就业和待遇也很好。但是,人才的分布像一个金字塔。一个年级1000人,能在课后多学习的人不多、能在会了课本后再拓展提高的人不多。以会了课本、另外多查资料、拓展提高为标准,这样的学生约有100人。看了各种资料,能多实践、多应用、理解细节的人,约20人。这样算的话,去年有20个人才,今年有20个人才,非常稀缺。我工作这么多年,最原创 2020-09-06 00:28:27 · 534 阅读 · 0 评论 -
软件项目需求分析、开发过程和后续维护
软件的组成:1.终端:比如手机淘宝APP、电脑上打开的淘宝网页(网页叫前端)。2.后台:在淘宝APP、淘宝网页上,点下去一个链接。一条消息数据通过wifi、网络传到了服务器(北京、杭州等),服务器上收到了这个消息数据,查出商品数据、购物车数据,返回给用户终端。3.数据库:账号、密码、商品、购物车,就像excel一样,存储在服务器上。终端(网页、APP)+服务器后台+数据库的表和数据,共同组成了一个软件。软件开发过程甲方:软件用户。乙方:软件开发公司。1. 需求分析讨论原创 2020-09-05 20:50:40 · 1957 阅读 · 0 评论 -
JSP基础案例和编程技术:简单网站制作
以课本为例,能把每一个基础知识学会、学得全面,就已经是高级水平。这个“高级”是指领先于小白、萌新,领先于死记硬背、连基本技术都不会的人。基础弱,大四实训也没刻苦学习,只是稍微会一些,叫小白、小灰。要满足现实的项目需求,需要多种业务模块,比如用户关系和权限、工作流、消息管理、历史记录和数据统计等。还有一些拓展的模块:第三方接口、个性化推送、数据挖掘等。还有用户想要的各种各样前端效果、后台功能。一个关键的技术是:设计模式在各种JavaEE框架中的应用。项目的调试、测试,自动化测试,数据库维护,新原创 2020-08-29 23:54:54 · 580 阅读 · 0 评论 -
软件专业的大学学习内容
当了多年大学老师,理论课、实验课、考试,年复一年就这样过去了,毕业了一届又一届的学生。软件技术的学习资源丰富、便捷,远远不止一个课本、一张试卷。同一件事,人们的观点差异太大。年复一年,大一学俄罗斯方块、大四学商品增删改查。这件事是对是错?要不要改进一下?很多人认为这事没有任何问题,无需任何改进、改变。学生专业技术弱,我在三年前、两年前做了很多案例。两三年间,除了少数人看一眼(初学者看不懂),这些案例都闲置。如果学习氛围不变,这些案例将永远闲置,可能网友会看一看。学生专业技术弱,缺原创 2020-08-16 12:01:50 · 514 阅读 · 1 评论 -
python:turtle画图 杨辉三角 居中 折线
截图:代码:再上一篇文本输出的基础上,用turtle画图,画出折线。import turtle#2020.8.12 杨辉三角和居中N=[1]def prtLine(): global N N=[1]+ [ N[i]+N[i+1] for i in range(len(N)-1) ] +[1] # print( N[i]+N[i+1] for i in range(len(N)-1) )'''print(N)for i in range(5):原创 2020-08-12 18:08:54 · 1059 阅读 · 0 评论 -
python:杨辉三角和居中
截图:代码:#2020.8.12 杨辉三角和居中N=[1]def prtLine(): global N N=[1]+ [ N[i]+N[i+1] for i in range(len(N)-1) ] +[1] # print( N[i]+N[i+1] for i in range(len(N)-1) )'''print(N)for i in range(5): prtLine() print(N)'''#杨辉三角放到二维列表中d=[原创 2020-08-12 17:19:07 · 1747 阅读 · 0 评论 -
python:turtle画图 塔
截图:网址:https://python123.io/index/turtles/5f277f1977034976bcae26f1技术要点:1.注意turtle自身的坐标系、坐标轴朝向。2.每一层要确定一个海龟起点,我用的是一层图案的左下角位置,如下图所示。根据这个起始点,来计算每层的数据变化、设定画图距离。红色位置就是每层图案的起点。3. 矩形、梯形、三角形,都可以做成函数。如果梯形可以任意指定高度参数,需要再加三角函数的计算。为了方便,我的梯形都用高度15、底角tan原创 2020-08-04 00:00:42 · 2270 阅读 · 0 评论 -
python:turtle画图 螺旋线
python:turtle画图 螺旋线:https://python123.io/index/turtles/5f24356a8906b11e422aa7d3截图:代码:#20200731 程序猿# python画图import turtle pen_len = 40 def draw(size): turtle.penup() turtle.forward(size*0.6) turtle.pendown()原创 2020-07-31 23:16:00 · 1432 阅读 · 0 评论 -
python:查看汉字的UTF8编码
讲java,就少不了谈C#。C#的作者百科,地址是https://baike.baidu.com/item/%E5%AE%89%E5%BE%B7%E6%96%AF%C2%B7%E6%B5%B7%E5%B0%94%E6%96%AF%E4%BC%AF%E6%A0%BC/2152925?fr=aladdin从大一、到大四,谁能解释一下中间百分号、每一对十六进制数的含义?中间这一串,是“安德斯·海尔斯伯格”八个汉字、一个标点的UTF-8编码。在UTF-8编码下,汉字占3个字节,中间的点是特殊符号占2个字原创 2020-07-31 22:28:43 · 1832 阅读 · 0 评论 -
理工科的榜样作用
100个学生,有90个是高手,剩下10个人会不会说“考试及格就好”。100个学生,有10个是高手,剩下90个人都说“考试及格就好”,于是10个高手中也会有5个不再努力,只剩5个高手。责任不在学生。90个初学者,不可能自学、看懂高级技术和项目。高级技术、项目、学习方法、学习资源,必然需要有人带领、有人传授。指导人、领路人、环境和资源,非常重要。看杭州电子科大计算机学院的新闻:“2020年浙江省大学生科技创新活动计划暨新苗人才计划项目”本科生申报书30份,研究生申报书18份。http://com原创 2020-07-31 21:36:31 · 444 阅读 · 0 评论 -
同一个程序框架的游戏:贪吃蛇
游戏功能:碰到边界、墙、铁皮、蛇身、炸弹,减少生命值。碰到墙,播放一个墙碎掉的动画。碰到食物、爱心,播放一个金币得分的动画。碰到爱心,增加生命值。碰到食物,增加蛇身。碰到边界、铁皮、蛇身,增加一个危险提示的动画。按Q, 直接增加蛇身(本身是一个调试的技术,魔兽3的快捷命令都是调试手段)。游戏素材:动画素材:游戏截图:这么多功能,需要多少行程序?可以精简、可以复杂。无论繁琐、或者精简,更加重要的一件事,是这套代码和坦克大战是同一套。同一套代码,可以制原创 2020-07-30 20:45:08 · 436 阅读 · 0 评论 -
一个大学老师的2020
苦难之年。1.毕业生和应届生毕业生到了公司,有三种问题:公司经营困难,技术更新换代,平时的业绩考核和末位淘汰。2020年,就业问题更严重。可能学生都是乐观的,考试是及格、甚至高分,软件人才需求大,未来的工作轻松、高薪。人活在美好的憧憬、幻想中。什么时候看到老师的一条消息“所有行业不缺普通人才、只缺高级人才”、“普通人才只可能低薪”。这些话就当没看见吧。理论和实践脱节,校园里的人都是一个模糊的感受、并不清楚。愿意付诸行动,提高专业技术的人,更是少数、以后也是少数。大二学生不清楚考研原创 2020-07-30 20:19:12 · 533 阅读 · 3 评论 -
[转载]工具库和设计模式的关系
良心技术帖,原文链接:https://blog.csdn.net/Ezresl/article/details/106602735教书多年,每次讲到大三的专业技术科和基础课的关系,我总会讲spring工厂模式、AOP代理模式、过滤器的责任链模式,拦截器的装饰模式(或者代理模式)。大二的《设计模式》,在工具库本身的体现、在项目功能开发上的体现,都有广泛应用。前几天,给大二学生讲java项目,创建Thread对象,传入自己编写的Runnable实现类,间接启动run线程函数。run函数里,是java游戏转载 2020-06-07 17:15:59 · 344 阅读 · 0 评论 -
青出于蓝:学生博文推荐
一个简单的道理,学生的技术是老师教会的,还是自己学会的?学生的普遍态度:老师教过的,会;没教的,不会。如果是这样,怎么去解决工作中无数的新问题,怎么适应技术、工具的更新换代。老师的技术,来自长期学习各种教程。这种学习的积极性,怎么就没传给学生。2017年,学生学了SSH毕业。2020年,SSM火了。2017届的学生需要再找老师、找培训机构学吗?2017届学生,有没有能力自学SSM,甚至开发一套javaee框架。学生说,这又何苦自己发明框架。一个学生,如果能发明一个简易、简陋的框架,也足够转载 2020-05-23 07:23:36 · 392 阅读 · 1 评论 -
软件体系结构:应用软件的设计与开发
一个教务系统的界面设计、UML类、用户权限、数据转换,这是上课讲的几个题目。一款应用软件,还有很多功能要做。后续改进:除了将实验1到实验4,整合做出一个项目。还有很多提高编程能力的项目,可以尝试设计、编码: 了解工作事务流。 适配器模式,实现数据类型转换。 创建型的原型模式,从一个javabean得到另一个javabean。 策略模式、模板方法模式,实现不同的排课算法。 外观模式,把排课算法封装成一个工具类。 装饰模式、代理模式,实现函数执原创 2020-05-10 06:55:17 · 808 阅读 · 0 评论 -
学生的专业小组建设路线
先有工程类的教师指导团队,再有可以延续、迭代的学生协会和项目积累,然后培养出技术高手、做创新产品,才有张一鸣、雷军。如果没有这些工作积累,学生在期末、在高年级只能掌握增删改查。先有培养高手的氛围、环境,才有姚壮宪。一个学生,学了分支、循环,靠一个人自学、发明,就做出了《仙剑奇侠传》,这不可能。学习war3做图,也需要老师、社团里的人共同讨论、解决难点。经过长期的努力,才能做出一张好的w...原创 2020-05-05 00:04:49 · 407 阅读 · 0 评论 -
努力程度和技术成果
技术成果可以比拼,比如架构的好坏、技术难度、功能的多少。应聘者比拼技术能力,工作中比拼怎样解决产品的具体问题。要达到什么样的技术等级,这和付出多少努力是一致的。有人效率高一些,有人效率低一些,但肯定需要付出大量努力。工作单位电脑上的代码不算,只统计家里的笔记本电脑,统计两个工程文件夹,累计编程量:去掉空行后,java代码是60906行。JSP是1502行。平均每年在家里的电脑上,写...原创 2020-04-23 11:37:51 · 555 阅读 · 0 评论 -
设计模式应用教程5:下棋、悔棋、提子、放回
java版围棋程序,功能包括下棋、悔棋、提子、放回,用来讲解一个围棋战斗片段足够了。运行效果:技术方案:落子和悔棋,用一个可撤销的命令模式。提子和放回,再用一个单独的可撤销命令模式。业务逻辑不要混着写在一起,这是设计模式的好处。只要混着写,必然会有大量的数据、状态判断,耦合性大,维护困难。这个程序,分阶段、分版本,循序渐进地写成。第一个版本,是从坦克大战拆分出来的模块,画出棋盘...原创 2020-04-21 19:31:41 · 901 阅读 · 0 评论 -
设计模式应用教程4:可撤销的命令-悔棋
字符界面的运行截图:工程结构:悔棋的关键,是具体命令怎样保存、撤销下棋的参数。有两种方案:1. 用一个字符串"x,4,y,3,type,1"存放所有数据,也可以是JSON。2. 用JavaBean封装。package com_20181616666_YanYang;import java.util.ArrayList;//方案2:棋子坐标、棋子类型整合成一个类...原创 2020-04-17 08:03:26 · 554 阅读 · 0 评论 -
设计模式应用教程2:观察者模式的应用
一个观察者,观察两个主题的改进写法。让一个没有特殊父类、接口的普通类,具备被观察的功能。运行结果:主题接口和实现类:public interface Subject { public void addObserver(Observer o); public void delObserver(Observer o); public void notifyObserver(O...原创 2020-04-16 20:31:20 · 341 阅读 · 1 评论 -
软件设计与体系结构:设计过程
无论是应用软件、游戏软件,即使是直接打开编辑器,完成了全部编码,也必然经历过从用例、数据到细节的详细设计过程。这一篇博客,是用XMIND生成的markdown文件写成,确实很方便。第4章 4.1-4.44.1 UML设计过程用例:用例图 顺序图顶层架构:包图 类图界面:类图 状态图界面跳转数据模型,设计精化,类设计,构件部署4.2 用例分析与设计用例图:各个参与者,所有功能某...原创 2020-04-15 23:25:56 · 791 阅读 · 0 评论 -
设计模式应用教程3:双向适配器和instanceof的用法
假设有两个接口,又有同名函数,又有不同名的函数。做一个双向适配器:public interface ThreeElectric { public void connect(); public void f2(); public void f3(); public void f4_three();}public interface TwoElectric ...原创 2020-04-15 12:46:18 · 447 阅读 · 1 评论 -
毕业设计项目的架构
为什么要多看项目,为什么很多学生只能做到增删改查(这也不容易)。假设几个人看同一个项目开发教程,感受是不一样的:初学者:类怎样写、函数参数和返回值、分支和循环是什么意思 基础良好:Model数据部分、View界面部分、Control程序行为部分,各是什么技术方案 有良好的实践技能:体系结构是什么。分层架构,系统分为哪些子系统、构件。子系统之间是什么关系。工程体系结构举例,我不会安卓编...原创 2020-04-13 10:16:27 · 1032 阅读 · 0 评论 -
设计模式项目实战--项目功能点
设计模式的目的,是为了开发更灵活、更容易扩展、容易维护的软件。不用设计模式,也可以开发软件。设计模式,可以让小软件变成大软件,以更好的架构,做出更多的功能。当拟定项目功能点后,不必等到期末,甚至可以不动手,先讨论一下会不会做,有没有实施方案。如果有良好的实施方案,编程调试只是时间问题,问题不大。打游戏,讲究胜率,职业选手也有输的时候。专业技术,可以用方案的初期设计来评价。比如,老师有8...原创 2020-03-25 06:43:36 · 886 阅读 · 0 评论 -
两个版本的坦克大战加QWER技能 源码
语言无关,这个是java版。Q键:普通子弹,消灭墙和坦克,不能消灭铁皮。W键:穿甲弹,消灭墙和铁皮后,继续飞。碰到坦克后,清除子弹。E键:可以消灭墙,不能消灭铁皮。碰到敌方坦克后,坦克被标记。被标记的敌方坦克,不再发出子弹。R键:同时清除被标记的坦克。这里用的是观察者模式,不用也有其他办法实现。用了的好处是,E和R的技能还可以再改进。用了设计模式,架构更好一些,方便扩展、改进。...原创 2020-03-23 21:41:01 · 837 阅读 · 1 评论 -
转载一篇学生作品:命令模式改进
很简单的一个例题改进。但问题就在这,再厉害的高手也是一点一点积累而成。只要做到这一点,每个章节多理解一些,每门课多理解一些,就有技术的领先优势。教师的工作,是让学生少走弯路少踩坑,解决问题。原文链接。https://blog.csdn.net/qq_43191251/article/details/104915303...转载 2020-03-19 21:30:20 · 308 阅读 · 0 评论 -
设计模式应用教程1:命令模式的改进
曾经的大四学生实训,培训机构问了一道20分的编程题:字符界面下,模拟浏览器地址栏的前进、后退。这学期教设计模式,我用java界面,做了一下。其实,这道题如果出现在应聘中,应该先答数据结构的解决思路。运行效果:点击后退的效果:// 答案1:设计模式命令模式/** 命令模式用于项目架构* 地址栏点击方向键上、下,和点击按钮图片,都可以触发前进、后退*...原创 2020-03-13 21:52:53 · 457 阅读 · 1 评论 -
技术的复杂性和牵强附会
90年度,复杂的技术还没有产生,人们可以开发功能很丰富的小型游戏、大型游戏。当技术变得复杂,大学生只会做课本例题了,只会做实训教的唯一项目。改进功能、做第二个项目,是少数学生能做的,这算不算薄弱。复杂的技术,可能把简单问题复杂化,本来可以简单、直接完成的功能,经过一个复杂的技术方案,反而变得困难。这是以往的一个项目举例。博客的好处,很多细节我记不住,需要翻越以往的资料。现在来看这个...原创 2020-03-13 20:46:43 · 1077 阅读 · 0 评论 -
钢七连实战C3-P3:java具体技术
钢七连四门实战课,前两集的视频片段:https://space.bilibili.com/484762714学生在大学学一年的技术等级。学生在大学学两年的技术等级。课程复习:C3 P1:面向对象的一般问题。 java对象数组的常见错误举例。 C3 P2:难题举例面向对象OOP基本技术:封装,继承,多态面向对象的语言无关。可以是java/c++/js/python.用浏览...原创 2020-02-28 21:49:38 · 393 阅读 · 0 评论 -
钢七连实战C2-P2:js坦克大战 40分钟做完版本1.1
C2实战 js坦克大战,40分钟做完版本1.1语言无关。工程不是从零做起。MVC架构,游戏数据Model, 界面/图像库函数,游戏循环,数据刷新,事件处理。业务逻辑,设计模式,有限状态机。第1版 1.1 地图的Model,View,ControlModel 二维数组、后期改为一维数组Control三种基本行为:创建和初始化(执行1次),刷新数据(重复多次),绘图输出鼠标、键盘事件截...原创 2020-02-22 08:28:00 · 414 阅读 · 0 评论 -
c2游戏编程 p2讲义要点2 js游戏编程技术
c2游戏编程 p2讲义要点2 js游戏编程技术项目架构Model,View,Control1. Model2. View3. Contrl1.Modelcnt=0; //时间轴的计数器,时间片 0,1,2,3,…地图 map = new Array(); //地图二维数组 0表示没有格子,1表示有格子七种基本类型:8个整数,表示4个小块的相对坐标(x1,y1,x2,y2,x3...原创 2020-02-22 07:28:25 · 274 阅读 · 0 评论 -
c2游戏编程 p2讲义要点1 游戏架构和编程技术
C2游戏编程 P2 主要内容 java实训各种项目资源,代码https://blog.csdn.net/weixin_42644456/article/details/103092496可以实施:js游戏项目,js的游戏实战热点:微信小游戏使用javascriptjava环境问题,基础知识问题…1.项目阅读:实训飞机大战,俄罗斯方块(java版,js版)java游戏项目,js游戏项...原创 2020-02-22 06:34:49 · 457 阅读 · 0 评论 -
钢七连实战教学 老师和学生的差别
实战教学 老师和学生的差别一、实战教学内容1.通用办法。查资料,分析设计,编码,调试。2.语言无关。优秀的厨具,可以做出难吃的饭。3.基础课程,基础课程在项目中的应用小问题,高难度。毕业后的三种发展:考研,熟练掌握工具的初级岗位,解决产品的高级问题、复杂问题。4.具体技术。架构、模式、具体知识。已有的案例和项目经验,调试技巧。5.一个问题的多种解决办法。基...原创 2020-02-21 23:12:57 · 259 阅读 · 0 评论 -
JavaEE SSM原理总结
JavaEE SSM框架的三大原理前端框架原理(例如Vue.js):如同freemarker、Angular.js、Bootstrap.js各种模板或框架技术。MVC架构思想的数据分离。分离是分开写,不要混着写在一起,例如html标签和CSS样式就是一种分离。前端框架:数据和数据的展示相分离,比如freemarker模...原创 2020-02-21 18:59:09 · 583 阅读 · 0 评论 -
[转载]推荐几个非常不错的富文本编辑器
富文本编辑器。这是前端的综合复杂应用。原文链接:https://blog.csdn.net/qq_38200194/article/details/100129740推荐几个非常不错的富文本编辑器......转载 2020-02-20 20:26:34 · 450 阅读 · 0 评论