Friday, January 31, 2020

Iseng Batch Script

> writes to a NEW file.
>> appends to a file
< reads from a file
| sends a commands output into another command's input



&    separates commands on a line.

&&    executes this command only if previous command's errorlevel is 0.

||    (not used above) executes this command only if previous command's errorlevel is NOT 0

>    output to a file

>>    append output to a file

<    input from a file

|    output of one command into the input of another command

^    escapes any of the above, including itself, if needed to be passed to a program

"    parameters with spaces must be enclosed in quotes

+ used with copy to concatenate files. E.G. copy file1+file2 newfile

, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,

%variablename% a inbuilt or user set environmental variable

!variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command

%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batch file's name.

%* (%*) the entire command line.

%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.

\\ (\\servername\sharename\folder\file.ext) access files and folders via UNC naming.

: (win.ini:streamname) accesses an alternative steam. Also separates drive from rest of path.

. (win.ini) the LAST dot in a file path separates the name from extension

. (dir .\*.txt) the current directory

.. (cd ..) the parent directory


\\?\ (\\?\c:\windows\win.ini) When a file path is prefixed with \\?\ filename checks are turned off. 

< > : " / \ | Reserved characters. May not be used in filenames.



Reserved names. These refer to devices eg, 

copy con <filename> 

which copies a file to the console window.

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, 

COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, 

LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9



Maximum path length              260 characters
Maximum path length (\\?\)      32,767 characters (approx - some rare characters use 2 characters of storage)
Maximum filename length        255 characters


.
--

Fungsi dengan return value di Batch

@echo off
SETLOCAL
CALL :SetValue value1,value2
echo %value1%
echo %value2%
EXIT /B %ERRORLEVEL%
:SetValue
set %~1=111
set %~2=222
EXIT /B 0

Hasil:
111
222

Wednesday, January 22, 2020

Membuat website sederhana menggunakan Golang

Di postingan kali ini kita akan membuat website sederhana menggunakan golang. So pertama-tama silahkan temen-temen dowload compiler golang yang terbaru dari https://golang.org/dl/

Setelah didownload silahkan di install, tinggal next next sahaja...
Nah setelah itu kita bisa langsung membuat source code website sederhananya seperti ini :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import(
    "fmt"
    "log"
    "net/http"
)

func baseHandler(w http.ResponseWriter, r *http.Request) {
 fmt.Fprint(w, "<h1> Hellow Maryadi </h1>")
}

func main() {
 http.HandleFunc("/", baseHandler)
 log.Fatal(http.ListenAndServe(":1111", nil))
}

So disini kita buat package main dan fungsi main (line 13). Fungsi main adalah fungsi utama yang akan dieksekusi ketika program berjalan seperti dalam C, C++, Java dsb yang masing-masing punya fungsi main juga.
Kemudian dibaris ke-14 ada fungsi http.HandleFunc. Fungsi ini berguna untuk mendeteksi path apa yang diakses oleh user. Kalau kita lihat input pertamanya adalah "/" berarti ketika kita akses path "/" diwebsite ini tar fungsi baseHandler akan dieksekusi.
Fungsi baseHandler sendiri bisa dilihat dibaris 9. Input fungsinya ada 2 yaitu w sebagai response ke user dan r (saat ini belum dipakai) sebagai variabel yang berasal dari user yang akses website kita. Dan bisa kita lihat response (w) hanya berisi html biasa yaitu <h1> Hellow Maryadi </h1>.
Terakhir dibaris 15 ada fungsi log buat memperlihatkan error message ke console kita. Daan http.ListenAndServe untuk menjalankan server. :1111 artinya server kita dapat diakses dari localhost port 1111. nil artinya null, artinya handler default dari server kita berasal dari http.HandleFunc.

Kalau kita ingin menjalankan servernya cukup dengan :
go run nama_file.go

Hasilnya :

Siiip... seperti itu saja... Terima kasih..semoga bermanfaat :D