一、前言
最近嘗試通過AI來編程,總體感覺還是能處理寫簡單的問題,復雜的問題目前還是無法解決。主要的痛點還是數據噪音,就是AI永遠不會承認它不會,它會給你的一個錯誤的信息,它也不會告訴你你的問題它暫時無法完整正確解答。就是比直接Google和百度稍微好一點點
二、使用AI日常編碼
1、SQL
SELECT table_schema AS 'Database', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
FROM information_schema.TABLES
GROUP BY table_schema;
?
SELECT table_name AS 'Table', ROUND(((data_length + index_length) / 1024 / 1024), 2) AS 'Size (MB)'
FROM information_schema.TABLES
WHERE table_schema = 'your_database_name'
GROUP BY table_name;
2、java代碼 代碼編寫
?
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Date; public class DateUtils { private static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd"; private static final String DEFAULT_TIME_PATTERN = "HH:mm:ss"; private static final String DEFAULT_DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; public static String formatDate(Date date, String pattern) { if (date == null) { return null; } return date.toInstant().toString().replaceAll(".*\\+|.*\\-.*", ""); } public static String formatDateTime(Date dateTime, String pattern) { if (dateTime == null) { return null; } return dateTime.toInstant().toString().replaceAll(".*\\+|.*\\-.*", ""); } public static Date parseDate(String strDate, String pattern) { if (strDate == null || strDate.isEmpty()) { return null; } DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); try { LocalDate date = LocalDate.parse(strDate, formatter); return Date.from(date.atStartOfDay().toInstant()); } catch (DateTimeParseException e) { e.printStackTrace(); return null; } } public static Date parseTime(String strTime, String pattern) { if (strTime == null || strTime.isEmpty()) { return null; } DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); try { LocalTime time = LocalTime.parse(strTime, formatter); return Date.from(time.atDate(LocalDate.now()).toInstant()); } catch (DateTimeParseException e) { e.printStackTrace(); return null; } } public static Date parseDateTime(String strDateTime, String pattern) { if (strDateTime == null || strDateTime.isEmpty()) { return null; } DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); try { LocalDateTime dateTime = LocalDateTime.parse(strDateTime, formatter); return Date.from(dateTime.atZone(java.time.ZoneId.systemDefault()).toInstant()); } catch (DateTimeParseException e) { e.printStackTrace(); return null; } }
}
?
這個類包含以下方法:
formatDate
:將日期轉換為字符串。使用默認日期格式。formatDateTime
:將日期時間轉換為字符串。使用默認日期時間格式。parseDate
:將字符串解析為日期。使用默認日期格式。如果解析失敗,會打印錯誤堆棧并返回null。parseTime
:將字符串解析為時間。使用默認時間格式。如果解析失敗,會打印錯誤堆棧并返回null。注意,這個方法假設你正在為當前日期解析時間。如果你想為特定的日期解析時間,你需要自己添加日期信息。parseDateTime
:將字符串解析為日期時間。使用默認日期時間格式。如果解析失敗,會打印錯誤堆棧并返回null。注意,這個方法假設你正在為當前日期解析日期時間。如果你想為特定的日期解析日期時間,你需要自己添加日期信息。
3、linux運維
以下是一些常用的 Linux 運維命令:
- ifup:啟動網卡。
- ifdown:關閉網卡。
- netstat:顯示網絡狀態。
- ss:全拼 Socket Statistics,用來獲取 socket 統計信息,它可以顯示和 netstat 類似的內容。ss 的優勢在于它能夠顯示更多更詳細的有關 TCP 和連接狀態的信息,而且比 netstat 更快速更高效。
- nslookup:交互式查詢互聯網 DNS 服務器的命令。
- dig:常用的域名查詢工具,可以用來測試域名系統工作是否正常。
- traceroute:顯示數據包到主機間的路徑。traceroute 指令讓你追蹤網絡數據包的路由途徑,預設數據包大小是 40Bytes,用戶可另行設置。
- mount:用于掛載 Linux 系統外的文件。
- umount:用于卸除文件系統。
- fsck:全拼 file system check,用來檢查和維護不一致的文件系統。
- parted:磁盤分區命令,沒有磁盤大小限制。
以上命令是在 Linux 運維中常用的部分命令,這些命令能夠滿足日常大部分的運維需求,但具體使用哪個命令還需要根據實際情況來決定。
?4、計算機網絡
Web網絡運維包括以下方面:
- 服務器管理。這包括入侵檢測、數據備份、服務器優化、常見故障處理以及日志安排等日常維護工作。在服務器的日常管理中,入侵檢測是一項非常重要的工作,包括日常的服務器安全例行檢查和遭到入侵時的入侵檢查。
- 軟件和系統的部署與維護。網絡運維人員需要負責軟件的發布和系統的部署,這包括將具體的軟件和系統/硬件資源整合形成產品并對外提供服務。
- 監控與優化。為了確保網絡的高可用性和高性能運行,需要對網絡進行實時監控和優化。這包括監控網絡設備的狀態、網絡流量、系統資源等,以及在需要時進行優化和調整。
- 故障排除。當網絡出現故障時,網絡運維人員需要迅速定位并排除故障。這可能涉及到對網絡設備、服務器、操作系統等進行檢查和修復。
- 網絡安全管理。網絡安全是網絡運維的重要組成部分。網絡運維人員需要采取一系列措施來保護網絡免受攻擊和威脅,包括配置防火墻、更新安全補丁、實施訪問控制策略等。
- 數據備份與恢復。為了防止數據丟失或損壞,網絡運維人員需要定期進行數據備份,并制定數據恢復計劃。這可能涉及到對數據庫、文件系統等進行備份和恢復。
- 日志管理。日志是網絡運維的重要工具,用于監控系統的運行狀態、診斷問題以及追蹤攻擊者。網絡運維人員需要收集、分析和管理系統的日志信息。
- 合規性與審計。網絡運維人員需要確保網絡系統的合規性,遵守相關法規和標準。此外,還需要進行定期的審計和合規性檢查,以確保系統符合要求。
以上是Web網絡運維的主要工作內容,希望能對你有所幫助。
?