1. 程式人生 > >工具使用-積累與發現

工具使用-積累與發現

程式設計基礎

偏函式
《程式設計導論(Java)·3.1.2 方法》之 副作用

JAVA

JVM(Java虛擬機器)引數優化大全和案例實戰
windows 中 到底是用的哪個java.exe??? 刪除了PATH變數的Java設定還是可以執行java.exe windows/system32
Eclipse中如何快速檢視jar包中的class原始碼
最常用的15大Eclipse開發快捷鍵技巧
Intellij IDEA 新增jar包的三種方式
Java將物件儲存到檔案中/從檔案中讀取物件
Java中getResourceAsStream的用法
eclipse的配置詳解和程式碼的格式詳解Ctrl+Shift+F格式化內容設定


JavaDoc生成API詳解
javadoc註釋規範
eclipse中設定JVM記憶體
除錯的小知識:單步執行命令stepinto/stepout/stepover的區別
java的動態代理機制詳解(內容有瑕疵,23樓指正)
InvocationHandler中invoke方法中的第一個引數proxy的用途

import java.io.Serializable;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

/**
 * Created by IntelliJ IDEA.
 * User: MessengerOfSpring
 * Date: 2017/12/3
 * Time: 21:39
 */


public class Main {
    private interface Account {
        public Account deposit (double value);
        public double getBalance ();
    }

    private class ExampleInvocationHandler implements InvocationHandler {

        private double balance;

        @Override
        public Object invoke (Object proxy, Method method, Object[] args) throws Throwable {

            // simplified method checks, would need to check the parameter count and types too
            if ("deposit".equals(method.getName())) {
                Double value = (Double) args[0];
                System.out.println("deposit: " + value);
                balance += value;
                return proxy; // here we use the proxy to return 'this'
            }
            if ("getBalance".equals(method.getName())) {
                return balance;
            }
            return null;
        }
    }

    public static void main(String[] args) {
        new Main();
    }

    Main() {
        Account account = (Account) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[] {Account.class, Serializable.class},
                new ExampleInvocationHandler());

// method chaining for the win!
        account.deposit(5000).deposit(4000).deposit(-2500);
        System.out.println("Balance: " + account.getBalance());

    }

}

泛型繼承的幾種寫法
Java併發程式設計:volatile關鍵字解析
Java之JUnit4的學習
java中javaBean與Bean的深入理解
Java提高篇——靜態程式碼塊、構造程式碼塊、建構函式以及Java類初始化順序
idea打包java可執行jar包

extract就是把依賴包打入一個jar裡
copy to output directory…就是把依賴包拆出來分別作為單獨的jar放在輸出路徑裡

執行jar包時讀取jar裡面的檔案
MANIFEST.MF檔案詳解
DecimalFormat使用心得
getResource和getResourceAsStream


5.x版本的jdbc連線mysql用法
8.x版本的jdbc連線mysql注意事項
JDBC8.011連線資料庫 3個小改動
jdbc連線mysq之serverTimezone設定
關於時間,日期,星期,月份的演算法(Java中Calendar的使用方法)
MySQL儲存過程中declare和set定義變數的區別
MySQL儲存過程引數

儲存過程在啟動時無法訪問OUT引數的初始值。

Scala

Scala方法和函式的區別
Intellij IDEA:當右鍵執行時出現了Run Scala console,而沒有run操作的原因
idea 無法建立Scala class 選項解決辦法彙總
IntelliJ IDEA 中 右鍵新建(new)時,選項沒有scala(java) class的解決方法和具體解釋
intellij idea右鍵不能建立java class怎麼辦?
在IDE下開發第一個Scala程式
SCALA中:: , +:, :+, :::, +++的區別
scala中的apply方法與unapply方法

//用法舉例
class Money(val value: Double, val country: String) {}
object Money {
  def apply(value: Double, country: String) : Money = new Money(value, country)

  def unapply(money: Money): Option[(Double, String)] = {
    if(money == null) {
      None
    } else {
      Some(money.value, money.country)
    }
  }
}
val Money(num,country)=Money(10.1, "RMB1")

Scala-apply的幾種用法
Scala 技術筆記之 Option Some None
scala的無參函式什麼時候加括號,什麼時候不加括號
Scala 中不帶括號的函式與帶括號函式的差別

有副作用要加括號,沒有副作用可省略括號

Scala之小括號和花括號(Parentheses & Crurly Braces)
Scala之主建構函式
scala 輔助構造器 主構造器
new 物件加括號和不加括號的區別
Scala中的None,Nothing,Null,Nil
Scala 隱式(implicit)詳解
Scala中的Implicit(隱式轉換,隱式引數,隱式類)
Scala基礎 - 傳名引數和傳值引數(by-name/by-value parameter)
Scala從零開始:函式引數的傳名呼叫(call-by-name)和傳值呼叫(call-by-value)
Scala 中Array,List,Tuple的差別

