精华内容
下载资源
问答
  • 如何才能实现自己梦想参考.doc
  • Hql_formatter 尝试修改 sqlbutifier 与 sqlparse ,实现自己理想的 Sublime HiveSQL 格式化插件
  • KVO实现机制 & 如何自己动手实现 KVO

    千次阅读 2015-09-03 15:20:00
    本文是 Objective-C Runtime 系列文章的第三篇。如果你对 Objective-C Runtime 还不是很了解,可以先看看...本篇会探究 KVO (Key-Value Observing) 实现机制,并实践一番 - 利用 Runtime 自己动手去实现 KVO 。 K

    本文是 Objective-C Runtime 系列文章的第三篇。如果你对 Objective-C Runtime 还不是很了解,可以先去看看前两篇文章:

    1. Objective-C Runtime
    2. Method Swizzling 和 AOP 实践

    本篇会探究 KVO (Key-Value Observing) 实现机制,并去实践一番 - 利用 Runtime 自己动手去实现 KVO 。

    KVO (Key-Value Observing)

    KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现。也是 Cocoa Binding 的基础。当被观察对象的某个属性发生更改时,观察者对象会获得通知。

    有意思的是,你不需要给被观察的对象添加任何额外代码,就能使用 KVO 。这是怎么做到的?

    KVO 实现机制

    KVO 的实现也依赖于 Objective-C 强大的 Runtime 。Apple 的文档有简单提到过 KVO 的实现

    Automatic key-value observing is implemented using a technique called isa-swizzling... When an observer is registered for an attribute of an object the isa pointer of the observed object is modified, pointing to an intermediate class rather than at the true class ...

    Apple 的文档真是一笔带过,唯一有用的信息也就是:被观察对象的 isa 指针会指向一个中间类,而不是原来真正的类。看来,Apple 并不希望过多暴露 KVO 的实现细节。不过,要是你用 runtime 提供的方法去深入挖掘,所有被掩盖的细节都会原形毕露。Mike Ash 早在 2009 年就做了这么个探究

    简单概述下 KVO 的实现:

    当你观察一个对象时,一个新的类会动态被创建。这个类继承自该对象的原本的类,并重写了被观察属性的 setter 方法。自然,重写的 setter 方法会负责在调用原 setter 方法之前和之后,通知所有观察对象值的更改。最后把这个对象的 isa 指针 ( isa 指针告诉 Runtime 系统这个对象的类是什么 ) 指向这个新创建的子类,对象就神奇的变成了新创建的子类的实例。

    原来,这个中间类,继承自原本的那个类。不仅如此,Apple 还重写了 -class 方法,企图欺骗我们这个类没有变,就是原本那个类。更具体的信息,去跑一下 Mike Ash 的那篇文章里的代码就能明白,这里就不再重复。

    KVO 缺陷

    KVO 很强大,没错。知道它内部实现,或许能帮助更好地使用它,或在它出错时更方便调试。但官方实现的 KVO 提供的 API 实在不怎么样。

    比如,你只能通过重写 -observeValueForKeyPath:ofObject:change:context: 方法来获得通知。想要提供自定义的 selector ,不行;想要传一个 block ,门都没有。而且你还要处理父类的情况 - 父类同样监听同一个对象的同一个属性。但有时候,你不知道父类是不是对这个消息有兴趣。虽然 context 这个参数就是干这个的,也可以解决这个问题 - 在 -addObserver:forKeyPath:options:context: 传进去一个父类不知道的 context。但总觉得框在这个 API 的设计下,代码写的很别扭。至少至少,也应该支持 block 吧。

    有不少人都觉得官方 KVO 不好使的。Mike Ash 的 Key-Value Observing Done Right,以及获得不少分享讨论的 KVO Considered Harmful 都把 KVO 拿出来吊打了一番。所以在实际开发中 KVO 使用的情景并不多,更多时候还是用 Delegate 或 NotificationCenter。

    自己实现 KVO

    如果没找到理想的,就自己动手做一个。既然我们对官方的 API 不太满意,又知道如何去实现一个 KVO,那就尝试自己动手写一个简易的 KVO 玩玩。

    首先,我们创建 NSObject 的 Category,并在头文件中添加两个 API:

    typedef void(^PGObservingBlock)(id observedObject, NSString *observedKey, id oldValue, id newValue);
    
    @interface NSObject (KVO)
    
    - (void)PG_addObserver:(NSObject *)observer
                    forKey:(NSString *)key
                 withBlock:(PGObservingBlock)block;
    
    - (void)PG_removeObserver:(NSObject *)observer forKey:(NSString *)key;
    
    @end
    

    接下来,实现 PG_addObserver:forKey:withBlock: 方法。逻辑并不复杂:

    1. 检查对象的类有没有相应的 setter 方法。如果没有抛出异常;
    2. 检查对象 isa 指向的类是不是一个 KVO 类。如果不是,新建一个继承原来类的子类,并把 isa 指向这个新建的子类;
    3. 检查对象的 KVO 类重写过没有这个 setter 方法。如果没有,添加重写的 setter 方法;
    4. 添加这个观察者
    - (void)PG_addObserver:(NSObject *)observer
                    forKey:(NSString *)key
                 withBlock:(PGObservingBlock)block
    {
        // Step 1: Throw exception if its class or superclasses doesn't implement the setter
        SEL setterSelector = NSSelectorFromString(setterForGetter(key));
        Method setterMethod = class_getInstanceMethod([self class], setterSelector);
        if (!setterMethod) {
            // throw invalid argument exception
        }
    
        Class clazz = object_getClass(self);
        NSString *clazzName = NSStringFromClass(clazz);
    
        // Step 2: Make KVO class if this is first time adding observer and 
        //          its class is not an KVO class yet
        if (![clazzName hasPrefix:kPGKVOClassPrefix]) {
            clazz = [self makeKvoClassWithOriginalClassName:clazzName];
            object_setClass(self, clazz);
        }
    
        // Step 3: Add our kvo setter method if its class (not superclasses) 
        //          hasn't implemented the setter
        if (![self hasSelector:setterSelector]) {
            const char *types = method_getTypeEncoding(setterMethod);
            class_addMethod(clazz, setterSelector, (IMP)kvo_setter, types);
        }
    
        // Step 4: Add this observation info to saved observation objects
        PGObservationInfo *info = [[PGObservationInfo alloc] initWithObserver:observer Key:key block:block];
        NSMutableArray *observers = objc_getAssociatedObject(self, (__bridge const void *)(kPGKVOAssociatedObservers));
        if (!observers) {
            observers = [NSMutableArray array];
            objc_setAssociatedObject(self, (__bridge const void *)(kPGKVOAssociatedObservers), observers, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
        }
        [observers addObject:info];
    }
    

    再来一步一步细看。

    第一步里,先通过 setterForGetter() 方法获得相应的 setter 的名字(SEL)。也就是把 key 的首字母大写,然后前面加上 set 后面加上 :,这样 key 就变成了 setKey:。然后再用 class_getInstanceMethod 去获得 setKey: 的实现(Method)。如果没有,自然要抛出异常。

    第二步,我们先看类名有没有我们定义的前缀。如果没有,我们就去创建新的子类,并通过 object_setClass() 修改 isa 指针。

    - (Class)makeKvoClassWithOriginalClassName:(NSString *)originalClazzName
    {
        NSString *kvoClazzName = [kPGKVOClassPrefix stringByAppendingString:originalClazzName];
        Class clazz = NSClassFromString(kvoClazzName);
    
        if (clazz) {
            return clazz;
        }
    
        // class doesn't exist yet, make it
        Class originalClazz = object_getClass(self);
        Class kvoClazz = objc_allocateClassPair(originalClazz, kvoClazzName.UTF8String, 0);
    
        // grab class method's signature so we can borrow it
        Method clazzMethod = class_getInstanceMethod(originalClazz, @selector(class));
        const char *types = method_getTypeEncoding(clazzMethod);
        class_addMethod(kvoClazz, @selector(class), (IMP)kvo_class, types);
    
        objc_registerClassPair(kvoClazz);
    
        return kvoClazz;
    }
    

    动态创建新的类需要用 objc/runtime.h 中定义的 objc_allocateClassPair() 函数。传一个父类,类名,然后额外的空间(通常为 0),它返回给你一个类。然后就给这个类添加方法,也可以添加变量。这里,我们只重写了 class 方法。哈哈,跟 Apple 一样,这时候我们也企图隐藏这个子类的存在。最后 objc_registerClassPair() 告诉 Runtime 这个类的存在。

    第三步,重写 setter 方法。新的 setter 在调用原 setter 方法后,通知每个观察者(调用之前传入的 block ):

    static void kvo_setter(id self, SEL _cmd, id newValue)  
    {
        NSString *setterName = NSStringFromSelector(_cmd);
        NSString *getterName = getterForSetter(setterName);
    
        if (!getterName) {
            // throw invalid argument exception
        }
    
        id oldValue = [self valueForKey:getterName];
    
        struct objc_super superclazz = {
            .receiver = self,
            .super_class = class_getSuperclass(object_getClass(self))
        };
    
        // cast our pointer so the compiler won't complain
        void (*objc_msgSendSuperCasted)(void *, SEL, id) = (void *)objc_msgSendSuper;
    
        // call super's setter, which is original class's setter method
        objc_msgSendSuperCasted(&superclazz, _cmd, newValue);
    
        // look up observers and call the blocks
        NSMutableArray *observers = objc_getAssociatedObject(self, (__bridge const void *)(kPGKVOAssociatedObservers));
        for (PGObservationInfo *each in observers) {
            if ([each.key isEqualToString:getterName]) {
                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                    each.block(self, getterName, oldValue, newValue);
                });
            }
        }
    }
    

    细心的同学会发现我们对 objc_msgSendSuper 进行类型转换。在 Xcode 6 里,新的 LLVM 会对 objc_msgSendSuper 以及 objc_msgSend 做严格的类型检查,如果不做类型转换。Xcode 会抱怨有 too many arguments 的错误。(在 WWDC 2014 的视频 What new in LLVM 中有提到过这个问题。)

    最后一步,把这个观察的相关信息存在 associatedObject 里。观察的相关信息(观察者,被观察的 key, 和传入的 block )封装在 PGObservationInfo 类里。

    @interface PGObservationInfo : NSObject
    
    @property (nonatomic, weak) NSObject *observer;
    @property (nonatomic, copy) NSString *key;
    @property (nonatomic, copy) PGObservingBlock block;
    
    @end
    

    就此,一个基本的 KVO 就可以 work 了。当然,这只是一个一天多做出来的小东西,会有 bug,也有很多可以优化完善的地方。但作为 demo 演示如何利用 Runtime 动态创建类、如何实现 KVO,足已。

    完整的例子可以从这里下载:ImplementKVO

    如果有任何问题或找到 bug,可以邮件我 peng@glowing.com 或者私信我的微博@no_computer

    谢谢观赏。

    Reference

    KVO Implementation

    Creating Classes at Runtime in Objective-C

    Key-Value Observing Done Right

    By your command

    Associated Objects


    原文地址:原文地址

    展开全文
  • 梦幻梦 这个项目是非营利组织,希望...这个主要目标是帮助人们实现自己无法实现的梦想 将人们与想要推广或不推广其品牌的赞助商联系起来。 它React灵敏,干净,客观。 基本上任何人,年龄,性别或财务状况都可以。 设置
  • 关于实现梦想的思考

    千次阅读 2020-02-23 14:15:26
    目录三个思维梦想四重奏有目标有能力有方法执行         ~~~~~~~~        因为想要面对一个新的开始,一个人必须有梦想、有希望...

             ~~~~~~~~         因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。 ​​​​
                                                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                 ————玛丽亚·杜埃尼亚斯

    三个思维

    对待时间:成本收益思维
    对待社交:杠杆思维
    对待自己:抗风险思维

    梦想四重奏

    总体思路:有目标——>有能力——>有方法——>执行
    在这里插入图片描述

    有目标

    目标这个概念是模糊的、包容的。上到天体宇宙,下到鸡毛琐事,什么都可以算是一个目标。
    比如生活上,今天几点睡;明天几点起;要吃几碗饭;跑多少公里;一个月瘦多少斤;去哪儿旅游;要买什么房子、车子、手机、相机等消费品;
    比如工作上,今天要做完多少工作;今天加班多久;要提前准备哪些工作;一个月要赚多少钱;一年又要赚多少钱;我要从工作中收获到什么;我要结识哪些人脉;我要做员工还是老板;
    比如学习上,今天要认真听课;要看多少书;要学到哪些知识;需要掌握哪些东西;我要学哪些自己感兴趣的事;我要考什么证书;我要出国留学;我要拿到一个什么学位;

    可以看得出来,目标有很多很多,每个人都有不同的目标。而这不同的目标在于人的不同的岗位,不同的年龄阶段以及不同的对世界的认知。目标有远有近,我们时常能看见自己长远的目标,并被它的遥不可及所打压到感叹唏嘘,认为这是渺茫的,也正是因为这种渺茫,所以人们赋予它另外一个称号——梦想。产生这种想法的主要症结就是忽视了近的目标,殊不知近的目标才是通向那遥不可及的台阶。你每实现一个短期目标,离梦想也就更近了一步。
    总结:不要因为梦想的遥远而迷茫和焦虑,把目标具体化,努力的去实现它。If you want, just do it.

    有能力

    能力是一个人魅力、气质、素质的代名词,究竟怎样才叫做有能力呢?这个不能一概而论,就像每个人有不同的目标,因此,每个人所拥有的能力也有所相同。但是你会发现,一个优秀的人身上一般都会包含这些能力。
    学习能力:学习能力是一个人一生所有能力中的基础能力。为了能更精准的描述一个人的学习能力,我们还可以将之细化为注意力、观察力、认知力、理解力、思辨力、想象力、概括力、记忆力等板块。其中思辨力是极其重要的,由思考问题,分析事物,辨别是非,判定真伪,选择路径,决断取舍等方面所构成的思辨力,是决定学习效果的最主要因素。
    专业能力:专业能力是一个人在其所从事的某一行业、某一学科、某一领域所表现出来的专业方面的技能和力度。在当今社会,职业的高度分化,很多的职业都要求具有很强的专业性。因此,提升专业技能是必不可少的一个环节。
    表达能力:表达能力是一个人在表达自己的思想、情感、意图等方面所表现出来的能力。它又可以分为语言表达、书面表达、行为表达三种形式。人们通常所说的多指语言表达,但是这三种表达能力却是同等重要,缺一不可的。
    行动能力:行动能力是一个人将想法、意愿变成行为时所表现的一种能力。行动能力对于个人来说是行动力、执行力;对于领导者来说是领导力、决策力。我们的梦想,我们的目标都需要靠行动来实现。如果说知识是基础,那么行动就是改变命运的关键。
    适应能力:适应能力是一个人跳脱主观环境迎接客观环境的过程中所表现的能力。社会在不断的发展进步,环境也在不断的变化。面对新的环境时人通常有三种选择:适应;改变;逃离。当我们进入到一个新的环境、面对一项新的事物时,首先要做到的就是适应,但是适应是需要能力的。一个人适应能力的强弱,不仅仅是他这方面素质的体现,更是其世界观、人生观和价值观相互作用的结果。
    协调能力:协调能力是一个人在协调各方面关系、处理矛盾、解决问题过程中所表现出来的能力。协调能力属于较高层次的能力,它不是可以在课堂上学到的,只能是在人生实践中获得。因此,我喜欢将协调能力称为一门学问、一门艺术。
    管理能力:管理能力是一个人在管理一个国家、一个地区、一个单位、一个部门等工作实践中所表现出来的能力。管理能力首先表现在对自己的管理上,可以说是如果一个人连自己都管理不好,就根本不可能管理好更多、更大的事。作为团对领导者,管理者,管理能力是一项必备的能力。
    创新能力:创新能力是一个人在学习、思考和改造世界的各类实践活动中所表现出来的创造力。创新是一个古老又时髦的话题,历史在创新中推演,社会在创新中发展,人类在创新中进步。创新能力并不神秘,每个人都可以有自己的创新能力,比如日常生活中穿衣戴帽方式,花哨的做菜方式,游戏娱乐的独门技巧等都是创新能力的体现。

    有方法

    有一句名言我们大家应该都知道:成功就是99%的汗水加上%1的天赋,这是小学课本上的一句名言。我在想他当时想传达给我们的应该是天赋不是很重要,重要的是要付出努力+行动。这句话没有问题,但是如果在加上合适的方法,我觉得就会完美一些。前面有提到实现梦想的总体思路:目标+能力+方法+执行。我把它们亲切的称为梦想四重奏。目标和实现目标的能力固然重要,但是如果有一套正确的、高效的、适合自己的方法,你会少流很多汗水,你会发现,你由马车转向汽车,由汽车转向飞机,飞向自己的梦想。需要注意的是,对于你自己来说,不同阶段的经历,不同角度的理解,方法也是需要更新迭代的。没有什么是一成不变的,总之要迎合时代、适合自己。

    执行

    还看啥啊,到了最后一步了,就是干!

    展开全文
  • 可爱剪纸《梦想哪儿了》PPT动画,共16页; PPT动画元素以剪纸形式设计。记录了一个小男孩,从出生到老,去实现自己梦想的一个故事。
  • 梦想

    为什么总是在一个放假的日子里,放纵自我,却又在假期结束后开始制定目标。原本打算在国庆长假学习一点新知识,以便很好的应对接下来的新工作。奈何总是会在假期里不自觉的遗忘所有的梦想,只是偶尔在内心深处隐隐约约的潜藏一些的梦想的意识,或许这些意识只是因为对生活的不如意所迸发出来的心有不甘罢了。出来工作三月有余,心态的变化也是从忐忑到挣扎再到平静,也许这就是所谓的刚开始的不适再到后来的适应,也就是习惯了。但是,尽管自己明白习惯是必要的,却不能因为习惯了就安于现状、丧失掉了斗志,因为梦想还没有实现,而且目前的这份工作自己很不满意。想要改变现状,就只能牺牲假期来实现梦想了。但是,放了假没有了工作压力,很容易放任自我、随波逐流。尤其是一个人生活,所有的事情只能自己思考自我解决。对于梦想的追逐肯定是不能放弃的,这是肯定的。只是孤单的一个人,除了要应对生活的压力之外,还必须要学会抗拒孤独与寂寞。同家人、朋友之间的联系是很重要的,这是排解寂寞、树立信心的源泉。但是,在这个年纪父母希望自己能够早日成家立业,而离开了学校,四散开来的同学也渐渐变得疏远。所以孤独寂寞在大部分的时间里只能自己想办法解决,尤其是在夜深人静的时候,你是否还会为心中的那个她辗转反侧。或许大多数人也是因为这才会选择安逸的度过一生吧,毕竟我们最终的愿望都是生活安逸而美好。之所以会有这么多的感触,还是因为梦想必须要实现,这样才能不悔。说到底要实现梦想,这是目前最重要的事情。只是没有一个能让自己不断坚持的信仰,所以才会一直踌躇不前。但是我必须要正视自己,没有爱情的岁月里只能用梦想来填充自己,这是目前最为重要的事情。一个人的时候,就只能变得坚强,练就钢铁般的意志,树立坚定的决心,以及拥抱不服输的勇气。要知道还有很多人比自己目前的出境优越,而且还有那些冷嘲惹讽、爱答不理的人,你必须证明自己,不要让他们瞧不起自己。更重要的是不能让自己瞧不起自己。

    终于在三个月之后,裸辞了第一份工作(姑且这么叫吧)。孤身一人独创北京,面试了很多家公司。有大公司也有小公司,没错,这样的经历的确给我带来了不少的麻烦,同时也收获了很多宝贵的经验。只能说以前在学校有点迷茫是因为不了解社会工作的状况,不了解社会岗位需要什么样的人才。高校教育的确是与企业脱节的,尤其是工程实践性比较强的学科。所以呢,目前的出境十分尴尬,大公司认为实力不济,小公司工资少的可怜。不管怎么说,这一次的经历可以留下很深刻的教训,以前总以为自己在学校努力了就行了。其实很多时候都比较被动,遇到困难也是尽量去绕开它们。可是到了社会上你会发现,很多东西是绕不过去的。你必须得直面它们,因此你只能让自己变得强大。无论哪一方面,专业技巧得花很多时间去弥补,为人处世也得掌握度。一句话就是少一点贪玩的时间,多一些学习的时间。多买一些书籍,细心钻研。对专业领域的投资是至关重要的,你必须要主动克服困难,才能在面试时做到游刃有余。基本上没有什么公司愿意给没有经验的人机会,除非面试的时候你表现得思维很活跃,而且解决问题的能力很强。但是这些都离不开平时的刻苦学习与知识积累,所以抛开生活中的一些杂念,抓住一切能抓住的机会努力提高自己才是普通人的生存之道。对于怀揣梦想的人而言,就更加需要充分利用已有的一切去创造机会。

    总之,出了学校也做了决定,很多事情已没有那么容易掌控了。只能不断不断实践总结,再实践再总结。一定不要服输,一定要坚持,一定要努力。

    展开全文
  • 结果,现在快40了,发现自己不是那样的天才,只能梦想一下。 还好,另一个梦,也是初中,不过是大概是初二吧,没有电脑的梦那么强烈。毕竟炒股是要本钱的,我家可不是富贵之家。 初二,不仅爱看报纸上的电脑版,还...

    初一时,就对电脑这块痴迷,连电脑都没摸几回,就对着电脑书,看到凌晨,而仍精神得很。
    梦想,可以成为Bill Gates那样的人。

    结果,现在快40了,发现自己不是那样的天才,只能梦想一下。

    还好,另一个梦,也是初中,不过是大概是初二吧,没有电脑的梦那么强烈。毕竟炒股是要本钱的,我家可不是富贵之家。

    初二,不仅爱看报纸上的电脑版,还喜欢上看股票版,特别喜欢看报纸中缝上打印的股票价格。

    后来,全自学,也当上程序员了,为几个公司打过工,也为自己写过Android程序,靠着写APP,攒的一些钱,开始在股市中,逐渐找到适合自己的方法。能笑看涨跌了。

    这是2015年底,开始的。

    虽然,之前2003年,就开户了,因为2007牛市时,居然几乎没有赚到钱,就退出股市了,当时本钱也少,只有2万。

    之后,偶尔炒一下外汇,都是当游戏玩的,幸好,没有入金太多,一次,就几十,百把块钱的。只有一两次,最多入过1千的。体验过,几天翻几倍,也体验过几天爆仓。

    在外汇上,可能亏了总共3000块吧。

    2012年开始,自己写APP,不在打工。后来,攒了一些钱,投在货币基金,再后来,投到陆金所。

    2015年,股市牛转熊,大跌之后,我似乎觉得有机会了。

    开始把陆金所投的钱,分批,慢慢,买入国投电力、红旗连锁、机器人,然后是看到一些介绍ETF基金的资料,觉得很有道理,能避开个股的雷。
    像曾经的上证50成分股,*ST信威(SH:600485),这种大白马,也爆雷。防不胜防。

    开始把各大V的历史文章,翻来看,程序员对网络和电脑的熟练运用,在这里帮了不少忙。把那些喜欢删除被时间证明是错误的文章的大V,首先就被过滤了,看了几位大V的所有能找到的文章后,觉得也有一些问题,把他们的问题,再过滤掉,再加上炒外汇时,看过的汗牛塞栋的技术分析和基本面分析资料,自然而然的,就理解了他们的基本原理。

    最后总结出三大纪律,非常简单。

    就是比较考验人性,而大部分人是经常不起考验的。

    而我近40年的生活经历,曾经的伤过我的事物,反而让我很适应这种考验。

    15年底,到现在,我可以说,我找到适合我的道路了。

    虽然,目前还在写代码。但随时,可以停下来,而不焦虑了。

    真没想到,最热爱的写代码,没让我自由,倒是初二时,顺带的一个小爱好,让我自由了。

    可能骨子里,还是喜欢“干净”的赚钱吧。毕竟写代码和投资,都是动动脑子,敲敲键盘,来赚钱。

    展开全文
  • <uses-permission android:name="android.permission.INTERNET"/>
  • 梦想真的能实现吗?

    千次阅读 2014-12-24 22:21:58
    努力奋斗真的能实现梦想吗?   梦想这个东西是如此的重要,简直就是人生的一盏明灯。成功的人们成功的原因各不相同,但他们都不会忘记告诉你,无论到什么时候,都不曾忘记梦想,是他们成功的首要原因。以至于我们这...
  • 自己动手实现主题搜索引擎

    千次阅读 2016-05-30 21:13:57
    突然想到大一时候自学过利用whoosh和solr写过简单的搜索引擎,那么今天就自己动手试一试吧。2.简介  本项目主要实现了一个主题搜索引擎。主题搜索引擎是针对某一个领域的专业搜索引擎,是搜索引擎的细分和延伸,是...
  • 马云说,梦想还是要有的,万一实现了呢?所以,如果你不甘平庸,如果你心怀梦想,那就激情起来,即使跑起来被拌倒无数次,也不要规规矩矩走一辈子,岁月不止,奋斗不息,就做这样的自己
  • 工厂模式(自己的理解和实现

    千次阅读 2012-10-10 11:13:04
    最近学习了工厂模式,看了网上的教程,也...如果想要看我自己实现的源码的,这个网址下载。支持下小弟工作和学习热情,辛苦整理实现的,收取1分哈~~~大家别拍砖~~~。顺带说一下怎么能快速的获取积分来下载,你可以经
  • PHP短网址服务设计分三个过程,搞明白了就可以自己设计实现它。 1.根据原始网址生成短网址 这个有现成的算法可以用,该算法的原则:同一个网址生成的短网址应相同,而不是随机 生成。 PHP版的短网址生成函数: ...
  • 为了扭转一下自己低落的感觉,看了部电影,《千杯不醉》,因为是喜剧,随便找来看看,看完,感受也挺多的,人应该有自己梦想,应该有自己理想,这样才不会迷失自己,毕竟世界,说社会更合适一些,毕竟社会不是...
  • 一件事如果在没有蓝图之前,是很难做到的。所以首先要规划自己的蓝图: 1、自己理想是什么?自己的爱好是什么?能不能把自己的爱好和理想做为自己终身的职业?...4、自己有没有梦想和野心,这是你达到目标最重要的环
  • 梦想去

    千次阅读 2012-05-02 08:15:32
    年过三十而未立的自己说起理想梦想确实有些惭愧。  自己从大学开始就立志于将来用自己的双手,在信息管理软件方面有所建树,一晃十二年过去了,一个轮回,还在为这个梦想而奋斗。  为什么不让梦想自己去飞?让...
  • 最近用wordpress开放平台软件建立了一个属于自己的个人博客网站velep.com即reille blog,中文名:reille博客,圆了自己多年来的梦想,感觉像是在这大千互联网里找到了属于...个人网站梦想实现—写在velep.com上线之时
  • 打开RPG Maker,新建工程,会出现一张地图,现在正式设计自己的游戏。 1.背景地图装饰设置: 在左下方MAP001上单击右键,弹出地图设置、新建地图等菜单,在地图设置里我们有许多背景地图可选(草原、...
  • 有梦必达初衷是一个帮助迷茫的、还没有梦想的、还在寻找梦想的、有梦想却还不知道怎么实现的童鞋更好的寻找或实现梦想的微信小程序。 有梦必达的初始设计功能有:登录、注册、找回密码、梦想列表、梦想详情、推荐...
  • 【导读】本节通过对比三种数字货币的形式引出“什么是中心化”,并展示了比特币在中心化方面的表现如何,最后,向大家阐述了比特币中心化的原理。 中本聪解决了自己定义的难题“点对点的电子现金”,在这个...
  • 我的时间管理秘诀—教你如何实现梦想

    千次阅读 多人点赞 2012-04-11 22:33:56
     警告:虽然了管理软件,但是真正实现梦想,奋斗的还是你真正的自己。行动还是必须滴。时间管理软件还没有达到帮你实现梦想那么智能。目前只是协助,若想完成梦想,还必须靠自己努力,为梦想加油!!!
  • 2013年1月4日,在华谊兄弟王中军的安排下,阿里巴巴董事局主席马云与周星驰在中国传媒大学进行了一场对话,就梦想、坚持和创新等话题做出交流。 注:文中的第一人称均代表马云,节选对话如下: 时间不多 ...
  • 【MySQL笔记】正确的理解MySQL的MVCC及实现原理

    万次阅读 多人点赞 2019-07-05 15:43:06
    MVCC多版本并发控制 前提概要 ...MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能...
  • 我想实现自己的想法、探索各种可能性,你们在座的有些人想进入更好的层次,有的想当律师,有的想成为土木工程师,有的想当医生。 Listen to me: You can’t get to that level. You can’t get to that level until...
  • 但同时,很梦想一直仅仅是梦想而已,未能成为实现。所以现在的问题就是,你对自己梦想有多渴望?你的梦想真的是你的梦想吗?如果梦想成真你会获得莫大的幸福,那为什么你会不要这样的幸福呢? “异想天开” ...
  • INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 328,843
精华内容 131,537
关键字:

如何去实现自己的理想