I've only recently come out of my burnout, despite it happening years ago. It sucks. It sucks bad. But looking back, I can see many of the causes crystal clearly, that weren't so apparent at the time. Here's a list:
Let's face it. Business wants you to make the best product you can "for our customers". You put off fun features for the sake of missing a deadline. You plan and analyze and break a project into sets of deliverables that then must be coded by a monkey (you). You demo it, gather feedback, iterate. All without thinking anything for yourself.
But newsflash: you started programming because you thought it was fun, why not keep programming because it's fun? Take that little extra time to put in a feature you want. Challenge yourself a little bit in doing something you didn't think you could. Show it to everyone you know, and don't just ask for feedback, but brag about what you've done.
You know Docker? It sucks. Who would trust their production environment to a new, unstable, toy. Go? Do I look like I want to write every library myself? Everything I need is already in PyPI. This project I'm working on is so caught up in office politics, it's never going to work. Jenkins? 2008 wants their tech back.
It's really easy to fall into the "being critical" trap. It's easy to tell other people what the "wrong" choice is. I imagine it's because as software engineers, our job is so find faults in our applications and fix them. And if we don't find them, someone else finds them for us.
But I don't think we need to be negative about our job, decisions that are being made (even if it's not our decision) and what we're working on. Some of the best projects I've worked on worked out that way because we had a great, positive team. We enjoyed showing up every day to work, told each other when we did awesome things, held back heavy-handed criticism and phrased it in a productive manner.
So you're an uber expert in Java + Spring + Hibernate. Nobody can touch your python skillz. Every personal project you do should be in these, because all that matters is the business side of things, right?
Wrong.
While it definitely makes good business sense, you should prototype, play around, and become an expert in new tech, even if it's unvetted. While this might seem like obvious advice (it's repeated alllll the time), it becomes a lot harder to do as you grow more experienced.
Otherwise known as "chasing butterflies". Getting bored with what you're working on? Have an itch? Time to dust off that resume!
This is bad, bad, bad.
When you have several short employments, it can usually help boost your salary quite a bit, but you are robbing yourself of:
So how do these contribute to burnout? Your career stagnates, you don't develop your skills as deeply (only breadth), people dont trust you'll stay employed for a while, and you're constantly having to prove yourself.
"You don't have to work a lot of hours, but some people choose to." You want to impress your boss. Hell, you want to impress yourself. So you go die-hard to meet an impossible deadline. You delivered the project on time, with all the extra features you wanted. You are the hero. High fives all around. And if you're lucky, you'll get that bonus.
That's great the first time. But how about the second. And the third. It's a bomb, and you dont know how short the fuse is.
In short, it's easy to burnout. Do these 5 things, and you can burnout too.
1.在finder下,copy eclipse目录下的Eclipse.app(在finder里是看不到appq个后缀名的Q必ȝCommand+iQ才能看到这个后~?文g?#8220;应用E序”
2.然后Q点d键,选择“昄包内?#8221;
3.修改eclipse.ini文g
修改文g的开头部?/p>
原始内容为:
-startup ../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library ../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20130521-0416
修改后的内容为:
-startup /Users/johnny/work/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar--launcher.library /Users/johnny/work/eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20130521-0416
我mac的用户名johnnyQ在我的用户名下有个work目录Q我把eclipse的原始目录放在work下面?/p>
q样可以在“应用E序”下,启动eclipse?/p>
@import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
from:
如果你想从别?Git 托管服务那里复制一份源代码到新?Git 托管服务器上的话Q可以通过以下步骤来操作?/p>
1). 从原地址克隆一份裸版本库,比如原本托管?GitHub?/p>
git clone --bare git://github.com/username/project.git
2). 然后到新?Git 服务器上创徏一个新目Q比?GitCafe?/p>
3). 以镜像推送的方式上传代码?GitCafe 服务器上?/p>
cd project.git
git push --mirror git@gitcafe.com/username/newproject.git
4). 删除本地代码
cd ..
rm -rf project.git
5). 到新服务?GitCafe 上找?Clone 地址Q直?Clone 到本地就可以了?/p>
git clone git@gitcafe.com/username/newproject.git
q种方式可以保留原版本库中的所有内宏V?/p>
Q?自动保存功能
如果你已l修改了一个文Ӟ但是q没来得及存盘你的计机qŞ工了Q那么你所做的修改很可能会丢失。ؓ了避免这L不幸发生QEmacs 会定期将正在~辑的文件写入一?#8220;自动保存”文g中。自动保存文件的文g名的头尾各有一?#8220;#”字符Q比如你正在~辑的文件叫“hello.c”Q那么它 的自动保存文件就?#8220;#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除?br />
所以,假如不幸真的发生了,你大可以从容地打开原来的文Ӟ注意不是自动保存文gQ然后输?M-x recover file<Return> 来恢复你的自动保存文件。在提示认的时候,输入 yes<Return>?/p>
Q?其他
二、emacs~辑器的界面
1. ~辑?br />
用来q行文本~辑的区域?/p>
2. 回显?br />
如果 Emacs 发现你输入多字符命o的节奏很慢,它会在窗格的下方UCؓ“回显?#8221;的地方给你提C。回昑位于屏幕的最下面一行?/p>
3. 状态栏
三、emacs所能提供的工作环境
emacs所提供的这些功能,都是先唤起代表此功能的模式(modeQ。emacs的模式,分成主要模式Qmajor modeQ与ơ要模式(minor modeQ。每一ơ只能用一个主模式Q而且L式是必须要的。在一个主模式下,俄可以搭配一个以上的ơ要模式。用次要模式相当于启用了该ơ要模式所对应的插件?/p>
四、emacs命o
Q?基本光标控制
Q?~辑命o
Q?查找与替?/p>
Q?文g操作
Q?~冲?/p>
Q?H口
Emacs 可以有多个窗|每个H格昄不同的文字?/p>
Q?使用帮助
Q?在emacs中运行shell命o
Q?Dired功能
Q?emacs配置文g
emacs配置文g通常位于计算机的 $HOME 目录Q如果是 MS Windows (Windows 2000, Windows XP以上)Q默认是 c:\Documents and Settings\username\Application Data\Q这个适用?Emacs22 以上的版本。Emacs21 默认?$HOME 目录?C:\ 。当然也可以通过环境变量 $HOME 重新讄QM在比较大众化的操作系l中Q你都可以通过C-x C-f ~/.emacs 来编辑您的个性化配置文g?/p>
rectangle(?模式~辑 和emacs shellQ摘抄)
不敢独nQ与大家分n。也可以在Emacs中用C-x C-h列出全部命oQ查找C-x r cQ所有列模式命o都是以C-x r开始的
C-x r C-@ point-to-register
C-x r SPC point-to-register
C-x r + increment-register
C-x r b bookmark-jump
C-x r c clear-rectangle
先用C-space或者C-@设一个markQ移动光标到另一点,使用C-x r c可以清楚mark到光标处的矩形区域,该区域留下空白?br />
C-x r d delete-rectangle
删除矩Ş区域Q不留空白,后面的字W前U?br />
C-x r f frame-configuration-to-register
C-x r g insert-register
C-x r i insert-register
某个寄存器的内Ҏ入某?br />
C-x r j jump-to-register
C-x r k kill-rectangle
是剪切某个选定的矩形区域,用C-x r y可以贴上
C-x r l bookmark-bmenu-list
C-x r m bookmark-set
C-x r n number-to-register
C-x r o open-rectangle
在选定的矩形区域插入空?br />
C-x r r copy-rectangle-to-register
选定的矩形区域复制到某个寄存?br />
C-x r s copy-to-register
C-x r t string-rectangle
在选定区域所有列前插入同L字符
C-x r w window-configuration-to-register
C-x r x copy-to-register
C-x r y yank-rectangle
cM于矩形区域的_脓Q就是将刚用C-x r k剪切的矩形区域粘贴过?br />
C-x r C-SPC point-to-register
摘自Q?a href="link.php?url=http://chandlewei.blogbus.com/logs/15583440.html">http://chandlewei.blogbus.com/logs/15583440.html
?Emacs 里面同时打开多个 shell 会话Q?br />
通过重命名shell所在缓冲区的名字可以开启多个shell
E-x shell
E-x rename-buffer shellA
E-x shell
q时开启了两个不相q的shellQshellA ?shell*
也可以通过其他方式来开启shellQ例如:
1. M-x eshell 开启Emacs Shell
2. M-x term 开启linuxl端Q可以指定你要的l端SHELL。但是这个可能会拦截你的EMACS命o?br />
整理你的屏幕Q?br />
通过C-c C-o可以清除上次命o的输出,特别是对于cat或dmesgq种产生大量输出的命令?br />
详细文章Q?a href="link.php?url=http://www.ibm.com/developerworks/cn/aix/library/0811_yangbh_emacs2/index.html">http://www.ibm.com/developerworks/cn/aix/library/0811_yangbh_emacs2/index.html