導航:首頁 > 程序命令 > 程序員隔離方式

程序員隔離方式

發布時間:2022-11-20 17:40:24

㈠ 如何防止公司代碼外泄

樓主你好,先回答一下你的問題,然後我再談談我自己的想法。

研發型企業防範源代碼泄露,可以有以下方法:

管理層面

1、和員工簽署保密協議,可以一定程度上的防止員工主動泄密。

2、禁用USB介面,這種方法可以防止開發人員惡意拷貝代碼等數據,也可以防止U盤或硬碟的病毒擴散。

3、安裝監控軟體,監控員工的所有操作行為,對敏感操作(比如發送文件、拷貝至U盤)進行警報提醒。

4、安裝攝像頭,約束員工的行為。不過,監控類的約束需要和員工提前溝通好,避免引起抵觸情緒。

5、限制上網行為,比如不能連接互聯網,不過工作中難免會需要外部的信息,所以這種方式會給工作帶來一定的影響。

等等

技術層面

1、安裝加密軟體,對文檔本身進行保護,研發代碼等數據無論以何種方式、何種途徑泄露,始終是密文,從而保障企業核心機密不被非法竊取。

2、加水印,以桌面水印的形式在終端計算機桌面上顯示,防止通過拍照、截屏、列印的方式泄露信息。

3、實施網路隔離,很多企業將內網與互聯網進行隔離,將內部數據「困在」內網,同時也能夠有效屏蔽外部網路攻擊的風險。通過網路隔離的方式,可以有效防止內部核心代碼數據泄露。

4、使用雲桌面,它的成本比較低,使用靈活,開發人員的終端不再保存數據和存儲,實現代碼等數據不落地,保障信息安全。

等等

這些手段都能從一定程度上保護代碼,防止泄露,這些也是目前很多企業,尤其是大型企業會使用的主流方法。

再來談談我的建議。

以上有些方法容易造成員工抵觸情緒,比如監控,也有一些會影響工作效率,比如禁用USB介面、限制上網行為等。

對於開發人員來說,提升工作效率也是很重要的。目前,無論在科技研發型企業,還是金融、能源、工業、政府行業,很多都傾向於對網路實施隔離,這個算是目前最流行的方式了,有的企業不僅僅是內外網的隔離,較大規模的企業還可能對內部網路實施進一步的隔離,比如劃分為辦公網、研發網、生產網、測試網等,主要用來屏蔽不同部門、不同業務之間的違規數據交換。這是一種既能保護代碼,又不影響工作的手段。這里有一份《企業網路隔離建設指南》,有需要的可以參考一下。

程序員經常面對電腦,電腦的輻射要怎麼做才能夠免疫

引言:隨著經濟社會的不斷發展,人們的對自身健康保障意識也就有所提升。這也就使他們在日常生活中對健康常識增進了了解,從而使自己的健康得到有效保障。對於一些經常用電腦來工作的程序員來說,他們的健康也是與電腦有著密不可分的關系。如果他們想要有效的免疫電腦的輻射,應該怎麼做呢?不光是程序員,其他長時間使用電腦的工作者也是如此。

三 、注意事項

在我們日常生活中也有一些能夠有效抵禦電腦輻射的方法。首先,我們可以在自己平時所使用的電腦旁,放上幾盆仙人掌,而且我們也可以在每天的上午喝幾杯綠茶。因為這其中有著豐富的維生素A原,吸收後就能夠有效地消除電腦輻射的一些危害。如果需要時,也可以在使用電腦前做好護膚以及隔離。一些專業的人也會在顯示屏幕上安裝專用的濾色板。

㈢ 程序員新人周一優化一行代碼,周三被勸退

這周一,公司新來了一個同事,面試的時候表現得非常不錯,各種問題對答如流,老闆和我都倍感欣慰。

這么優秀的人,絕不能讓他浪費一分一秒,於是很快,我就發他了需求文檔、源碼,讓他先在本地熟悉一下業務和開發流程。

結果沒想到,周三大家一塊 review 代碼的時候就發現了問題,新來的同事直接把原來 @Transactional 優化成了這個鬼樣子:

就因為這一行代碼,老闆(當年也是一線互聯網大廠的好手)當場就發飆了,馬上就要勸退這位新同事,我就趕緊打圓場,畢竟自己面試的人,不看僧面看佛面,是吧?於是老闆答應我說再試用一個月看看。

會議結束後,我就趕緊讓新同事復習了一遍事務,以下是他自己做的總結,還是非常詳細的,分享出來給大家一點點參考和啟發。相信大家看完後就明白為什麼不能這樣優化 @Transactional 註解了,純屬畫蛇添足和亂用。

事務在邏輯上是一組操作, 要麼執行,要不都不執行 。主要是針對資料庫而言的,比如說 MySQL。

只要記住這一點,理解事務就很容易了。在 java 中,我們通常要在業務裡面處理多個事件,比如說編程喵有一個保存文章的方法,它除了要保存文章本身之外,還要保存文章對應的標簽,標簽和文章不在同一個表裡,但會通過在文章表裡(posts)保存標簽主鍵(tag_id)來關聯標簽表(tags):

那麼此時就需要開啟事務,保證文章表和標簽表中的數據保持同步,要麼都執行,要麼都不執行。

否則就有可能造成,文章保存成功了,但標簽保存失敗了,或者文章保存失敗了,標簽保存成功了——這些場景都不符合我們的預期。

為了保證事務是正確可靠的,在資料庫進行寫入或者更新操作時,就必須得表現出 ACID 的 4 個重要特性:

其中,事務隔離又分為 4 種不同的級別,包括:

需要格外注意的是: 事務能否生效,取決於資料庫引擎是否支持事務,MySQL 的 InnoDB 引擎是支持事務的,但 MyISAM 就不支持

1)編程式事務

編程式事務是指將事務管理代碼嵌入嵌入到業務代碼中,來控制事務的提交和回滾。

你比如說,使用 TransactionTemplate 來管理事務:

再比如說,使用 TransactionManager 來管理事務:

就編程式事務管理而言,Spring 更推薦使用 TransactionTemplate。

在編程式事務中,必須在每個業務操作中包含額外的事務管理代碼,就導致代碼看起來非常的臃腫,但對理解 Spring 的事務管理模型非常有幫助。