感覺list是用linked實現的

fold/foldLeft/foldRight區別和聯絡
scala的aggregate
Scala之偏函式Partial Function
Scala學習筆記(六) Scala的偏函式和偏應用函式
THE SCALA ACTORS API

Actor是已經廢棄的,但是要是想用的話,需要scala2.9及之前版本,並且jdk要1.7及以前的版本

Scala 檔案操作
深入理解scala的柯里化( currying or curry )以及其用處

Python

Python命名規範
Python包管理工具——Pip
Conda工具使用
Python3MySQL資料庫連線
Python中操作mysql的pymysql模組詳解
python字元編碼與解碼——unicode、str和中文:UnicodeDecodeError:'ascii’codeccan’tdecode
Python中的classmethod和staticmethod的區別與應用
[email protected]和@classmethod的作用與區別
python遍歷類中所有成員的方法
python——時間與時間戳之間的轉換
python中set集合如何決定是否重複?
Python正則表示式指南
lambda用法,:之前是接受引數,:之後是返回值
Python3.x和Python2.x的區別
jupytershortcut
%matplotlibinlineon/off
Python Import詳解
Python 中 import 的機制與實現
Python列印陣列的全部元素
python單下劃線/雙下劃線使用總結
and是邏輯運算,第一個為假的話就不必算完,&是位運算,必須算完
使用pymysql插入語句時對execute與executemany兩個方法進行測速
詳解Python中的下劃線,類中成員只要帶了__就有效,類外方法和變數不遵守這個規則
python類特殊成員
Python的特殊屬性和用法(全)
實習小記-python中可雜湊物件是個啥?what is hashable object in python?
os._exit()vssys.exit()
Python中的閉包
Python閉包詳解
Python進階路線
python區域性變數和全域性變數global
列表合併
python中的列表解析和生成表示式
[Python]更加Pythonic的多個List合併
Python在函式中使用*和**接收元組和列表
Python異常處理
python之__iter__函式與__next__函式
python3自定義類:重寫__eq__和__hash__函式
完全理解 Python 迭代物件、迭代器、生成器
Python yield 使用淺析
python類的繼承
Python: 你不知道的 super

class F1:
    def __init__(self, f1):
        self.f1 = f1

    def print_f1(self):
        print(self.f1)


class F2:
    def __init__(self, f2_1, f2_2):
        self.f2_1 = f2_1
        self.f2_2 = f2_2

    def print_f2(self):
        print(self.f2_1, self.f2_2)


class C(F1, F2):
    def __init__(self, c1, c2):
        super(C, self).__init__(c1)
        super(F1, self).__init__(c1, c2)

    def print_c(self):
        super(C, self).print_f1()
        super(C, self).print_f2()


if __name__ == "__main__":
    c = C(1, 2)
    c.print_c()

由Python的super()函式想到的
Python畫圖matplotlib展示圖中中文亂碼
python–threading多執行緒總結
Python執行緒指南
numpy教程:numpy基本資料型別及多維陣列元素存取
pandas的dataframe 條件查詢
【原】關於使用sklearn進行資料預處理 —— 歸一化/標準化/正則化
使用sklearn進行增量學習
Python字串格式化 (%佔位操作符)
Python中的函式柯里化
Python 宣告變數型別的三種方式
Python判斷檔案是否存在的三種方法

Weka

weka的sourceforge
weka演算法引數整理
weka3初體驗以J48(C4.5)構造決策樹以及setoptions各參賽含義
Weka–分類演算法之C4.5
特徵選擇常用演算法綜述
Weka3.8.1及以後版本修改JVM大小

SQL

Windows下更改MySQL資料庫的儲存位置
SETSQL_SAFE_UPDATES=0
MYSQL常用內建函式詳解說明
MySQL常見的資料型別(八)
「MYSQL」MYSQL中的int(11)到底代表什麼意思?
mysql在B資料庫下建立一個與A資料庫中一樣的表
mysql在表的某一位置增加一列、刪除一列、修改列名
如何讓mysql的自動遞增的欄位重新從1開始呢?
SQL的各種連線Join詳解
mySql中刪除(truncate,delete,drop)的用法

join是先笛卡爾積,然後再篩選,所以如果on條件裡出現了or並且兩個條件都滿足,那麼這條就會重複

left join 連表時,on後多條件無效問題
查詢mysql 中某欄位為空值的資料
MySQL 欄位的說明和備註資訊
關於SQL中Union和Join的用法

Union不適用與表中存在完全相同的兩列的情況,因為這樣會刪除重複的表;

