精华内容
参与话题
问答
  • 软件开发人员如何记笔记

    千次阅读 2018-08-11 23:43:29
    前言 对于刚刚学习编程或者已经学习了编程的朋友,难免会产生该不该做笔记的想法。是做好?还是多练习几遍比较好?下面将个人想法和大家分享...作为一名软件开发人员,你的职业生涯中不可能只掌握一门编程语言或...

    前言

    对于刚刚学习编程或者已经学习了编程的朋友,难免会产生该不该做笔记的想法。是做好?还是多练习几遍比较好?下面将个人想法和大家分享一下,希望给正在迷茫的你能提供一点帮助

    问题

    1. 学编程有没有必要做笔记?
    2. 我该记哪些内容?
    3. 如何去做笔记才高效?

    正文

    问:学编程有没有必要做笔记?

    答:十分肯定,一定要做!

    作为一名软件开发人员,你的职业生涯中不可能只掌握一门编程语言或者技能,技能单一迟早会被淘汰。当你只学一门编程语言的时候,做不做笔记其实问题不大,就比如你现在学习C,你发现你能记得每一个知识点,都能运用,这个时候做笔记反而得不偿失。但是当你更进一步学习C++、Java、JavaWeb、Oracle、MySQL、Python、Linux等等的时候,你会发现当你知识积累越多,复杂度就会更高,这个时候如果不去做笔记,你所学的知识点将会很快被遗忘以及搞得混杂,这样一来你接下来的学习将变得不容易。

    所以一定要去做笔记,这样很多人又会说,记笔记?记了也不一定看!那为什么还要去做?其实没有正确与错误之说,如果没有记笔记和看笔记,大部分情况下只能说你学得不够深或者你每天都在重复做某一部分技能,可锻炼性不高,所以笔记意义不大。做笔记不是让你像高中那样每个知识点都去记一遍,而是有针对性去做,这样才能将学习效率最大化。

    问:我该记哪些内容?

    答:记笔记有“三记”“三不记”

    三记:
    ·涉及到软件安装和配置记:这里说的软件安装和配置记,并不是傻瓜式安装的软件,下一步下一步就OK的软件,而是需要涉及到配置环境等软件,比如Eclipse、MyEclipse、Tomcat等,这些软件的配置需要配置环境变量,还有许多配置如Tomcat配置虚拟路径、修改端口号等,把配置过程写下来,闲着没事干忘了的时候就复习一下,有巩固才能提高。再比如学习了Linux搭建服务器、搭建大数据开发环境如Hadoop的时候,如果你不做配置笔记,相信我,你会疯的!!

    ·涉及到项目实战技能记:当你做项目的时候会涉及到很多问题,比如用Java Web开发网页,你会涉及到如何产生验证码、何防止SQL注入、如何避免404,如何控制Servlet跳转、如何通过JS控制隐藏域提交额外信息。这些技能记下来,给自己一个温习的环境,你的牛13程度取决于你的技能有多牛13,所有的技能不可能全部记住,好记性不如烂笔头,这就是为什么要有开发文档的存在。好比现在现在如果不去看笔记和文档,多少人能纯手工不借助文档和IDE搭建SSH或SSM环境?

    ·涉及到出错问题必须记!这点是最重要的一点,就算上面两个你不愿意记,但是出错问题一定要记!为什么?编程中如果出现错误你不记下来,你很可能会被同一个错误折磨千百次,是不是很开心?简单举个例子,今天你用Java中的BigDecimal写了一个除法,但是发现提示你出现了一个异常,你百思不得其解,为什么整数除法没问题啊但是奇数除法怎么就是有错误,这是因为大数奇数除法会出现一个循环小数的问题,你需要指定小数位数才能解决;再比如你个人电脑上搭建Hadoop环境提示你namenode进入安全模式就是启动不起来,网上说了很多办法说关闭安全模式就可以了,最后你发现是因为你的空间不够了;写web配置struts的时候提示你说没有log4j等等,诸如此类,当你记一个问题还可以,记10个还行,但是当你有成百上千我不觉得每一个的解决办法你都能记得!

    三不记:
    ·书上有的知识点不记(配置、实战技能、易错点除外):这里说的书上是指你买了一本实体书比如叫Pythonxxxxx,你说我哪里记得书上那么多东西,我要把重要知识点都记下来!想法很好,但是灭有必要,这么说,常见的编程书籍99%都有电子版,我相信书上写你要比你记得要好得多,所以个人喜欢把自己买的书的电子书放到手机里面,坐公交闲着的时候就拿出来复习一下,书上已经写得很详细了,而且有电子版给你,何必要去把书上有的东西再记一遍,翻开电子书你能很快找到自己需要的知识。
    很喜欢一句话:“如果你喜欢一本书,第二遍才能真正的阅读”,编程书籍,除非你是过目不忘,否则一遍你一定记不住!所以你回倒回去看第二遍,这个时候书上的结构和知识分布点你已经很清楚了,这个时候你去看电子书,你能很轻松定位到需要巩固的地方,我相信效果会很好!
    ·网上已经有完善的参考手册不记:还有一些书上没有的知识,比如HTML元素,书上没有给你全部列出来,但是网上W3cschool等网站已经给你总结的很好了,查找起来特别方便,还有离线手册,这个时候再去记这些东西有什么必要?花时间还没有别人做的好,何必呢?对吧?
    ·看书的时候一定不记!:很多人学习效率很高,很多人效率很低,为什么?大部分是因为你的投入程度!就比如别人一分钟就能理解这个知识点,而你需要三分钟,为什么?因为别人这一分钟投入是100%,而你三分钟每一分钟值投入30%,加起来才90%!所以看书的时候不要去做笔记,专心投入到理解知识点和代码中去,将专注投入效率最大化。如果你边看书边记笔记,当你的思维从学习跳转到记笔记这个过程,就会严重打乱你的学习效率!不建议边看书边记!如果你对某一个知识点觉得需要记,你就先做一个标记,完了再回来记。希望一次只做一件事!

    问:如何去做笔记才高效?

    答:作为一名学计算机的人,如果你说你用一个笔记本(纸质)去记,我觉得还是别说你是学计算机的,有点丢不起人(个人看法,不喜可以忽略),假如你现在笔记本记了一半本,我想让你查一下其中XXX知识点你要查多久?还是电脑上ctrl+F几秒钟就搞定?做笔记一定要专业的去做,比如利用有道云笔记、印象笔记甚至是自己搭建环境和用word打好目录来记,要比你用笔记本去记效率好几十倍!所以一定要使用软件去记,可以多端同步,电脑上记好手机就会同步完成,要看就打开就可以,做个项目和工作共遇到问题打开笔记ctrl+F马上就能找到自己需要的内容!

    转载自https://blog.csdn.net/sinat_34104446/article/details/80954247

    展开全文
  • 开发笔记

    2019-03-13 21:10:44
    编码,可以更高效!
    • null == test 和 test == null 的区别? 第二种方式,如果少写了一个等号,可能造成未知的错误。而第一种方式更易读。
    • 开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何获取特定的编码的字符串?
    public String transacte(String targetStr){
        String tempStr = "";
        try{
            tempStr = new String(targetStr.getBytes("iso-8859-1"),"gbk");
            tempStr = tempStr.trim();
        }catch (UnsupportedEncodingException e){
            System.out.println(e.getMessage());
        }
        return tempStr;
    }
    
    • 如果变量是一个布尔值,变量名最好加上is、has或can作为前缀。
    • 项目部署到服务器,找不到文件路径。路径分隔符在 windows下的写法 \,linux下的写法 / , 兼容的写法:File.separator。
    • 查看tomcat安装路径命令:sudo find / -name tomcat
    • float格式的数据,只保留后四位小数:
    float af = 2;
    float bf = 56;
    float result = af/bf;
    DecimalFormat decimalFormat = new DecimalFormat("0.0000");
    String p2 = decimalFormat.format(result);
    
    • 实体类中不能用基本类型来定义字段,要用其包装类。原因是基本类型都是有初始值的,会造成未知的错误。比如有一个字段,我在mysql数据库中默认设置为100,重新插入数据的时候,出现了值为 0 的记录。原因是我在实体中将该字段定义为 int 类型,所以即使不给这个字段赋值,它也有一个默认值 0 。
    • 如何保证JSONObject输出不乱序? 在实例化时,添加参数 true。JSONObject result = new JSONObject(true);
    • 生成的cvs,用excel打开为一列,解决方案:在你导出csv文件的时候,“,”改成“\t”。
    • 参数String… params 和 String[] params 的区别?前者支持 0-n 个参数,后者支持 1-n 个参数。
    • DESC 和 ASC 全称是什么? descend 和 ascend 。
    • 正则表达式
      • 找出不包含某个字符串的所有:^((?!badword).)*$https://blog.csdn.net/lancewoo/article/details/80691843
      • 找出不包含多个字符串的所有:^((?!(ECSdk|MOS)).)*$
      • 找出不包含多个字符串且不包含空字符串的所有:^((?!(所问|test|测试|Test)).)+$
      • 替换字符串中的中括号:String b = a.replaceAll("[\\[\\]]", "");
      • 判断是否包含某个字符串:.*(askingdata).*
      • 判断是否包含多个字符串:.*(askingdata|priseer).*
    • do,dto,vo等名词解释:https://blog.csdn.net/uestcyms/article/details/80244407
    • 静态语句块,类加载时执行。
    static {
            System.out.println("类加载时执行。");
    }
    
    • 序列化。Java序列化是JDK1.1引入的特性,用于将Java对象转换为字节数组,便于存储和传输。此后,仍可以将字节数组转换回Java对象原有的状态。序列化的思想是“冻结”对象状态,然后写到磁盘或者在网络中传输;反序列化的思想是“解冻”对象状态,重新获得可用的Java对象。在Java中,一个类如果需要序列化和反序列化则必须实现Serializable接口。被static和transient修饰的变量不会被序列化。servialVersionUID 是序列化和反序列化时的标识。序列化时此标识的值必须和反序列化时一致。默认使用1L。示例代码:
    Test test = new Test();
    test.setName("test");
    // 把对象写到文件
    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("index"));
    oos.writeObject(test);
    // 从文件中读出对象
    ObjectInputStream ois = new ObjectInputStream(new FileIputStream(new File("index")));
    Test result = (Test) ois.readObject();
    
    展开全文
  • 小程序开发笔记

    2019-10-23 16:14:00
    微信之父:张小龙 简介:小龙,Foxmail创始人,微信创始人,腾讯公司高级副总裁, 小程序:是一种不需要下载安装即可使用的 应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。...

    微信之父:张小龙

    简介:小龙,Foxmail创始人,微信创始人,腾讯公司高级副总裁,

    小程序:是一种不需要下载安装即可使用的 应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不关心是否安装太多应用的问题。应用将无处不在,随时随地可用,但又无需安装卸载

    微信小程序有三层:
    渲染层:(wxml +wxss)
    逻辑层:(javascript)
    配置:(json)

    1、全局框架文件:
    在这里插入图片描述
    2、页面的文件:

    在这里插入图片描述
    全局框架文件json文件:

    在这里插入图片描述
    WXSS是一套样式语言,描述 WXML 的样式

    展开全文
  • 开发笔记记录 mac快捷键 截图快捷键:Command + shift + 4 在当前窗口打开新窗口:Command + n 切换应用程序:Command + tab 打开浏览器的开发者模式:option + Command + i 刷新浏览器页面: Command + R 强制刷新...

    开发笔记记录

    mac快捷键

    截图快捷键:Command + shift + 4
    在当前窗口打开新窗口:Command + n
    切换应用程序:Command + tab
    打开浏览器的开发者模式:option + Command + i
    刷新浏览器页面: Command + R
    强制刷新浏览器页面: Command + shift + R

    mac下文本编辑快捷键

    移动光标到行尾:Command + 左箭头
    移动光标到行首:Command + 右箭头
    选中光标到行尾的文本:shift + Command + 左箭头
    选中光标到行首的文本:shift + Command + 右箭头

    mac下idea快捷键

    全局搜索:control + shift + f
    文件内搜索:Command + f
    文件内替换指定字符:Command + r

    springboot注解解释:

    @Data: 定义在类上相当于自动为类提供读写属性(get & set), 此外还提供了 equals()、hashCode()、toString() 方法。
    @NoArgsConstructor: 自动生成无参数构造函数 
    @AllArgsConstructor: 自动生成全参数构造函数
    @Component: 将bean交给spring管理
    @ConfigurationProperties(prefix = "xxx"): 将配置文件的值映射到类上使用,"xxx"为配置文件中的key
    @EqualsAndHashCode(callSuper = false): 
    1. 此注解会生成equals(Object other) 和 hashCode()方法。 
    2. 它默认使用非静态,非瞬态的属性 
    3. 可通过参数exclude排除一些属性 
    4. 可通过参数of指定仅使用哪些属性 
    5. 它默认仅使用该类中定义的属性且不调用父类的方法 
    6. 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。
    

    借鉴:

    @Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。 
    @Scope注解 作用域 
    @Lazy(true) 表示延迟初始化 
    @Service用于标注业务层组件、 
    @Controller用于标注控制层组件(如struts中的action) 
    @Repository用于标注数据访问组件,即DAO组件。 
    @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 
    @Scope用于指定scope作用域的(用在类上) 
    @PostConstruct用于指定初始化方法(用在方法上) 
    @PreDestory用于指定销毁方法(用在方法上) 
    @Resource 默认按名称装配,当找不到与名称匹配的bean才会按类型装配。 
    @DependsOn:定义Bean初始化及销毁时的顺序 
    @Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常 
    @Autowired 默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用 
    @Autowired @Qualifier(“personDaoBean”) 存在多个实例配合使用
    

    Spring MVC新特性: 提供了对Restful风格的支持

    @GetMapping,处理get请求 
    @PostMapping,处理post请求 
    @PutMapping,处理put请求 
    @DeleteMapping,处理delete请求
    @PostMapping(value = "/user/login") 等价于 @RequestMapping(value = "/user/login",method = RequestMethod.POST)
    

    mac 下nginx加入开机启动

    通过brew install nginx后设置开机启动项

    sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
    sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
    

    mac配置redis开机自启:

    1. sudo vi /Library/LaunchDaemons/io.redis.redis-server.plist
    2. 粘贴如下代码:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>io.redis.redis-server</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/local/bin/redis-server</string>
            <string>/usr/local/etc/redis.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
    </plist>
    
    1. 修改上面的string标签redis-server以及conf配置文件为你的redis对应所在的位置
    2. sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
    3. 启动redis:sudo launchctl start io.redis.redis-server
    4. 关闭redis: sudo launchctl stop io.redis.redis-server
    5. 设置启动别名:
    	alias redisstart='sudo launchctl start io.redis.redis-server'
    	alias redisstop='sudo launchctl stop io.redis.redis-server'
    

    sql优化:

    查看表拥有的索引:

    show index from table_name;

    添加索引:

    普通索引:
    ALTER TABLE table_name ADD INDEX index_name (column_list);
    UNIQUE索引:
    ALTER TABLE table_name ADD UNIQUE (column_list);
    PRIMARY KEY索引:
    ALTER TABLE table_name ADD PRIMARY KEY (column_list);
    删除索引:
    DROP INDEX index_name ON table_name;
    上面的语句等价于下面这条:
    ALTER TABLE table_name DROP INDEX index_name;

    删除PRIMARY KEY索引:

    ALTER TABLE table_name DROP PRIMARY KEY

    OR条件优化:

    使用UNION ALL,例如:
    select * from tb_xxx where c1 = 'xxx' OR c2 = 'xxx';
    可优化为:

    select * from tb_xxx where c1 = 'xxx' 
    UNION ALL
    select * from tb_xxx where C2 = 'xxx' AND c1 <> 'xxx';
    

    LIKE查询优化:

    使用函数:LOCALTE、POSITION、INSTR
    例如:
    select * from tb_xxx where c1 like '%xxx%';
    可优化为:
    select * from tb_xxx where INSTR(c1, '%xxx%') > 0;

    xml中部分特殊符号表示

    1	&lt;	<	小于号
    2	&gt;	>	大于号
    3	&amp;	&	和
    4	&apos;	'	单引号
    5	&quot;	"	双引号
    
    展开全文
  • 开发笔记

    2019-07-15 17:32:10
    之前我比较喜欢把各种工具扔到一个utils.py文件中,想着如果有相关的功能,可以共享一套引入的包。 可以把工具类放到一个utils目录下,底下多个py文件,单个文件实现单个功能。 ...
  • Android开发笔记(序)写在前面的目录

    万次阅读 多人点赞 2015-11-24 14:36:06
    知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯;另一方面希望通过分享自己的经验教训,与网友互相切磋,...还有就是有的知识点是java的,只是Android开发也会经常遇上,所以蛮记下来。个人的经验...
  • 文章链接 http://blog.csdn.net/zhmxy555/article/details/7447864作者:毛星云 邮箱: happylifemxy@qq.com  这节笔记的主要内容是介绍一个完整的回合制游戏demo,而这个demo里面主要突出了游戏里AI的各种思考与...
  • Android Framework开发笔记

    千次阅读 2018-11-09 17:57:20
    一、前言 在framework局部编译之前,代码必须整体编译过,形成完整的依赖(Android.mk)体系,才能局部编译。 二、编译 1.make编译,会重新产生依赖,实现依赖不完整不会导致无法编译。比较消耗内存和时间 ...
  • ATECC508A芯片开发笔记(一):初识加密芯片

    万次阅读 热门讨论 2017-07-15 21:01:17
    近年来,随着黑客网络攻击事件频繁发生,网络安全问题亟待解决,同时security方面的软件解决方案也正快速更迭,相关软件开发人员也变得更紧缺。 使用传统纯软件的方法实现网络安全加解密、身份认证等算法存在较多...
  • OpenCV开发笔记(一):OpenCV介绍、编译

    千次阅读 多人点赞 2019-08-26 10:17:20
    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:... 目录 前言 OpenCV介绍 OpenCV下载 ...OpenCV编译(2019年8月25日补充) ...步骤二:CMa...
  • http://blog.csdn.net/zhmxy555/article/details/7355377作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得在笔记七中我们讲解了用定时器来产生动画的效果。定时器的使用固然简单方便,但是事实上...
  • iOS开发笔记 - 工具篇

    千次阅读 2016-03-03 11:07:49
    工欲善其事,必先利其器。作为一个合格的iOS开发者,熟练的使用各种开发或辅助开发的工具也算是一项必备技能吧,下面是我整理的一些工具及其应用场景和使用方法。
  •  http://blog.csdn.net/zhmxy555/article/details/7318264作者:毛星云 邮箱: happylifemxy@qq.com  在从第一节开始看这个笔记系列的话,大家会发现,一上来就开始讲DirectX相关的内容,但是写了几节之后,又...
  • NB-IoT应用开发笔记

    万次阅读 2017-12-03 21:45:11
    2000年初的那一波GPRS的浪潮,让很多物联网企业大赚了一笔。这一次大家的热情也空前高涨。截止目前2017.12,NB-IoT的标准还没出来。但是在华为、中兴、高通、诺基亚等的推动下,芯片、模组、基站、核心网整个产业链...
  • 移动端web开发笔记(一)

    万次阅读 多人点赞 2018-07-15 20:33:43
    我本来一直在开发PC端的网页的,但是看到很多招聘都要求要有移动端开发的经验,所以开始学习一下!先搞清楚两个概念,移动端web开发,web app开发1、 移动web开发(pc端的页面用手机浏览器打开)这部分跟web前端开发...
  • Android TV 开发笔记一:环境搭建

    千次阅读 2015-04-03 19:11:17
    3、打开SDK Manager,下载需要的开发包和模拟器,如下图展示的,模拟器我只下载了一个,你可以看需求下载其他版本的模拟器。 4、在AVD Manager中创建模拟器 5、模拟器启动的过程是相当的漫长,在模拟器中
  • 若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:... 目录 前言...
  • OSG开发笔记(一):OSG介绍、编译

    千次阅读 2019-07-02 09:09:59
    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:... 目录 前言 OSG概述 ...补充:附加qt5.9.3的...
  • Minecraft Mod 1.12.2 开发笔记(0):建立工作空间准备Java工作空间安装JDK与JRE准备IDE建立MDK环境 准备Java工作空间 安装JDK与JRE 这一点很容易,但是(重点来了):要确保你安装的JAVA是 J8SE (如jdk(jre)...
  • Web笔记-移动前端开发笔记

    千次阅读 多人点赞 2020-02-16 18:11:41
    因为最近有个移动端的小项目,在此稍微学习下移动端开发基础概念。免得用框架的时候莫名其妙。 px(CSS pixels):逻辑像素,浏览器使用的抽象单位; dp,pt(device independent pixels):设备无关像素; dpr...

空空如也

1 2 3 4 5 ... 20
收藏数 410,696
精华内容 164,278
关键字:

开发笔记