當然了,要想實現事務管理和業務代碼的抽離,就必須得用到 Spring 當中最關鍵最核心的技術之一,AOP,其本質是對方法前後進行攔截,然後在目標方法開始之前創建或者加入一個事務,執行完目標方法之後根據執行的情況提交或者回滾。

Spring 將事務管理的核心抽象為一個事務管理器(TransactionManager),它的源碼只有一個簡單的介面定義,屬於一個標記介面:

通過 PlatformTransactionManager 這個介面,Spring 為各個平台如 JDBC(DataSourceTransactionManager)、Hibernate(HibernateTransactionManager)、JPA(JpaTransactionManager)等都提供了對應的事務管理器,但是具體的實現就是各個平台自己的事情了。

參數 TransactionDefinition 和 @Transactional 註解是對應的,比如說 @Transactional 註解中定義的事務傳播行為、隔離級別、事務超時時間、事務是否只讀等屬性,在 TransactionDefinition 都可以找得到。

返回類型 TransactionStatus 主要用來存儲當前事務的一些狀態和數據,比如說事務資源(connection)、回滾狀態等。

TransactionDefinition.java:

Transactional.java

說到這,我們來詳細地說明一下 Spring 事務的傳播行為、事務的隔離級別、事務的超時時間、事務的只讀屬性,以及事務的回滾規則。

當事務方法被另外一個事務方法調用時,必須指定事務應該如何傳播 ,例如,方法可能繼續在當前事務中執行,也可以開啟一個新的事務,在自己的事務中執行。

TransactionDefinition 一共定義了 7 種事務傳播行為:

01、 PROPAGATION_REQUIRED

這也是 @Transactional 默認的事務傳播行為,指的是如果當前存在事務,則加入該事務;如果當前沒有事務,則創建一個新的事務。更確切地意思是:

這個傳播行為也最好理解,aMethod 調用了 bMethod,只要其中一個方法回滾,整個事務均回滾。

02、 PROPAGATION_REQUIRES_NEW

創建一個新的事務,如果當前存在事務,則把當前事務掛起。也就是說不管外部方法是否開啟事務,Propagation.REQUIRES_NEW 修飾的內部方法都會開啟自己的事務,且開啟的事務與外部的事務相互獨立,互不幹擾。

如果 aMethod()發生異常回滾,bMethod()不會跟著回滾,因為 bMethod()開啟了獨立的事務。但是,如果 bMethod()拋出了未被捕獲的異常並且這個異常滿足事務回滾規則的話,aMethod()同樣也會回滾。

03、 PROPAGATION_NESTED

如果當前存在事務,就在當前事務內執行;否則,就執行與 PROPAGATION_REQUIRED 類似的操作。

04、 PROPAGATION_MANDATORY

如果當前存在事務,則加入該事務;如果當前沒有事務,則拋出異常。

05、 PROPAGATION_SUPPORTS

如果當前存在事務,則加入該事務;如果當前沒有事務,則以非事務的方式繼續運行。

06、 PROPAGATION_NOT_SUPPORTED

以非事務方式運行,如果當前存在事務,則把當前事務掛起。

07、 PROPAGATION_NEVER

以非事務方式運行,如果當前存在事務,則拋出異常。

3、4、5、6、7 這 5 種事務傳播方式不常用,了解即可。

前面我們已經了解了資料庫的事務隔離級別,再來理解 Spring 的事務隔離級別就容易多了。

TransactionDefinition 中一共定義了 5 種事務隔離級別:

通常情況下,我們採用默認的隔離級別 ISOLATION_DEFAULT 就可以了,也就是交給資料庫來決定,可以通過 SELECT @@transaction_isolation; 命令來查看 MySql 的默認隔離級別,結果為 REPEATABLE-READ,也就是可重復讀。

事務超時,也就是指一個事務所允許執行的最長時間,如果在超時時間內還沒有完成的話,就自動回滾。

假如事務的執行時間格外的長,由於事務涉及到對資料庫的鎖定,就會導致長時間運行的事務佔用資料庫資源。

如果一個事務只是對資料庫執行讀操作,那麼該資料庫就可以利用事務的只讀屬性,採取優化措施,適用於多條資料庫查詢操作中。

這是因為 MySql(innodb)默認對每一個連接都啟用了 autocommit 模式,在該模式下,每一個發送到 MySql 伺服器的 SQL 語句都會在一個單獨的事務中進行處理,執行結束後會自動提交事務。

那如果我們給方法加上了 @Transactional 註解,那這個方法中所有的 SQL 都會放在一個事務里。否則,每條 SQL 都會單獨開啟一個事務,中間被其他事務修改了數據,都會實時讀取到。

有些情況下,當一次執行多條查詢語句時,需要保證數據一致性時,就需要啟用事務支持。否則上一條 SQL 查詢後,被其他用戶改變了數據,那麼下一個 SQL 查詢可能就會出現不一致的狀態。

默認情況下,事務只在出現運行時異常(Runtime Exception)時回滾,以及 Error,出現檢查異常(checked exception,需要主動捕獲處理或者向上拋出)時不回滾。

如果你想要回滾特定的異常類型的話,可以這樣設置:

以前,我們需要通過 XML 配置 Spring 來託管事務,有了 Spring Boot 之後,一切就變得更加簡單了,只需要在業務層添加事務註解( @Transactional )就可以快速開啟事務。

也就是說,我們只需要把焦點放在 @Transactional 註解上就可以了。

雖然 @Transactional 註解源碼中定義了很多屬性,但大多數時候,我都是採用默認配置,當然了,如果需要自定義的話,前面也都說明過了。

1)要在 public 方法上使用,在類的computeTransactionAttribute方法中有個判斷,如果目標方法不是public,則TransactionAttribute返回null,即不支持事務。

2)避免同一個類中調用 @Transactional 註解的方法,這樣會導致事務失效。

在測試之前,我們先把 Spring Boot 默認的日誌級別 info 調整為 debug,在 application.yml 文件中 修改:

然後,來看修改之前查到的數據:

開搞。在控制器中添加一個 update 介面,准備修改數據,打算把沉默王二的狗腿子修改為沉默王二的狗腿:

在 Service 中為方法加上 @Transactional 註解並拋出運行時異常:

按照我們的預期,當執行 save 保存數據後,因為出現了異常,所以事務要回滾。所以數據不會被修改。