LEFT JOIN 和JOIN 多表連線
淺析MySQL中exists與in的使用 (寫的非常好)
mysql中實現類似於oralce中row_number()的方法
MySQL裡的found_row()與row_count()的解釋及用法
MySQL 的CASE WHEN 語句使用說明
MySQL表的四種分割槽型別
MySQL HASH分割槽
MySQL KEY分割槽
sql虛構一個常量欄位的查詢
FROM_UNIXTIME 格式化MYSQL時間戳函式
SQL 隨機抽取樣本
(轉)解決mysqldump: Got error: 1290以及secure-file-priv option簡解
MySQL(五) MySQL中的索引詳講
Mysql索引詳解及優化(key和index區別)
mysql中的外來鍵foreign key
mysql外來鍵理解
MySQL外來鍵約束_ON DELETE CASCADE/ON UPDATE CASCADE
MySQL之CONCAT()的用法
MySQL group_concat()函式
MySQL Prepared語句

#多變數情況
PREPARE stmt1 FROM 'SELECT productCode, productName
                    FROM products
                    WHERE productCode = ? or productCode = ?';

SET @pc1 = 'S10_1678';
SET @pc2 = 'S10_1949';
EXECUTE stmt1 USING @pc1,@pc2;

DEALLOCATE PREPARE stmt1;

MySQL 5.7新特性之Generated Column
MySQL儲存引擎之Myisam和Innodb總結性梳理
使用MySQL子查詢選擇第n個最高紀錄

Matlab

Matlab中plot函式引數解析

Linux

指令基礎

Linux命令大全
Linux基礎知識之使用者和使用者組以及Linux許可權管理
sed命令詳解
sed命令解釋
find命令(;代表著exec的結束,需要轉義)
awk命令詳解
linux中tar命令用法
【Linux】正確的關機方法
Linux中top和free命令詳解(轉)
APT-GET的使用介紹

軟體安裝與檔案配置

sshd_config配置詳解
Linux環境變數配置檔案以及啟動順序
Ubuntu 環境變數檔案介紹
linux配置java環境變數(詳細)
sudoer檔案配置

name ALL=(ALL:ALL) ALL 指的是name使用者可以在所有(第一個all)主機或ip下,切換到任何組(第二個all)的任何使用者(第三個all)執行任何指令(第四個all)

Linux hosts檔案詳解及配置
linux下使用命令修改IP地址
Linux ifcfg-eth 網路介面配置引數詳解

在圖形化介面裡修改ip,其實修改的也是ifcfg-eth檔案,同樣,修改了ifcfg-eth檔案,圖形化介面下的網路設定也會被改掉

Ubuntu14.04下FTP伺服器的搭建
Ubuntu固定ip和dns配置和檢視
Ubuntu防火牆安裝和設定
如何啟動、關閉和設定ubuntu防火牆
CentOS7使用firewalld開啟關閉防火牆與埠
vsftpd伺服器報錯:500OOPS
Linux環境下的Anaconda安裝使用及解除安裝
Linux下遠端訪問Jupyter Notebook 配置
jupyter notebook 工作目錄修改
CentOS安裝Mysql
mysql如何修改root使用者的密碼
開啟MySQL遠端訪問許可權 允許遠端連線
Linux下檢視和新增環境變數
linux下改變命令列字首
改寫terminal字首(詳細引數)

PS1=’\e[0m[\e[32;1m\[email protected]\h\e[0m:\e[34;1m\W\e[0m]$ ’
個人覺得上面這個情況最好看

其他問題

SSH連線總是定期斷掉的解決辦法
Linux磁碟分割槽與LVM詳解

hadoop生態

Hadoop

HDFS體系結構(NameNode、DataNode詳解)
Hadoop是什麼?一句話理解
YARN
深入理解Hadoop YARN中的Container概念
Hadoop學習筆記之深入淺出MR
Hadoop中Writable和WritableComparable區別
MapReduce 中job.setJarByClass()方法的疑惑
關於MapReduce中的切片機制
MapReduce Input Split(輸入分/切片)詳解
Does not contain a valid host:port authority: _ 9000
配置hadoop叢集namenode的hostname千萬不要包含下劃線
Mapreduce不設定reduce,只執行map的輸出結果

HIVE

Hadoop Hive sql語法詳解

其他

正則表示式30分鐘入門教程

大神們的Blog

不能說不能說

科普
老左部落格
曉放部落格(未批愛死裝L2PT)
老D部落格
逗比根據地牆
vpdata
weipiaisi偵探
小夜

hao123

一些神奇的網站

IDEA主題樣式
about雲
Google開源專案風格指南
十個程式設計師必備的網站推薦
stackoverflow
黑客入門教程(新手入門到大師全集)
傳智學習路線圖
8位元論壇