262 Matching Annotations
  1. Mar 2018
    1. Attend meet-ups, and be more social with other developers

      正在做。正在做。正在做。

    2. Embrace the reactive programming approach

      flutter是个不错的选择。但是先把基本的事情做好吧,不然就是瞎扯淡。

    3. I can’t stress enough how important this is. You can’t consider a feature to be complete until you have written exhaustive test cases for it. Tests will help you build confidence walls across your code.

      我的测试往往是基于功能哪里不对。虽然列了清单,但依然不够专业。

    4. Having a playground project in progress can completely change the way you learn things. If you come across something new in Android somewhere, make it a habit to immediately give it a try in your playground project.

      上学期做得不错,这个必须点个赞。

    5. This will change the way you look at the apps you have been coding. Try to talk and interact more with the UI and UX designers in your team to get better insight into app design.

      尝试了Sketch,但是切记那不是当前的重点。代码写好再谈设计。

    6. Make it a habit to discover new and better ways of making your tools work for you, thereby improving your workflow and productivity.

      这点非常重要。快捷键的本质是缩短时间,提高效率。

    7. If you have developed a library, plugin, or other useful piece of code and you're using it in your own app, consider open-sourcing it. There's much to learn in the process of contributing to open-source projects or maintaining your own. It's an excellent crash course in open-source development that will exponentially increase your value as a developer.

      关于这点,非常感谢林周玉的提醒。但是要学会克制。目前对我来说,算法的学习是重点,开源项目放到下半年。把对屈老师例题写成的代码共享出去或许是个不错的思路。

    8. I can’t stress enough how important this can be in your Android development career. Whenever you are stuck in trying to solve a critical programming problem, design patterns can be a lifesaver.

      因为缺乏《设计模式》的知识,刚开始做心神视讯时,非常头疼,经常在代码里绕晕。为什么呢?要去使用大脑里暂时没有的逻辑是困难的。只有学习才能解决这个问题。

    9. But that will not help you grow as a complete Android developer. The only way to truly become a better developer is to read the excellent code of more experienced developers. You should start looking at other open-source apps and libraries, where you'll discover a lot of coding techniques and feature implementations that you had no idea about before.

      关于这点,沿用上一条笔记的思路。只关注当前项目用到的第三方库,避免在海量信息中迷失自我。当你把这个项目玩熟悉后再干别的也不迟。记住,东西,永远学不完。

    10. need

      这条建议非常重要。东西是学不完的。但是如果专注于自己工作中所用的知识,提升工作效率,再逐步扩展,则是非常行之有效的方法。对我而言,能把心神视讯做好,已经很不错了。理解网易云信就是一个很大的工作量。学习自定义控件和设计模式,这个项目足矣。

    1. It does not matter what is the platform you code on; GIT version control is something you will use constantly in every decent company or project of your own. You can never be too good at GIT. You probably can never master it as well. This thing is huge. Just try to use it as efficiently as possible. It’s especially important when working in team.

      从害怕git到现在习惯使用git,对我来说是一种进步。害怕本身,其实是懒惰引起的。害怕是不愿意投入时间。git是一个很好的工具。必须不断深入。坚持使用命令行。使用命令行不是为了装逼,而是让自己在编程上有更好的抽象思维。

    2. If you decided to get into some development team, try to find one with at least one developer you consider better than yourself. He is the one you are going to learn most from. No matter how experienced you are, this job is about constant development of yourself as well. It’s good to have some mentor of your own.

      目前对我来说,最不利的就是这点。在公司中,安卓方面,别人很难给我提供可靠的意见。这也就是我去参加各种会的原因,只有开拓眼界,你才能知道自己在真实世界的位置,闭门造车万万使不得。既要读有字之书,又要读无字之书。见多识广,才能找到正确的方向。

    3. As a mobile developmer you might often work alone. That’s because many projects aren’t big enough to throw more people into it. Some of you will actually like it but what I suggest is at least to try getting into some development team. It’s way more fun this way. And more important: You learn much more from the project.

      与人协作非常重要。在与别人的讨论中,一是促进自己对知识的理解,二是延续自己学习的热情,三是从别人身上学到东西。

    4. The coding is about writing something and then spending most of the time making it work.

      做《算法分析》的习题时也有这样的感悟,即使你理解了题目,也能写出伪代码,但要写真实的代码时要考虑的却多了不少。你需要做各种条件判断,修正自己的逻辑,才能得到正确的答案。

    1. 针对接口编程,不针对实现

      依然很模糊。

    2. 多用组合,少用继承(我们使用组合的方式,为客户设置了算法)

      关于这句“多用组合,少用继承”我还是没能好好领悟。为什么呢?

    3. 策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。

      定义要清楚

    1. 定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。

      首先就应该掌握一个概念的定义。

    2. 而且也没有办法使用组合的模式实现这三个方法的复用

      如何理解接口没有办法实现通过组合模式实现复用。

    3. 对于JDK或者Andorid中都有很多地方实现了观察者模式,比如XXXView.addXXXListenter , 当然了 XXXView.setOnXXXListener不一定是观察者模式,因为观察者模式是一种一对多的关系,对于setXXXListener是1对1的关系,应该叫回调。

      尽管自己也实现过回调,但此时读到此处却无法在大脑中还原这个过程。这也说明刻意练习的重要性。学过多少知识并不重要。重要的是在某个狭小的领域内保持专注,专注,专注,直到挖出井水。

  2. Dec 2017
    1. 在医学图像分析诊断预测里面,非常重要一点是模型的可解释性。就是你得解释清楚你这个AI模型为什么work了,或者为什么在某些情形不work。

      治病救人的逻辑,一定要严格经得起推敲

    2. 由于没有像CV里面物体识别场景识别里标准化的数据库和评测方法,一直比较小众。

      没有标准化数据库,要训练大量数据就比较困难。

    1. 学位论文的开题报告需要有选题、问题、文献综述、内容、方法、理论框架等内容, 而所有这些内容具有内在的逻辑一致性, 选题要具有意义必须通过问题的研究和解决来体现,而文献综述是围绕着提出的问题来展开的,研究的内容是根据文献综述和研究问题来确定的,研究方法一定是从属于研究的问题和研究内容的,而理论框架、分析视角是为了使方法使用的有效性得以展现。

      这个逻辑真的很赞。 选题时划定确定题目的方向和范围; 在选题的基础上,提出正确的问题; 通过文献综述提出对该问题的讨论; 研究的内容要与文献综述和问题契合; 等等;

    1. Cookies are small piece of information that is sent by web server in response header and gets stored in the browser cookies. When client make further request, it adds the cookie to the request header and we can utilize it to keep track of the session. We can maintain a session with cookies but if the client disables the cookies, then it won’t work.

      You should know clearly how to define Coookies, the exact definition.

    2. is a conversional state between client and server and it can consists of multiple request and response between client and server. Since HTTP and Web Server both are stateless, the only way to maintain a session is when some unique information about the session (session id) is passed between server and client in every request and response.

      Definition matters.

    1. Artboards behave like a special kind of group. The main differences are that they are represented on the Canvas, you never have to double-click to view their contents, and they don’t resize to fit the contents inside.

      like group

  3. www.sketchapp.com www.sketchapp.com
    1. Layers in your document can be grouped so they will appear as one layer.

      many to one

    1. Take the example of a flower; create just one leaf shape, then rotate a dozen copies around the center and you’ll have your flower.

      quite good example for me to understand it.

    1. n the first phase, an XML document is partitioned into chunks and parsedin parallel. In the second phase, partial DOM node tree structures created duringthe first phase, are linked together (in parallel) to build a complete DOM nodetree.P

      第一阶段:XML分块; 第二阶段:块连接组装;

    1. singular or plural

      什么意思

    2. such as using previous video frames might inform the understanding of the present frame. If RNNs could do this, they’d be extremely useful. But can they? It depends.

      这个🌰举得很🚌。

    3. A recurrent neural network can be thought of as multiple copies of the same network, each passing a message to a successor. Consider what happens if we unroll the loop

      一个RNN可以看作多个相同网络的拷贝,传递消息给下一任。这样说好像不太准确吧。网络结构可能相同,输入输入肯定不同吧? 问题:它是如何持久化信息的呢? 为什么说传统的神经网络没有持久化信息的能力。

  4. Nov 2017
    1. 如果是繁重工作需要大量消耗电量,应该插电源。 

      做人工智能项目必须插上电源。

    2. 建议多用电池,不建议一直插着电源,不是说一直插着电源就会烧坏电脑,

      充满后就拔掉。

    3. iPhone如果充到100%就拔掉,和充满后再过半个小时拔掉,明显后者用的时间更久。

      很有用。

    4. 而且建议电量低于20%就要充,因为电池电量低,电压也会低,长期的低电压状态会对锂电池造成危害.

      这个蛮重要,降到20%必须充电。

  5. Oct 2017
    1. 把自己的代码全部放入唯一的名字空间MYAPP中,会大大减少全局变量冲突的可能。

      好的代码规范,防止冲突。

    2. 虽然是strict模式,但语句var x = 'Hello, ' + y;并不报错,原因是变量y在稍后申明了。但是alert显示Hello, undefined,说明变量y的值为undefined。这正是因为JavaScript引擎自动提升了变量y的声明,但不会提升变量y的赋值。

      这个确实不错。

    1. 有点像您可以在不同 Activity 中重复使用的“子 Activity”

      这个形容很贴切

  6. Jun 2017
    1. Whenever there were more than two cavities, it wasn’t clear anymore if that cavity was part of the lung.

      这里的cavity到底指的是什么呢?

    2. In our approach blobs are detected using the Difference of Gaussian (DoG) method, which uses a less computational intensive approximation of the Laplacian operator. We used the implementation available in skimage package.

      使用高斯分布法做Blob Detection.

    3. rotation augmentation.

      为什么要做旋转和增强?

      1. 如何做旋转和增强。
    4. It behaves well for the imbalance that occurs when training on smaller nodules, which are important for early stage cancer detection.

      Dice系数为什么在小的结节上表现好呢?

    5. this causes a difference in spacing between voxels of the original scan.

      这个不同要搞清楚

      1. 图片大小是像素还是尺寸;
      2. 重采样的具体原理;
    6. We rescaled and interpolated all CT scans so that each voxel represents a 1x1x1 mm cube.

      这个过程始终是一知半解。

      1. CT大小是像素还是mm值;
      2. 缩放的具体规则;
    7. We used this dataset extensively in our approach, because it contains detailed annotations from radiologists.

      Luna的数据有详细标注,所以好用。

    1. 有超强的团队精神、专业的知识背景、良好的沟通技巧,这些用烂的词语,HR每天要看几百遍,还会有一丢丢感觉吗?

      要好好检查自己是否自己有这种套话没

    2. 正确的写法是“姓名+应聘岗位+工作年限”,例如“宋小宝-新媒体运营-3年公众号运营经验”。 如果是应届毕业生,可以写成“院校+姓名+应聘岗位”。

      这个确实要注意。 细节 细节 细节 细节 细节 细节

    1. For either case, the second argument is what we want to see as output when we apply the function. f may then be used like a normal Python function.

      从第二个参数开始就是output

    2. symbols (Variables)

      symbol = variable

    1. It is good to think of theano.function as the interface to a compiler which builds a callable object from a purely symbolic graph. One of Theano’s most important features is that theano.function can optimize a graph and even compile some or all of it into native machine instructions.

      theano.function matters.

  7. May 2017
    1. A perceptron takes several binary inputs, x1,x2,…x1,x2,…x_1, x_2, \ldots, and produces a single binary output

      keep the definition in mind.

    1. 书籍: Crack the Interview;【五星推荐】 Design Pattern; 编程珠玑;【海量数据切入点】 Algorithms; 附加: 系统设计;

    1. 检测任务这个方法显然并不适合,因为原始图像如果缩小到224这种分辨率,那么感兴趣对象可能都会变的太小无法辨认。

      检测和分类是不同的。因为要检测的物体在图片之中,尺寸相对于图片小了很多。

    2. region进行特征提取时会有重复计算,Fast-RCNN正是为了解决这个问题诞生的

      瓶颈在于RCNN特征提取时的重复运算。

    3. 在CNN火起来之前,对象检测这一问题基本是遵循着“设计手工特征(Hand-crafted feature)+分类器”的思路

      这是CNN之前的思路,需要手工地把特征标注出来。话说Annotations不也是手工标注吗?

    1. RCNN 解决的是,“为什么不用CNN做classification呢?” Fast-RCNN 解决的是,“为什么不一起输出bounding box和label呢?” Faster-RCNN 解决的是,“为什么还要用selective search呢?”

      简洁有力的3句话。

    1. The masks are constructed by using the diameters in the nodule annotations.

      masks created according to annotations.

    2. Since the nodule segmentation network could not see a global context, it produced many false positives outside the lungs, which were picked up in the later stages. To alleviate this problem, we used a hand-engineered lung segmentation method.

      Explain why we should develop Lung Segmentation.