在瀏覽器中輸入 http://localhost:8080/user/update 進行測試,注意查看日誌,可以確認事務起效了。

當我們把事務去掉,同樣拋出異常:

再次執行,發現雖然程序報錯了,但數據卻被更新了。

這也間接地證明,我們的 @Transactional 事務起效了。

看到這,是不是就明白為什麼新同事的優化純屬畫蛇添足/卵用了吧?

㈣ 程序員的工作環境是怎樣的

每個人職場人都希望在一個輕松、開心、干凈、舒適的環境裡面工作,這樣心情好工作起來自然效率高,但是這畢竟是理想狀態下的工作環境,當然現在絕大多數企業工作環境雖然達不到百分百,但至少有百分之六七十以上吧。

那麼對於程序員這種有點特殊的工種工作環境又是怎麼樣的呢?

程序員又被人們稱之為碼農,也有人調侃戲稱「程序猿」,程序員對工作環境往往需要有一張大的辦公桌,他們不僅用一台電腦在工作,有時候需要幾台電腦同時操作,而且遇到一些bug或者瓶頸的時候需要和同事協同工作,當然在硬體方面除了辦公桌要大外,還需要配置比較高的電腦,畢竟這是程序員最基本的工作工具,試想如果剛有靈感,結果電腦卡頓或者死機了,那有可能靈感頓時就消失了,所以他們大多數工作環境都擁有足夠大的辦公桌和高配置的電腦。

前面就提到了程序員是有點特殊的工種,因為他們往往加班到很晚,時常會通宵,這就和我們正常上班的時間上錯開了,他們往往白天睡覺,晚上工作,有時候為了打起精神工作,他們提神的方式各自不同,有抽煙的、有喝咖啡的、有聽歌的等等,大家可以想像這是什麼樣的工作環境嗎?但是程序員工作的時候,大多數情況下都需要安靜的環境,畢竟安靜能讓人更好的思考問題。

每個人對工作環境要求都不一樣,讓自己覺得舒服的環境是自己願意留在公司的原因之一吧,程序員也是一樣的。

大公司的程序員,工作環境基本上就是一個電腦版的「衡水中學」,每天就是開會寫代碼改代碼查代碼開會繼續循環往復,跟中學里每天就是拚命讀書刷題刷題讀書吃飯無味上廁所要跑一個樣。

硬體配置無需你考慮,肯定是夠你用。跟人的成本比起來,硬體就是個渣。

大公司的程序員工作比較穩定,每個人的分工是比較明確的,職業路徑也很明晰,越往上的職位對智商的要求越高,這點和靠情商往上升的工作還真有點不一樣。在程序員這個隊伍里拍馬屁搞關系基本沒啥用,你寫的代碼都無需用戶檢驗,自己一跑就知道成不成。這也是IT公司通常人際關系和氛圍都比較輕松且簡單直接的根本原因,特別適合那些不喜歡搞關系的同學去擼起袖子加油干。

如果你想在這個行業長期發展,智商一定要夠用,真的。有沒有基礎倒在其次,如果數學好更佳。有些業內大咖本身是學數學或物理這些靠智商吃飯的學科的。

小公司的程序員,尤其是那些非IT類小公司里的程序員工作壓力更大。面對不懂程序的銷售和老闆,還有極度貪心又不願多付費的客戶,需求三天兩頭變,界面是個人就可以提意見改,時間永遠是「明天就要」。他們覺得程序員比悟空辦法多,所以什麼要求都提得出來。能在小公司做出成績的程序員,真心讓人敬佩不已。

小公司的程序員是掌握公司核心機密最多的人,比老闆都掌握得多,所以通常他們的待遇也還過得去。另外他們一來二去把公司業務摸透了,出來自己乾的也不少,當然能不能幹成是另一回事。

其實程序員的工作環境真沒什麼要求,只要沒什麼干擾就行。學霸們在這里會找到十分熟悉的感覺,所以程序員之間以「同學」相稱的極多。

我是2015年本科畢業的,但是2014年就開始工作了,從程序員+運營的工作開始實習(其實也是看最後哪一個更合適就走哪一個方向)。

對於實習階段,因為當時待的是小公司,所以大家的配置都很一般。幾個主力程序員加上我這個實習的,工作用的都是windows筆記本,聯想的,除了我自己配的固態硬碟之外,很多都是機械硬碟在跑,沒有特別明確的代碼庫規范、沒有知識系統,交流全靠跑,有的是後端和前端一起干、前端和客服一起干,所以我兼職運營也是如此……平時要是不忙的話,那還沒什麼事兒,大家會閑聊扯淡,也算是其樂融融;但是要是忙起來,可能會突然加班到很晚——當然這種情況還是比較罕見的。

工作到了中型公司,跟以前的小公司就不在一個量級上了。這個時候主要的工作是後端開發,配置的電腦是聯想的ThinkPad,但不是最高配那種,仍然沒有固態硬碟,慢的要死。第一梯隊的程序員配置有雙顯示器、機械鍵盤、mac。我的話配置的是外接顯示器,座椅很一般,坐久了比較累。公司分工明確,辦公室跨越兩座樓,各個團隊都有自己的辦公室。有自己的wiki、定期站會、嚴格的代碼規范、安全規范。一般情況下主要是在解決各種bug,或者開發新系統。偶爾流量高峰的時候,會加班到一兩點,平常並不是特別忙,工作還是比較有序的。

其實想要招妹子進團隊的,因為我們團隊唯一的測試工程師長得真的一般,而且性格也很差……一個性格好長得好看的運營妹子真的能調動整個團隊的氣氛。

所以什麼機械鍵盤、Mac、外接多少顯示器、加多大固態硬碟、多好的人體工學座椅……這些都是假的,開發的團隊裡面有好看的妹子才真的是「好的開發環境」。

可以穿拖鞋?可以戴著耳機聽著歌?配備兩個顯示器?身邊總是圍繞這MM端茶遞水果?還是以上都不是,而是詩和遠方?

程序員,一個高薪卻嚴重亞 健康 的群體 。他們有著極客精神,瘋狂coding的時候可以廢寢忘食,但他們也追求精神自由,喜歡自由自在。對於這樣一個群體,良好而又恰到好處的工作環境顯得尤為重要。

1. 彈性上班制

