不懂後臺伺服器學什麼的快點看過來

2021-02-21 後臺伺服器開發
後臺伺服器開發精選博客匯總一、前言

相信很多朋友,很多志在學習後臺伺服器開發,想在這一鄰域有一些作為,但是經常苦苦不知道學習什麼,我也經常想要收集一些博客分享給大家,但是苦苦時間不是那麼充足,不過還好,有很多優秀的博主為們準備好了,在這裡,感謝這些優秀的博主;

這篇文章來自於CSDN社區---作者:libaineu2004

連結原文:https://blog.csdn.net/libaineu2004/article/details/76906574

二、正文

免費的跨平臺SSH和SFTP工具:

https://www.putty.org/ -- Windows

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

https://www.poderosa-terminal.com/ -- Windows/Mac

https://filezilla-project.org/ -- Windows/Mac/Linux -- https://download.filezilla-project.org/client/

英文 https://filezilla-project.org/ 中文 https://www.filezilla.cn/

Mac下使用自帶終端SSH功能 -- 自帶的SFTP是文本輸入型的,沒有圖形界面

Windows SSH推薦使用XShell或者putty -- https://www.portablesoft.org/xshell-legacy-versions/

Mac SSH推薦使用自帶的終端命令

http://firecats-MacBook-Pro:~$ ssh root@172.16.17.135

Windows/Mac SFTP推薦使用FileZilla,CentOS 7終端命令行方式安裝FileZilla

Github桌面版工具,GitHubDesktop:

https://desktop.github.com/ -- 支持Windows 64bit和Mac系統

https://help.github.com/desktop/guides/ 幫助文檔

https://tortoisesvn.net/

https://tortoisegit.org/

Wireshark

https://www.wireshark.org/download/win64/

https://accfcx.github.io/post/tools/

socket:中國大陸翻譯為套接字,臺灣翻譯為插座。感覺插座更容易理解。

https://blog.csdn.net/alitech2017 阿里技術官方號

http://coolshell.cn/ 陳皓

https://www.taohui.pub/ -- 陶輝,《深入理解Nginx:模塊開發與架構解析(第2版)》作者

https://blog.csdn.net/russell_tao -- 陶輝,《深入理解Nginx:模塊開發與架構解析(第2版)》作者

https://blog.csdn.net/nsrainbow --- 楊曦,《HBase不睡覺書》作者

http://zhuanlan.51cto.com/columnlist/shenj/ --- 58沈劍

http://blog.csdn.net/analogous_love --- 範蠡&張小方

https://www.cnblogs.com/balloonwj/ --- 範蠡&張小方

https://github.com/baloonwj/flamingo --- 範蠡&張小方

http://blog.csdn.net/column/details/15700.html --- teamtalk

https://github.com/forhappy/Cplusplus-Concurrency-In-Practice --- 《C++ 並發編程指南》

[select、poll、epoll之間的區別總結整理]

epoll定時器實現系列文章:高性能定時器實現的三種方式---升序鍊表,時間輪,最小堆

TCP面試常見題:張小方的知乎Live:輕鬆搞定技術面試中常見的網絡通信問題

『騰訊後臺開發』實習生技能要求

去BAT,你應該要看一看的面試經驗總結 【面試三部曲1,推薦】

面試成功必備,C++ 後臺開發面試時一般考察什麼?【面試三部曲2,推薦】

Linux伺服器百度面試【面試三部曲3,推薦】

《Linux多線程服務端編程:使用muduo C++網絡庫》學習筆記 【firecat整理,推薦】

我個人的Linux TCP Server和client測試源碼,C語言(1)(★firecat推薦★)

我個人的Linux TCP server和client測試源碼,C語言(2)(★firecat推薦★)

C/C++語言版本的http server和client,請關注

http://blog.csdn.net/libaineu2004/article/details/78490165

C++11 futurehttps://github.com/facebook/folly -- Facebook開源C++庫 --- Folly: Facebook Open-source Library

https://github.com/facebook/folly/tree/master/folly/futures

詳談C++11新特性之future及開源項目ananas(folly,std c++11和ananas的future各自的區別是?) -- ananas, Qedis

ananas RPC源碼分析-net庫概覽(一)

騰訊高性能RPC開發框架Tars實現服務治理(微服務)

騰訊微服務框架Tars介紹

Tars C++版本的編譯

