千万别把自己当回事,千万要把自己当回事

当所有人都把你当回事儿的时候,千万别把自己当回事。

当网络上或者身边的人都认为你挺不错、挺成功的时候,千万要认清自己是个普通人。你所获得的成绩,只不过是自己努力+历史机遇而已,可能你回过头来再次选择,结果未必如初。

经常和一些行内有名的朋友线下聚会,你就会发现往往网络上你想象中的大佬,和线下见面的感觉完全不太一样,有时候出入还挺大。有的在网上到处怂人,线下却是一个和蔼大叔;有的在网上大胆性感,结果线下感觉是一个羞答答的姑娘。

网上只是作者经营的一个形象而已,也许你看到的仅仅只是作者愿意展现的一面。当然越爱装 B 的人,经营的人设可能越容易崩。

像我这种从来不认为自己是大佬,大V的普通程序员,更不标榜自己。我做公众号一方面是爱好,但更大的动力就是有钱赚,这才是一个最符合逻辑的正循环,我最不喜欢那种叫得很凶,自己是正义代言人的嘴炮伪君子。

世界上的喷子非常多,在你成长的过程中会遇到各种各样的事情,身边最亲近的人背叛你、你帮助过的人反咬你、同行诬陷等等;这些都是成长过程中必须要面对的事情,始终要明白一个道理,千万别在乎那些骂你的人,你是为那些喜欢你的人活着。

当别人找你撕X的时候,你需要考虑两个问题:第一,动机是什么,这个世界上没有无缘无故的爱,也没有无缘无故的恨;第二,对方是否够资格让你去理会,举个很容易理解的例子:当你在街上走的时候,有一条狗咬了你,你不会过去再咬他一口吧,这不符合人的逻辑

千万不要按照别人给你设计好的套路走,成年人不分对错,只有利益,任何事情的发生都是表象,表象背后的动机最值得玩味。所以当你看到一个事出反常的情况发生的时候,先不要着急,不要气愤,如果能看透背后的一些东西,就可以说明你的段位更高一级。

一个乞丐是不会羡慕一个百万富翁的,人总是不太能容忍身边的人过的比自己好,这是人知长情,被人骂说明你走对了,不要俯下身和别人去撕X,你还有更重要的事情去做,那就是让自己变的更牛逼。

当所有人不把自己当回事的时候,千万要把自己当回事。

当所有人都在诋毁自己的时候,当自己面对一个一个挫折的时候,当所有人不把自己当回事的时候,千万要把自己当回事。连马云都说,男人是被委屈所撑大的,你所能承受的委屈越大,就越能说明你是一个牛逼的人。

跌倒谷底也就意味着反弹的高度无限大,不要放弃自己,这应该是自己沉淀和积累的最好时机,为后面的发展打好基础。如果这个时候你放弃了自己,那才是最大的失败,相信自己、认可自己、不要放弃,继续往前,未来才能属于你。

高峰时认清自己,低谷时相信自己!

原文:http://www.ityouknow.com/life/2019/04/04/when-it-matters.html

展开阅读全文

千万数据处理

04-14

我要随机生成至少500万条数据,其中每条数据都只包含7个数字,前五个数字是1到35之间,随机产生,每一位都是随机,但是产生完之后要从小到大排列。后两位在1到12之间随机产生,同样的产生后排列。数据生成完之后,要统计这500万条数据中重复数据的条数,每一条都要统计。我的算法已经实现,但是,耗时有点长,如果达到千万级别就要好几十分钟。因此,在这里讨论一下更好的算法。rnthis.txtResult.Text = "";rn Stopwatch stw = new Stopwatch();rn Hashtable objHashtable = new Hashtable();rn Random rand = new Random();rn int[] Count = new int[100000];//新建一个数组,数组下标用作Hashtable中的key,数组元素用来存储key记录重复的次数rn int flag = 0; //设立一个flag,用来标识Hashtable是否遍历完rn int j = 0; //j代表数组的下标rn stw.Start(); //开始计时rnrn for (Int64 i = 0; i < 100000 && j < 100000; i++)rn rn string strRtn = "";rn int n = 0;rn strRtn = BuildRandom(ref rand); //获取随机数rn if (objHashtable.Keys.Count == 0) //如果Hashtable中没有记录,则先插入第一条随机数rn rn objHashtable.Add(j, strRtn);rn j++;rn rn foreach (int key in objHashtable.Keys) //遍历Hashtablern rn if (strRtn == ((string)objHashtable[key])) //如果存在,相同的条数+1rn rn Count[key]++;rn break;rn rn elsern n++;rn if (n == objHashtable.Keys.Count) //不存在,插入rn rn objHashtable.Add(j, strRtn);rn j++;rn break;rn rn rnrnrn rn for (int k = 0; k < Count.Length; k++) //遍历int数组,选取重复次数最少的那条随机数rn rn for (int m = k + 1; m < Count.Length; m++)rn rn if (Count[k] < Count[m])rn rn flag = m;rn Count[m] = Count[k];rn rn rn rn this.txtResult.Text = Count[flag] + ":" + ((string)objHashtable[flag]);rn stw.Stop(); //计时结束rn this.txtTimeConsuming.Text = stw.Elapsed.TotalMilliseconds.ToString() + "毫秒";rnprivate string BuildRandom(ref Random rand)rn rnrn string[] str = new string[7];rn string strRtn = "";rn for (int i = 0; i < 5; i++) //随即生成5个数,存储在数字中rn rn str[i] = Convert.ToString(rand.Next(1, 35));rn for (int j = i - 1; j > 0; j--) //判断是否重复rn rn if (str[i] == str[j])rn str[i] = Convert.ToString(rand.Next(1, 35));rn rn rn for (int i = 5; i < str.Length; i++) //随即生成后两位rn rn str[i] = Convert.ToString(rand.Next(1, 12));rn for (int j = i - 1; j > 4; j--)rn rn if (str[i] == str[j])rn str[i] = Convert.ToString(rand.Next(1, 12));rn rn rn for (int i = 0; i < 5; i++) //冒泡排序,让随机数由小到大排列rn rn for (int j = i + 1; j < 5; j++)rn rn string strChange = "";rn if (int.Parse(str[i]) > int.Parse(str[j]))rn rn strChange = str[i];rn str[i] = str[j];rn str[j] = strChange;rn rn rn rn if (int.Parse(str[5]) > int.Parse(str[6]))rn rn string strChange = "";rn strChange = str[5];rn str[5] = str[6];rn str[6] = strChange;rn rnrn for (int i = 0; i < str.Length; i++)rn rn strRtn += str[i] + " ";rn rn return strRtn;rn rnrnrn 论坛