常規企業的朝九晚五上班制度,說實話並不適合程序員一族,因為這種制度一定程度上扼殺了這個最需要差異性的群體的差異性,把程序員的Coding靈感等同於工廠流水線上機械手臂,希望按鈕一按下,靈感發動,按鈕再一按下,靈感結束。這是一種一廂情願的想法。

所以對於高層次的程序員群體,請不要在作息時間上嚴格限制他們,因為他們不是裝配工,有著獨一無二的個體差異性,有著不同的思維G點,他們需要差異性的時間作息來調整自己的最佳狀態,從而迸發激情和靈感。

2. 寬松的工作氛圍

程序員群體討厭管理,任何自上而下的所謂管理都容易引起程序員們的心理抵觸,特別是那種死板的、指令式的管理模式,尤其讓程序員們作嘔。

程序員們希望自己做的事情是出於內心的意願,那樣他們就會干勁十足,而不是來自於經理計劃文檔中那條冷冰冰的文字,哪怕是他們心裡意願的和經理的計劃本是同一件事。所以對於程序員群體的管理需要技巧,要化管理於無形,讓他們感覺不到管理的痕跡,讓他們感覺著做這些事情就是出自於他們自己的意願。

總結來說就是讓他們作為自己的管理者,而團隊的管理者所要做就是培養他們這種自管理的能力。

適度的壓力可以產生做事的動力,但長時間的持續的壓力卻是扼殺激情和創造力的罪魁禍首。壓力會讓程序員焦慮,同時也會造成低劣的設計和代碼實現,因為交付的壓力會讓程序員對匆忙設計出來的方案妥協,而不會持續的優化找到最優方案。而一系列看似微不足道的缺陷設計集合到一起,就會形成讓人意想不到的、不可控制的亂象。

所以,「快」不見得是好事,「慢」也不見得是壞事。

3. 鼓勵參與開源項目

開源項目社區的欣欣向榮,是一朵盛開的奇葩,無論怎麼贊譽都不為過。

一些著名的開源項目,例如linux,Apahce, openssl等等,數不勝數的優秀設計,給我們帶來了多少的驚喜,同時也催生了多少的商業公司。

參與到開源項目中,是一個程序員從初級走向高級、完善技術的最有效途徑之一。一些著名的開源項目,架構設計和Coding技巧上都屬上乘之作, 浸淫其中,受益匪淺。

其實以上三點不僅是對程序員群體,對任何一個職業的人來說都是適用的。再看下知乎上程序員們理想中的工作環境是怎樣的。

@蕭井陌:我讀書的時候就有一個執念,一定要找一家可以穿拖鞋背心大褲衩上班的公司(當然我不穿大褲衩),如果我找不到這樣的公司,說明我學得不好,所以我一直以來努力的目標似乎只是為了進一個能穿拖鞋的公司?哈哈哈哈。。。

@知乎用戶:我只想要2個顯示器

@知乎用戶:1.安靜,沒有人隨便喊你或者在你耳邊說話;2.絕對的自由,程序員都有一定的怪癖,比如我喜歡聽著搖滾樂寫代碼。這些都要被允許。3.溫度,氣味舒適的環境。

4.有個養眼的MM同事,大概是這樣的

嘿,箭頭方向那個哥們才是真正的程序員吧

5.獨立10M光釺線

@Indream Luo,軟體工程師:1.女多男少,人均年齡不到27;2.身處白雲山上,與廣東外語外貿大學一牆之隔;3.無邊界文化,有問題可以找任何人溝通,包括高層,如果你見得到;4. 健康 文化,加班有補休,提倡8小時,自建食堂和農場,買下巴馬泉眼特供礦泉水

@石磊

硬體:

1. 頂配的 MacBook Pro。

2. 上廁所不需要排隊。

與人相關:

1. 不會在開發到一半時被通知要重新討論功能,然後把以前做的東西全部推翻。

2. 沒有不必要的會議,必要的會議速戰速決。

3. 行政人事什麼的做事清爽高效,這樣不用在各種日常手續上浪費時間,只管寫代碼就好。

4. 同事們效率高、工作態度嚴肅、善於溝通、活潑有趣。

@張英鋒:最理想的工作環境應該是能幫助團隊沉下心來,開發出最好產品的環境。

1.上級對程序員工作的認可和尊重;

2.對所作的工作有自主權和決定權;

3.營造能讓程序員專注於工作的設施,比如大家都提到的安靜、以及各種提高生產率的硬體條件;

4.最後是公司是盈利的,最好是暴利,能持續提供更多福利。

@庄生:其實最重要的工作環境,還是有一幫靠譜的同事,真心的。可以術業有專攻,但是該你負責的你負責到底,保質保量,不要麻煩別人。

那你呢?你希望你的工作環境是怎樣的?

上聯:一個項目兩部電腦三餐盒飯只為四千工資搞得五臟俱損六神無主仍然七點起床八點開會處理九個漏洞十分辛苦 ;

下聯:十年編碼九年加班八面無光忙的七竅生煙到頭六親不認五體投地依舊四肢酸軟三更加班只為二個臭錢一生孤苦;

橫批:苦逼程序員。

程序員飄過
作為一名程序員的我可以很負責任的說:是的,工作環境就像問主圖片那樣,可能會稍微好點,我們公司都是中央空調,不用電風扇!

我在程序員的崗位上也有好幾年了,也待過幾家公司,其實就工作環境來說,程序員的工作環境還是不錯的,不用風吹日曬雨淋,而且是冬暖夏涼!和人們眼中的白領工作人員的工作環境是差不多的。

工作氛圍其實也是很好的,程序員在穿著方面大部分公司是沒有什麼太大要求,可以穿著自己喜歡的風格(腦補一下大褲衩配涼拖的程序員正在擼代碼),同事之間的交流也是很活躍的,所以程序員的苦逼之處不在工作環境,而是工作內容和壓力。

程序員分工:

1.純軟體工程師,就是只靠電腦吃飯的,設計包括但不僅限於---網頁、架構、UI、數據、運維、系統等等,整天與代碼打交道;

2.Firmware(分位)工程師,半軟半硬的工種,要焊板,要搭建環境,還要寫代碼維護代碼,演算法可能沒有純軟體工程師牛,但動手能力絕對強,涉及的知識面可能更廣。

本人就是後者,來看下我的桌面:

各個公司對於辦公環境都不一樣,國外都注重個人隱私,很多都是一個人一個封閉的房間。國內大部分就像圖中所示那樣,半隔開。也有 科技 公司,鼓勵大家敏捷開發,多溝通,開方式辦公

請忽略那些包含「安靜,優美,閑逸的辦公環境」的答案吧!

圖中的環境,只是正常普通公司的工作環境。

不一定是程序員的。

程序員的工作環境,因工作內容,導致需要很多屏幕。

而且電腦配置也需要很高。

每個人因面對的公司、自身能力等因素,都會導致工作環境的不一樣。

所以就有了工作環境好壞的區分。

如果你曾對著大海構思過某個介面,

在櫻花飄落的院落里調試過代碼,

那麼你還覺得在寫字間喝著咖啡對著三屏顯示器敲鍵盤是理想的環境嗎?

工作環境,還是得靠自己改變。

在程序者的不斷追求下,編程是可以和寫作一樣成為藝術創造過程,

那麼任何一個能夠激發出你靈感的時刻和環境都應該可以成為你的辦公環境。

資深碼農應邀回答這個問題。籠統來說,程序員的工作環境與圖中展現的差別不大。但根據工作屬性和所屬行業來講,還是有一些區別。
甲方和乙方的區別

我在剛畢業時進入了一家軟體外包公司,幾乎所有的工作都是在甲方所在地完成的。

因為甲方員工是公司的穩定員工,所以工位來講就要精緻一些,配備也要完善一些。一般都會是隔間,有抽屜、插座、文件架、座機、台式電腦,甚至還有床等等。

而我們作為乙方因為流動性大,人數也不固定,甲方公司不太可能為我們准備這些精緻的辦公位,一般只是拉幾張桌子拼湊起來,然後再接幾個線板,有時候靠椅都沒有,還得坐獨凳。

技術驅動和業務驅動的區別
現在任何一個互聯網公司,技術部門是必不可少的。但是有的公司會以業務為驅動,有的公司會以技術驅動業務。

以業務為驅動的公司就會優先考慮業務的發展,然後技術來輔助實現。我現在所在的就是這樣一家公司,這樣的公司技術部門就會非常的小,人員也會很少。這樣的公司程序員的工位大體上和整個公司的風格沒有太大的區別,因為人少,一般只有5-6個人,做技術的也喜歡安靜,所以一般位置會選擇靠近辦公室的角落。

以技術為驅動的公司會依靠自身技術實力結合行業發展,碰撞出一些具有競爭力的業務品種,並與業務部門配合來實現並推廣產品。這樣的公司技術人員起碼佔到50%以上,這樣的公司更有可能為程序員規劃一個單獨的大辦公室,與外界隔離。一方面是為技術人員提供安靜、舒適的辦公環境,另一方面也是盡量避免閑雜人等進出公司技術核心所在地。

以技術為驅動的公司往往技術實力比較突出,所以他們會為自己的技術團隊配備「駕駛艙」、小機房等設施。

就問題中的格子間來講,不管是什麼性質的公司,只要場地不是特別的擁擠,都會設計成格子間,這樣既保護了員工隱私也充分利用了辦公場地的空間。這並不是程序員特有的風格。

㈤ container程序員打的是什麼意思

container是很多框架裡面的一個布局容器,主要用來設置默認樣式的,比如前端框架bootstrap,後端框架layui等,項目代碼中都使用了這個容器。下面是軟體開發中的部分知識:

瀑布模型式就是是最典型的預見性的方法,嚴格遵循預先計劃的需求、分析、設計、編碼、測試的步驟順序進行。敏捷開發以用戶的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。

一、瀑布開發

瀑布模型式是最典型的預見性的方法,嚴格遵循預先計劃的需求、分析、設計、編碼、測試的步驟順序進行。步驟成果作為衡量進度的方法,例如需求規格,設計文檔,測試計劃和代碼審閱等等。

瀑布式的主要的問題是它的嚴格分級導致的自由度降低,項目早期即作出承諾導致對後期需求的變化難以調整,代價高昂。瀑布式方法在需求不明並且在項目進行過程中可能變化的情況下基本是不可行的。

需求隔離:由於各階段的人員只能接觸到自己工作范圍內的東西,所以對客戶需求的理解程度高低不等,開發人員更像是定義為流水線上的工人。

變更代價大:既然叫作瀑布,就意味著不應該走回頭路。否則如果出現返工,付出的代價會很大。需求變更,編碼人員會很強的抵觸情緒。

束縛創造性:由於強調文檔管理,所以管理人員會比較喜歡,但是他束縛了開發人員的創造性。

周期漫長:整個開發持續的生命周期很長,需求和設計的時間會耗費特別多,有時候會佔用三分之一甚至更多時間,這樣整個周期就會變長,大都在半年到一年左右的時間,所以更適合需求相對穩定的大項目。

二、敏捷軟體開發

敏捷軟體開發是基於敏捷宣言定義的價值觀和原則的一系列方法和實踐的總稱。自組織、跨職能團隊運用適合他們自身環境的實踐進行演進得出解決方案。

敏捷開發以用戶的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。

缺點:

很難進行准確的資源規劃,很難准確的定義「輕量的「或必要的文檔,很難把握整體產品的一致性,很難預測有限的終點,很難有效地進行度量。

希望能幫到你,謝謝!

㈥ 使用電腦前為什麼要先做系統.不做為什麼不能使用

系統(拼音] [xi tong]
systematic
a system ; a scheme
),根據中華大詞典的解釋,它有兩種解釋:
解釋一:同類事物按一定的關系組成的整體。
例:組織系統,灌溉系統。
解釋二:有條有理的。
例:系統學習,系統研究。
系統: ①有條理;有順序:系統知識|系統研究。②同類事物按一定的秩序和內部聯系組合而成的整體:循環系統|商業系統|組織系統|系統工程。③由要素組成的有機整體。與要素相互依存相互轉化,一系統相對較高一級系統時是一個要素(或子系統),而該要素通常又是較低一級的系統。系統最基本的特性是整體性,其功能是各組成要素在孤立狀態時所沒有的。它具有結構和功能在漲落作用下的穩定性,具有隨環境變化而改變其結構和功能的適應性,以及歷時性。④多細胞生物體內由幾種器官按一定順序完成一種或幾種生理功能的聯合體。如高等動物的呼吸系統包括鼻、咽、喉、氣管、支氣管和肺,能進行氣體交換。