https://github.com/TarsCloud/Tars -- 重量級rpc

https://github.com/TarsCloud/TarsDocker -- docker,由於管理平臺和基礎服務安裝配置太複雜,所以搞了個鏡像

https://github.com/TarsCloud/TarsCpp

https://github.com/TarsCloud/TarsGo

https://github.com/Tencent/TSeer

https://github.com/Tencent/phxrpc -- 輕量級rpc

https://github.com/Tencent/mars -- weChat

https://www.lanindex.com/

https://github.com/Tencent/rapidjson -- rapidjson

http://rapidjson.org/zh-cn/index.html

muduo

muduo是一個高質量的Reactor網絡庫,採用one loop per thread + thread pool架構實現,代碼簡潔,邏輯清晰,是學習網絡編程的很好的典範。

http://blog.csdn.net/solstice --- muduo blog

https://github.com/chenshuo/muduo --- muduo官方boost版本

https://github.com/chenshuo/muduo/tree/cpp11 --- muduo官方C++11版本

https://github.com/chenshuo/muduo/tree/cpp98 --- muduo官方C++98版本

發布一個基於 Reactor 模式的 C++ 網絡庫

多線程伺服器的常用編程模型 --- oneloop per thread + threadpool

muduo庫整體架構簡析

http://blog.csdn.net/KangRoger/article/category/5679833 muduo源碼學習

http://www.cnblogs.com/peimin/category/548834.html muduo源碼學習

使用C++11改造muduo -- https://github.com/AlexStocks/muduo

發布一個改寫自muduo的C++網絡I/O庫 -- https://github.com/kimg-bo/kimgbo

開源網絡庫的分析libevent muduo nginx ...

C++仿造muduo實現的多線程網絡庫,github檢索關鍵詞"C++11 network"

https://github.com/loveyacper/ananas -- C++11寫的網絡庫和rpc

https://github.com/guangqianpeng/tinyev -- C++17寫的網絡庫

https://github.com/guangqianpeng/jrpc -- C++17寫的rpc

https://github.com/IronsDu/brynet -- C++11寫的網絡庫

https://github.com/IronsDu/gayrpc -- C++14/17寫的rpc

https://github.com/yedf/handy -- C++11寫的網絡庫

https://github.com/xiongziliang/ZLToolKit -- C++11寫的網絡庫,支持windows

https://github.com/xiongziliang/ZLMediaKit -- A lightweight RTSP, RTMP, WebSocket, HTTP server and client framework based on C++11

https://github.com/cpp-taskflow/cpp-taskflow -- Modern C++ Parallel Task Programming Library

HP-Socket

HP-Socket是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服務端組件、客戶端組件和Agent組件,廣泛適用於各種不同應用場景的 TCP/UDP/HTTP 通信系統,提供 C/C++、C#、Delphi、E(易語言)、Java、Python 等程式語言接口

https://github.com/ldcsaa/HP-Socket

https://gitee.com/ldcsaa/HP-Socket

https://www.oschina.net/p/hp-socket

https://www.cnblogs.com/ldcsaa

ACL

愛奇藝,鄭樹新,One advanced C/C++ library

https://github.com/acl-dev/acl

https://github.com/acl-dev/libfiber

https://blog.csdn.net/zsxxsz

http://zsxxsz.iteye.com/

https://github.com/freeeyes/PSS

熊萬平,網絡io框架

https://github.com/xwpcom/CoreLooper

cpp-netlib

http://cpp-netlib.org/

https://github.com/cpp-netlib

360 evpp

https://github.com/Qihoo360/evpp

https://github.com/Qihoo360/pika

libuv

https://github.com/libuv/libuv -- 源碼,cmake

https://nikhilm.github.io/uvbook/index.html -- 文檔

http://docs.libuv.org/en/v1.x/api.html -- api

http://docs.libuv.org/en/v1.x/guide.html -- user guide

https://github.com/nodejs/http-parser -- http,可以和libuv結合起來使用

https://github.com/libevent/libevent -- 競爭者

ec是基於libevet的C++11封裝

https://git.oschina.net/havesnag/ec

TCP 的那些事兒(上)

TCP 的那些事兒(下)

mysql連接池

c++ 實現資料庫連接池

資料庫連接池c++ (msyql) mysql connector c++ 的使用

