ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 420
Obunachilar
Ma'lumot yo'q24 soatlar
+37 kunlar
-430 kunlar
Postlar arxiv
1 420
# ืื Java, ืืืจืืืช ืืืืืื ืจืืืืืจื ืื ืฉื ื ืืืจืื ืฉืื ืื
ื Java ืืฉ API ืืขืืืื ืขื ืืืืืืื ืจืืืืืจืืื ืืจื ืืืืืื java.util.Pattern. ืขื ืืืืืื ืืืืช ืืคืฉืจ ืืืชืื ืืืจืื ืืื:
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
ืื ืืคืืื ืืืฉืชืืฉ ืืคืื ืงืฆืืืช ืืกืืืืืช ืืืืชืื:
boolean b = Pattern.matches("a*b", "aaaaab");
ืืืืื ืจืืื ืืืื ื ืขืืฆืจืื ืคื ืืช ืืฉืืื ืขื ืืืืืืื ืจืืืืืจืืื ืืืืืจืื ืืืืจ ืขื ืงืื. ืืื ืขื Java ืฉืื ืืื ืืื ื ืืื ืจืืื.
ืืืืฅ ืืืืืืช ืืืืืืืื ืืจืืืืืจืืื ืืฉ ืืืืื ืฉื ืืืจืืืืช ืืื ืืคืื ืงืฆืื split:
public String[] split(String regex)
ืืื ืฉื ืืคืจืืืจ ื ืืืจ ืืืืื ื - ื'ืืืื ืืชืืืก ืืืืจืืืช ืืืคืจืื ื split ืืื ืืืืื ืจืืืืืจื. ืงืื? ืืื. ืื ื ืฉืชื ืืืืืืืช:
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// prints: [hello, world]
System.out.println(Arrays.toString("hello-world".split("-")));
// prints: []
System.out.println(Arrays.toString("hello.world".split(".")));
}
}
ืืฉืืจื ืืจืืฉืื ื ืืืคืืกื ืืขืจื ืขื ืฉื ื ืืืืจืื, ืืจืืฉืื ืืื ืืืืื hello ืืืฉื ื ืืืืื world. ืืฉืืจื ืืฉื ืื ืืืืืจื ืืขืจื ืจืืง, ืื ื ืงืืื ืืื ืืืืื ืจืืืืืจื ืฉืืชืืื ืืื ืชื, ืืืื ืื ืชื ืืื ืชื ืืคืจืื ืืืื ืื ื ืฉืืจื ืืืจืื ืืืืชืืื (ืืืคืจืืื) ืืฉืื ืืืขืจื.1 420
# ืืฉืชื ื ืงืื ืืงืกื ืืกืงืืื
ืืื ื ืืื ืฉืืืืจ ืขื ืขืฆืื ืืืชืืืช ืงืื ืคืื ืงืฆืืื ืืื ืืื ืืจืขืืื ืฉื ืืขืืจืช ืืฉืชื ื ืืื ืืืจืื ืคืื ืงืฆืืืช, ืืืจื ืืื ืืฉืืืฉืชื ื ืฉืืืจ ืงืื ืคืืืืจืฆืื. ืืืฉื ืืืืืง ืืื ืืงืืื'ืจ ืฉืืืืื ืืื ืืืฉืชืืฉ ืืกืคืจืื clj-ssh:
(let [agent (ssh-agent {})]
(let [session (session agent "host-ip" {:strict-host-key-checking :no})]
(with-connection session
(let [channel (ssh-sftp session)]
(with-channel-connection channel
(sftp channel {} :cd "/remote/path")
(sftp channel {} :put "/some/file" "filename"))))))
ืืืืืง ืืขืชืืงืื ืงืืฆืื ืืฉืจืช ืืื ืื ื ืจืืืื ืฉืฆืจืื ืืืขืืืจ ืืช ืืืฉืชื ื channel ืื ืคืขื ืฉืงืืจืืื ื sftp. ืื ืืืืื ื ืื ืื ืื ื ืืฉืคื ืคืื ืงืฆืืื ืืืืช ืืืกืืืื ื ืฉืืจ ืืืืฅ ืืคืื ืงืฆืืืช, ืืื ืืืื ืืืืืช ืืขืืืฃ ืืืชืืื.
ืกืงืืื, ืฉืืืชืจืฉืืืชื ืขื ืื ืื ืกื ืืืืืช ืฉืคื ืคืื ืงืฆืืื ืืืืช ืืืืืืชืืช ืื ืื ืฉืื ืฉืืื ื ืคืื ืงืฆืืื ืืืืื, ืืืืืช ืื ืื ืื ืืขื ืืื ืืื ืืืกืื ืืคืืืืืืช ืืกืื ืื, ืื ืื ืื ืฉื ืงืจื given / using. ืืืขืฉื ืื ืื ืื ื given ืื using ืฉื ืกืงืืื ืืจืื ืืืชืจ ืืชืืืื ืืื ืฉืื ื ืืจืื ืคื, ืืื ืืืงืจื ืคื ืืคืืกื ืืื ืืืืื ืืฉืืืืฉ ืืื ืืืกืืช ืงื ืืืื ื ืืื ืื ืื ืื.
ืืื ืื ืขืืื? ืืืืืจืช ืคืื ืงืฆืืืช ืืกืงืืื ืื ืื ื ืืืืืื ืืืืืืจ ืื ืืกืฃ ืืคืจืืืจืื ืืจืืืืื ืฉืขืืืจืื ืืคืื ืงืฆืื ืื ืืฉืชื ื "ืงืื ืืงืกื". ืืืจื ืืื ืงืื ืืืฉืื ืขืืืื ืืื ืืชืืจ "ืืฉืชื ื ืกืืืื" ืฉื ืืืืืง ืืกืคืฆืืคื ืืชืืื ืืช. ืืืืืื ืื ื ืจืืืช ืืืืจื ืฉื ืคืื ืงืฆืื ืืืงืืืช ืืืืข ืขื ืฉืจืช ืืคืจืืืจ ืืฉื config:
def readUsers(config: ServerConfig): Unit =
println(s"read users from ${config.ip}")
ืืื ื ืจืืืช ืืืชื ืคืื ืงืฆืื ืืฉืืคืจืืืจ ืืื ืืืื ืืขืืืจ ืืชืืจ "ืืฉืชื ื ืกืืืื":
def readUsers(using config: ServerConfig): Unit =
println(s"read users from ${config.ip}")
ืืืืื using ืืืืืจื ืืกืงืืื ืฉืืฉืชื ื ืื ืืืื ืืืืืข ืืืกืืืื ืืื ืชืืื ืืืืืื ืืืขืืืจ ืืืชื ืืคืจืืืจ ืืงืจืืื ืืคืื ืงืฆืื. ืืฉืืื ืืืืืืจ ืฉืืฉืชื ื ืืกืืื ืืืื ืืกืืืื ืืคืื ืงืฆืืืช ืืื readUsers ืื ื ืืฉืชืืฉ ืืืืื ืืฉืืืจื given. ืืื ืืคืขืืช ืืคืื ืงืฆืื ื ืจืืืช ืื:
@main def main(): Unit =
given config: ServerConfig(ip = "12.13.14.15", port = 8080)
readUsers
ืืืืืื ืืืคืืช ืืขื ืืื ืช ืืฉืื ื ืืืกืืฃ ืขืื ืคืื ืงืฆืืืช, ืืืื ืืืื ืฉืืงืืืืช ืคืจืืืจืื:
def readUsers(using config: ServerConfig): Unit =
println(s"read users from ${config.ip}")
def addUser(username: String, password: String)(using config: ServerConfig): Unit =
println(s"add user ${username} to ${config.ip}")
def wrapper(using ServerConfig): Unit =
readUsers
@main def main(): Unit =
given config: ServerConfig(ip = "12.13.14.15", port = 8080)
readUsers
addUser("foo", "bar")
wrapper
ืืืืืช ืืืืจืช ื given ืืชืืืืช ื main, ืื ืืคืื ืงืฆืืืช ืฉืฆืจืืืืช ืืฉืชื ื ืกืืืื ืืกืื ServerConfig ืืงืืื ืืช ืืืืืงื ืืงืื ืคืืืืจืฆืื ืฉืืฆืจืชื. ืืืชืจ ืืื, ืืคืืงื ืฆืื wrapper ืืืืื ืืงืจืื ื addUsers ืืื ืฉืืฃ ืืื ืืื ืชืฆืืจื ืืงืื ืื ืืืขืืืจ ืืช ืืฉืชื ื ืืงืื ืคืืืืจืฆืื ืืคืฉืื ืื ืคืื ืงืฆืื ืฉืฆืจืืื ืืืฉืช ืืืื ืืงืืืช ืืืชื ืืืืืืืืช ืืืฆืืจื ืืืืืขืช.
ื ืืื, ืืคืืฆ'ืจ ืืื ืื ืืืืืื ืืกืงืืื ืืืืืืื ืืงืืื'ืจ ืืฉ ืื ืื ืื ืืืื ืฉืื ืื ืขื ืืฉืชื ืื ืืืืืืืืื ืืฉืื ืื ืืืฆืืขื ืฉืืื. ืืืืืื ืืืื ืืงืืื'ืจ ืืืืืฉื ืืช ืืจืขืืื:
(def ^:dynamic *config* {:ip "default-ip"})
(defn read-users []
(println (str "read users from " (:ip *config*))))
;; Usage
(let [custom-config {:ip "custom-ip"}]
(binding [*config* custom-config]
(read-users)))
ืืืืื ืืืจืืื ืืื ืืืืืื ืืกืงืืื ืืืืืื ืืงืืื'ืจ ืืื ืฉืืกืงืืื ืืฉืชื ื ืืงืื ืืงืกื ืืื ืืืฉ ืืืง ืืืืืจืช ืืคืื ืงืฆืื, ืืืงืืืคืืืืจ ืืืื ืืืขืืืจ ืืช ืืขืจื ืื ืืื ืืงืจืืื (ืืืืืง ืืื ืืงืจืืื ืจืืืื ืืคืื ืงืฆืื), ืืขืื ืฉืืงืืื'ืจ ืขืืื ื ืืืืืืจ ืืฉืชื ื ืืืืืืื ืืฉืื ืื ืืขืจื ืฉืื ืงืืจื ืืืื ืจืืฆื ืืฆืืจื ืืื ืืืช. ืืื ืืงืืื'ืจ ืื ืืคืขืืชื ืืช ืืคืื ืงืฆืื ืืื ื binding ืื ื ืืงืื ืชืืฆืื ืื ื ืืื ื, ืืื ืืกืงืืื ืืงืื ืคืฉืื ืื ืืชืงืืคื.1 420
# ืืื ืืคืชืืื ืืืืืื ืืืคืืฅ ืชืืื ืืช ืืืืืืืืช?
ืืืืืื ืืื ืืืืช ืืืคืชืืื ืืืคืฆืช ืชืืื ืืช ืืืืืืืืช ืืืื ืืืคืฉ ืฉื ืืคืชืืื ืืืชืื ืืืืคืืฅ ืชืืื ืืช ืืื ืืืืืช ื ืืฆื ืืืืื ืืื ืืืืื ืื ืกืืคืืื ืืคืจืืื ื ืืืืจืืคื, ืฉืืืจ ืขืืื ืขื ืืฆืขื ืฉื ืืฆืืช ืืฉืืืื ืกืืคืืื ืฉื ืืืฉืืจืื ืืฉื Cyber Resilience Act. ืืืจืช ืืืฆืขื ืืื ืืืืืืจ ืืืคืชืืื ืืืืฉืชืืฉืื ืื ืืืจืื ืืชืืงืื ืืขืืืช ืืืืื ืืืืืืง ืืืืื ืืืคื.
## ืืืชืืจ ืืืื
ืืืขืื ืฉ CRA ืื ืกื ืืคืชืืจ ืืงืฆืจื ืืื ืืขืืืช ืฉืจืฉืจืช ืืืกืคืงื - ืืฉ ืื ื ืชืืื ื ืฉืชืืืื ืืชืืื ืืช ืืืจืืช, ืืื ืืฃ ืืื ืื ืืืจืื ืขื ืืืืืื ืฉื ืืืชื ืชืืื ืืช ืืืจืืช ืืืฉืืฉ ืืื ืืืงื ืืจืื ืืื ืืชืงื ืืืคืขืืื ืื ืืืืื. ืืงืจื ืืืื ืืืคืืจืกื ืฉืืชืืื ืืจืื ืืืฉืืืืช ืืืื ืืื ืืคืจืืฆื ื Solar Winds, ืคืจืืฆื ืฉืืจืื ืืืืจื ืืืคืืฅ "ืขืืืื" ืืืงืืืืช ืืืฉืจ ืืขืืืื ืืื ืืขืฆื ืืืช ืืืืจืืช ืืคืจืืฆื, ืืืืงืืืืช ืืื ืืืจืืช ืขื ืง ืืืื ืืืฉืืช ืืจืฆืืช ืืืจืืช.
ืืจืืื ืืคืจืืฅ ืืื ืืืืืืจ ืืื ืืจืฅ ืืืื ื 2020, ืืื ืืืชืจ ืืขื ืืื ืช ืืื ืืขืืืื ืฉืืฉืืื ืืืฉืชืื ืืืชื ืืืืงืจืื (ืืื ืื ืจืื ืจืืกืื) ืคืจืฆื ื Solar Winds ืืฉืื ื ืืช ืชืืืื ืื ืืืช ืืงืื ืฉืืื. ืืืืจื ืฉื ืืืืืื ืืืืจืืคื ืืื ืืื ืืข ืืชืงืคืืช ืืกืื ืื ืืจืืืช ื ืืกืคืืช ืืืืฆืขืืช ืืืื ืืืจืืช ืืืฆืข ืชืืืืื ืืืืงืืช ืืืืื ืืืืคื ืชืืืจ, ืืืืื ืื ืืืฉืื ืืื ืืืจื ืฉืจืฉืจืช ืืืกืคืงื ืฉื ืื ืชืืื ื.
## ืืืชืืจ ืฉืืฆืืื CRA ืขืืืจ ืืชืื ืชื ืงืื ืคืชืื
ืืืื ื ืฉืืคืืจ ืืืืืช ืืืืข ืฉื ืืืฆืจืื ืืื ืืืจื ืจืืืื ืืื ืืฉืื ืืื ืืคืจืืื ืืืคืชืื ืงืื ืคืชืื ืจืืื ืืชืืื ื ืื ืขื ืืืจื. ืืคืจื:
1. ืืืืืืืช ืืขืืื ืืืช ืืืืชืจ ื CRA ืื ืขื ืืืจืืช ืืกืืจืืืช ืฉืืจืืืืืืช ืืืืฆืจื ืงืื ืคืชืื ืฉืื ืืชืืืงืืช. ืื ืืืืจ ืฉืื ืื ื ืคืืชื ืืืจื ืฉืืคืืฆื ืกืคืจืืืช ืชืืื ื ืืืืืจ ืฉืืจืืชื ืืืขืืฅ ืขื ืกืคืจืื ืื ืื ื ืขืฉืื ืืืืืช ืืืืื ืืขืืื ืืกืื ืืจืืื ืฉื ืืืืืื ืืืืจืืคื.
2. ื CRA ืืืืื ืืืืื ืขื ืืขืืืช ืืืืื ืชืื ืืกืคืจ ืฉืขืืช ืืจืืข ืืืืื ืืคืจืฆืืช. ืื ืื ืื ืืื ืื ืืืคืฉืจ ืืืชืื ืชื ืงืื ืคืชืื ืืืคืืฅ ืืฆืืจื ืืกืืืจืช ืขืืืื ื ืชืืื ื ืฉืืชืงื ืื ืืช ืืคืืจืฆื ืืืื, ืื ืืคืชืื ืงืื ืคืชืื ืื ืืืืขืื ืื ืื ืืืงืืืืช ืฉืืื ืืืื ืืื ืืจื ืืืืืข ืืื ืืืงืืืืช ืืืื ืกืืืจ.
3. ื CRA ืืืกืืฃ ื ืื ืจืืืืืืจื ืืืืืช ืืืืงืืช ืืืืื ืฉืืคืชืืื ืืืืืื ืืืฆืข, ืืืคืขืืื ืืฃ ืืืืงืืช ืืืฆืื ืืืช (ืชืืื ืืืืฆืจ). ืืืืจืืช ืงืื ืคืชืื ืฉืืืืื ืืืืช ืขื ืชืจืืืืช ื ืื ืืื ืขืืื ืืืืืช ืืืฆืื ืืืช ืืืชืจ ืืื.
ืกื ืืื ืืื ืืืจืื ืกืืืืืฆืืืช ืฉืืขืืื ืืช ืืจืฃ ืืฉ ืคื ืืขืืื ืฉื ืืืืื ืืื ืืื ืงื ืืขืกืงืื ืงืื ืื ืื ืืืฉืื ืืืืื ืก ืืืคืขืื ืืฉืืง ืืขืืืช ืืืืืช ืืืืฆืจืื ืืืจืืื ืืืื ืืืืืืืกืื. ืขืืืื ืืืงืื ืืืขืช ืืื ืืืจืื ืืืืืื ืืืชืคืชื ืืืื ืฉืื ืื ืื ืืืื ืืฉืืคืืจ ืืืืืช ืืืืืข ืฉื ืืืฆืจื ืชืืื ื ืืืืคื ืืืื, ืืื ืื ื ืืืืคื ืืืฉื ืื ืืืคืืืื. ืืืขืื ืขื ืืืืืช ืืืืข ืืื ืฉืขื ืื ืืืจ ืฉื ืกืืจ ื ืคืชืืื ืขืื 5, ืืื ืืืืจื ืืจืืจ ืืืืื ืืืืข ืชืืกืคืช ืืืืืงืืช ืื ืืืืช ืืืืืื ืืฉืคืจื ืืช ืืืฆื.
1 420
# ืื ืืืชืืื ืงืืื - ืืืฉืง ืืฉืชืืฉ ืื ืืืืืงื?
ืืื ืืืคืฆืื ืืฉ ืืช ืืืชืจืื ืืช ืืืืกืจืื ืืช ืฉืื, ืืืคืขืืื ืืชืฉืืื ืืืจืืืช.
ืืืชืื ืืช ืืืฉืง ืืืฉืชืืฉ ืืคื ื ืืืืืืงื ืืืืจ ืฉืื ื ืืื ืืก ื ืชืื ืื ืคืืงืืืืืื, ืงืืืขืื, ืืืขืจืืช, ืื ืืื ื ืืืืืงื ืืืื ืืกืืกืืช ืจืง ืืื ืฉืืืื ืืืชืงืื. ืืจืืข ืฉืืฉ ืืฉืื ืขื ืืืกื ืื ื ืืืื "ืืฉืืง" ืขื ืืืืฉืง ืืืืืืช ืืืฉืชืืฉ ืขื ืฉืื ื ืืืืข ืืืฉืื ืฉืขืืื, ืืชืื ืืื ืชื ืืขื ืื ื ืืขืืื ืืช ืืืืืืงื ืืืื ืืื ืขืืืจ ืื ืชืื ืื ืืืืชืืื.
ืืืชืื ืืช ืืืืืืงื ืืคื ื ืืืฉืง ืืืฉืชืืฉ ืืืืจ ืฉืื ื ืืฉืงืืข ืืืื ืขืืืื ืืจืืฉ ืืืชืืืช ืกืืืืืช ืืืกืืกื ื ืชืื ืื, ืฉืืืืชืืช, ืงืื ืฆื ืฉืจืช ืืืืืงืืช ืขืืื ืืจืง ืืืจื ืฉืฉืืืช ืืืืืข ืื ืืื ืื ื ืืืฉืื ืืื ืืช ืืช ืืืฉืง ืืืฉืชืืฉ. ืืช ืฉืืืช ืืืืืข ืืืงืชื ืขื ืชืืื ืืืช ืืืืงื ืงืื ืืช ืื ืืืืงืืช ืืืืื ืืื ืฉืื ืืืื ืืคืชืขืืช ืืฉืืืืข ืืืชืื ืืช ื GUI.
ืืืชืจืื ืืช ืฉื ืืชืืืช ืืืฉืง ืืืฉืชืืฉ ืงืืื ืื ืืื:
1. ืื ื ืื ืืืชื ืืืืืงื ืืืืชืจืช ืืื ืจืง ืืช ืืื ืื ืื ืื ืฉืืืืฆืจ ืืืืฉืชืืฉืื ืฉืื ืฆืจืืืื.
2. ืื ื ืืืื ืืืจืื ืืช ืฉืืืช ืืืืืืงื ืืื ืฉืืืฉืง ืืืฉืชืืฉ ืืืื ืงื ืืคืืชืื, ืืืืื ืืื ืืช ืขื ืื ืฉืืฉ ืื ืชืืื ืืช ืื ืชืื ืื ืฉืื ื ืฆืจืื.
3. ืื ื ืืืืข ืืืกืืช ืืืจ ืืืงืืืืช ืื ืืื ืืืื ืขื ืืืฆืจ ืฉืื ืืืืืื ืืจืืืช, ืื ืฉืืืคืฉืจ ืื ืืงืื ืคืืืืง ืืฉืื ืืืงืื ืฉื ืืชืืืื.
ืืื ืื ืื ืื ืืกืืคืืจ. ืืืชืจืื ืืช ืฉื ืคืืชืื ืฉืืืช ืืืืืข ืงืืื ืื:
1. ืืืืืฉ ืฉืืืช ืืืืข ืืฆืืื ืขื ืืืืงืืช ืืืืื ืฉืืืื ืื ืคืืืช ืืืืื ืืฉืืืช ืืืืืข ืื ืืคืืืช ืฉืืืื ืงื ืืืชืจ ืืืฆืื ืืืชืงื ืืืชื.
2. ืืืจื ืฉืืฉ ืืืฉืง ืืฉืชืืฉ ืืคืืืืง ืขืืื, ืื ืื ื ืืืืื ืืืื ืืื ืืืชืืืช ืืืืฆืจ ืืคืืืืง ืืืืงืืืืช (ืืฆืืง) ืืื ืืกืคืืง ืืื ืืื ืืืช ืฉืืืช ืืืืข ืืฆืืื.
3. ืืืืืฆืื ืฉืืืืขื ืืืืฉืง ืืืฉืชืืฉ ืขืืืืื ืืืจืื ืื ื ืืฉืืืจ ืืืืข ืืฆืืจื ืื ืืขืืื ืื ืืืืข ืืคืื, ืืืฉื ืืื ืฉืื ืื ื ืจืืฆืื ืืฉื ืืช ืืช ืืื ื ืืืืืืืช ืื ืืืจ ืืืื ืืืืืจ ืืื.
4. ืืจืื ืืืชืจ ืงื ืืฉื ืืช ืืืฉืง ืืฉืชืืฉ ืืฉืืฉ ืฉืืืช ืืืืข ืืฆืืื ืืืฉืจ ืืฉื ืืช ืฉืืืช ืืืืข ืืฉืืฉ ืืืฉืง ืืฉืชืืฉ ืืฆืื.
ืงืฆืช ืืื ืขื TDD ืื ื ืืืฉื ืฉืืืขืื ืืืจืืืืช ืืคืืชืื ืืืฉืง ืืฉืชืืฉ ืงืืื ืืื ืฉืืืจื ืฉืืฉ ืืืฉืง ืืืืฆืจ ืงืฉื "ืืืืืจ ืืืืจื" ืืื ืืืชืื ืืช ืืืืืืงื ืืื ืฉืฆืจืื, ืืื ืื ืื ื ืชืงืืขืื ืขื ืืื ื ืืืืืืช ืื ืืืคืืืืื ืฉืืื ืืืชื ื ืืืืืืฉ ืคืืฆ'ืจืื ืืืฉืื.
ืคืืชืจืื ืืื ืืงืฉื ืืืืฆืืข ืืืื ืืืืง ืืช ืืคืืชืื ืืฉืืืื. ืืฉืื ืืจืืฉืื ื ืื ื ืืืฉืง ืืฉืชืืฉ ืขื ืฉืืืช ืืืืข ืื ืืื ืช ืจืง ืืฉืืื ืืืืื ืืช ืืจืืฉืืช ืืคืจืืืงื, ืืืฉืื ืืฉื ื ืืืจื ืฉืืฉ ืืฉืื ืืืืืืจ ื ืืืืจ ืืฉืืืื ืืฉืจืืืืื ืื ืื ื ืืืืฉ ืืช ืฉืืืช ืืืืืข ืืืคืก ืืฆืืจื ืืฆืืื ืืืชืจ ืฉืืืงืืช ืืืฉืืื ืืช ืื ืืคืืฆ'ืจืื ืฉืื ืื ื ืขืืฉืื ืืืืขืื ืฉืฆืจืืืื ืืื ืื ืื ื ืจืืคืงืืืจืื ื ืืืืืงืืช ืฉืืขืืจื ืื ื ืืืืฉืื ืืืชืงื ืชืื ืืื ืชื ืืขื. ืืื ืื ืืืื ืื ืื ืืคืฉืจ ืืืืช ืืื ืืช ืืืืฉ ืจืง ืืช ืฉืืืช ืืืืืข ืืื ืืืขืช ืืงืื ืืืืฉืง ืืืื ืชืืืื ืืื ืืื ืืืขื ืืชืืื ืืืืฉ ืฉื ืืคืจืืืงื ืืคืขื ืืฉื ืื.
1 420
# ืืืื ื ืกืืจ ืืงืกื ืืืืื ืขื ืืคืงืืื column
ืืคืงืืื column ื ืืขืื ืืื ืืงืื ืืงืกื ืืจืื ืืืฉืืืจ ืืืชื ืืขืืืืืช ืืื ืฉืืืื ืงื ืืืชืจ ืืงืจืื ืืืชื ืืื ืืืืื, ืืื ืืืจืื ืืืฃ ืฉื ืขืืชืื. ืืคืฉืจ ืืจืืืช ืืืืื ืงืื ืืฉืืืืฉ ืื ืืฉื ืขืืืจ ืืืื ืชืืื ืฉื ืงืืืฅ. ืื ื ืจืื ืืงืืืฅ
/etc/shells ืืฆืื:
$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/pwsh
ืืื ืื ื ืจืื ืขื column:
$ cat /etc/shells | column
# List of acceptable shells for chpass(1). /bin/csh /bin/tcsh
# Ftpd will not allow users to connect who are not using /bin/dash /bin/zsh
# one of these shells. /bin/ksh /usr/local/bin/pwsh
/bin/bash /bin/sh
ืืื ื column ืืฉ ืฉืืืืฉ ื ืืกืฃ ืืคืืื ืืืชืจ ืืขื ืืื - ืืืชื -t ืฉืื ืืืจื ืืคืงืืื ืืืืืช ืงืื ืฉืืืืืง ืืขืืืืืช ืืืืืคืืก ืืฆืืจื ืืคื (ืืืืืจ ืืจืืืืช) ืงืื ืื. ืืืืืื ื ืืงื ืืช ืชืืื ืืช ื bash ืืืื ืฉืืืคืืกื ืืช ืืื ืืืคื, ืืื ืืกืืจ ืืคื ืืช ืืคืื:
#!/bin/bash
end=${1:-10}
for ((i=1; i <= $end; i++))
do
for ((j=1; j <= $end; j++))
do
printf "%d " $((i * j))
done
echo
done
ืืจืืจืช ืืืืื ืืื ืืืืคืืก ืขื 10 ืืื ืืคืฉืจ ืืืขืืืจ ืคืจืืืจ ืืื ืืงืื ืืืืืช ืืืืืื ืืืชืจ. ืื ืืื ืืคืฉืจ ืืืชืืื ืืช ื printf ืืื ืฉืืคืื ืืืืคืก ืืจืืื ืืคื ืืืงืจื ืืื ืืื ืื ืื ื ืจืืฆืื ืืืืจ ืขื column. ืืคืขืื ืจืืืื ืฉื ืืชืืื ืืช ืืืคืืกื:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
ืืชืืกืคืช ืฉื column -t ืืืจ ืขืืฉื ืืช ืืงืกื:
$ bash table.bash | column -t
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
ืืืจ ืืื ืฉืืืื ืืฆืืง ืืื ืื ืืืืฉืืจ ืืฉืืื. ืืืืจืกืช ื BSD ืฉื column ืฉืืืชืงื ืช ืืฆืื ืขื ืืืง ืฆืจืื ืคืฉืื ืืืืืช ืขื ืื, ืืื ืืืื ืืงืก ืืืชื -R0 ืืืจื ืืืืฉืืจ ืืืืื ืืืื ืืืืื ืืื ื ืจืื ืื:
ubuntu@primary:~/Home/tmp/blog$ bash table.bash |column -t -R0
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 1001 420
# ืืื ืืชืืฆืื ืืืชื ืืืืืืช?
ืืื ืืืจื ืืกืืืจืื ืืจืืฉืื ื ืืืจ ืืืืช ืืืืฃ ืกืจืื ืจืืืืช?
ืืื ืืืจื ืืืืืก ืืืจืืข ืืจืืฉืื ืืืืจื ืืืชื ืืชืืืืืช?
ืืื ืืืจื ืืืจ ืืืืืื ืืจืืฉืื ืืืงืจืื ืืื ืืคืืืื ืืช ืืืขืจืืช?
ืื ืื ื ืืืฉ ืืืืื ืืืืืืช ืงืฉืจ ืืื ืกืืื ืืชืืฆืื ืืฉืชืืฆืืืช ืงืืจืืช ืืืืืง ืืืจื ืืกืืืืช ืฉืืื, ืืืื ืฉืืืื ืืื ืืกืืื ืืชืืฆืื ืืชืืจื ืงืฉื ืืืชืจ ืืจืืืช ืืช ืื. ืืงื ืืจืื ืฉื ืื ืืืืื ืฉืืกืจืื ืจืืืืช ืงืฉืืจ ืืกืืืจืืืช, ืืืงื ืืจืื ืืื ืืืืื ืฉืืืจืืื ืืืืฆืืขืื ืืื ืืืื ืืจืืื ืืืืืืช ืื ืืืื ืืืืื ืืื ืืืืื ืฉืืืจื ืืืืืื ื ืืจืืื ืืืื ืชืืืืื ืขืืืื ืื ื ืืื ืื. ืืฉืืชืืฆืืืช ืงืืจืืช ืื ืื ื ืขืืฉืื ืฉืชื ืืขืืืืช:
1. ืื ืื ื ืื ืกืื ืืชืงื ืืช ืืืขืื ืืืืฆืขืืช ืืืื.
2. ืื ืื ื ืืืืชืจืื ืขื ืืืืคืื ืืืืจื ืืืืืชื, ืื ืชืืงืื ืืืจื ืื ืืืงื ืืืื ืืื ืื ืืืจ ืื ืจืืืื (ืืชืงื ืชืืืืื ืขืืืื? ืืืืืก ืื ืฉืื ืืืืื ืืืชืจ? ืื ืืื ืื ืืืงื ืืืื ืืื, ืืืื ื ืืื ืงืืื ืืช ืืฉืจืืคื).
ืืืื ืืื ืืื ืื ืืืข ืขืฅ ืืื ืืคื ื ืขืฉืจืื ืฉื ื. ืืืื ืืฉื ื ืืื ืืื ืืื ืขืืฉืื. ืื ืืืื ืฉืืชืืงืื ืื ืืื ืืขืืื ืืืื, ืืื ืืื ืืกืืืื ืืืืื ืฉืืฉ ืื ื.
1 420
# ืงืืจืก? ืืืขืืฅ? ืื ืืขืฆื ืื ื ืฆืจืื?
ืืืืขืืฅ ืืืืขืื ืืืืื ืืจืืืช ืืื ืืชื ืขืืืืื ืืืชืช ืืืคืื ืฉืืขืืจื ืืื ืืขืืื ืืฆืืจื ืืขืืื ืืืชืจ. ืืืืขืฅ ืืืื ืืืืื ืก ืืชืื ืืขืืื ืืงืืจื ืืืืชืืจืื ืืกืคืฆืืคืืื ืฉื ืืืขืจืืช ืฉืืื ืืืืฆืืข ืฉืืคืืจืื ืืชืื ืืขืืื ืฉืืื.
ืืงืืจืก ืืชื ืืืืขืื ืืืงืื ืืืจ, ืจืืืื ืฉืืืืช ืขืืืื ืฉืขืืืจืืช ืืื ืฉืื ืืืจืื ืืืชืืืื ืขื ืืชืืจืื ืืืจืื (ืืืืื ืื ืฉืื ืื ืืืชืืจืื ืฉืืื) ืืืงืืืื ืจืขืืื ืืช ืฉืืืื ืื ืืฉืืชื ืฉืชืฆืืจืื. ืืงืืจืก ืืืื ื ืขืืืจืื ืืกืืื ืืืืื ืจืืืื ืฉืืืกื ืืจืื ืคืืชืจืื ืืช ืืืจืื ืืขืืืช.
ืืื ืฉืืืช ืขืืืื ืืฉ ืืช ืืืืชืจืื ืฉืื, ืืื ืืืืจ ืืืฉืื ืืื ืื ืืขืจืื. ืืื ืืขื ืืืื ืืงืืจืก ืื ืืฉ ืืื ืฉืืืช ืขืืืื ืืืื ืกืคืฆืืคืืช ืืืืืืืืช ืื ืฉืืชื ืืืื ืืืืจืืื ืืืขืืืช ืืืขืจืืช ืฉืืื ืืื ืคื ืืืื ืืฉืืืข ืขื ืืขืจืืืช ืืืจืืช ืืืชืืจืื ืืืจืื. ืืื ืืืืคื - ืืื ืืขื ืืงืืช ืืืขืฅ ืืื ืฉืืกืคืจ ืืื ืืืคืก ืขื ืกืืื ืืคืืชืจืื ืืช ืืืคืฉืจืืื ืืืขืื ืืกืืืืช ืื ืืชื ืขืืืื ืื ืืืืจืื ืืช ืืืขืื.
ืืื ื ื ืืื ื ืฉื ืืืฆื ืฉืืื ืืฉื ืืืขืืื ืฉืืื ืืื ืืฆืขื ืืจืืฉืื ืืคื ื ืฉืืืืืืื ืืืื ืกืื ืขืืจื ืืืคืฉ.
1 420
# ืชืืืืจืช ื curl - ืื ืืืงืฉ ืืื?
ืืืื ืฉื ืืฉืฃ ืืชืืื ื libcurl ืืื ืืื ืฉืืชืื ืชืื ืืืืืื ืืขืฉืืช ืืืืืืื ืืืชืืจื ืขืืื. ืืืืฆืจ ืฉื curl ืื ืืื ืกืื ืืจื ืคืจืกื ืืช ืืคืจืืื. ืืืืื ืืฉืืืฉืืื ืืฃ ืืจื libcurl ืืคืฉืจ ืืืฉืชืืฉ ืืคืจืืงืกื, ืืื ืืฉืชืืฉืื ืืคืจืืงืกื ืืคืฉืจ ืืืืืจ ืืคืขื ื ืืื ืืช ืฉื ืืฉืจืช ืืืื ืคืื ืื ืืืชืช ืืคืจืืงืกื ืืช ืืชืืืช ื IP, ืื ืืืขืืืจ ืืช ืฉื ืืฉืจืช ืืคืจืืงืกื ืฉืืื ืืฉืืืจ ืืช ืืจืืฉ.
ืืฉ ืื ืื ืืฉืชื ื ืืฉื
socks_proxy.proxytype ืฉืืืื ืืงืื ืืช ืืขืจื CURLPROXY_SOCKS5 ืืฉืืื ืืคืขื ื ืืื ืืช ืืชืืืช ื IP ืืืื ืฆืจืื ืืืชืืืจ, ืื ืืช ืืขืจื CURLPROXY_SOCKS5_HOSTNAME ืืฉืืื ืืืขืืืจ ืืช ืฉื ืืฉืจืช ืืฉืืจืืช ืืคืจืืงืกื ืฉืืื ืืืจ ืืฉืืืจ ืืช ืืจืืฉ. ืืื ืืืฆื ืฉืฆืจืื ืืืขืืืจ ืืช ืฉื ืืฉืจืช ืืฉ ืืขืื - ืฉืจืชื socks ืชืืืืื ืจืง ืืฉืืืช ืฉืจืช ืืืืจื ืขื 255 ืชืืืื.
ืขืืฉืื ืื ืืืืชื ืขืืฉืื ืื ืืฉืชืืฉ ืืืจ ืืฉืืืช ืขืืืื ืืืืืืจ "ืฉืื ืืช ืฉื ืืฉืจืช ืืคืจืืงืกื" ืืื ืฉื ืืฉืจืช ืฉืืื ืื ืกื ืืืชืืืจ ืืืื ืืฆื ืืจืื ืืืชืจ ืืื ืฉืืชืืคืฉืจ ืืฉืืื?
ืื ืืื ืขืฉื ืื ืฉืจืืื ืืืืชื ื ืืื ืขืืฉืื ืืืชืืจืืื ืขืืื ืืืืขืื - ืืจืืข ืฉืืื ืจืื ืฉื ืฉืจืช ืืจืื ืืื ืื ืื ืฉืืืฉืื ืืขืืืจ ืืืขืืช ืืช ืืขืจื ืืื ื ืืื ืืคืจืืืจ ืฉืืืืจ ืืฆื ืขืืืื, ืืฉืื ื ืืช ืืฆื ืืขืืืื ืืคืืขื ืื ืฉื ืฉืจืช ืืงืืื.
ืืืขืื ืฉืืืื ืืื ื ืืงืื, ืืฉืื ืื ืื ืืฉืคืืข ืขื ืื ืืืฆืืื ืืืคืฉืจ ืืขืงืืฃ ืืืชื. ืชืืงืฃ ืืืื ื ืฉืจืืฆื ืืืคืื ืืช ื curl ืฉืืื ืืืื ืืื ืืช ืฉืจืช ืฉืืฉืื Redirect ืขื ืฉื ืฉืจืช ืืจืื ืืื ืืืืฆืืื ืืกืืืืื ืืขืงืืฃ ืืช ืฉืื ืื ืืฆื ืืขืืืื ืืืืจืื ื Heap Overflow ืืงืื ืืืงืื.
ืืงืื ืืคืืืข ืืืืื ืืื:
bool socks5_resolve_local =
(conn->socks_proxy.proxytype == CURLPROXY_SOCKS5) ? TRUE : FALSE;
const size_t hostname_len = strlen(sx->hostname);
ssize_t len = 0;
const unsigned char auth = data->set.socks5auth;
bool allow_gssapi = FALSE;
struct Curl_dns_entry *dns = NULL;
DEBUGASSERT(auth & (CURLAUTH_BASIC | CURLAUTH_GSSAPI));
switch(sx->state) {
case CONNECT_SOCKS_INIT:
if(conn->bits.httpproxy)
infof(data, "SOCKS5: connecting to HTTP proxy %s port %d",
sx->hostname, sx->remote_port);
/* RFC1928 chapter 5 specifies max 255 chars for domain name in packet */
if(!socks5_resolve_local && hostname_len > 255) {
infof(data, "SOCKS5: server resolving disabled for hostnames of "
"length > 255 [actual len=%zu]", hostname_len);
socks5_resolve_local = TRUE;
}
ืืื ืคืืืข ืื ืฉืื ืื ืืขืจื ืฉื ืืืฉืชื ื ืืืืืืื ื ืงืืจื ืจืง ืืืงืจื ืฉื CONNECT_SOCKS_INIT, ืืื ืืคืฉืจ ืืืืื ืก ืืคืื ืงืฆืื ืืืืช ืื ืืฉืืจืืช ื case-ืื ืืืจืื ืืืฆืืื ืฉื ืฉืจืช ืคืจืืงืกื ืืืื.
ืืืกืงื ื ืฉื ืื ืืื ื ืืื ื ืื ืืืืื ื ืืืื ืงืื ืฉืื ืื ื ืืืชืืื. ืืื ืืืชื:
> curl should not switch mode from remote resolve to local resolve due to too long host name. It should rather return an error and starting in curl 8.4.0, it does.
ืืืืคืช ืืฆื ืืคืขืืื ืจืง ืืืื ืฉืืืืื ื ื init ืฉืฉื ืืฉืจืช ืืจืื ืืื ืืืชื ืืืขืืช, ืื ืืฉืชืืฉืื ืฉืืืงืฉื ืืฆื ืคืขืืื ืืกืืื ืื ืฆืืคื ืืืชื ืืืืช ืื. ืืจืืงืช ืฉืืืื ืืืงืจื ืืื ืืืชื ื ืืชื ืช ืืืฉืชืืฉืื ืืคืฉืจืืช ืืืืื ืืื ืืืชืจ ืืช ื use case ืืืืืืจ ืืช ืืฆื ืืคืขืืื ืืืื ืืืืชืจ ืขืืืจื.1 420
# ืคืฉืื ืื ืืื ืจืืืชื ืืืืืื
ืื ืื ื ืืืื ืขืืฉืื ืืจืืืื ืืืื ืืืืจืื ืืืืืืื ืืชืืืื ืืื ืืืืก ืืืืืื ืืงืฉืชืืช. ืืชื ืืืื ืื ืืืกืืก ื ืชืื ืื ืืจืคื ืืฉ ืื ื ืฆืืชืื ืืงืฉืชืืช, ืืฆืืชืื ืฉืืืจืื ืืืืข ืืืงืฉืชืืช ืืืืจืืช ืืื ืืฆืืชืื ืืืืืืจืืช ืืช ืืืืกืื (ืืขืืงืจืื ืื ืขื ืงืฉืชืืช ืืคืฉืจ ืืฉืืืจ ืืืืข, ืืื ื ืฉืืืจ ืืช ืื ืจืืข ืืฆื). ืื ืืืืืื ืฉื ืืืื ืืืื ืื ื ืฆืืืช ืฉืืืืฆื ืคืืกื, ืฆืืืช ืฉืืืืฆื ืงืืืืจืื ืืงืฉืช ืืื ืืื ืืื ืืืืื ืฉืคืืกื ืฉืืื ืืงืืืืจืื ืืกืืืืช. ืืจืฉืช ืืืจืชืืช ืืืื ืื ื ืฆืืืช ืืื ืืฉืชืืฉ ืืงืฉืช ืฉืืืืจืช ืืื ืืฉืชืืฉืื ืฉืื ืืืจืื. ืขื ืคื ืงื.
ืืขื ืืื ืขื ืืกืืกื ื ืชืื ืื ืืจืคืืื ืืื ืฉืืงืฉืชืืช ืฉื ืืฉ ืืืืื. ืืืืืจ ืื ืื ื ืฆืจืืืื ืืืืืจ ืืื ืืงืฉืช ืืืฆืืช ืืืืืื ืืงืืืืจืื ืื ืืืงืืืืจืื ืืืืื. ืจืื ืืืื ืืืืืข ืืื ืื ืืฉืื ืื ืชืืื ืื ื ืจืง ืงืฉืช ืืืช ืืื ืฉื ื ืฆืืชืื ืืืืืื ืืืื ืืื ืืงืกืื ืืืจืฃ ืืื ืืขืื ืืืืื ืขื ืงืฉืชืืช ืืฉื ื ืืืืืื ืื. ืืืืืจ ืืืืืื ืฉื ืืืืื ืืืงืืืืจืื ืื ืื ืืฉื ื ืืืืคื ืชืฆื ืืงืฉืช ืืืื, ืืื ืืงืจื ืืคืฉืจ ืืืื ืืืกืชืื ืขื ืงืืืืจืื ืืืงืืช ืืช ืื ืืคืืกืืื ืฉืื, ืื ืืืกืชืื ืขื ืคืืกื ืืืงืืช ืืช ืื ืืงืืืืจืืืช ืืื ืืื ืฉืืื.
ืื ืฉืคืช ืฉืืืืชืืช ืืืจืคืื ืืืคืฉืจืช ืืฆืืื ืืช ืืืืื ืืงืฉืช ืื ืืืฉืืื ืืืชื. ืื ืืกืืืคืจ ืืืื ืื:
MATCH (tom:Person {name:'Tom Hanks'})-[rel:DIRECTED]-(movie:Movie)
RETURN tom.name, tom.born, movie.title, movie.released
ืืื ืืืืืืจ ืืช ืื ืืกืจืืื ืืื ืฉืืืง ืืื ืื ืงืก ืืื ืืืชืืืื ืขื ืืืืื ืืงืฉืช DIRECTED, ืื ืืช:
MATCH (:Person {name: 'Tom Hanks'})-[:DIRECTED]->(movie:Movie)
RETURN movie.title
ืฉืชืืคืกืช ืจืง ืืช ืืกืจืืื ืืฉืืืืื ืืงืฉืช ืืื ืืืฉืืงื ืืกืจื. ืืืจืืืื ืื ืืฉ ืื ืืืจืฃ ืฆืืืช ืืกืื person ืืฉื marko ืืืื ื ืืืฆืืช ืงืฉืช ืืฉื created ืืฆืืืช ืฉืืืืฆื ืคืจืืืงื ืฉืืจืงื ืืฆืจ ืื ืืฉืืืืชื:
g.V().has('person','name','marko').out('created')
ืชืืืืจ ืืช ืืคืจืืืงื ืืื ืื ืฉืืืืื ืืงืฉืช ืืื ืืืืืฆืจ ืื ืืคืจืืืงื, ืืืฉืืืืชื:
g.V().has('person','name','marko').both('created')
ืชืืืืจ ืืช ืืคืจืืืงื ืืื ืืืชืืืื ืขื ืืืืื ืืงืฉืช.
ืืชืื ืืื ืฉืื ื ืืืื ืืจืืืื ืคืชืืื ืฉืืชื ืื ืฉืืืจืืืื ืื ื ืืฉืชืืฉ ืืืชืื ืฉืืชืืืื ืขื ืืืืื ืืงืฉืช, ืืื ืืกืืืคืจ ืื ื ืืขืืืฃ ืืช ืืืชืื ืฉืื ืืชืืืื ืขื ืืืืื ืืงืฉืช. ืืืช ืืคืืื ืฉืื ื ืืืชื ืฉืืืืชืืช ืืืืชื ืืกืืก ื ืชืื ืื (ืื ืืจืื ืืกืืกื ื ืชืื ืื ืืจืคืืื ืืืืขืื ืืืืจ ืืฉืชื ืืฉืคืืช).
ืืืืคื ื ืืืื ืืืขืืคื ืืืืช? ืืืงืจื ืฉืื ืืืงืืจ ืืื ืืืืืืืืช ืืจืฉืช ืืืืืจื ืืืืืื ืฉื ืฉืชื ืืฉืคืืช. ืจืื ืืืืืืืืช ืฉื ืกืืืคืจ ืืืืขืืช ืขื ืืืชืื ืืื-ืืืืื ื ืืืืืืืืืช ืฉื ืืจืืืื ืืืจื ืืื ืืืืืจื ืืช ืืืืื ืืงืฉืช.
ืื ื ืืื ืืฆื ืืื ืืฉืืืืืื ืฉืคื ืืืฉื ืืืื ืืฉืื ืื ืืกืื ืืจืืื ืฉื ืงืืืื ืืฆืืจืช ืืขืืืื ืืืืืืฆืช ืืืืฉืชืืฉ ืืืชืื ืืื ืฉืืืชืจ ืืืื ืืืืืืืืช ืืื ืฉืืืื ืืื ืฉืื ืืืจืื ืงื ืืืืื ืืืชื ื ืืื ื ืงื ืืืืื ืงืื ืฉื ืืืจืื, ืืื ืืืืชื ื ืฉืืื ืืฉืื ืืฉืื ืื ืืืคื ืืกืื ืืืงื ืืืืฉื ืฉืื ื ืืืืจืื ืฉืืืื ืขืืจื ืื ื ืืฉืคืืช ืืืจืืช, ืืืืืืจ ืืช ืฉืืืืช ืืขืืืื ืฉืื ื ืืฆืืจื ืืืืขืช ืืืคื ืฆืจืื ืืคืจืืืงื, ืืื ืจืง ืืคื ืื ืฉืืืื ืืื ืฉืจืืืชื ืืืืืื.1 420
# ืื ืืขืฆื ืืืงืช ืฉื?
ื ืชืืื ื ืืงืื ืืืืืงื ืืื ืืชืื leantime:
#[Depends('Tests\Acceptance\LoginCest:loginSuccessfully')]
public function createAUser(AcceptanceTester $I)
{
$I->wantTo('Create a user');
$I->amOnPage('/users/showAll');
$I->click('Add User');
$I->waitForElement('#firstname', 120);
$I->fillField('#firstname', 'John');
$I->fillField('#lastname', 'Doe');
$I->selectOption('#role', 'Read Only');
$I->selectOption('#client', 'Not assigned to a client');
$I->fillField('#user', 'john@doe.com');
$I->fillField('#phone', '1234567890');
$I->fillField('#jobTitle', 'Testing');
$I->fillField('#jobLevel', 'Testing');
$I->fillField('#department', 'Testing');
$I->click('Invite User');
echo $I->grabPageSource();
$I->waitForElement('.growl', 120);
$I->wait(2);
$I
ืขืืื ืืช ืืคืจืืื, ืื php ืืืื ืื ืืืืจืื ืืื ืืื ืืฉืื. ืืืชืจ ืืขื ืืื ืื ืืขืืืช ืืื ืืชืืขืืช ืฉืืฉ ืื ื ืืื. ืืืืืงื ืื ืกื ืืืฆืืจ ืืฉืชืืฉ ืืืืื ืืจืืืช ืขื ืืืกื ืืืืขื ืฉืืืฉืชืืฉ ื ืืฆืจ. ืื ืืกืฃ, ืืืืชื ืงืืืฅ ืืื ืืืืงืืช ื ืืกืคืืช ืืืฆืืจืช ืืฉืชืืฉ, ืื ืฉืื ื ืื ืื ืฉืืืฉืื ืกืืื ืขื ืืืืืงื ืืืืช.
ืขืืฉืื ืืืื ื ืจืื ืื ืืืืืงื ืืืืืืช, ืืืื ืืืื ื ืืืืืื ืืืฉืช ืืื ืืืจืช:
1. ืืืืืงื ืืืืืืช ืฉืืคืฉืจ ืืืื ืคืจืืื ืืืืคืก ืืืื ืืืืืืฆืืืช ืฆื-ืืงืื ืฉืืื ืขืช ืืื ื ืืืืืฉ ืืืชื.
2. ืืืืืงื ืืืืืืช ืฉืืฉ ื HTML ืืืื ืืื ืฉื ืืืคืก ืขื ืืืืืื ืฉืืืคืืขืื ืืงืื ืืืืืงื.
3. ืืืืืงื ืืืืืืช ืฉืืืฃ ืฉืืืืจ ืืืืืคืก ืืฉ ืืืืขื ืฉืืืืจืช ืฉืืฉืชืืฉ ื ืืฆืจ ืืืฆืืื.
4. ืืืืืงื ืืืืืืช ืฉืืืืคืก ืืืืฉ ืืฉื ืืืฉืื ื URL ืฉืืืคืืข ืืงืื ืืืืืงื.
ืืื ืืฉ ืื ืืจืื ืืืจืื ืฉืืืืืงื ืื ืืืืืืช ืืืืื ืืื ืื ื ืืขื ืืื ืืืืื ืืืชื:
1. ืืื ืืืืงื ืฉืืฉืชืืฉ ืืื ื ืืฆืจ ืืืกืืก ืื ืชืื ืื.
2. ืืื ืืืืงื ืฉืคืจืื ืืืฉืชืืฉ ืฉื ืืฆืจ ืงืฉืืจืื ืืคืจืืื ืฉืืืื ื ืืืืคืก.
3. ืืื ืืืืงื ืฉืคืจืืื ืืกืืืืื ืืืืืื ืืืืฉืืื ืืืฆืืจืช ืืฉืชืืฉ, ืืืืืื ืืฆืืื.
4. ืืื ืืืืงื ืฉืืฆืืื ืืืฆืื ืืื ืืกืืืืื ืืืืืื ืืืืฉืืื ืืืฆืืจืช ืืฉืชืืฉ, ืืืฉื ืืื ืืืืงื ืฉืื ืืฉ ืืืจ ืืฉืชืืฉ ืขื ืืื ืืืืืื ืืืขืจืืช ืื ืื ืืคืฉืจ ืืืื ืืืฆืืจ ืืืชื.
ืจืฉืืื ืืืืช ืืื ืืฆืขื ืืจืืฉืื ืืืจื ืืืคืื ืืืืงื ืงืืืืช ืืืคืงืืืืืช ืืืชืจ. ืืืจื ืื ืืคืฉืจ ืืืืืื ืื ืื ืื ื ืืขืฆื ืจืืฆืื ืืืืืง - ืืื ืื ืืืืงืช ืืื ืืืจืฆืื ืฉืฆืจืืื ืืืืื ืฉืื ืืืขืจืืช ืขืืืืช ืืชืืืื? ืื ืื ืฆืจืื ืืืืื ืฉืืืฉืชืืฉืื ืืื ื ืื ืกื ืืืกืืก ืื ืชืื ืื ืืืืืกืืฃ ืขืื ืืืืงืืช ืขื ืืืฆืืื ืืฉืื ืื ืฉื ืืฆืืื ืืืืฉืืื ืืืฆืืจืช ืืืฉืชืืฉืื. ืื ืฉืืืื ืื ืืืืงืช ืืืืื ืฉืฆืจืืื ืืืืื ืฉืืืืคืก ืืืืฉ ืืืืื ืืช ืืืืื ืืื ืืืชืืืืื? ืื ืื ืืืฆื ืืืื ืืืคืจืื ืืืชื ืืืืืงืืช ืงืื ืืช ืืืชืจ, ืื ืืืืงื ืชืืื ืืืื ื ืกืคืฆืืคื ืืื ืฉืืืฉืืื ืืืืืงื ืืืื ืืืคื ืืช ืืืชื ืืื ืืืืืื ืืชืงืื.
ืืฉืงืขื ืืืืืงืืช ืืื ืืืืืืืช. ืืืงื ืืื ืืืชืื ืืช ืืืืืงื ืืืืจื ืื ืืืงื ืืื ืืชืืืง ืืืชื, ืื ืืื ืืืืื ืืืืืฉื ืืื ืฉืื ืื. ืืฉืืืืืงืืช ืื ืืกืคืืง ืืคืงืืืืืืช ืื ืื ื ืจืง ืืืืืืื ืืื ืืืืฆืจืื ืชืกืืื. ืื ืืืจ ืืืืืชื ืืืชืื ืืืืงืืช, ืขืฉื ืืขืฆืืื ืืืื ืืืฉืงืืขื ืืช ืืืืืฅ ืืืชืืืช ืืืืงืืช ืืขืืืืช, ืืืฉืืืจื ืืงืื ืจืง ืืืืงืืช ืฉืืืืืืช ืขืจื ืืืืชื.
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