計算機系統
[編輯本段]

以下是有關現在關於操作系統的文章。
我們口中的系統通常是指操作系統。

一、計算機軟體與操作系統

功能強大的計算機自從走進了人類的生活就發揮著越來越重要的作用,隨著時代的發展,計算機已與人們的日常生活息息相關。不能不說計算機軟體日新月異的發展在此起著關鍵作用。可以這么說,離開了軟體,計算機就成了廢銅爛鐵。

計算機機軟體大致可以分為兩類:系統軟體和應用軟體。

系統軟體用於管理計算機資源,並為應用軟體提供一個統一的平台。

應用軟體則在系統軟體的基礎上實現用戶所需要的功能。

而操作系統(Operation System)則是最基本的系統軟體,它控制計算機的所有資源關提供應用程序開發的基礎。

二、操作系統誕生的原因

計算機是由CPU、內存、磁碟、顯卡、音效卡等許許多多設備組成的,而且這些設備的廠商眾多,品種繁多,而且不同廠商生產的同種設備雖然完成同種功能,但是具體細節卻存在千差萬別。

為了正確地管理和使用這些設備來實現具體的應用,這樣程序員就得了解和掌握各種設備的工作原理。而且對於同種設備,由於不同的硬體廠商在實現細節上的差異使得程序員再次陷入了復雜的硬體控制的深淵!

必須找到一種方法使得程序員從苦海中脫離出來!多年的研究與發展終於使得這個願望成為現實。這個解決方法就是在硬體的基礎上載入一層軟體來管理整個系統。這個軟體通過設備驅動程序來與計算機硬體打交道,通過一系列的功能模塊將整個計算機硬體系統抽象成為一個公共、統一、開放的介面—虛擬機,從而使得程序員不必再陷入各種硬體系統的具體細節!

這一層軟體就是操作系統。

三、什麼是操作系統

操作系統是一個大型的軟體系統,其功能復雜,體系龐大。從不同的角度看的結果也不同,正是「橫看成嶺側成峰」,下面我們通過最典型的兩個角度來分析一下。

1.從程序員的角度看

正如前面所說的,如果沒有操作系統,程序員在開發軟體的時候就必須陷入復雜的硬體實現細節。程序員並不想涉足這個可怕的領域,而且大量的精力花費在這個重復的、沒有創造性的工作上也使得程序員無法集中精力放在更具有創造性的程序設計工作中去。程序員需要的是一種簡單的,高度抽象的可以與之打交道的設備。

將硬體細節與程序員隔離開來,這當然就是操作系統。

從這個角度看,操作系統的作用是為用戶提供一台等價的擴展機器,也稱虛擬機,它比底層硬體更容易編程。

2.從使用者的角度看

從使用者的角度來看,操作系統則用來管理一個復雜系統的各個部分。

操作系統負責在相互競爭的程序之間有序地控制對CPU、內存及其它I/O介面設備的分配。

比如說,假設在一台計算機上運行的三個程序試圖同時在同一台列印機上輸出計算結果。那麼頭幾行可能是程序1的輸出,下幾行是程序2的輸出,然後又是程序3的輸出等等。最終結果將是一團糟。這時,操作系統採用將列印輸出送到磁碟上的緩沖區的方法就可以避免這種混亂。在一個程序結束後,操作系統可以將暫存在磁碟上的文件送到列印機輸出。

從這種角度來看,操作系統則是系統的資源管理者。

四、操作系統發展歷史

下面我們結合計算機的發展歷史來回顧一下操作系統的發展歷程。

1.第一代計算機(1945-1955):真空管和插件板

40年代中期,美國哈佛大學、普林斯頓高等研究院、賓夕法尼亞大學的一些人使用數萬個真空管,構建了世界上第一台電子計算機。開啟計算機發展的歷史。這個時期的機器需要一個小組專門設計、製造、編程、操作、維護每台機器。程序設計使用機器語言,通過插板上的硬連線來控制其基本功能。

這個時候處於計算機發展的最初階段,連程序設計語言都還沒有出現,操作系統更是聞所未聞!

2.第二代計算機(1955-1965):晶體管和批處理系統

這個時期計算機越來越可靠,已從研究院中走出來,走進了商業應用。但這個時期的計算機主要完成各種科學計算,需要專門的操作人員維護,並且需要針對每次的計算任務進行編程。

第二代計算機主要用於科學與工程計算。使用FORTRAN與匯編語言編寫程序。在後期出現了操作系統的雛形:FMS(FORTRAN監控系統)和IBMSYS(IBM為7094機配備的操作系統)

3.第三代計算機(1965-1980):集成電路晶元和多道程序

60年代初,計算機廠商根據不同的應用分成了兩個計算機系列,一個針對科學計算,一個針對商業應用。

隨著計算機應用的深入,對統一兩種應用的計算機需求出現了。這時IBM公司試圖通過引入System/360來解決這個問題。

與這個計劃配套,IBM公司組織了OS/360操作系統的開發,然後復雜的需求,以及當時軟體工程水平低下使得OS/360的開發工作陷入了歷史以來最可怕的「軟體開發泥潭」,誕生了最著名的失敗論著----《神秘的人月》。

雖然這個開發計劃失敗了,但是這個願望卻成為了計算機廠商的目標。

此時,MIT、Bell Lab(貝爾實驗室)和通用電氣公司決定開發一種「公用計算機服務系統」----MULTICS,希望其能同時支持數百名分時用戶的一種機器。結果這個計劃的研製難度超出了所有人的預料,最後這個系統也以失敗結束。不過,MULTICS的思想卻為後來的操作系統很多提示。

60年代未,一位貝爾實驗室曾參加過MULTICS研製工作的計算機科學家Ken Thompson,在一台無人使用的PDP-7機器上開發出了一套簡化的、單用戶版的MULTICS。後來導致了UNIX操作系統的誕生。

目前UNIX操作系統主導了小型機、工作站以及其他市場。也是至今最有影響力的操作系統之一,而Linux也是UNIX系統的一種衍生,下一講我們將專門介紹一下UNIX的發展歷史。

4.第四代計算機(1980-今):個人計算機