基於Mysql Connector(C++)的資料庫連接池的實現

redis+mysql數據同步(協同)C/C++實現

https://github.com/zsummer/zsummerX

https://github.com/zsummer/log4z

多進程,多線程高性能消息隊列和鎖

https://github.com/cameron314/concurrentqueue

kcp https://github.com/skywind3000/kcp

kcp是一種可靠udp,是一套純算法的來保證udp包有序、不丟失。那麼問題來了,這說的不就是tcp嗎?為啥還要可靠udp這個東西,原因在於有很多場景對網絡延遲要求非常高,遊戲中的實時對戰就是這樣的場景,如果直接使用tcp延遲太高會很卡,如果直接使用udp會丟包,無序。kcp和tcp都會保證可靠,但問題時kcp為何在保證可靠的情況下比tcp快。tcp時很多年前設計的,在低延遲的場景下tcp並不能很好的勝任,kcp改進了tcp的不足:RTO翻倍vs不翻倍、快速重傳、延遲ACK vs 非延遲ACK、選擇性重傳 vs 全部重傳。換句話說,tcp的實現並編譯進了作業系統,而kcp是一套算法,基於udp傳輸,可以靈活的調整一些參數來提高傳輸速度,降低延遲。

-

多線程編程模型

在學習muduo網絡庫前,應該先熟悉一下多線程網絡服務編程模型。在6.6.2節介紹了11種方案。方案0到方案4用的是阻塞I/O。方案5到方案11用的都是非阻塞I/O。

方案0:accept+read/write

方案0不是並發模型,只是一個循環處理。用代碼表示的話,可以表示為:

while(true)


{


int fd=accept(……);


read(fd,……) or write(fd……);


close(fd);


}

一次只能處理一個連接,第一個連接處理完畢後,才可以進入下一次循環,否則阻塞在I/O的read或write上。

方案1 accept+fork

這是個並發模型,這個模型比較簡單,在accept後,fork一個子進程,在子進程處理連接。可以表示為:

while(true)


{


int fd=accept(linstenFd,……);


int pid=fork();


if(pid==0)//child


{


close(listenFd);


read/write(fd……);


close(fd);


}


//Parent


close(fd);


}

這個模型中要注意的是,要在子進程關閉監聽的fd,在父進程關閉到來連接的fd。

方案2 accept+thread

這個方案和方案1類似,只是這個方案中是通過新建了線程來處理連接,方案1是通過新建線程來處理連接。

void ProcessIO(void* arg)


{


int fd=*static_cast<int *>arg;


read/wire(fd,……);


close(fd);


}





void ProcessAccept()


{


while(true)


{


int fd=accept(……);


pthread_create(……, NULL, ProcessIO, &fd);


}


}


}

先調用ProcessAccept等待連接,如果有連接,則創建新線程來調用ProcessIO,把新建連接的fd傳給這個函數。

方案3 prefork

這個和方案1類似,只是先創建好進程。當有連接到來時,可以馬上使用這些進程。具體可以參考http://www.t086.com/code/apache2.2/mod/prefork.html

方案4 pre thread

這和方案2類似,先創建好線程,等連接到來時,省去了創建線程的開銷。

方案5 poll(reactor):非阻塞IO+IO復用

這個方案是基於I/O復用的select/poll/epoll;復用的是進程,不是I/O。這是一個單線程/進程的方案,在I/O事件到達後,直接在當前線程/進程處理I/O。單線程/進程的Reactor模式,在處理當前I/O事件時,如果有新的I/O事件到來,不能及時響應。這樣事件的優先級不能得到保證。

Lighttpd,libevent,libev採用這種方案。

方案6 reactor+thread-per-task

這個方案是為每一個I/O事件創建一個線程,在新建的線程中處理I/O事件。注意,這裡是為每個I/O事件創建一個線程,而不是為每個連接創建線程。這樣一來,每個新建線程處理的I/O事件的結果會有out-of-order的可能,即多次處理後的順序和請求順序未必一直了。

方案7 reactor+worker thread

為了避免方案6中的out-of-order的問題,在這個方案中,為每個連接創建一個線程。但是線程數目受限於CPU。

方案8 reactor+thread pool

這個方案是,在reactor線程中,等待I/O事件,當I/O事件到來時,在thread pool中取出一個線程(不是新創建)來處理I/O事件。

