OO第三单元“技术”博客】的更多相关文章

主要针对第三单元的三次作业 JML语言的理论基础.应用工具链情况 JML指的是Java建模语言,全称是Java modeling language,是一种行为接口规范语言,可用于指定Java模块的行为.它结合了Eiffel的契约方法设计和Larch系列接口规范语言的基于模型的规范方法,以及细化演算的一些元素 Design by Contract with JML(由Gary T. Leavens和Yoonsik Cheon撰写)的草案解释了JML作为Java合同设计(DBC)语言的最基本用法,这…
第一次作业 实现多项式的加减运算,主要问题是解决输入格式的判断问题. 输入实例: {(3,0), (2,2), (12,3)} + {(3,1), (-5,3)} – {(-199,2), (29,3),(10,7)} {}表示多项式,其中的小括号第一个参数是系数,第二个是指数.同一个多项式指数要求不同. 程序实现的重点总结 1.去除空白字符 s = s.replaceAll("\\s*", ""); 2.初步判断合法性(有有效输入字符且没有中文) Pattern…
一.JML 在第三单元的面向对象课程中我们第一次接触了JML语言以及基于JML规范的规格化设计.在之前一系列关于面向对象思想的学习认识中,我们知道了Java是一种面向对象的语言,面向对象思想的一个重要原则就是将过程性的思考尽可能地延迟.而作为Java建模语言,JML给予了我们一种全新的方式来看待Java的类和方法,其通过将一些符号语言显式地插入到Java程序代码中,来描述一个方法所要求的前提以及期望达到的效果,而将过程性的思考延迟到了方法的设计中. JML理论基础 JML是用于对Java程序进行…
规格化设计的发展历史 (因为很难寻找,所以参考了下别的同学的调研结果) 规格化设计与结构化.模块化设计密不可分,伴随着OOP语言的发展,规格化设计思想逐渐形成体系,慢慢完善. 20世纪60年代,程序的模块化设计思想被提出.伴随着计算机行业的迅速发展,为了解决程序可靠性等问题,结构化.模块化的设计为程序员提供了使用接口.每个模块各司其职,这样的程序便于扩展和维护,大大降低了当时开发者的困难. 20世纪80年代,面向对象语言兴起,结构化.模块化的思想在面向对象语言里作用被体现得更加彻底.与此同时,为…
OO第二单元优化博客 第五次作业没有性能分,但是,我在这一单元的宗旨就是写一个日常生活中 最常见的那种电梯,所以第五次我没有写傻瓜电梯,而是直接写了个\(look\),和第六次基本相同. 总计一下look算法的几个特点: 1.没有主次请求的区分. 2.电梯会一直往当前方向运行直到需要转向,转向条件为: ​ (1)当前电梯中没有乘客的目的楼层在当前方向上. ​ (2)当前方向上的楼层目前没有请求. 3.捎带时只捎带请求与当前方向相同的乘客. ​ (由于第五次第六次作业没有容量限制,所以可以把当前楼…
OO第一单元优化博客 第一次作业: 合并同类项+提正系数项+优化系数指数0/1=满分 第二次作业: 初始想法 一开始是想以\(sin(x)​\)和\(cos(x)​\)的指数作为坐标,在图上画出来就可以发现,两个坐标分别为\((a,b+2),(a,b+2)​\)的点能够合成\((a,b)​\)的点. 现在我们推广开来,假设有系数分别为为1,2,1的三个点\((a,b+4),(a+2,b+2),(a+4,b)\)即可合成一个\((a,b)\),即,若一排连续的\(n\)个点系数满足杨辉三角第\(n…
OO第三单元--基于JML的社交网络总结 一.JML知识梳理 1)JML的语言基础以及基本语法 JML是用于java程序进行规格化设计的一种表示语言,是一种行为接口规格语言.其为严格的程序设计提供了一套行之有效的方法.通过JML以及其支持工具,不仅可以基于规格自动构造测试用例,并整合了SMT Solver等工具以静态方式来检查代码实现对规格满足情况.一般来说,其运用于以下两种情况:①开展规格化设计②针对已有的代码,书写其对应的规格,从而提高代码的可维护性. 基本语法: 关键词 含义 pure 纯…
title: 2020 OO 第三单元总结 date: 2020-05-21 10:10:06 tags: OO categories: 学习 第三单元终于结束了,这是我目前为止最惨的一单元,第十次作业强测20分,互测杀成狗--虽然都知道只关注分数没有什么意义,我更应该去体会的是通过JML学习对于程序设计理念的认知,但是--心真的很痛.下面就进入单元总结: 1. JML语言理论基础与工具链 1.1 JML语言是什么 参考课程组下发的<JML(Level 0)使用手册>,JML语言的定义如下:…
滴滴面试题:滴滴打车数据库如何拆分 前端时间去滴滴面试,有一道题目是这样的,滴滴每天有100万的订单,如果让你去设计数据库,你会怎么去设计? 当时我的想法是根据用户id的最后一位对某个特殊的值取%操作,然后根据余数定义表的名字为order_0,order_1,orerder_2......等等,但是这样设计有个问题,滴滴的用户是分成司机和乘客的,现在司机和乘客都有app,,他们在自己的app上看自己的订单的时候那怎么查询呢?这样设计数据只有一方可以便捷的取到数据,对于另一方来说取数据会很麻烦,因…
技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容 输出不同的三位数 以下为代码和输出结果 *** #include<stdio.h> int main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) { for(j=1;j<5;j++) { for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) {…
技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容. 1 如果想输出多个多位数的时候,可以尝试用多个if语句.如果需要输出3为数的时候,设置三个变量,并分别赋予三个if语句中 只要在最后输出为printf(%d%d%d,a,b,c);就可以了. 输出3位数,且不重复. 以下为代码 #include<stdio.h> int main() { int i,j,k; printf("\n"); for(i=1;i<5;…
http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236eb1cb4f7374387a235&scene=0#rd [技术博客]Spark性能优化指南——高级篇 2016-05-13 李雪蕤 美团技术团队 前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化指南>的高级篇,将深入分析数据倾斜调…
年9月14日中午12点: 一.主要内容  建个人技术博客(博客园 www.cnblogs.com) 本学期将通过写博客的方式提交作业,实际上,最终的目的是希望同学们能通过博客的形式记录我们整个学习过程,心得.体会以及一些关键的知识点,方便以后查阅,同时,如果同学们能坚持四年不间断的记录,那在你毕业的时候一定会有意想不到的收获. 同学们可关注以下博客: https://www.cnblogs.com/gdfhp/(冯老师的博客,每次作业要求均通过博客形式发布) https://www.cnblog…
有哪些值得关注的技术博客(Java篇)   大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1.总结知识点相对比较全面 2.一般来说讲解知识点通俗易懂 3.路线比较清晰,不会有太多的冗余内容. 这样一来,对于自学的朋友来说,一些专业的博客不但大量的缩减了你得学习时间.提高了学习效率.更重要的是这些博客能培养你对编程的兴趣. 于是,这几期文章会主要推荐一些技术博客,目前计划打算主要分为: (已完…
第一个:java_my_life 作者介绍:找不到原作者信息.大概做了翻阅全部是2012年的博客. 博客主要内容:主要内容是关于Java设计模式的一些讲解和学习笔记,在相信对学习设计模式的同学帮助很大.在一望无际的Java博文中有那么一两篇JavaScript文章,就算两篇Javascript的质量不是很高,其它教程也是能很好的帮助到在学习中的朋友. 博客关键词:JAVA与模式.简单工厂模式.工厂方法.抽象工厂.单例.建造.原型.适配器.合成.迭代.观察者.模板方法.策略.不变.桥梁.门面.代理…
Atitit.如何文章写好 论文  文章  如何写好论文 技术博客 1. 原则 2 1.1. 有深度, 有广度 2 1.2. 业务通用性有通用性 尽可能向上抽象一俩层..业务通用性与语言通用性. 2 1.3. 语言通用性 2 1.4. 管理模式需要增加 2 1.5. 长期性,避免短期内容 2 1.6. 关联性,索引目录 2 1.7. 体系化 2 1.8. 高层次 抽象化 2 1.9. 避免的反模式(避免专注于语言细节) 2 1.10. 矩阵引流 2 1.11. 平衡原则,每隔段时间cnblog…
Atitit.如何文章写好 论文  文章  如何写好论文 技术博客 1. 原则 1 1.1. 有深度, 有广度 1 1.2. 业务通用性有通用性 尽可能向上抽象一俩层..业务通用性与语言通用性. 2 1.3. 语言通用性 2 1.4. 管理模式需要增加 2 1.5. 长期性,避免短期内容 2 1.6. 关联性,索引目录 2 1.7. 体系化 2 1.8. 高层次 抽象化 2 1.9. 避免的反模式(避免专注于语言细节) 2 2. 文章分类 2 2.1. 技术细节 2 2.2. 流程规范总结 2…
该博文大致内容是学习的一个过程,心得,并不是以技术博客为主,在此说明. 关于javaweb的学习开始的时间大概是从大二下(2017年6.7月份)的暑假开始的,在学长的介绍下加入了实验室进行学习,由于是一枚萌新,之前学习的内容大部分还是以课程内容,而课程大一大二涉及的专业方向的课又比较少,所以除了c和c++略懂之外可以说是一无所知,而学长就丢给了我一堆学习的视频,大致内容如下(附带百度云的链接): (链接的顺序就是我学习的顺序,可以参考下)视频是韩顺平老师的教学视频,虽然可能年代有点久远,但是讲的…
分享一下 50 家硅谷优秀 IT 公司技术博客,从中可以了解企业文化,技术特色和设计语言,如果直接列出来很单调,加上点评,算吐槽版吧. 知名大厂   1. Facebook https://www.facebook.com/Engineering 第一个就放上高大上的 Facebook.里面很多技术大牛开发了从 Javascript 库 React,到跨应用平台框架 React Native,把 PHP 优化加速到 C++ 的虚拟机 HipHop VM,飞速的 SQL 查询器 Presto,跨平…
上次有人留言说,技术博客是程序员的标配,但据我所知绝大部分技术同学到现在仍然没有自己的技术博客.原因有很多,有的是懒的写,有的是怕写不好,还有的是一直想憋个大招,幻想做到完美再发出来,结果一直胎死腹中.但其实更多程序员是不知道如何去搭建一个博客,其实如今搭建一个个人技术博客非常简单,其中最简单搭建方式莫属使用 GitHub Pages + Jekyll 了,我的博客就是使用这种技术. GitHub Pages Github Pages 是面向用户.组织和项目开放的公共静态页面搭建托管服务,站点可…
开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. Django中文件下载的实现 1.背景 在VisualPytorch项目中,当时需要提供一个文件下载的功能.最初想到的方案主要有一下三种 直接把网页前端的字符串写入文件中,在客户端完成. 这个方案经过查找资料发现不同浏览器的同源策略以及安全策略不尽相同,难以实现,放弃. 在服务器上再开一个ftp服务器系统地提供文件服务. 这是最开始的思路,后来根据实际需求…
开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. Pytorch代码生成经验文档 关于模型代码的生成,主要思路为从根节点开始进行广度优先搜索,从而自顶向下依次生成相关层的代码.这里和搜索相关的主要有三个数据结构: Q:队列,记录后续继续搜索的节点,即为后续的Node. graph:字典,记录整颗搜索树,每个key对应一个Node,Node为自己封装的一个类,里面包含每层的一些信息.记录搜索树的目的是为了后…
开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. JWT的认证机制Django项目中应用 这篇技术博客基于软件工程课程的VisualPytorch之上.本文小部分参考了https://jwt.io/introduction/ 前言-JWT是什么,为什么用JWT 在做绝大部分数据库系统时(网站.小程序),登录注册肯定是一个绕不开的功能.一般来说传统的解决方案是基于session机制的认证,也就是客户端发送用…
[技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's attention focused on the dialogue 15s : tolerant time limit of most users -- Fiona Fui-Hoon Nah, in A study on tolerable waiting time: how long are Web use…
引言 作为程序员拥有一个属于自己的个人技术博客,绝对是百利无一害的事,不仅方便出门装b,面试时亮出博客地址也会让面试官对你的好感度倍增.经常能在很多大佬的技术文章的文末,看到这样一句话: "欢迎大家访问我的博客",每每看到这都会觉得好酷,同样是搞技术为啥人家那么优秀.而自己想要建一个博客,要么怕花钱,要么怕过程太麻烦,最后就不了了之. 应粉丝要求,今天手把手,嘴对嘴(放心吧,我才不稀罕亲你)的教大家搭建一个属于自己的技术博客,只要你有个github地址就行!还等啥呢?骚年,开整吧! 一…
[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模糊匹配 官方GitHub Issues,可搜索相关问题 CSDN优秀博客 带主题颜色选择的demo 依赖与配置 在浏览器中搭建Monaco Editor,推荐使用ESModule版本+WebPack+npm插件的形式,比较简单.链接中即为官方给出的部署样例. 需要注意的是,经过笔者踩坑,推荐的nod…
一. 回望 (1)对比开篇博客你对课程目标和期待,"希望通过实践锻炼,增强软件工程专业的能力和就业竞争力",对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么? 在几次作业的实践当中,确实学到了很多,包括需求分析.PSP表格.单元测试.其他各种测试等等,深刻意识到了40% 20% 40%的精髓,以前都把大部分时间花在编码上了,轻视了分析和测试的重要性,在稍微大一点的项目当中,这样做容易到项目中后期才发现致命性的问题而导致项目夭折.不足的方面感觉自己在…
一.基本流程 [登录界面] --> [点击忘记密码] --> [输入个人邮箱和验证码] --> [系统发送邮箱验证] --> [用户在限定时间内登录邮箱,查收验证码] -->[完成身份验证,进入重置密码界面]-->[重置密码,系统更新密码]--> [重置密码完毕,点击进入登录界面]. 由于我们默认采用BUAA的邮箱进行身份验证,故在身份验证界面输入学号,系统会向该学号相应的北航邮箱发送验证码信息. 二.主要界面 1.登陆界面 [忘记密码][还没有账号?点击注册]如…
[技术博客]iview组件样式踩坑记录 iview官方文档. 在本次项目开发中,前端项目主要使用vue框架+iview组件构建,其中iview组件在使用过程中遇到了许多官方文档中没有明确说明或是很难注意到的小坑,这里总结一下分享给大家. 一.iview组件的特殊使用 各个组件的基本用法在官方文档中已经给出,这里总结一些官方文档并没有仔细说明的组件的特殊用法. 1.部分可以动态展开的组件(如下拉菜单)在展开时,被页面中其他元素遮挡问题. 解决方法:使用transfer属性(仅对iview组件有效)…
全流程指导Visual Studio Code+Markdown Nice+gitee+PicGo管理自己的技术博客 1.背景 我挺喜欢写博客,但每一次将博客转移到公众号或者知乎,总是需要调整格式,不能一步到位.有没有办法可以管理自己的博客,还真有:MarkDown文档.各个平台,一步到位,格式完全相同.完美! 2.简介 Markdown 简称md,是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档.最常见的是gituhub中的说明文档.这是一种非常擅长写作,而不用在意写作格式的工…