隨著計算機技術的不斷更新與發展,計算機神奇般地闖入了人們的生活,現在以低廉的價格就可以獲得強大計算能力的計算機。

價格不再是阻攔計算機普及的門檻時,降低計算機的易用性就顯得十分重要!由於UNIX系統的本身特點,使得其不太適合於在運行在個人計算機上,這時就需要一種新的操作系統。

在這一歷史關鍵時候,IBM公司由於低估了PC機的市場,並未使用最大的力量角逐這一市場,這時Intel公司趁機進入,成為了當今微處理器的老大。同時善於抓住時機的微軟公司的總裁比爾·蓋茨適時地進入了這一領域,用購買來的CP/M搖身一變成為MS-DOS,並憑借其成為個人計算機操作系統領域的霸主。

雖然是蘋果公司在GUI方面先拔頭籌,但由於蘋果公司的不兼容、不開放的市場策略,未能擴大戰果,這時微軟又適時地進入了GUI方面,憑借WINDOWS系統再次稱雄!

五、操作系統構成

一般來說,操作系統由以下幾個部分組成:

1)進程調度子系統:

進程調度子系統決定哪個進程使用CPU,對進程進行調度、管理。

2)進程間通信子系統:

負責各個進程之間的通信。

3)內存管理子系統:

負責管理計算機內存。

4)設備管理子系統:

負責管理各種計算機外設,主要由設備驅動程序構成。

5)文件子系統:

負責管理磁碟上的各種文件、目錄!

6)網路子系統:

負責處理各種與網路有關的東西。

六、操作系統結構設計

操作系統有多種實現方法與設計思路,下面僅選取最有代表性的三種做一簡單的敘述。

1.整體式系統結構設計

這是最常用的一種組織方式,它常被譽為「大雜燴」,也可說,整體式系統結構就是「無結構」。

這種結構方式下,開發人員為了構造最終的目標操作系統程序,首先將一些獨立的過程,或包含過程的文件進行編譯,然後用鏈接程序將它們鏈接成為一個單獨的目標程序。

Linux操作系統就是採用整體式的系統結構設計。但其在此基礎上增加了一些形如動態模塊載入等方法來提高整體的靈活性,彌補整體式系統結構設計的不足。

2.層次式系統結構設計

這種方式則是對系統進行嚴格的分層,使得整個系統層次分明,等級森嚴!這種系統學術味道較濃!實際完全按照這種結構進行設計的操作系統不多,也沒有廣泛的應用。

可以這么說,現在的操作系統設計是在整體式系統結構與層次式系統結構設計中尋求平衡。

3.微內核系統結構設計

而微內核系統結構設計則是近幾年來出現的一種新的設計理念,最有代表性的操作系統有Mach和QNX。

微內核系統,顧名思義就是系統內核很小!比如說QNX的微內核只負責:

¨ 進程間的通信

¨ 低層的網路通信

¨ 進程調度

¨ 第一級中斷處理

七、操作系統橫向比較

計算機歷史中出現了許許多多的操作系統,然後大浪淘沙,無情地淘汰了許多,只留下一些經歷過市場考驗的:

1.桌面操作系統:

1)MSDOS:Intel x86系列的PC機上的最早的操作系統,微軟公司產品,曾經統治了這個領域,現在已逐漸被自家兄弟WINDOWS 9x系列所代替,現在除了一些低檔機外已不多見。

2)Windows 9x:微軟公司產品,從Windows 3.x發展而來,現在是基於Intel x86系列的PC機上的主要操作系統,也是現然個人電腦中裝機量最大的操作系統。面向桌面、面向個人用戶。

3)Mac OS:蘋果公司所有,界面友好,性能優異,但由於只能運行在蘋果公司自己的電腦上而發展有限。但由於蘋果電腦獨特的市場定位,現在仍存活良好。

4)linux:Linux是一種計算機操作系統和它的內核的名字。它也是自由軟體和開放源代碼發展中最著名的例子。
嚴格來講,Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的操作系統(也被稱為GNU/Linux)。基於這些組件的Linux軟體被稱為Linux發行版。一般來講,一個Linux發行套件包含大量的軟體,比如軟體開發工具,資料庫,Web伺服器(例如Apache),X Window,桌面環境(比如GNOME和KDE),辦公套件(比如OpenOffice.org),等等。
2.伺服器操作系統:

1)UNIX系列:UNIX可以說是源遠流長,是一個真正穩健、實用、強大的操作系統,但是由於眾多廠商在其基礎上開發了有自己特色的UNIX版本,所以影響了整體。在國外,UNIX系統可謂獨樹一幟,廣泛應用於科研、學校、金融等關鍵領域。但由於中國的計算機發展較為落後,UNIX系統的應用水平與國外相比有一定的滯後。

2)Windows NT系列:微軟公司產品,其利用Windows的友好的用戶界面的優勢打進伺服器操作系統市場。但其在整體性能、效率、穩定性上都與UNIX有一定差距,所以現在主要應用於中小企業市場。

3)Novell Netware系列:Novell公司產品,其以極適合於中小網路而著稱,在中國的證券行業市場佔有率極高,而且其產品特點鮮明,仍然是伺服器系統軟體中的長青樹。

系統 xìtǒng [system]∶按一定的關系組成的同類事物

人體系統
[編輯本段]
由各個器官按照一定的順序排列在一起,完成一項或多項生理活動的結構叫系統。

人體共有八大系統:運動系統、神經系統、內分泌系統、循環系統、呼吸系統、消化系統、泌尿系統、生殖系統。這些系統協調配合,使人體內各種復雜的生命活動能夠正常進行。

例如:口 - 咽 - 食管 - 胃 - 腸(小腸 - 大腸 - 直腸)- 肛門(其中包括:肝、胰和唾液腺等器官)
<口 - は - 食道 - 胃 - 腸(小腸 - 大腸 - 直腸)- 肛門を飲み込みます>
<The mouth - swallows - the esophagus - stomach - intestines (smallintestine - large intestine - rectum) - the anus >

系統:是指相互聯系又相互作用著的對象的有機組合。
系統:是由相互作用和相互依賴的若干組成部分結合而成的,具有特定功能的有機整體,而且這個有機整體又是它從屬的更大系統的組成部分