方案9 reactors in threadsmuduo和Netty採用的是這種方案。在一個main Reactor中負責accept,之後把建立的連接fd放到sub Reactor中,這個連接的所有操作都在sub Reactor中完成。這個方案的特點是one loop per thread,有多個thread。

方案10 reactors in process

這個是Nginx的方案,連接之間無交換時,這是很好的解決方案。Nginx每個工作進程都有一個event loop。

方案11 reactors+thread pool

這是方案8和方案9的混合體。即使用多個Reactor,有的負責accept,有的負責I/O事件的到來。再使用線程池,處理I/O事件。

更多的介紹請參見《Linux多線程服務端編程:使用muduo C++網絡庫》第3章。

1、必須用單線程的場合:程序需要fork;限制CPU佔有率;

2、單線程優缺點:簡單,但是事件沒有優先級處理機制;

----好書推薦---

Linux C/C++學習:

github源碼學習:redis,Nginx,mosquitto,skynet,teamtalk,libuv,libevent,muduo,evpp,網狐棋牌6603源碼,張小方easyMule,張小方filezilla,張小方flamingo,Gh0st,PCShare,鄭樹新acl,ananas-rpc,Tars,美圖twemproxy,zsummerX,log4z,libco,seastar

工具學習:cmake,keepalived/LVS,haproxy,CDN,kafka,log4xx,OpenResty,HBase,tengine

語言學習:lua,shell

書籍學習:

《Linux高性能伺服器編程》 -- 作者:遊雙http://download.csdn.net/download/analogous_love/9673008

《TCP/IP協議族》

《Netty權威指南(第2版)》

《Linux多線程服務端編程:使用muduo C++網絡庫》

《編程珠璣第2版·修訂版》

《編程珠璣(續)(修訂版)》

《Linux環境編程:從應用到內核》 -- Linux領域第一本將應用編程與內核實現相結合的圖書

《構建高可用Linux伺服器(第4版)》

《編程之美——微軟技術面試心得》

《編程之法:面試和算法心得》

《劍指OFFER:名企面試官精講典型編程題(第2版)》

《程式設計師代碼面試指南:IT名企算法與數據結構題目最優解》

《數據結構(C語言版)(第2版) 嚴蔚敏 李冬梅 吳偉民 (編著)》http://www.ryjiaoyu.com/book/details/3489

https://download.csdn.net/download/libaineu2004/10411905

《數據結構習題解析與實驗指導 李冬梅 張琪 (編著)》

http://www.bjfuacm.com/structure/

《數據結構與算法分析:C語言描述(原書第2版)》

《算法:C語言實現 (第1-4部分)基礎知識、數據結構、排序及搜索(原書第3版)》

《算法基礎:打開算法之門》《算法導論》

《妙趣橫生的算法(C語言實現) 第2版》

《程式設計師面試寶典(第5版)》

《深入理解計算機系統(第3版)》

作者:[美]W. Richard Stevens

《TCP/IP Illustrated,Volume 1》 -- TCP/IP詳解 卷1 協議

《Advanced Programming in the UNIX® Environment》 -- APUE,UNIX環境高級編程

《UNIX Network Programming》 -- UNP,UNIX網絡編程

被推薦爛了,書很厚,但只需要讀一小半:第1-7章;基礎,特別是要理解TCP的雙工特性.第14章;了解gather write/scatter read.第16章;這是本書最最重要的一章。第30章;也就是說,這麼厚的書,只需要讀10章足矣,現在有信心了嗎?

作者:(美)梅耶(Scott Meyers)四部曲:《Effective C++》 -- 有人說C++程式設計師可以分成兩類,讀過Effective C++的和沒讀過的。世界頂級C++大師Scott Meyers成名之作的第三版的確當得起這樣的評價。當您讀過這本書之後,就獲得了迅速提升自己C++功力的一個契機。

《More Effective C++》

《Effective STL》

《Effective modern C++》 -- 學習C++11隻需要這一本書,請耐心多讀幾遍。

作者:(美) Stanley B. Lippman著

《C++ Primer》《Essential C++》

《深度探索C++對象模型》

作者:[美]Martin Fowler 著

《重構 改善既有代碼的設計》

《UML精粹:標準對象建模語言簡明指南(第3版)》

作者:[美]Robert C. Martin 著

《代碼整潔之道》

