API對(duì)設(shè)計(jì)流程的影響——Joshua Bloch訪談
http://blog.sina.com.cn/s/blog_6310e0b20100o7cv.html
工程師Joshua Bloch談如何設(shè)計(jì)一款優(yōu)秀的API【附PPT】
http://www.csdn.net/article/2014-02-18/2818441-How-to-design-a-good-API
我只想當(dāng)個(gè)程序員
http://blog.sina.com.cn/s/blog_6310e0b20100o7cv.html
http://www.csdn.net/article/2014-02-18/2818441-How-to-design-a-good-API
The Java? Tutorials
http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
1.5
http://docs.oracle.com/javase/1.5.0/docs/relnotes/features.html
1.6
http://www.oracle.com/technetwork/java/javase/features-141434.html
1.7
http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
http://www.javacodegeeks.com/2014/05/java-8-features-tutorial.html
學(xué)習(xí)步驟
1.c
2.c object
3. stl
4. linux os api
5. socket
6. 分布式
7. web html5
8. mac UI
9. obj c
10.算法。
一些想法:
微博上關(guān)注的人很多淘寶系的很多都不搞技術(shù)了,原因是阿里上市了,足夠的錢退休了,還有些人離職去創(chuàng)業(yè)了,
可能氛圍比較好,看來(lái)創(chuàng)業(yè)的都有滋有味。大規(guī)模的系統(tǒng)搞過了,心里有底氣了,知道方向,估計(jì)成功率也會(huì)比較高。
一些人技術(shù)人靠知乎刷存在感,靠名氣說(shuō)話 。
一些2流技術(shù)角色投稿文章csdn,寫專題blog。很多毫無(wú)營(yíng)養(yǎng)。
國(guó)內(nèi)的技術(shù)書,還是一如既往類似官方教程的翻譯版。
blog
https://github.com/coding-horror
陳皓
云風(fēng)
何_登成
http://weibo.com/2216172320/BcUmvbyvW?type=repost#_rnd1418722416088
http://www.importnew.com/14105.html
網(wǎng)絡(luò)教學(xué):
PLSQL
先確保執(zhí)行這個(gè). win7 以上才支持 WER windows error report 功能 .
windows 彈出提示框, 然后進(jìn)程管理器,右鍵手工導(dǎo)出也行.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpFolder"="c:\\"
"DumpCount"=dword:00000030
"DumpType"=dword:00000002
"CustomDumpFlags"=dword:00000000
c++ debug版本 + pdb文件
另外需要注意不是所有情況都生成core.
windows 改了注冊(cè)表不生成core的原因:
· Debugging dump files of optimized code can be confusing. For example, compiler inlining of functions can result in unexpected call stacks and other optimizations might change the lifetime of variables.
· Dump files from 64-bit machines must be debugged on an instance of Visual Studio that is running on a 64-bit computer.
· In versions of Visual Studio before VS 2013, dumps of 32-bit apps that were run on 64-bit machines that were collected by some tools (such as Task Manager and 64-bit WinDbg) could not be opened in Visual Studio. This limitation has been removed in VS 2013.
· Visual Studio can debug dump files of native apps from ARM devices. Visual Studio can also debug apps dump files of managed apps from ARM devices, but only in the native debugger.
· To debug kernel-mode dump files in Visual Studio 2013, download the Windows 8.1 Version of Debugging Tools for Windows. See Kernel Debugging in Visual Studio.
· Visual Studio can't debug dump files saved in the older dump format known as a full user-mode dump. Note that a full user-mode dump is not the same a dump with heap.
· To debug with the SOS.dll (SOS Debugging Extension) in Visual Studio, you must install the Debugging Tools for Windows that is part of the Windows Driver Kit (WDK). See Windows 8.1 Preview: Download kits, bits, and tools.
參考:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ee416349(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/d5zhxt22.aspx#bkmk_requirements_and_limitations
http://msdn.microsoft.com/en-us/library/3s68z0b3.aspx
relocation error: multiget: symbol _Z23wxHandleFatalExceptionsb, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0
下載地址:
http://www.codeblocks.org/downloads/26
http://sourceforge.net/projects/codeblocks/files/Binaries/13.12-RC1/Linux%20(64bit)/
codeblocks-13.12-1.el5.x86_64.tar.bz2
安裝的關(guān)鍵
Note: On RedHat/CentOS 5 and older revisions of 6 (up to 6.2 as far as I know) you need to add repoforge (former rpmforge) to your repolist, to be able to install the needed wxGTK-package. Seehttp://repoforge.org/use for an instruction.
更新yum的源 很重要
http://repoforge.org/use/ 下載對(duì)應(yīng)的rpm
cat /etc/redhat-release
uname –a
wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh package-filename
# yum install gcc # yum install gcc-c++
如果之前失敗過 yum erase wxGTK
# yum install wxGTK
然后
]# ls codeblocks-12.11-1.el6.i686.rpm codeblocks-contrib-12.11-1.el6.i686.rpm codeblocks-contrib-devel-12.11-1.el6.i686.rpm codeblocks-devel-12.11-1.el6.i686.rpm
# rpm -ivh codeblocks*
1. 下載repo文件
下載地址:http://mirrors.163.com/.help/CentOS6-Base-163.repo
2. 備份并替換系統(tǒng)的repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost ~]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost ~]# mv /root/CentOS6-Base-163.repo CentOS-Base.repo
3. 執(zhí)行yum源更新
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum update
yum install gcc gcc-g++ autoconfig automake
參考:
http://blog.csdn.net/dupei/article/details/6428346
http://www.cnblogs.com/magialmoon/archive/2013/05/05/3061108.html
sqlplus 外面執(zhí)行正常.
tomcat調(diào)用老有問題.多調(diào)用幾次久正常.
可能是包中的全局變量引起的.
If so, that's because your package is stateful:
The values of the variables, constants, and cursors that a package declares (in either its specification or body) comprise its package state. If a PL/SQL package declares at least one variable, constant, or cursor, then the package is stateful; otherwise, it is stateless.
When you recompile the state is lost:
If the body of an instantiated, stateful package is recompiled (either explicitly, with the "ALTER PACKAGE Statement", or implicitly), the next invocation of a subprogram in the package causes Oracle Database to discard the existing package state and raise the exception ORA-04068.
After PL/SQL raises the exception, a reference to the package causes Oracle Database to re-instantiate the package, which re-initializes it...
You can't avoid this if your package has state. I think it's fairly rare to really need a package to be stateful though, so you should revisit anything you have declared in the package, but outside a function or procedure, to see if it's really needed at that level. Since you're on 10g though, that includes constants, not just variables and cursors.
But the last paragraph from the quoted documentation means that the next time you reference the package in the same session, you won't get the error and it will work as normal (until you recompile again).
existing state of packages has been discarded
means, that your Package had some sort of state.
This is caused by a global variable (or constant) stored in your Package Body.
Since the package has already been used in your session, Oracle assumes that this state is relevant for you. Some of these variables might have different values now, and when you recompile the Body, the values are reset.
This exception is thrown, so that your clients know that they can't rely on those variables any more.
You could try to remove all global variables and constants from the Package Body, or close your session and reconnect before calling the package again.
參考:
http://stackoverflow.com/questions/2502722/pl-sql-package-invalidated
監(jiān)聽器配置少了.
lsnrctl
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = XE )
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(SID_NAME =XE )
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
1.安裝 vnc-server
找包
如果window
vncserver :1
輸入密碼
vnc登錄后
xhost +
解決display問題.
vncserver -kill :1
vnc 如果進(jìn)入以后3個(gè) 提示選擇 allow clipboard .
修改/root/.vnc/xstartup文件,把最后一行 twm& 修改成"startkde &" 或者"gnome-session &"
不然的話連接linux時(shí)只出現(xiàn)了一個(gè)終端編輯器窗口。
exec gnome-session &
oracle 安裝
http://blog.itpub.net/7719012/viewspace-1139996
http://lowendtalk.com/discussion/5396/how-to-install-vnc-on-centos
二:使用Xmanager實(shí)現(xiàn)xhost掛接圖形
http://hi.baidu.com/hanyanlovejoy/item/564ed582accef0efe496e017
刪除
:g/.*ABC/m
:g/kernel32/d
:[range]g[lobal]/{pattern}/[cmd] :help :g
vim 查找一個(gè)文章段落, 開頭字符 結(jié)尾字符
/.*#tag1\(.\+\n\+\)\{-}#tag2.*
刪除掉 :
g/.*#tag1\(.\+\n\)\{-}#tag2.*/d
這句話\(.\+\n\+\) 采用分組
.\+ .任意字符 + 一個(gè)或多個(gè)
\n\+ 回車 一個(gè)或多個(gè)
\+1 或更多
\{-} 0 或更多盡可能少. 任意字符
\n 換行符
為什么 /This\_.*text/ 不可以,因?yàn)閈_. 是全緩沖區(qū)匹配模式的.
概念分組、捕獲
http://i.linuxtoy.org/docs/guide/ch26s08.html#id3120909
abc123.456.def
\d{3}表示三個(gè)數(shù)字,(\d{3}\.)表示三個(gè)數(shù)字加“.”為一組,{2}表示這一組內(nèi)容重復(fù)兩次
參考:
http://vimcdoc.sourceforge.net/doc/pattern.html#search-pattern
^\(.\+\n\)\{-}#.*tag1
Vim 中刪除符合條件的行
http://timothyqiu.com/archives/delete-lines-matching-pattern-in-vim/ https://github.com/railsinstaller/railsinstaller-windows/releases
源碼
https://github.com/embedthis/goahead/blob/master/src/utils/gopass.c
http://blog.csdn.net/reille/article/details/6784809
http://www.xuebuyuan.com/625754.html
3.1 http://blog.csdn.net/reille/article/details/6871827 本博客轉(zhuǎn)載的文章
3.2
http://www.hackchina.com/r/57970/v2.1.1-_-web-_-upload.htm__html 前端實(shí)現(xiàn)參考
http://www.hackchina.com/r/57970/v2.1.1-_-LINUX-_-upldForm.c__html 服務(wù)器端實(shí)現(xiàn)參考
RiskUnit0001.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
obj/Debug/src/RiskUnit0001/RiskUnit0001.o: could not read symbols: Bad value
為什么需要
解決辦法編譯器已經(jīng)提示了:recompile with -fPIC
但是我們應(yīng)該重新編譯誰(shuí)帶上這個(gè)參數(shù)呢?經(jīng)過我?guī)追垓v,發(fā)現(xiàn)如下情況:
1、編譯.o文件的時(shí)候,沒有加參數(shù)-fPIC,這問題個(gè)在gcc version 3.4.6版本沒有發(fā)生,可能那個(gè)編譯器默認(rèn)都給加上吧。
2、當(dāng)前程序中有用到某個(gè)靜態(tài)庫(kù),那個(gè)靜態(tài)庫(kù)編譯.o文件的時(shí)候沒有加上-fPIC(靜態(tài)庫(kù)其實(shí)就是.o文件打包)。補(bǔ)充一點(diǎn):我發(fā)現(xiàn)手寫Makefile時(shí)即使不加-fPIC也沒有這個(gè)問題,這一點(diǎn)很郁悶,這個(gè)只在用automake工具編譯出.a文件時(shí)才出現(xiàn)過。
知道原因了,解決辦法自然有了,保證你編譯.o文件的時(shí)候,都加上-fPIC,這樣你才能編譯出動(dòng)態(tài)庫(kù)來(lái)。
引用
http://hi.baidu.com/duizhe_memory/item/c4ccbb0831a5998d3d42e212
sqlplus "core/core@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=192.168.75.1)(Port=1521))(CONNECT_DATA=(SID=itmp)))"
sqlplus core/core@192.168.75.1:1521/itmp
參考一個(gè) :
/***
* ORACLE客戶端liunx安裝部署說(shuō)明
*
*/
配置步驟:
1,將本文件夾拷貝到相應(yīng)的服務(wù)器上。
2,配置環(huán)境變量如下: 文件夾所在路徑(/kfts/tools/oracle)
(永久修改方式)
vi /etc/profile
在文件最后添加:
export LD_LIBRARY_PATH=/kfts/tools/oracle:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_HOME=/kfts/tools/oracle/
export PATH=/kfts/tools/oracle/:$PATH
export TNS_ADMIN=/kfts/tools/oracle/network/admin
之后運(yùn)行命令生效:
source /etc/profile
relocation error: multiget: symbol _Z23wxHandleFatalExceptionsb, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0
下載地址:
http://www.codeblocks.org/downloads/26
http://sourceforge.net/projects/codeblocks/files/Binaries/13.12-RC1/Linux%20(64bit)/
codeblocks-13.12-1.el5.x86_64.tar.bz2
安裝的關(guān)鍵
Note: On RedHat/CentOS 5 and older revisions of 6 (up to 6.2 as far as I know) you need to add repoforge (former rpmforge) to your repolist, to be able to install the needed wxGTK-package. Seehttp://repoforge.org/use for an instruction.
更新yum的源 很重要
http://repoforge.org/use/ 下載對(duì)應(yīng)的rpm
cat /etc/redhat-release
uname –a
rpm -ivh package-filename
# yum install gcc # yum install gcc-c++
如果之前失敗過 yum erase wxGTK
# yum install wxGTK
然后
]# ls codeblocks-12.11-1.el6.i686.rpm codeblocks-contrib-12.11-1.el6.i686.rpm codeblocks-contrib-devel-12.11-1.el6.i686.rpm codeblocks-devel-12.11-1.el6.i686.rpm
# rpm -ivh codeblocks*
yum install gcc gcc-g++ autoconfig automake
參考:
http://blog.csdn.net/dupei/article/details/6428346
http://www.cnblogs.com/magialmoon/archive/2013/05/05/3061108.html