React Hooks+Umi+TypeScript+Dva开发体验
345 次阅读 · 读完需要 23 分钟
4
前端时间,接触了hooks,研究了一段时间后感觉使用起来十分方便,正好公司开了一个新的小项目,正好使用hooks来实践一下。
技术选型
1.为什么选择umi
在之前的文章中我也介绍过umi的优点,在使用过umi后,感觉自己的开发效率有很大的提升。umi的路由使用起来实在是让我爱不释手,详细的我就不过多介绍了,有兴趣的可以去看我之前的文章。
2.为什么选择TypeScript
TypeScript 是 Microsoft 开发和维护的一种面向对象的编程语言。它是 JavaScript 的超集,包含了 JavaScript 的所有元素,可以载入 JavaScript 代码运行,并扩展了 JavaScript 的语法。在使用TypeScript编程时,它能帮助你在写代码的过程中考虑到各种类型上的问题,避免代码运行时出现的意想不到的错误。使用了TypeScript可以增强你代码的健壮性,特别是大型项目的开发中,某些小小的改动都有可能对你的项目造成严重的后果。
3.为什么选择Dva
其实使用React Hooks的目的就是为了去redux,那我为什么还会使用基于redux-soga封装的dva呢?原因就在于hooks虽然很方便,但如果是一些很复杂的状态需要去管理,这时候使用hooks就会有点儿费劲了。所以这时候结合dva来解决这种特别复杂的状态管理是很方便的,原生的redux使用起来稍微有点儿麻烦,dva用起来很简单,很爽,这就是我选择dva的原因。
4.为什么选择React Hooks
这个是这篇文章的重点了,你在react开发过程中有没有遇见这三个问题。
(一) 在组件组件复用状态逻辑很难
React 没有提供将可复用性行为“附加”到组件的途径(例如,把组件连接到 store)。如果你使用过 React 一段时间,你也许会熟悉一些解决此类问题的方案,比如 render props 和 高阶组件。但是这类方案需要重新组织你的组件结构,这可能会很麻烦,使你的代码难以理解。如果你在 React DevTools 中观察过 React 应用,你会发现由 providers,consumers,高阶组件,render props 等其他抽象层组成的组件会形成“嵌套地狱”。尽管我们可以在 DevTools 过滤掉它们,但这说明了一个更深层次的问题:React 需要为共享状态逻辑提供更好的原生途径。
(二) 复杂的组件变得难以理解
我们经常维护一些组件,组件起初很简单,但是逐渐会被状态逻辑和副作用充斥。每个生命周期常常包含一些不相关的逻辑。例如,组件常常在 componentDidMount 和 componentDidUpdate 中获取数据。但是,同一个 componentDidMount 中可能也包含很多其它的逻辑,如设置事件监听,而之后需在 componentWillUnmount 中清除。相互关联且需要对照修改的代码被进行了拆分,而完全不相关的代码却在同一个方法中组合在一起。如此很容易产生 bug,并且导致逻辑不一致。在多数情况下,不可能将组件拆分为更小的粒度,因为状态逻辑无处不在。这也给测试带来了一定挑战。同时,这也是很多人将 React 与状态管理库结合使用的原因之一。但是,这往往会引入了很多抽象概念,需要你在不同的文件之间来回切换,使得复用变得更加困难。
(三) 难以理解的class
除了代码复用和代码管理会遇到困难外,class 是学习 React 的一大屏障。你必须去理解 JavaScript 中 this 的工作方式,这与其他语言存在巨大差异。还不能忘记绑定事件处理器。没有稳定的语法提案,这些代码非常冗余。大家可以很好地理解 props,state 和自顶向下的数据流,但对 class 却一筹莫展。即便在有经验的 React 开发者之间,对于函数组件与 class 组件的差异也存在分歧,甚至还要区分两种组件的使用场景。
如果你也被这三种问题所困扰,这时候接触hooks,你会发现打开了新世界的大门。从面向对象编程转为函数式编程,我感觉释放了自己,写代码变得又爽又飞快。
项目搭建
因为使用了umi,所以该项目也是用umi来搭建的,具体方法可查看之前文章。选择ts版本,然后根据自己编程习惯,配置一下tslint规则就ok了。这里要注意一件重要的事情,升级react和react-dom的版本为16.8.0以上,因为umi脚手架搭建的项目react版本为16.7.0,而16.8.0是react正式支持hook的版本。
Hooks使用
1.useState
首先我们来看一下官方的代码。
import React, { useState } from 'react';
function Example() {
// 声明一个新的叫做 “count” 的 state 变量
const [count, setCount] = useState(0);
return (
You clicked {count} times
setCount(count + 1)}>
Click me
);
}
使用起来十分简单,函数式编程让你不用再继承Component,直接定义一个变量就行,可以给这个变量看做你之前写react中state的一个值。使用Hooks之后你不用再调用setState来更改state中的值,可以使用你自己定义的更改方法,上面代码中就是使用setCount来更改count的值,是不是很方便?
怎么在hooks中使用TypeScript?
如果你使用Component来编写你的组件,你需要通过interface来定义你state中值的类型,使用Hooks,你只需要这样:
const [count, setCount] = useState(0)
2.useEffect
Effect Hook 可以让你在函数组件中执行副作用操作,下面是官方代码。
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
// Similar to componentDidMount and componentDidUpdate:
useEffect(() => {
// Update the document title using the browser API
document.title = `You clicked ${count} times`;
});
return (
You clicked {count} times
setCount(count + 1)}>
Click me
);
}
这段代码中使用了useEffect,可以让你在屏幕中显示你点击的次数。useEffect最大的好处我认为就是去生命周期钩子函数了,使用之后你不用再使用任何生命周期钩子函数,这一点来看是不是就特别爽?useEffect为什么会实现去生命周期钩子的作用呢?你可以在函数中写一个console.log,查看控制台后你便会发现控制台会一直打印你的console.log,所以useEffect会在组件的生命周期中一直被调用,我们在使用的时候可以告诉useEffect什么时候才会被调用来进行性能优化。比如上面代码我们可以这样修改:
useEffect(() => {
// Update the document title using the browser API
document.title = `You clicked ${count} times`;
},[count])
这样修改后useEffect会在count的值发生改变后才被调用。
怎么清除在useEffect中调用的函数?
在开发过程中我们可能会使用到定时器,而异步队列中的定时器在组件被销毁后也会继续执行,这样便会造成内存泄漏,在Component中我们会调用componentWillUnmount函数来清除定时器,在useEffect中我们该怎么办呢?
import React, { useState, useEffect } from 'react'
import moment from 'moment'
export default function () {
const [nowTime, setNowTime] = useState(moment().format('YYYY年MM月DD日 ddd HH:mm'))
useEffect(() => {
const timer = setInterval(() => {
setNowTime(moment().format('YYYY年MM月DD日 ddd HH:mm:ss'))
}, 1000);
return () => {
clearInterval(timer);
}
},[nowTime])
return (
<>{nowTime}>
)
}
上面代码就是一段很简单的显示当前时间的代码,我们可以通过return函数在组件销毁的时候清除useEffect中的定时器
使用Hooks来编写一个表格组件
从后端获取数据,然后在表格中渲染应该是很常见的一个功能了,下面我们来看一下使用Hooks之后怎么写这种组件
import React, { useState, useEffect } from 'react'
import { Table } from 'antd'
export default function () {
const [tableData, setTableData] = useState([])
const [page, setPage] = useState(1)
const [pageSize, setPageSize] = useState(15)
const [count, setCount] = useState(0)
const [loading,setLoading] = useState(true)
useEffect(() => {
fetch('www.baidu.com').then( function(data) {
if(data) {
setTableData(data.result)
setCount(data.count)
setLoading(false)
}
})
},[page,pageSize])
const onChangePage = (pageNumber: any) => setPage(pageNumber)
const onChangePageSize = (value: number) => setPageSize(value)
const columns = [
{
title: 'ID',
dataIndex: 'id'
},
{
title: '姓名',
dataIndex: 'name'
},
{
title: '电话',
dataIndex: 'tel',
},
{
title: '性别',
dataIndex: 'gender',
},
{
title: '年龄',
dataIndex: 'age',
},
]
return (
<>
(i + '')}
columns={columns}
loading={loading}
dataSource={tableData.length ? tableData : []}
pagination={false}
style={{ marginTop: 10 }}
size="small"
/>
搜索到{props.count}条数据
共{Math.ceil(count / pageSize)}页
10条/页
15条/页
20条/页
30条/页
>
)
}
这样就写完一个功能完善的表格组件了,回想一下你之前是用Component面向对象编程时怎么写的,再看一下用Hooks函数式编程的代码是不是简单很多?赶紧来试试hooks吧,会让你有写代码停不下来的感觉。
你可能感兴趣的:(创业)
日更006 终极训练营day3
懒cici
人生创业课(2)今天的主题:学习方法一:遇到有用的书,反复读,然后结合自身实际,列践行清单,不要再写读书笔记思考这本书与我有什么关系,我在哪些地方能用到,之后我该怎么用方法二:读完书没映像怎么办?训练你的大脑,方法:每读完一遍书,立马合上书,做一场分享,几分钟都行对自己的学习要求太低,要逼自己方法三:学习深度不够怎么办?找到细分领域的榜样,把他们的文章、书籍、产品都体验一遍,成为他们的超级用户,向
我最喜欢的公众号
素颜创始人小云
一年多前,也是因为工作的原因。认识了她,她是我七个人物法其一,她在我心里也是很敬佩的一个女孩子。她会讲一些护肤知识,哪些产品好用哪些不好用而他讲解的产品都是我跃跃欲试的。图片发自App她做的每一篇文章都很精美,可以吸引到我从头看到尾,看每一个字都会很珍惜很期待,做事也特别的认真仔细。去年出了一本《活得漂亮》我也看了她的创业故事,很厉害!她的认真及敬业精神我觉得是很难学得来的,现在怀孕3个月了,依然
“不经一番寒彻骨,哪得梅花扑鼻香”
蹦吧卡拉拉
沉默是一种历练,一种彻悟,一种对生活的宽容与超脱。掌握了沉默拥有的力量,就能让我们适应变化莫测的生活,让我们在复杂的环境里学会自我保护,并在无声的世界里实现真正的自我超越。在等待中积蓄力量生活中,我们几乎每一天都在等待:小孩子哭哭啼啼,那是在等待着父母回家陪他一起玩耍;老人整日望眼欲穿,那是等待着远方的孩子早日回家团聚;怀揣创业梦的年轻人整日风餐露宿,食不果腹,那是在等待着一飞冲天的机遇实现自己的
3次创业身价百亿,2年前却被大众判“死刑”,李想如今怎样了?
职心眼儿
他,19岁放弃高考去创业;25岁,成为亿万富豪,被央视评为“80后创业”领军人物;39岁,身价再次暴涨,一夜间闯过200亿大关。他,在3个领域连续创业20年,一家公司市值700亿,一家公司市值2000亿。而他的最高学历,却只有高中。这个人,就是理想汽车的创始人——李想。纵观李想的创业史,可谓是颇为传奇:一个既没背景,又没资金高中毕业生,怎么就让3位互联网巨头(张一鸣、王兴、程维)同时为自己站台?更
直返APP的创始人是谁他们的创业背景和经历如何?
氧惠帮朋友一起省
直返的创始人是李明,他是一位富有创新精神的电商专家。他看到了传统电商模式的局限,并决心打破这些局限,为消费者带来更实惠、更便捷的购物体验。于是,他创立了直返这一独特的电商模式,通过省去中间环节、直接返还利润给消费者,实现了购物的简单与实惠。氧惠APP(带货领导者)——是与以往完全不同的抖客+淘客app!2024全新模式,我的直推也会放到你下面。主打:带货高补贴,深受各位带货团队长喜爱(每天出单带货
个人创业能月入两万的小生意,适合新手做的小生意项目!
优惠券高省
互联网浪潮的风起云涌,使得许多人萌生了创业的想法,但同时创业也并不简单,本身市场里面的水很深,如果大家初次创业的话,很有可能会遭受经济的损失。小编为大家着重介绍适合所有人做的月入2万的10个小生意,一起来看看吧。首先推荐大家做互联网电商创业,零投资,轻创业,没有压力,上手就赚钱!门槛低,天花板高!高省时代在变,分享经济是趋势!什么是分享经济:把你认为好的告诉身边的人叫分享,,所以分享经济就是把好的
2018-05-03收盘点评:曙光初现!当前行情怎么做?(附今晚纵横股海公益课第9讲-如何操作底部机会个股)
db1eae6e5a78
今日复盘:上证指数今日收在3100.86点,上涨19.68个点,+0.64%,深证成指收在10458.62点,上涨115.78个点,+1.12%。今天大盘又一次探底回升,收出一根小阳线,创业板K线上走势更好看一些,下影线很长,阳线实体也较大,这也体现出今天走势更强的是创业板为代表的小票。之前已经提到过很多次,今年行情大概率就是创业板行情,涨幅更大的是小票,确定性更大的也在小票上。今天涨停板家数为5
收评:两市震荡沪指涨0.57%创业板指涨1.42% 光伏风能板块大涨
甚念_3264
金融界网站9月14日讯早盘三大股指高开,盘初市场震荡上行,创业板指一度涨超2%,随后指数呈现震荡整理态势,临近午盘小幅回落;午后A股延续低迷表现,深成指两度翻绿,尾盘两市小幅上扬。截至收盘,沪指涨0.57%,报3278.81点,深成指涨0.61%,报13021.99点,创业板指涨1.42%,报2572.6点。两市成交额约7700亿元;北向资金净流入近20亿元。行业板块方面,环保工程、材料行业、仪器
剽悍老铁:从1到6,在危机中成功迭代的他做对了什么?
洛柒姑娘
作者:江湖姐姐、刘亚每一个当下的决定与行动,都是一个人未来的方向盘。剽悍财富行动营老铁刘亚做过几次大的决定与行动,这些行动让他在变局驾到的时候,成功躲过危机,甚至在行业退潮的时候,还迎来自己事业小的增长。92年的他曾在毕业后几年内创办了6所培训机构,拥有省劳动局的创业讲师证、樊登翻转师证,并获得过颍州区人才创业三等奖,但他最喜欢的标签还是奶爸。在他看来,创业也好,当奶爸也好,都是生命维度的延伸,都
2018年投资总结
小迷糊Lyla
新年的第三天,终于有空把所有的账户状况做个统计了,所有账户总体收益率为-14%左右,没错是负的啦,但是这样的结果我已经很满意了。毕竟上证综指、沪深300、中小板指、创业板指全年分别为-24.59%、-25.31%、-37.75%和-28.65%,我从2018年年初入市,年末能跑赢大盘,已经对自己满意啦。当然这期间多亏遇见了E大,可以说对我的投资学习过程中给了莫大的帮助,让我明白市场虽然是不能预测的
转发文章赚钱的app平台排名?最赚钱app软件排名第一
氧惠评测
今天给大家推荐8个做自媒体常用的转发文章赚钱的app平台排名?最赚钱app软件排名第一的推荐给大家。无论你是年轻人还是老年人都有适合你的赚钱方式,关键看你选择哪个app,虽然说每天赚的不多,10几块钱,20多的,也够一天的买菜钱了,就当娱乐一下身心,既娱乐了自己,又多了一份收入,何乐而不为呢?赚钱可以让人快乐翻倍!推荐无门槛零投资一个人创业项目!氧惠(全网优惠上氧惠)——是与以往完全不同的抖客+淘
在家可以做的6个赚钱项目,宅在家也能做的创业项目分享
氧惠好项目
这几年的疫情让很多人觉得钱越来越不够花了,大家都意识到发展副业很重要。平时上班已经耗费了我们很多时间和精力,所以能在家赚钱的副业才是我们最好的选择。今天我就总结了几个宅在家里就能赚钱的小技巧,一起来看看吧!副业兼职一:淘宝客(也是目前小编在做的副业之一)这个已经有好几年的历史了,经过发放链接和优惠券的方法来帮助店铺发布推行链接,获取优惠信息,网购市场非常大,任何人都需要一个买东西享最低优惠价的软件
张伟采访笔录——把自己喜欢的留在身边丨2021年3月第3周小结
丨张伟丨
中篇故事丨文/张伟乐之写作工作坊这是椰子私塾第1511篇原创输出我2021年的关键词——闲。读些闲书,写点闲文;鸟归巢,鱼潜渊,如此而已。1、读闲书。《悲惨世界》75%《人类群星闪耀时》82%《微信互联网平民创业》43%《关于陀思妥耶夫斯基的六次讲座》59%《写作训练课:轻松写出好文章》16%2、日更,写闲文。接上周。国际红透天著名主持人三三一:我这样理解,你看看对不对,你刚才提到的减重经历是一个
兼职新选择,宝妈也精彩:适合家庭主妇的兼职机会
氧惠超好用
一、儿童手工艺品店儿童手工艺品店是一个既有趣又充满创意的创业项目。宝妈们可以利用自己的巧手和想象力,制作出各种可爱、实用的手工艺品,如布偶、手工卡片、彩绘石头等。这些手工艺品既可以作为玩具,也可以作为装饰品,深受孩子们的喜爱。同时,这种创业方式不需要太大的店面和过多的投资,宝妈们可以在家中或者租用一个小型商铺进行经营。二、营养鲜奶吧鲜奶吧作为一个健康、营养的创业项目,近年来备受大家的青睐。我经营鲜
日更第二天 每一个伟大,来至于勇敢的开始
乘风投资笔记
今天是元宵节,我的好朋友也开始创业了,做的教育行业,名字叫蒲公英。博士,大学经济学教授,现在蒲公英很小,期待未来的样子。我给他发了一条新信息。所有的伟大,源于一个勇敢的开始,小作坊只是最初的模样。创业没有大小,就是开始了新的征程,每一个生意都值得尊敬!元宵节快乐新旅途顺利!图片发自App
《创业第一年》如何让公司活下来
独啸山林
今年有了自己的公司,有了自己的营业证照。今年也是我创业的第一年。所以,阅读这本书时会联想到自己在创业过程中的点滴。这本书主要分六个部分:第一部分:关于创业的想法。我创业的想法很简单。就是想做自己喜欢的事。因为自己喜欢旅游,热切的渴望自己可以不用早九晚六的生活。赚更多的钱,去更多更远的地方。可以跟大家分享一切美好的事物。把我要创业的想法讲给了身边很多朋友,很感谢感恩这些新老朋友,介绍人脉资源给我。就
川希:流量高手绝对不会告诉你的秘密!
川希网络
川希:流量高手绝对不会告诉你的秘密!嗨,我们终于见面了。众所周知,针对2020年来说,互联网无论如何都比传统实业轻,特别是这次疫情,大量的倒闭、措手不及的解体,教会了很多商家什么叫做轻!互联网已经成为了草根创业者亦或传统企业的翻盘逆袭之地,而流量,却是一个永恒的话题...互联网是个江湖,所谓江湖险恶,刀光剑影,厮打拼杀,每一个网络当局者不得不承认,流量是一切营销的根基,搞定流量,就是搞定一切!没有
程序员 35 岁危机大调查!这 5 个出路让你突破瓶颈,必看
大力出奇迹985
前端
在互联网行业飞速发展的当下,程序员35岁危机逐渐成为热议话题。不少人认为35岁后的程序员在精力、学习能力上难以与年轻从业者抗衡,面临被淘汰的风险。本文针对这一现象展开调查,深入分析程序员35岁危机的成因,并提出技术深耕、管理转型、跨界发展、自主创业、副业拓展五个突破瓶颈的出路,为正处于困境或即将面临此危机的程序员提供参考,助其找到适合自己的发展方向。一、技术深耕:成为领域内的技术专家技术领域的深度
如何利用互联网挣钱?这几种方法不容错过!
日常购物技巧呀
在网络上赚钱,首先要有自己的定位,这也是看我文章的朋友们问得最多的问题:做什么项目好?我先总结一下,网上都有哪些赚钱的方式呢?其实互联网创业挣钱方法有上千上万,但是基本可以总结为四种方式:第一种:卖体力很多人觉得自己没有知识,没有文化,挣不了什么钱,其实这个想法是不对的,如果你肯放下身段,就算没有学识,依靠体力也能挣钱,也能获取别人的尊重。那在互联网如何靠体力挣钱呢?或许你可以通过应用公园平台,在
失业了,回农村做这生意,投资不大,赚钱不少
氧惠超好用
今天咱们来聊聊那些能让农村人月收入过万元的好项目,这里只分享实用干货与真实成功案例,定有一个项目适合你。真心希望大家能认真读完并转发给更多人,因为这些项目或许真能为有需求的人带来新的机遇。其一,加工散装洗洁精。对于想在农村低成本创业的人来说,这个项目堪称上佳之选。它前期投资低,仅需一二万元即可起步。技术方面也十分简单,普通人无需长时间学习便能掌握。而且,除了加工散装洗洁精外,还能生产洗衣液、洗手液
你说的是心里话,别人听到是笑话
洗砚树
图片发自App闺蜜向我吐槽,她有个十几年朋友,挺友好的,最近闺蜜老公创业不顺,手头短缺,问她调头寸。仔仔细细前前后后问了,她却没有了下文。后来闺蜜再打电话,拒接了。又再用陌生电话打回来说,劝闺蜜不要帮不要管闺蜜老公了,捞好剩下钱,能闪一边就闪一边。闺蜜问:是不是他们觉的资金流动有危险?还是觉的我不靠谱?我笑她,可能你人品没爆发。私下觉的,其实闺蜜困境她是知道的,但唯恐一点事惹上来。尽管闺蜜怎么说,
初学写作,标题写不好,别人看都不看!
讨喜的鱼
文/一直正经的鱼奇葩说第一季节目中,有个辩题是:这是不是一个看脸的社会。对于我这种长得丑的人来说,我更愿意答案是不是。而我更同意蔡康永的观点,看脸是最方便的。就像我们的标题,要是第一眼就看不上,内容写得再好也是白搭。子曰:“温故而知新,可以为师矣。”之前学习了星姐的下班后的写作课,有节课程是讲如何写好标题,与大家共勉!01:指明身份,增加带入感你是要写给谁看的,育儿的妈妈,职场打拼的员工,还是创业
带娃在家做什么可以挣钱?宝妈开什么店好,投资小?适合带孩子开的小店
日常购物小技巧
带娃在家做什么可以挣钱?宝妈开什么店好,投资小?适合带孩子开的小店带娃在家也可以赚钱,这需要一些创造性和创新思维。以下是一些适合宝妈带娃在家创业的小店建议:1.网店经营:在网上开设自己的店铺,销售自己制作的手工制品、二手物品、食品等。例如,可以在淘宝、京东、拼多多等平台上开设店铺,也可以在微信、微博等社交媒体上进行销售。2.在线教育:如果有教育背景或特殊技能,可以在家中为学生提供在线教育服务,例如
手机兼职赚钱app有哪些,用手机赚钱的正规平台
高省张导师
手机兼职赚钱app和正规平台众多,以下是一些推荐的应用及其特点:1、社交导购电商社交导购电商是当下最值得年轻人去尝试创业的一种零成本创业模式,也是最早淘宝客的优化版,无货源无售后操作模式,很多小伙伴不知道怎么做,这里我给大家介绍一个靠谱的淘宝导购电商赚钱渠道,可以用来抖音快速短视频直播带货选品,可以地摊进货赚佣金,也可以做微信羊毛群,捡漏群,社群团购等多种赚钱方法就算你不用这个平台赚钱,自用也是非
女生创业做什么生意好,小本投资回报快的生意有哪些?
古楼
女性创业适合做什么项目呢?选择创业项目就是要选择比较好经营的创业项目,选择投资本钱小,回本速度快的项目,有些在家带孩子的女性没有过多的精力去经营创业项目,因此只能选择一些小型的项目去做,但是不论是如何去选择。只要你能够找对创业项目,下定决心一直走下去,你就能够成功。今天小编给大家分享一个网络赚钱项目,0投资大家好,我是高省的古楼导师!高省APP佣金更高,模式更好,终端用户不流失。【高省】是一个自用
2022-05-10股市
枋落
有人说今天是中国股市的独立日。昨夜美股大跌,国内股市惯性低开,却越走越高。沪市涨了1个点,深市涨了1个点,创业板涨了2个点,很是扬眉吐气了一下。两市成交8400亿。热点集中在受新型城镇化消息影响而火爆起来的建筑装饰板块。A股挺起脊梁!超级大逆转!,醒目的标题不时出现在新闻页面里。大神却在今天减仓了。
初识星巴克
小县城生活日记
图片发自App前2个月在珠海免税商场做兼职的时候,看到楼下的星巴克咖啡馆,总是有人进进出出,当时有点好奇,为什么有那么多人喜欢喝星巴克咖啡。还有我喜欢的出名作家,彭小六也经常在文章里说,他基本每天都会去家附近的星巴克咖啡馆写作。昨晚看到一则新闻,说星巴克的CEO正在竞选美国总统,而且读到了关于星巴克创始人的创业故事。读完之后觉得这个男人三观太正了,他对待员工的方式和他给员工的福利待遇,真的不是一般
适合2024年创业的小生意有哪些?这5个稳定又赚钱
测评君高省
适合2024年创业的小生意有哪些?随着社会的不断发展和经济的变化,创业已经成为越来越多人追求的梦想。在2024年,我们可以看到一些小生意具备较好的创业前景。那么,适合2024年创业的小生意有哪些呢?先给大家分享一个小编在做的网络项目,不用投资一分钱,只要淘宝、京东、拼多多、抖音、快手、唯品会等电商不倒,这个项目永久可做,而且收入稳定!网购你是直接下单吗?还是说用别人的口令和链接下单?千万不要这么做
2021-10-11
就是无聊
假如你是学校创业协会新媒体负责人今天校园创业大赛圆满结束,参赛的18支队伍中有5支荻得投资、3支将代表学校参加国家级别的创业大赛。现在常要你推送一篇微文章进行本次创业大赛的报道,请用我们介绍的九种方法拟出标题。方法标题1数字化这是3支最值得你认识的队伍2人物化这样做,你就是下一个马云3历程化刚刚崭露头角,就能披荆斩棘,参加国家级比赛的他们到底有多牛4体验化最厉害的三支队伍,一个赛过一个5恐惧化还在
知识经济下程序员的创业之道
AI天才研究院
ChatGPT AI大模型企业级应用开发实战 AI人工智能与大数据 大厂Offer收割机 面试题 简历 程序员读书 硅基计算 碳基计算 认知计算 生物计算 深度学习 神经网络 大数据 AIGC AGI LLM Java Python 架构设计 Agent 程序员实现财富自由
《知识经济下程序员的创业之道》关键词:知识经济,程序员,创业,市场调研,团队建设,市场营销,财务规划,风险管理摘要:在知识经济时代,程序员的创业不仅需要技术上的深耕,还需要在商业模式、市场拓展、团队管理等方面进行全方位的思考和规划。本文将从创业基础知识、市场调研、项目规划、团队建设、市场营销、财务规划和风险管理等多个角度,系统性地探讨程序员在知识经济下创业的成功之道。《知识经济下程序员的创业之道》
[黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
mongoDB 入门指南、示例
adminjun
java mongodb 操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
Essential Studio for WinRT网格控件测评
Axiba
JavaScript html5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis 数据库 NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
[原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法 工作 PHP 搜索引擎 嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
Linux中用shell获取昨天、明天或多天前的日期
daizj
linux shell 上几年 昨天 获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f