《代碼整潔之道 程式設計師的職業素養》

MySQL學習:推薦幾本學習MySQL的好書

----好拿offer

網站學習:

https://leetcode.com/ -- LeetCode英文站點

https://leetcode-cn.com/ -- LeetCode中文站點

https://www.nowcoder.com/ 牛客網

http://zhedahht.blog.163.com/ 何海濤,《劍指Offer——名企面試官精講典型編程題》

https://github.com/zhedahht/CodingInterviewChinese2 何海濤GitHub,《劍指Offer——名企面試官精講典型編程題》配套源碼

https://www.julyedu.com/ 七月在線

https://blog.csdn.net/v_JULY_v 七月在線,《編程之法:面試和算法心得》作者

https://github.com/julycoding 七月在線GitHub

https://blog.csdn.net/v_july_v/article/details/6543438 程式設計師面試、算法研究、編程藝術、紅黑樹、機器學習5大系列集錦

https://blog.csdn.net/v_july_v/article/details/49302193 《編程之法:面試和算法心得》勘誤

https://github.com/arkingc/note/tree/master/interview 面經匯總

三、總結

這些都是很優秀的開原始碼和優秀的博主分享的文章,我們在前進的道路上,只有不斷汲取別人的經驗和自己的實踐,才能走的更遠~

四、往期精彩匯總

GDB 多線程之旅

肝!動態規劃

C++使用鎖注意事項

嘔心瀝血的遞歸

muduo源碼剖析學習總結

歡迎關注公眾號---後臺伺服器開發,更多精彩等你來看~