千万别错过 绝对有价值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

04-29

SpyWorks已成为Visual Basic最为成功的控件之一,它使Visual Basic用户能够实现象C、C++一样的Windows编程技巧。SpyWorks最大限度地提供了VB所不支持的Windows功能。由它提供的32位编程的新天地不仅适用于VB,同时还适用于其它所有支持OLE的容器。它的辅助控件(Sub Class)、钩子控件(Hook)、回调控件(CallBack)等支持在VB、VBA等高级编程环境中难于实现的底层操作,使VB能很容易地实现不逊于C和C++的功能。rn这是一套受到欧美用户高度评价的优秀工具集,是向VB高级专业程序员推荐的极品。rnrnhttp://www.sotech.com.cn/support/database/P1_52.htm#Productrn主要特点 rnrn rnrn rnrn子类控件(DWSBC.OCX)rn rnrn检测窗口、控件和Form的系统消息,引发一个VB事件 rn在Windows缺省处理前、后,检测消息或简单地传授给程序员作进一步处理 rn可以改变在缺省处理前的消息或参数,也可以取消这个消息 rn在16bit和32bit状态下,能够方便建立子类窗口,使之成为另一个应用程序的增加工具 rn指明检测的消息,加快程序运行速度 rn无需设置时钟控件,即可延迟事件进程,将事件传送给程序员 rnDWSBC.OCX可以方便建立子类窗口和子类控件(仅受内存限制)rnrn rnrn rnrn钩子控件(DWESAY.OCX)rn rn把DWEASY.OCX控件粘贴在Form或控件容器上(图片控件或Frame控件等),简单地设定几个属性,就可以实现先进的Windows应用。 rnrnForm和控件上能够跟踪鼠标位置(Mouse Enter/Mouse Exit) rn在状态条上显示相应的Help信息 rn能够变更Form标题栏尺寸大小,标题尺寸也相应变化 rn可以指定Form和控件容器为滚动窗口 rn能够给Form和控件容器增加滚动条 rn支持Windows 3.X和Windows95操作系统 rnrnrn rnrn rnrn回调控件(DWCBK.OCX)rn rn应用回调控件能够把一组函数地址传递给Windows应用程序编程接口或任何动态衔接库。提供大量的标准参数序列 rnrn内部函数集里有100多个函数地址 rn支持Pascal和C两种调用方式 rn即使在仅使用PostMessage函数的应用程序编程接口里也可以应用DWCBK.OCX控件 rnrnrn rnrn rnrn捕获Windows消息和键盘动作的控件(DWSHK.OCX)rn rnDWSHK.OCX比DWSBC.OCX子类控件更能捕获全局信息。能够检测击键状态、捕获回车、Ctrl键和TAB键等击键状态,允许VB程序员设置热键在程序中激发一个新的进程。rnrnrnrnrn rnrn rnrn动态衔接库rn rnrn它提供Visual Basic不能支持的新功能,补充了SpyWorks控件 rnrn提供大量函数连接Windows API函数方便操作数据 rn获得VB变量地址,执行大内存计算,分解整形和长整形变量 rn是Visual Basic API的子集,可获取form或控件的名称,并决定form或控件的层次。(仅限于16bit) rn获得间接属性,例如在VB环境中获得VB Form或控件的读写属性 rnrnrn rnrn rnrnrn rn控件属性一览表 rnrn rnrn rnrn控件函数一览表rn rnGetInstancernGetWndInstancernGetSpyWorksVersionrnInprnInpWrnOutrnOutWrn2IntegerTODWORDrn4BytesTODWORDrnCopyDatarnSwapByternSwapWordsrnDWORDto2IntegerrnDWORDto4BytesrnGetAddressForIntegerrnGetAddressForLongrnGetAddressForObjectrnGetStringFromLPSTRrnGetStringFromPointerrnHugeOffsetrnPOINTAPItoLongrnGetStringFrom2NullBufferrnXCopyDataTornXCopyDataFromrnXCopyAnsiStringFromrnXCopyUnicodeStringFromrnXAllocateDataFromrnXFressDataFromrnIsValidname 获取当前应用的实例句柄rn获取当前应用窗口的实例句柄rn获得SkyWorks的版本号rn从I/O口读入1个字节rn从I/O口读入2个字节rn从I/O口写入1个字节rn从I/O口写入2个字节rn把2个字转换为长整数rn把4个字节转为长整数rn拷贝内存块rn把一个字的上位字节和下位字节交换rn把长字的上位字和下位字交换rn把长整数转换为2个整数rn把长整数转换为4个字节rn取得整型数变量的地址rn取得长整型变量的地址rn取得字符串变量的地址rn取得对象的地址rn把以null结尾的字符串转换成VB的字符串rn取得指针指向的字符串rn取得空间的偏移量rn把POINTAPI结构转换为长整型rn在VB字符串后附加两个null字节rn把本地地址数据复制到外部地址rn把外部地址数据复制到本地地址rn从外部过程拷贝ANSI字符串rn分配外部存储空间rn释放外部空间rn判断对象的属性/方法正确与否 rnrnrn rnrn rnrn控件属性一览表rn rnAddHwndrnCaptionHeightrnCaptionStylernClearMessagernConventionrnCtlParamrnCrossTaskTimeoutrnEnabledrnEventTriggerrnForceActivernForceCtlBoxrnForceOutlinernForceTitlernHookCountrnHookTypernhWndrnHwndArrayrnHwndParamrnHwndParamrnKeyArrayrnKeyCountrnKeysrnMessageArrayrnMessageCountrnMessagesrnMonitorrnMonitorrnMouseTransitrnMouseTransitNCrnNotifyrnNotifyrnPageLockrnPersistrnPostedReturnrnPostEventrnPostMsgBoxMaxrnPostOnMsgBoxrnProcAddressrnRegMessagernRegMessageNumrnRemoveHwndrnRolledUprnScrollBarsrnScrollUpdaternScrollViewportrnScrollWindowrnShowinTaskBarrnTaskParamrnTriggerTaskrnTypernTypernUpdate????rnUseOnlyXEvent 把窗口追加到子类中rn指定容器的标题栏的高度rn指定容器的形式rn从消息队列里删除消息rn指定回调函数的调用格式rn设置控件和form的名称属性rn指定交叉任务子类化的超时时间rn确定是否检测消息rn交叉任务、插入级别的设定rn激活窗口系统颜色的使用/不使用切换rn控件菜单的显示/不显示切换rn在标题栏周围描绘边界线rn在不具有标题属性的容器的标题栏里显示字符串rn取得子类化窗口的数目rn指定钩子类型rn取得窗口句柄rn取得子类队列里的窗口句柄rn设定子类化窗口句柄的属性rn指定检测出消息的对象窗口rn在击键队列中检测击键值rn取得击键队列中的击键数目rn指定SBCKBD控件检测出的击键rn获取消息队列中检测出的消息rn获取消息队列中的消息数目rn指定检测的消息rn指定检测出的击键的对象任务rn指定检测出的消息的对象窗口rn指定鼠标移动检测的有效/无效rn鼠标移动的检测和非用户区域的指定rn指定KdbHooK事件的发生时间rn指定消息发生的时间rn指定是否进行插入级别的调用rn自动获得OLE控件的窗口句柄rn设定回调函数的返回值rn指定处理消息的延迟rn指定保持消息的最大值rn不处理在消息框中发生的事件rn取得回调函数的地址rn指定检测消息的名称rn指定信息队列的数目rn消除子类窗口句柄队列中指定的窗口句柄rn设定滚动窗口的状态rn指定form、控件容器滚动条的显示状态rn指定移动滚动条是否更新窗口的内容rn移动容器窗口的坐标位置rnform的滚动rn指定在任务栏中是否显示rn指定检测消息的任务rn取得回调后的任务句柄rn指定子类化的类型rn指定回调的符号类型rn获得表格和储存器控件容器内的显示范围rn只使用WndMessagex事件 rnrnrn rnrn rnrnrn rn系统配置 rnrn rnrn rnMicrosoft Visual Basic 4.0/5.0rn及其操作系统Windows 95, Windows NT 3.51rn以上版本rn6MB以上硬盘空间 rnrn rn 论坛

没有更多推荐了,返回首页