<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nonocast]]></title><description><![CDATA[山川异域 风月同天]]></description><link>https://blog.youkuaiyun.com/nonocast</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nonocast]]></copyright><item><title><![CDATA[debugger in vscode]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740904</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740904</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:22:49 +0800</pubDate><description><![CDATA[先说Chrome，
直接在Developers/Source面板设置breakpoint就可以调试
再来就是在vscode中直接调试React，分为以下几个步骤：

安装Debugger for Chrome
常规yarn start (nom start)
在Debug面板中增加configuration，关联到目标地址 (http://localhost:3000)
然后Start debug...]]></description><category></category></item><item><title><![CDATA[如何使用配置?]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740890</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740890</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:22:09 +0800</pubDate><description><![CDATA[Node
这个和传统Java, C#应用程序基本一致，

dotenv
config

- config
  - default.yaml
  - development.yaml
  - production.yaml
  - test.yaml
- src
- test
- .env
- .env.production
- .env.test

index.js
require('dotenv...]]></description><category></category></item><item><title><![CDATA[如何设计Restful API的分页？]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740875</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740875</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:21:35 +0800</pubDate><description><![CDATA[需要考虑的问题:

请求方式
回复方式

请求方式
可考虑的传递通道:

url query, /foo?page=1
url path, /foo/page/1
http request json body
http header

比较:

page不是resource，所以不应该设计在url path中
需要考虑到url复制分享和传统a标签兼容问题的情况，这里还不谈及SEO，所以应该来说ur...]]></description><category></category></item><item><title><![CDATA[如何记录日志? -- node/winston]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740856</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740856</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:21:01 +0800</pubDate><description><![CDATA[日志是程序很重要的组成部分，程序在线上只能通过日志才能观察到运行情况，所以好的日志能够帮助你了解情况，分析问题。
一般来说，日志记录应以rotate方式记录成文件，常规日志文件会采用plain text，
[INFO] 11:06:12 login ok.
但现在更多的倾向于持久化为结构化JSON,
{"requestId":"0f111049-09f9-4f8e-9306-900652c833b...]]></description><category></category></item><item><title><![CDATA[如何写文档?]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740842</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740842</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:20:26 +0800</pubDate><description><![CDATA[很多年以来都很烦写注释和文档，其中一个观点是: 注释和文档都是因为代码烂，换句话说，如果代码可读性高，思路清晰就不需要注释和文档，你可以用好的变量名称或者Extract Method将方法名称来代替注释。
但是这两年在写javascript，也可能是因为弱类型的关系，有时候一个object可以直接穿越几个layer，你看着接口都不知道他从哪里来，他要去哪里，也越发觉得注释，文档和单元测试的重要性。...]]></description><category></category></item><item><title><![CDATA[如何表达时间? (Unix Timestamp)]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740821</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740821</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:19:48 +0800</pubDate><description><![CDATA[The unix time stamp is a way to track time as a running total of seconds. This count starts at the Unix Epoch on January 1st, 1970 at UTC.

unix time stamp 是数字，时区无关，建议全程在系统内部，包括接口也应该采用unix time stamp...]]></description><category></category></item><item><title><![CDATA[Git内部是如何工作的?]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740805</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740805</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:19:16 +0800</pubDate><description><![CDATA[先来看一个视频Git内部是如何工作的？Git的内部数据结构
What is git?

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to ...]]></description><category></category></item><item><title><![CDATA[gitstats 使用]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740795</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740795</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:18:44 +0800</pubDate><description><![CDATA[install
git clone git://github.com/hoxu/gitstats.git

然后根据系统作link
ln -s ./gitstats/gitstats /usr/local/bin/gitstats

第一个参数是source, clone下来中的gitstats
usage
gitstats &lt;your-project-dir&gt; &lt;your-pr...]]></description><category></category></item><item><title><![CDATA[认证和授权有什么区别?]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740780</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740780</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:18:14 +0800</pubDate><description><![CDATA[Authentication (认证): 你是谁?
Authorization (授权): 你能干什么?

比如你去酒店开房，你需要拿身份证办理Check in，这是一个认证过程，身份证和密码的功效是一样的证明了你是谁，前台给你的房卡表示授权你开302房间，你不能用身份证去开别人房间吧，这就是认证和授权的区别。
整个授权过程有2个重要的概念:

role
scope (permission) 两...]]></description><category></category></item><item><title><![CDATA[什么是单点登录?]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/104740750</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/104740750</guid><author>nonocast</author><pubDate>Sun, 08 Mar 2020 21:17:33 +0800</pubDate><description><![CDATA[OAuth 2.0 是目前最流行的授权机制，用来授权第三方应用，获取用户数据。

阮一峰的文章写的已经非常清楚了，我简单总结一下我对SSO的观点。
为什么需要单点登录?
简单阐述一下动机，比如你要开发一个邮件App，用户通过"登录"可以获取自己gmail邮件，最简单的就是你给用户一个登录界面输入用户在google的用户名和密码，但这个时候用户就会担心现在你(App的供应商)有了用户名和密码，就可...]]></description><category></category></item><item><title><![CDATA[Am I lost?]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/83266634</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/83266634</guid><author>nonocast</author><pubDate>Tue, 19 Aug 2008 10:29:40 +0800</pubDate><description><![CDATA[A: Am I lost, Denny?
D: Depends what you're looking for.
A: Lori Colson thinks I'm lost.
D: Screw her.
D: Have you?
A: That's impolite talk, Denny.
A: Everything okay?
D: I'm the one that's lost, Alan...]]></description><category></category></item><item><title><![CDATA[一组C/C++的链接]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/357101</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/357101</guid><author>nonocast</author><pubDate>Thu, 21 Apr 2005 15:19:00 +0800</pubDate><description><![CDATA[Bjarne Stroustrup C FAQ Index C/C++ Reference C++ FAQ Index C++ FAQ LITE comp.lang.c.moderated comp.lang.c++.moderated Dennis M. Ritchie FAQ for the C language Hillside.net Obfuscated C Code Poems RTH]]></description><category></category></item><item><title><![CDATA[在GameDev上关于OO的链接]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/355448</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/355448</guid><author>nonocast</author><pubDate>Wed, 20 Apr 2005 14:52:00 +0800</pubDate><description><![CDATA[http://www.gamedev.net/reference/list.asp?categoryid=66#177都是01年的文章了，比较老，但还是很不错的Kent Beck and Ward Cunningham : A Laboratory for Teaching Object-Oriented Thinking ISE: Building bug-free O-O software: ]]></description><category></category></item><item><title><![CDATA[学习一下FSM]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/355273</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/355273</guid><author>nonocast</author><pubDate>Wed, 20 Apr 2005 13:07:00 +0800</pubDate><description><![CDATA[Finite State Machines (FSM)http://ai-depot.com/FiniteStateMachines/FSM.htmlFinite State Machine Emulatorshttp://courses.cs.vt.edu/~cs1104/FSM/FSM.Overview.htmlFinite State Machine Designhttp://www2.el]]></description><category></category></item><item><title><![CDATA[贴几个python学习的link]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/353874</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/353874</guid><author>nonocast</author><pubDate>Tue, 19 Apr 2005 12:13:00 +0800</pubDate><description><![CDATA[介绍 Python 编程语言http://www.baow.com/doc/show?id=5#head-ae7e518694c842e38296a7d3053edad9d09d53f7This is a site for the Python community, hosted by crew.selfhttp://starship.python.net/How to Think Like a ]]></description><category></category></item><item><title><![CDATA[uncle bob]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/351223</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/351223</guid><author>nonocast</author><pubDate>Sun, 17 Apr 2005 12:54:00 +0800</pubDate><description><![CDATA[Robert C. Martin (Uncle Bob) has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor Inc., a team of experienced c]]></description><category></category></item><item><title><![CDATA[鲍勃大叔的组合拳——清华社[UML for Java Programmers]]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/350202</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/350202</guid><author>nonocast</author><pubDate>Sat, 16 Apr 2005 13:20:00 +0800</pubDate><description><![CDATA[2003-09-24 15:18:16 孟岩Robert C.Martin开始发力了。这件事情令我颇为欣喜，也颇为疑惑。号称鲍勃大叔的Martin，在面向对象开发领域素以经验丰富，一言九鼎著称。设计模式四大天王之一的John Vlissides曾不无敬畏地说：“Robert Martin开口说话的时候，最好闭上你的嘴巴乖乖听着。”在2002年之前的漫长岁月里，这位大叔只撰写过一部专著，即1995年]]></description><category></category></item><item><title><![CDATA[回归三言两语]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/346405</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/346405</guid><author>nonocast</author><pubDate>Wed, 13 Apr 2005 20:40:00 +0800</pubDate><description><![CDATA[发觉太正规，抱着太认真的态度来做blog，的确还是很困难何必呢?轻松点又有什么不好记录生活中的点点滴滴，相信以后回过来看会是一件蛮有趣的事情发觉一直在做项目一直在用VC，脑子快锈掉了好像整个世界都是C++/MS在经历了和ozzzzzz的一番对话以后我想也应该是一个转型的机会做了很久的C++了，对底层也了解的比较透彻公司也需要设计的人员所以开始对OOA/D进行一下深入也就是因为深入我开始意识到这个世]]></description><category></category></item><item><title><![CDATA[[ZT] 面向对象软件工程方法学实践]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/339369</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/339369</guid><author>nonocast</author><pubDate>Thu, 07 Apr 2005 17:10:00 +0800</pubDate><description><![CDATA[两位研究面向对象软件工程的美国学者 (Stave Halladay和Michael Wiebel) 曾这样说：“一般的面向对象编程(OOP)思路不过是一批乌合之众，把灵机一动、随机应变的技巧用于他们绞尽脑汁抽象出来的‘对象’而已。即使是最优秀的 OOP 程序员，他们所能对付的极限也莫过于中等规模的开发项目。倘若程序员经验不足，系统规模又很大，那么采用 OOP 只能把你引入漫无边际的泥沼之中。”　　]]></description><category></category></item><item><title><![CDATA[OO思维(零) 写在前面]]></title><link>https://blog.youkuaiyun.com/nonocast/article/details/338729</link><guid>https://blog.youkuaiyun.com/nonocast/article/details/338729</guid><author>nonocast</author><pubDate>Wed, 06 Apr 2005 22:22:00 +0800</pubDate><description><![CDATA[我想在正题之前简单的讲几句关于这篇文章的事。最近看了不少关于OO的文章,大部分给人的感觉还是太理论,太教条,而且非常形式化。我写这篇文章的时候特别注意到这个问题, 最好尽量的不要把它讲的过于理论化。这里主要说的是我个人对OO的一些理解和看法。 认为学好C++学好JAVA就自然而然拥有了OO思维。难道仅靠些语法就能设计出高质量的OO模型了?认为面向过程已经被淘汰了,使用OO写出来软件就一定具有更高的]]></description><category></category></item></channel></rss>