相關焦點

  • 不懂刷程序的新手看過來,實戰案例告訴你!
    不懂刷程序的新手看過來,實戰案例告訴你!
  • 飢友看過來
    服務端程序沒有遊戲界面,可以長期在電腦後臺運行。電腦不關,房間就一直在。所以如果你有雲伺服器(學生黨,雲服有優惠的樣子),跑個服務端程序,就可以一直開著房間。 饑荒正規遊戲平臺:Steam、TGP、QQ遊戲。
  • 想學ps的看過來!真!手把手免費教學,超簡單,看完保證輕鬆入門!
    寫在前面:隨著攝影和Adobe全家桶的普及,越來越多的人想學一學基礎的ps操作。
  • 命令看不懂直接給你解釋!
    kmdr工具最大的亮點就是,如果有一個長串命令你看不懂它的用法及意義,它將直接分模塊給你詳細解釋!這個功能真的是非常實用,因為我們在網上或書上難免會看到各種各樣的命令,如果你看不懂,那將永遠留下疑惑。而這個工具就像老師一樣,按模塊一個個告訴你命令各個部分的用法及意義,讓你一目了然!
  • 「資源盤點」今天后臺留言需要資源的看過來!
    12.3號,今天后臺留言需要資源看過來!
  • 不懂泡發魚膠看過來啦!八個步驟,泡出膠質滿滿的魚膠
    不懂魚膠如何泡發的朋友,看過來啦,看過來啦,看過來啦!不要再說自己泡發的不好啦,按照流程,絕對能泡出膠質滿滿的魚膠!魚膠品種不同,其具體的效果方面也略有不同,所以大家可以根據自己的情況選擇最適合自己的,並不是說越貴就越好,最適合自己的才是最好的。一、花膠淮山豬骨湯功效:具有益氣血,健脾胃作用。
  • 學架子鼓有什麼好處?適合什麼樣的孩子?怎麼學?
    但也有家長覺得,還是學鋼琴啊小提琴啊比較高雅;打鼓,在哪個樂團啊演出什麼的都不是主旋律,而且聲音又大,對孩子耳朵會不會有影響?常爸想來想去,還是請教一下專業人士為好,而且粉絲在後臺留言,也有不少爸爸媽媽在問關於孩子學架子鼓的一些問題,所以,就邀請了樂童樂人現代音樂藝術中心的創辦者李旭濤老師,請他來把這些家長們的問題疑惑解答清楚。
  • 我用 Java 8 寫了一段邏輯,同事直呼看不懂,你試試看..
    -> sd.getXxxTrackingInfo())            .map((t) -> new String[]{t.getTrackingNumber(), t.getTrackingLink()})            .orElse(null);}寫完之後,同事居然都直呼看不懂
  • i6價格公布啦,快點看過來!
    我已經迫不及待的要來寧波了聽說這裡山美水美人更美還好,上海寧波這麼近我的加速度,誰能追的上看我光2月19日當天,訂購任意車型,即可參與千元豪禮抽獎,什麼山地自行車、新秀麗背包2月19日當天參加活動,掃碼進群,即可參加現場不定時紅包派發,要相信我,小額的,我基本都不看一眼!
  • 命令看不懂直接給你解釋!
    kmdr 工具最大的亮點就是,如果有一個長串命令你看不懂它的用法及意義,它將直接分模塊給你詳細解釋!這個功能真的是非常實用,因為我們在網上或書上難免會看到各種各樣的命令,如果你看不懂,那將永遠留下疑惑。而這個工具就像老師一樣,按模塊一個個告訴你命令各個部分的用法及意義,讓你一目了然!
  • 如何成為一名黑客,成為黑客需要學什麼
    大部分人接觸黑客這個詞多是通過電影中的描述,覺得電影中的黑客動動手指就可以得到想要的一切,其實這多是電影對大眾的一種誤導,想要成為一名黑客需要學習大量的知識,這中間的過程是漫長而枯燥的,我相信沒有人會對著滿屏的代碼做調試會不覺得枯燥,那些能成為黑客的人之所以能堅持下來是因為真的熱愛,只有真正的熱愛某個東西才不會對重複的工作感到乏味 但光有熱愛只是基礎,如何成為一名黑客,或者說成為黑客需要學些什麼呢
  • 雲伺服器有什麼作用,雲伺服器是幹什麼的
    ,網站排名變得十分不穩定,一會上一會下的,因此我決定接下來的一段時間,努力為大家分享些有價值的內容,新手建站系列結束後,伺服器吧一直專注為大家推薦便宜云伺服器,目的是為了大家能花最少的錢,租用到更便宜的雲伺服器,但是我忽略了一個問題,那就是很多新手並不了解雲伺服器,所以接下來我會跟大家講講:雲伺服器有什麼作用,雲伺服器是幹什麼的,等等關於雲伺服器的知識。
  • 騰訊雲國外伺服器,2核4G伺服器,新用戶專享2400元三年
    租用國外伺服器的小夥伴們,快點看不過來,騰訊雲境外伺服器新用戶專享2核4G伺服器2400元三年,騰訊雲助力企業出海,用戶以虛擬主機的價格,即可享受獨立
  • 學Linux到底學什麼?
    不管是什麼方向的運維,工作內容基本都可以概括為兩句話。第一句話是:保障業務長期穩定運行。就是說,公司的伺服器,你不僅要學會搭建,而且要保證上面的業務要做到長期穩定運行,任何出一點點差錯,運維人員可能就要背這個鍋了。所以,運維人員經常自嘲自己是「背鍋俠」。
  • 2000G的黑客教程,小白該從哪裡開始學
    如果你什麼都不會零基礎的話,可以先學2015Cracer視頻教程,只要認真學了,前十課就會讓你受益匪淺,前提是要一邊學,一邊動手做,不然不去做永遠都是你認為會了
  • 深夜放題,是學霸就看過來
    準備考C語言的小夥伴看過來已經學過C語言的大夥伴看過來沒有學過C語言的 小夥伴們看過來部分專業C語言期末考將近上機考將近小教今天要放大招啦還沒上機考的小夥伴請注意小教要放機考程序題了考試的小夥伴就抓緊看題考過的就做幾道娛樂娛樂飛到嘴邊的肉
  • 繼萬字諫言後,Python Web 怎麼學,看這篇就夠了!
    之前那篇「萬字諫言,給那些想學Python的人,建議收藏後細看!」得到很多後臺讀者的留言,表示想再來點,甚至說萬字系?你知道萬字有多少麼?不要槓我根本沒有萬字!不叫萬字你能看到這篇良心嘛!那憋了3天了,今天放個web好了,相信很多讀者都有關注web開發,那我們今天就來聊聊web怎麼學,學什麼。2.
  • 學發音?有這個網站就夠了
    1、經常有人問一個問題:「西語怎麼入門呢?」
  • 英文文獻看不懂怎麼辦?
    無論是剛接觸科研,還是實驗室摸爬滾打幾年的老司機,都要看自己研究領域的文獻。那麼問題就來了,英文文獻看不懂怎麼辦?