★八大系統的作用:
一、運動系統:運動系統由骨、軟骨、關節和骨骼肌等構成。起支架、保護和運動的作用。
二、神經系統:神經系統由神經元組成,是由中樞神經系統和遍布全身的周圍神經系統而組成。在體內起主導作用;一方面它控制和調節個器官、系統的活動;另一方面通過神經系統的分析與綜合,使人體對環境變化的刺激作出相應的反應,達到人體環境的統一。
三、內分泌系統:內分泌系統由多種腺體組成。通過分泌不同的激素(雄性、雌性激素、胰島素、腎上腺素)對整個人體的生長、發育、新陳代謝和生殖起到調節作用。
四、循環系統:循環系統由心臟、血管和淋巴管組成。它將消化系統的吸收的營養物質和肺吸收的氧送到全身器官的組織和細胞,同時將他們的代謝產物及Co2運送到腎、肺、皮膚排出體外。以保證人體的新陳代謝不斷。
五、呼吸系統:由呼吸道和肺組成。吸入新鮮空氣,通過肺泡內的氣體交換,使血液得到氧並排除Co2。
六、消化系統:有口腔、煙、食管、小腸、大腸等組成。是食物的消化和吸收的功能。供人體所需要的書屋和能量。
七、泌尿系統:由腎臟、輸尿管、膀胱、尿道等組成。排出體內多餘的水分及代謝產物或毒素。
八、生殖系統:產生生殖細胞,繁殖後代。

㈦ 大部分程序員為什麼工作時都要戴耳機

網友回答:作為一個在職程序員,我帶耳機的目的主要是為了防止周圍的人打擾我工作,其實我更喜歡安靜的工作環境,但是由於扁平化的管理,大家喜歡串座交流討論問題,偶爾會打擾到其他人工作。聽的內容不重要了,我一般聽一些流行歌曲,我有同事聽AKB48的歌和動漫歌曲,還旁若無人的唱出來

㈧ 程序員一天盯著電腦看不難受

其實是難受的,對身體的傷害還挺大。
是每天都對著電腦,電腦輻射對眼睛有危害。而且長期保持一個姿勢對頸椎也很不友好。
可以通過以下方式減小輻射:1.在電腦旁放上幾盆仙人掌,它可以有效地吸收輻射,如果在計算機旁放置一二盆仙人掌,可以幫助人體盡量少地吸收計算機所釋放出的輻射。因為仙人掌是在日照很強的地方生長,所以吸收輻射的能力特別強。2.上網前先做好護膚隔離,如使用珍珠膜,獨特的「南珠翠膜」在肌膚上形成一層0。001mm珍珠膜,可以有效防止污染環境的侵害和輻射,其次電腦使用後,臉上會吸附不少電磁輻射的顆粒,要及時用清水洗臉,這樣將使所受輻射減輕70%以上!3.操作電腦時最好在顯示屏上安一塊電腦專用濾色板以減輕輻射的危害,室內不要放置閑雜金屬物品,以免形成電磁波的再次發射。使用電腦時,要調整好屏幕的亮度,一般來說,屏幕亮度越大,電磁輻射越強,反之越小。不過,也不能調得太暗,以免因亮度太小而影響效果,且易造成眼睛疲勞。

㈨ 北京95後程序員遠程裝修鶴崗新家,雲監工這個方法可行嗎

我認為雲監工這個方法可行,可以節省時間,也可以節省人手。現在許多上班族都有自己固定工作,為了上班賺更多錢,根本沒有時間在現場看裝修,更不可能離職或者請長假,在這個時候雲監工或許是最好選擇。在裝修地方安裝攝像頭和離職、請長假對比,更加劃算也更加便捷。當攝像頭放在新家,即使不能二十四小時進行監工,許多工人也會擔心裝修主人會利用攝像頭回放功能看到自己偷懶,因此更加努力認真工作,所以我認為雲監工方法可行。

㈩ 程序員面試寶典之Mysql資料庫Innodb引擎的4個隔離級別

題目:請闡述Mysql Innodb引擎的4個隔離級別

難度:三星

面試頻率:五星

這道題真的是一道資料庫的高頻題,資料庫題除了索引的原理之外就是這道題的面試頻率最高。

1.Read uncommitted(讀未提交):,最低的隔離級別,可以一個事務讀到其他事務沒有提交的數據,也稱臟讀,這個隔離級別很少人用

2.Read committed(讀已提交):相比於讀未提交,這個隔離級別只能讀到其他事物已經提交了的數據,這個隔離級別用得比較多。但是不是Mysql默認的隔離級別

3.Repeatable read(可重復讀): 在讀已提交隔離級別中,2次讀取同一個變數如果其他事務修改了它的值,會讀到的不一樣。而在這個隔離級別中,顧名思義,一個事務開始讀了。多次讀到的值可以保證是一樣的

4.Serializable 序列化 在這個隔離級別下,所有的事務都將串列操作,是隔離級別最高的也是效率最低的,很少人用

面試官追問:Innodb引擎默認隔離級別是哪個

答:可重復讀

面試官追問:可重復讀的實現原理

答:使用了MVCC多版本控制(類似樂觀鎖),Innodb引擎會給每一行數據加一個版本號信息,當一個事務修改一個數據時會增加它的版本號+1,當一個事務開始的時候會緩存下此時的版本號,後面讀取的時候只會讀取這個版本號的數據,因此別的事務提交了修改數據的版本號大於它,因此不會被讀到

面試官追問:事務的隔離級別如何設置:

答:在Mysql命令行下調用命令 set global.tx_isolation,但這樣Mysql重啟失效,修改my.cnf來永久設置

面試官追問:可重讀讀有什麼問題

答:會出現幻讀,幻讀是指事務讀取到一個值無法准確繼續後續操作。例如讀取一個值,沒有則插入,但是等插入的時候其他事務已經插入了,這就會導致插入失敗,解決辦法:sql語句顯示加鎖 :select xxxx for update,其他事務修改數據則會阻塞

閱讀全文

與程序員隔離方式相關的資料

熱點內容
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:79
大智慧均線源碼 瀏覽:373
單片機排阻的作用 瀏覽:215
滴滴金融app被下架如何還款 瀏覽:212
jpg轉換成pdf免費軟體 瀏覽:743
范里安pdf 瀏覽:447
偽造pdf 瀏覽:79
能刪除android文件夾嗎 瀏覽:448