果你的 Java 應用程序有生成 Excel 電子表格的功能時,很可能你也會有需求同時生成 PDF 格式文件的需求。
可能得原因:
又或者,你可能需要創建和分發公司的報表,如:
GcExcel Java 是一個高性能的電子表格組件,它打包了所有必要的特性,以幫助用戶以有效的方式處理復雜的電子表格挑戰。該產品可以與 Java Web 應用程序和 Java 桌面應用程序一起使用,也可以部署在云平臺上。
為在 Java 編程中使用而開發的這個組件為開發人員提供了一個全面的 API,允許他們快速創建、操作、轉換和共享兼容 Microsoft excel 的電子表格,這些電子表格幾乎可以從任何應用程序、平臺或 IDE 訪問。它針對各種平臺,包括企業 Web 應用程序、Linux、Unix 和 Windows。因此可以作為所有電子表格需求的一站式解決方案。
當在 Mac 或者 Linux 使用 GcExcel 時,需要提前將導出 PDF 使用到的字體,放入 workbook.FontFolderPath 所指向的路徑中。
您可以參考如下代碼創建一個 Excel 電子表格。
public void CreateExcel() {
//初始化工作簿
Workbook wb=new Workbook();
IWorksheet sheet=wb.getWorksheets().get(0);
//設置數據
sheet.getRange("B3:C7").setValue(new Object[][]{
{"項目", "金額"},
{"收入 1", 2500},
{"收入 2", 1000},
{"收入 3", 250},
{"其他", 250},
});
sheet.getRange("B10:C23").setValue(new Object[][]{
{"項目", "金額"},
{"借款", 800},
{"電費", 120},
{"天然氣", 50},
{"話費", 45},
{"生活用品", 500},
{"車貸", 273},
{"汽車費用", 120},
{"助學貸款", 50},
{"信用卡", 100},
{"車險", 78},
{"個人醫保", 50},
{"娛樂", 100},
{"雜項", 50},
});
sheet.getRange("B2:C2").merge();
sheet.getRange("B2").setValue("月收入");
sheet.getRange("B2").setValue("月收入");
sheet.getRange("B9:C9").merge();
sheet.getRange("B9").setValue("月花銷");
sheet.getRange("E2:G2").merge();
sheet.getRange("E2").setValue("收支百分比");
sheet.getRange("E5:G5").merge();
sheet.getRange("E5").setValue("概要");
sheet.getRange("E3:F3").merge();
sheet.getRange("E9").setValue("平衡");
sheet.getRange("E6").setValue("總計月收入");
sheet.getRange("E6:F6").merge();
sheet.getRange("E7").setValue("總計月開銷");
sheet.getRange("E7:F7").merge();
// 設置行高列寬
sheet.setStandardHeight(26.25);
sheet.setStandardWidth(8.43);
sheet.getRange("2:24").setRowHeight(27);
sheet.getRange("A:A").setColumnWidth(2.855);
sheet.getRange("B:B").setColumnWidth(33.285);
sheet.getRange("C:C").setColumnWidth(25.57);
sheet.getRange("D:D").setColumnWidth(1);
sheet.getRange("E:E").setColumnWidth(25.57);
sheet.getRange("F:F").setColumnWidth(14.285);
sheet.getRange("G:G").setColumnWidth(11);
//添加表格
ITable incomeTable=sheet.getTables().add(sheet.getRange("B3:C7"), true);
incomeTable.setName("tb1Income");
incomeTable.setTableStyle(wb.getTableStyles().get("TableStyleMedium4"));
ITable expensesTable=sheet.getTables().add(sheet.getRange("B10:C23"), true);
expensesTable.setName("tb1Expenses");
expensesTable.setTableStyle(wb.getTableStyles().get("TableStyleMedium4"));
//添加公式
sheet.getNames().add("TotalMonthlyIncome", "=SUM(tb1Income[金額])");
sheet.getNames().add("TotalMonthlyExpenses", "=SUM(tb1Expenses[金額])");
sheet.getRange("E3").setFormula("=TotalMonthlyExpenses");
sheet.getRange("G3").setFormula("=TotalMonthlyExpenses/TotalMonthlyIncome");
sheet.getRange("G3").setStyle(wb.getStyles().get("Percent"));
sheet.getRange("G6").setFormula("=TotalMonthlyIncome");
sheet.getRange("G7").setFormula("=TotalMonthlyExpenses");
sheet.getRange("G9").setFormula("=TotalMonthlyIncome-TotalMonthlyExpenses");
//添加條件格式
IDataBar dataBar=sheet.getRange("E3").getFormatConditions().addDatabar();
dataBar.getMinPoint().setType(ConditionValueTypes.Number);
dataBar.getMinPoint().setValue(1);
dataBar.getMaxPoint().setType(ConditionValueTypes.Number);
dataBar.getMaxPoint().setValue("=TotalMonthlyIncome");
dataBar.setBarFillType(DataBarFillType.Gradient);
dataBar.getBarColor().setColor(Color.GetRed());
dataBar.setShowValue(false);
//添加圖表
IShape shape=sheet.getShapes().addChart(ChartType.ColumnClustered, 370, 250, 250, 200);
shape.getChart().getSeriesCollection().add(sheet.getRange("E6:G7"), RowCol.Columns);
shape.getChart().getChartTitle().setText("收支圖");
shape.getChart().getSeriesCollection().get(0).delete();
//添加樣式
IStyle currencyStyle=wb.getStyles().get("Currency");
currencyStyle.setIncludeAlignment(true);
currencyStyle.setHorizontalAlignment(HorizontalAlignment.Left);
currencyStyle.setVerticalAlignment(VerticalAlignment.Bottom);
currencyStyle.setNumberFormat("$#,##0.00");
IStyle heading1Style=wb.getStyles().get("Heading 1");
heading1Style.setIncludeAlignment(true);
heading1Style.setHorizontalAlignment(HorizontalAlignment.Center);
heading1Style.setVerticalAlignment(VerticalAlignment.Center);
heading1Style.getFont().setName("SimSun");
heading1Style.getFont().setBold(true);
heading1Style.getFont().setSize(11);
heading1Style.getFont().setColor(Color.GetWhite());
heading1Style.setIncludeBorder(false);
heading1Style.setIncludePatterns(true);
heading1Style.getInterior().setColor(Color.FromArgb(51, 0, 102));
sheet.getSheetView().setDisplayGridlines(false);
sheet.getRange("B2, B9, E2, E5, E9:G9").setStyle(heading1Style);
sheet.getRange("C4:C7, C11:C23, G6:G7, G9").setStyle(currencyStyle);
sheet.getRange("E6:G6, E7:G7").setStyle(wb.getStyles().get("Total"));
//保存電子表格
wb.save("output/spreadSheet.xlsx");
}
執行完代碼后,您將得到如下圖一樣的 Excel 電子表格。
在步驟一中,我們使用 GcExcel 工作簿創建了一份 Excel 電子表格,并且把它保存成為 Excel 文件。同時,您也可以直接將工作簿保存成為 PDF 文件,而不保存為 Excel 文件。
wb.save("output/simpleBudget.pdf");
導出后,效果如下,PDF 會包含兩頁。
請注意,如果您想把整個工作表打印在一頁,您可以通過工作表上的 PageSetup 類設置額外的選項。
sheet.getPageSetup().setOrientation(PageOrientation.Landscape);
sheet.getPageSetup().setIsPercentScale(false);
sheet.getPageSetup().setFitToPagesWide(1);
sheet.getPageSetup().setFitToPagesTall(1);
wb.save("output/simpleBudget.pdf");
導出的 PDF 看起來如下:
如果您希望把已有的 Excel 文件(Excel,GcExcel 或者 其他第三方工具創建的 Excel 文件)轉換為 PDF 文件,您只需要跟隨第三步使用 GcExcel 即可滿足需求。
假設您想把一個銷售發票跟蹤表轉換成 PDF。
請按如下步驟轉換:
Workbook wb=new com.grapecity.documents.excel.Workbook();
wb.open("resources/銷售發票跟蹤表.xlsx");
for(IWorksheet sheet : wb.getWorksheets()){
sheet.getPageSetup().setOrientation(PageOrientation.Landscape);
sheet.getPageSetup().setIsPercentScale(false);
sheet.getPageSetup().setFitToPagesWide(1);
sheet.getPageSetup().setFitToPagesTall(1);
}
wb.save("output/銷售發票跟蹤表.pdf");
導出的 PDF 文件如下圖
GcExcel 中支持的導出 PDF 功能如下:
獲取在 Java 中更多關于將 Excel 轉換為 PDF 的信息,請訪問葡萄城官網技術博客。
欲善其事,必先利其器,工具永遠都是用來解決問題的,沒必要為了工具而工具,一切工具都是為了能快速準確的完成工作和學習任務而服務。
本文記錄 MacBook 整個配置過程,供新入手MacBook和覺得MacBook比較難用的同學參考。
筆記本電腦的特點是攜帶方便,缺點是屏幕太小,因此你首先需要再申請領用一個外接顯示器,多一個屏幕會大大減少你切換應用程序的次數,顯著提升你的工作效率,別忘了同時申請一個Mini DP轉VGA的轉接頭用于連接顯示器。為了配合多顯示器,后面會推薦一個軟件來管理多顯示器窗口。
如果你資金寬裕,可以買個機械鍵盤和無線鼠標,進一步提升工作效率。
2.1 將功能鍵(F1-F12)設置為標準的功能鍵
MacBook鍵盤最上面一排的功能鍵(F1-F12)默認是系統亮度和聲音之類的快捷設置,當MacBook作為你的娛樂電腦時,這樣的默認設置是非常方便的,但是對于將MacBook作為工作電腦而且需要頻繁使用功能鍵(F1-F12)的人,最好將功能鍵(F1-F12)的行為設置為標準的功能鍵。
首先打開System Preferences,點擊Keyboard圖標,勾選上Use all F1, F2, etc. keys as standard function keys。以后如果你要調節音量,就按住鍵盤左下角的fn鍵再按F11或者F12。
2.2 設置Trackpad(觸摸板)輕觸為單擊
當你首次使用MacBook,是否會覺得觸摸板一點都不順滑?那是因為你需要做如下設置。
打開System Preferences,點擊Trackpad圖標,勾選Tap to click選項,現在手指輕輕一碰觸摸板,就達到鼠標單擊的順滑效果。
2.3 將Dock??吭谄聊蛔筮?/strong>
為什么要將Dock停靠在屏幕左邊?MacBook的屏幕是一個長方形,如果你將Dock放在下面,那么屏幕的可用寬度就會減少,另外人眼閱讀時的順序是從左往右,因此Dock放在左邊更適合將MacBook作為工作電腦的人。
打開System Preferences,點擊Dock圖標,
2.4 全鍵盤控制模式
全鍵盤控制模式是什么? 舉一個例子,如下圖所示,我正在寫一個文檔,此文檔還沒有保存,也沒有文件名,如果不不小心點了關閉按鈕,將會彈出一個對話框:
當前,[Save]按鈕處于默認激活狀態,按回車將會彈出保存對話框。但是如果我不想保存呢? 只能通過鼠標或者觸摸板來移動光標后點擊[Don t Save]來取消保存。那我能不能通過鍵盤控制光標激活[Don t Save]按鈕呢? 答案是肯定的,做一個簡單設置就好。
如圖,首先打開System Preferences,點擊Keyboard圖標,選擇Shortcuts這個Tab, 選中All controls
現在當我再次試圖關閉一個未保存的文件時,新彈出的對話框如下,有了些許變化,在[Don t Save]按鈕上多了一個藍色的外框,當你按鍵盤上的tab鍵的時候,藍色的外框會在3個按鈕間切換。 假設現在藍色的外框在[Don t Save]按鈕上,你按下回車,卻發現系統依然進入了保存文件對話框,為什么藍色的外框不起作用呢?那是因為藍色的外框選中的按鈕是由空格鍵觸發的,當你按下空格鍵,系統就會不保存文件直接退出。 這樣當你不方便使用鼠標和觸摸板的時候,可以更快速的和你的MacBook交互。
2.5 快速鎖定屏幕
如果你長時間離開電腦,最好鎖定你的屏幕,以防止數據泄露。 那如何快速的鎖定你的MacBook呢? 答案是只需要一摸觸摸板或者一甩鼠標就可以了。
現在當你離開電腦前時,記得一摸觸摸板或者一甩鼠標將光標快速的移到屏幕的右下角,MacBook將立刻進入Screen Saver模式并且需要密碼才能進入桌面。
請查看這個文檔(https://support.apple.com/zh-cn/HT201236),學習系統快捷鍵,適當使用快捷鍵將會提升你的工作效率。
4.1 中文輸入法
系統自帶的輸入法不是很好用,推薦安裝搜狗輸入法或者RIME輸入法。安裝完成后,打開System Preferences,選擇Keyboard,切換到Shortcuts這個Tab下,勾選Select the previous input source,并點擊上述文字后面的空白處,設置快捷鍵為Ctrl+Space(即如圖所示的^Space)。
SizeUp快速解決這樣的需求,該軟件可以永久免費試用,下載安裝后打開SizeUp,再打開旺旺,快捷鍵按下control+option+command + M,則旺旺就會立即進入全屏模式。
然而大部分情況下,你會看到如下這個提示,這是因為SizeUp需要你的授權才能控制窗口。
直接點擊Open System Preferences或者打開System Preferences,點擊Security & Privacy圖標,在PrivacyTab內,點擊Accessibility,然后將SizeUp加到右邊的列表里面。(提示:你可能需要先點擊右下角的黃色鎖,輸入密碼后才能編輯右邊的列表。)
如果你此時接上了外接顯示器,快捷鍵按下control+option + 方向鍵右鍵,則當前左邊顯示器激活的最前端窗口將被立即發送到右邊的顯示器。
下面列舉一些SizeUp常用的快捷鍵,更多的快捷鍵和使用方式請查詢其官方網站。
4.3 查找文件和應用程序以及無限想象力 - Alfred
如果你曾經使用過MacBook,你應該接觸過Spotlight,就是屏幕中間彈出一個長條輸入框,你輸入文件名或者應用程序名,Spotlight將模糊查找到對應的候選項,按回車快速的打開你需要的文件或程序。
Alfred的能力遠遠超過了Spotlight, 你可以直接下載免費版安裝使用,Alfred另外還提供了更強大的工作流(Workflows)和剪切板(Clipboard)管理等高級功能,需要購買Powerpack。對于日常的操作,免費版已經足夠使用了。
因為Alfred可以完全取代Spotlight,下面先刪除Spotlight占用的快捷鍵command + 空格,以供Alfred將來使用。
打開System Preferences,選擇Keyboard,切換到Shortcuts這個Tab下,點擊Spotlight,取消對應的2個快捷鍵設置。
打開Alfred,在菜單欄點擊Alfred圖標,打開Preferences...
如下圖所示,設置Alfred的快捷鍵為command + 空格
現在按下快捷鍵command + 空格,輸入dash,則Alfred不區分大小寫的將所有包含dash的應用程序,文檔以及歷史網址都列出來了,如下圖所示,回車打開Dash,command+2打開本Dashboard,你還可以移動鍵盤上下鍵或者光標來選擇目標。
更多關于Alfred的使用方式和無限想象力,請參考官方網站或者網上現有的大量的教程。
下面簡單演示一下剪切板管理和廠內查人工作流的使用。如下圖所示,我使用快捷鍵打開剪切板管理器,列出來我最近復制過的文本片段,我可以快速的選取這些文本片段或者輸入部分字符來查找
4.4 聰明又美麗的日歷 -- Fantastical 2
打開Fantastical 2的網站,你一定會被她漂亮的外表所吸引,最可貴的是Fantastical還很聰明,當你在日歷里面新建一個提醒的時候,輸入如下內容“HTML training at 7:30pm tomorrow alert 5 min”, 則Fantastical會自動將日期設置為明天,然后將開始時間設置為晚上7點半,并且提前5分鐘提醒,是不是很聰明?
4.5 來杯免費咖啡 -- Caffeine
今天下午給大老板和重要客戶演示PPT,你仿佛看到了升職加薪走上人生巔峰,當你打開MacBook接上投影儀,口若懸河的講解,突然MacBook進入休眠模式了,畫面太美了,我不敢想了。
你應該立刻安裝這款免費的良心軟件---Caffeine,設置開機啟動,點一下狀態欄的咖啡杯圖標,當咖啡是滿的時候,MacBook將不會進入休眠模式,再點一下咖啡杯空了就正常休眠,我默認設置開機啟動,咖啡杯保持滿滿的狀態。
4.6 快速切換和打開應用程序 -- Manico
MacBook系統默認設置了一個快捷鍵來顯示當前運行中的應用程序,同時按下tab + command,將看到如下圖的樣式:
如果你想要卻換到Firefox,需要再按一下tab,如果要切換到日歷,需要按兩下‘tab’,如果一次性打開10幾個應用程序,你經常需要按十幾下tab才能卻換到想要的程序。
Manico專為這個場景而設計,安裝好后打開,默認快捷鍵是按住option,如圖所示,此時按下數字7就能快速打開編號為7的地圖。
另外,推薦設置Manico使用左手邊的字母加數字做索引,方便僅僅用左手就能快速切換應用程序。在菜單欄點擊Manico圖標,打開Preferences..., 在AppearanceTab里面,選擇Uses left hand area和Use numeric and alphabet。
4.7 隨心所欲的復制粘貼以及無限想象 -- PopClip
這些重復的操作模式都是可以簡化的,你唯一需要的就是PopClip,當你選中一段文字(如下圖,選中“當日收益”),PopClip就會彈出來一個快捷操作欄,你可以復制,剪切或者粘貼,更為強大的是,PopClip提供了很多免費的插件,例如使用指定的搜索引擎搜索選中的文字,或者選中英文單詞做大小寫轉換等等。
需要注意的是,PopClip需要你的授權才能彈出快捷狀態欄,直接點擊Open System Preferences或者打開System Preferences,點擊Security & Privacy圖標,在PrivacyTab內,點擊Accessibility,然后將PopClip加到右邊的列表里面并且勾選前面的checkbook。(提示:你可能需要先點擊右下角的黃色鎖,輸入密碼后才能編輯右邊的列表。)
4.8 增強資源管理器 -- XtraFinder
MacBook自帶的資源管理器(Finder)已經可以滿足一般的需要,但是當你有大量文件維護操作后,你就需要一個更強大的Finder。XtraFinder完全集成到Finder里面,你根本感覺不出它是一個第三方的應用程序,同時還提供很多增強特性,比如:
4.9 隨心所欲的全鍵盤控制 - Shortcat
在系統設置里面,我介紹了全鍵盤控制模式,但是此模式只能做簡單的按鈕控制,無法達到隨心所欲的控制。下面介紹一款比較geek的軟件,Shortcat幫助你完全使用鍵盤來控制系統,供有鍵盤強迫癥的同學使用。
4.10 來杯雞尾酒 -- Bartender
如果你看到這里,相信你已經被我推(hu)薦(you)的安裝了一排軟件,你的系統狀態欄已經人滿為患,有時候會因為當前激活的應用程序的菜單比較多擋住你要點擊的狀態欄圖標,這個時候你需要一個酒保來幫你調理一下狀態欄,Bartender將是我推薦的最后一個日常使用的App,你可以自定義隱藏某些不常用的狀態欄圖標,特別適合處女座強迫癥。
4.11 快速進入Shell
go2shell是一個對開發者來說非常有用的app, 使用它可以在Finder里快速進入shell環境.
安裝好以后, 打開Finder, 點擊Finder上的圖標即可進入terminal:
4.12 快速錄屏--QuickTimePlayer
QuickTime Player是一個自帶的錄屏軟件, 你可以用它來錄制視屏,音頻,以及屏幕操作. 對于開發者, 可以用它來記錄屏幕操作, 做成動態圖或視頻, 供其它人學習; 對于普通工作者, 可以用QuickTime Player錄制PPT講座視頻.
4.13 好用的截屏工具-Snip
使用過QQ的朋友肯定用過上面的自帶截圖功能,非常好用, 支持添加圈,點,箭頭甚至文字, 只要打開QQ, 任何時候都可以通過Ctrl+Command+a來截圖, 但是本人平時不太常使用QQ, 截屏功能又非常常用,怎么辦呢? 騰訊很貼心地把QQ里的截圖功能完整地拆了出來, 成了一個新的App--Snip.
Snip完整地繼承了QQ里截圖功能, 設置為開機啟動后, 任何時候都可以通過相同的快捷鍵--Ctrl+Command+a來截圖, 此外,快捷鍵可以手動修改:
終于到了開發環境配置階段,在配置開發環境前,建議先將OS X系統升級到最新版,同時去Mac App Store下載最新版的Xcode,然后使用下面的命令安裝Xcode command line tools,這將為你安裝很多終端下面常用的命令,將來很可能會使用到:
xcode-select --install
5.1 命令行終端Terminal
在用戶界面沒有發明前,終端Terminal曾經是計算機的唯一交互方式,就算到了今天,很多服務器仍然只提供終端登陸來操作,作為開發測試運維相關人員,在日常工作中合理使用終端將大大提高工作效率。
5.1.1 替換系統默認Shell -- Oh My ZSH!
Bash作為大多數系統默認安裝的Shell,大家都多少有所接觸,Zsh和Bash類似都是一個Shell,但是Zsh更注重用戶體驗和與人的交互,OS X默認也安裝好了Zsh,然而你想自己從頭開始配置一個順手的Zsh是比較浪費時間的,有人已經幫我們配置好了,這個流行的Zsh配置叫---Oh My ZSH!,直觀的效果如下圖所示,代碼開源在github。
Mac OS X默認已經安裝好了Zsh,你可以打開終端,輸入zsh --version來確認,如果沒有安裝,請參考這個文檔(https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)。
打開終端輸入下面的命令,切換默認Shell為Zsh:
chsh -s /bin/zsh
關閉終端重新打開后,你將默認使用zsh作為終端Shell。然而你會發現,終端并沒有變得多酷炫,接著往下走,安裝Oh My ZSH!
打開終端輸入下面的命令:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
耐心等待一會兒,然后你就會發現你的終端變成了彩色的了。
你可以修改終端的Profile,選擇深色背景profile,這樣就比較炫酷了。如果你對默認的Oh My ZSH的配色不滿意,請參考這里找到你喜歡的配色。
5.1.2 替換系統默認終端 -- iTerm 2
如果你經常使用終端,那么推薦你使用iTerm 2來替代系統自帶的終端。關于iTerm 2的特性,請看這里。
這里我只介紹一個小技巧,我想設置一個快捷鍵假設為F12,在任意場合,我按一下快捷鍵F12就彈出終端,輸入一些命令執行后,再按一下F12終端就自動隱藏,這對經常使用終端的人,例如經常ssh連接服務器的人來說實在太方便了。
設置過程如下:
打開System Preferences,選擇Keyboard,切換到Shortcuts這個Tab下,點擊Mission Control,取消對應F12的快捷鍵。
再切換到WindowTab下,將Style,Screen和Space這3個值設置和下圖一樣。
再切換到KeysTab下,設置如下圖所示的HotkeyF12。
現在你按下F12,就立即得到一個占滿全屏的黑色命令行終端,再按一下F12隱藏終端,非常的方便。
5.2 終端下的命令管理 -- Homebrew
Mac App Store你一定非常熟悉了,它可以幫你下載和安裝大部分常見的軟件。
在終端下,我們也需要一個App Store一樣的管理程序,當你需要安裝某個終端下的新命令的時候,這個程序可以幫助我們自動下載該命令以及相關的依賴,甚至在下載以后做必要的編譯和環境設置。
Homebrew就是這樣一款終端下的命令程序包管理器,安裝非常簡單,復制如下命令在終端下運行,按回車并輸入密碼后等待安裝成功:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
下面是安裝截圖:
curl和wget是命令行下面常用的命令,其中curl已經默認安裝在OS X中了,但是wget沒有默認安裝,下面演示如何使用Homebrew來安裝wget。
brew install wget
下面是運行截圖:
5.3 終端下管理非終端軟件 -- Homebrew Cask
因為Apple不允許第三方的瀏覽器進入Mac App Store,如果你想要安裝Google Chrome,只能去Google網站下載后運行安裝文件。這一類App Store沒有的非終端下的軟件能不能享受Homebrew一樣的命令行安裝的便捷性呢?
Homebrew Cask就是這樣一款終端下的程序管理器,它擴展了Homebrew,作為Mac App Store的有益補充,方便你快速維護日常軟件的安裝升級和卸載,復制如下命令在終端下運行,按回車后等待安裝成功:
brew install caskroom/cask/brew-cask
下面是運行截圖:
那如何使用Homebrew Cask來安裝Google Chrome呢? 首先使用chrome作為關鍵字查找一下:
> brew cask search chrome==> Partial matches chrome-devtools chrome-remote-desktop-host chromecast google-chrome
上面的命令運行后列出了4個候選項,很明顯最后一個google-chrome就是我們要安裝的,繼續輸入
> brew cask install google-chrome
下面只需要稍微等一會兒,最新版的Google Chrome就乖乖的安裝在你的MacBook里面了。
5.4 Java開發環境搭建
5.4.1 安裝Java和Maven
現在OS X沒有默認安裝JDK,如果你在終端輸入java,系統會引導你到Oracle網站去下載,然后自己點擊下載文件來安裝,這個過程一點都不酷,而且不能自動化?,F在你有了Homebrew Cask,只要輸入如下命令,Java就可以自動安裝好啦。
brew cask install java
現在最近版本的JDK是1.8,Homebrew默認安裝最新版軟件,如果你要安裝非最新版的JDK,那么去Oracle網站下載吧,Homebrew的多版本支持不是很好用。
同樣的,輸入如下命令來安裝Maven最新版。
brew install maven
在開發中,你很可能會碰到這個錯誤java.security.InvalidKeyException: Illegal key size or default parameters,那是因為美國對出口軟件加密算法長度的限制,你需要去如下鏈接下載補丁包:
補丁替換路徑為${java.home}/jre/lib/security/,大約如下所示:
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre/lib/security
5.4.2 安裝版本控制軟件 -- SmartGit & SmartSVN
如果代碼就是生命,版本控制系統就是時光機。Git和Subversion分別是現在最流行的2個版本控制系統,SmartGit和SmartSVN分別是他們的一個第三方客戶端,當然他們有很多第三方客戶端,我覺得SmartGit和SmartSVN是最好用的。
5.4.3 安裝和配置IDE -- IntelliJ IDEA
IntelliJ IDEA作為最智能的Java IDE,推薦所有Java開發人員使用,你可以在這里下載安裝文件,或者使用如下的Homebrew Cask命令來下載安裝:
brew cask install intellij-idea
打開IDEA,推薦選擇Darcula主題,快捷鍵映射選擇I ve never used IDEA, 一路確認下去進入主界面。
推薦使用版本控制客戶端(SmartGit & SmartSVN)下載好源代碼后,再使用IDEA導入源代碼,原因是如果用IDEA來checkout源代碼,一邊checkout一邊分析代碼,對于有多個模塊的Maven項目,IDEA動態檢測Spring框架的配置文件可能會得不到及時而完整的依賴分析。
我們假設項目是基于Maven的,如下圖,選擇Maven:
一路點擊[Next]進入主界面,IDEA會幫我們自動檢測到依賴的框架,如圖IDEA發現我們使用了OSGI和Spring框架,點擊[Configure],然后去除OSGI依賴,因為SOFA項目不是完全實現OSGI規范的,勾選Spring配置文件。
IDEA會在你首次導入一個項目的時候建立索引,耐心等待索引建立完成,之后的查找就會非常快速。
5.5 可視化版本控制客戶端-SourceTree和Counerstone
5.5.1 SourceTree
SourceTree for mac是經典的可視化git客戶端, 支持創建、克隆、提交、push、pull 和合并等操作。SourceTree擁有一個精美簡潔的界面,大大簡化了開發者與代碼庫之間的Git操作方式,這對于那些不熟悉Git命令的開發者來說非常實用。
Sourcetree for mac不僅僅功能強大、界面美觀、操作簡潔,而且是一款免費的軟件.
5.5.2 CornerStone
CornerStone是Mac OS X系統下非常好用的一款svn工具. 打開后點擊左下角+號添加Repositorys.
接著進行一些簡單配置即可完成添加:
一個非常好用的小技巧: 先復制svn 代碼的完整url到剪貼板, 然后點擊左下角+號, 你會發現上圖的配置信息大部分已經被自動填好了.
友情提醒: 本軟件是付費軟件, 大約100+軟妹幣.
工欲善其事,必先利其器,工具永遠都是用來解決問題的,沒必要為了工具而工具,一切工具都是為了能快速準確的完成工作和學習任務而服務。
作者:正鵬、隃墨
原文鏈接:https://yq.aliyun.com/articles/68803
位同學大家好,我是小源,明天就是高考了,對于正常的一個考生來說,專本線的同學已經開始陸陸續續準備看專業。今天,好程序員分享一個專業,他的名字叫做Java開發工程師,不知道同學有沒有聽說過這個專業?目前咱們現在國家,還有社會都是依托互聯網進行發展的,相對于這些其他的專業,好程序員認為像這類符合社會發展的專業,他會更加好就業,那什么是Java開發工程師呢?
好程序員簡單給大家介紹一下,Java它是一種計算機的語言,就比如說咱們正常交流過程中用到的是漢語,Java它用到的就是計算機的語言。人們用Java語言去控制電腦,讓計算機為咱們工作,這樣咱們就可以通過這個方式來制作出所需要的系統和軟件。
那Java開發工程師他主要用在哪幾個方面呢?比如說,咱們出門經常碰到的紅綠燈它是有一個控制系統,ATM提款機它有一個提款系統,銀行排隊有一個叫號系統,那這些都是咱們常用的常見的系統。當然了,我們手機里面用到安卓的系統,蘋果系統都是由Java開發工程師開發出來。所以說,同學們可想而知Java專業它是有多強大,下面給大家分享學完Java能從事的職位。
Java就業崗位及工作內容:
A、程序員(軟件開發工程師):進行各種網站及網絡平臺的開發,代碼編寫。
B、軟件項目售前工程師:技術型市場類崗位,具備軟件開發技術、不進行具體開發類工作,主要與客戶進行需求溝通,確定用戶需求,為開發人員提供軟件開發需求報告,并參與開發人員和客戶的溝通工作,進行軟件銷售類工作。
C、軟件項目售后工程師:技術型售后類崗位,具備軟件開發技術、不進行具體開發類工作,主要在項目或軟件交付客戶后,進行后期服務,包括培訓,問題處理,軟件升級,軟件款項回款等工作。
D、測試工程師:技術類崗位、軟件本身即是產品,產品的質量需要進行全程控制,檢查軟件中存在的錯誤并跟進開發工程師改正,適合女生。
D、數據庫管理員:進行數據維護。
E、實施工程師:負責軟件的安裝、調試。
G、項目經理,項目總監:管理崗位,負責項目的開發進度,人員,資金,開發周期等管理
H、技術總監:技術性管理崗位,負責項目的技術選型,技術攻關和技術可行性分析等,解決項目中存在的疑難雜癥
后臺dd你的學歷+專業方向,一對一老師為你制定學習計劃。