Skip to content

Instantly share code, notes, and snippets.

View iporsut's full-sized avatar
🏠
Working from home

Weerasak Chongnguluam iporsut

🏠
Working from home
View GitHub Profile
SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:\x2d\x2dbold
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:brmagenta
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:bryellow\x1e\x2d\x2dbold
SETUVAR fish_color_history_current:\x2d\x2dbold
@iporsut
iporsut / reset_password_controller.erl
Created September 2, 2019 03:39
Port Elixir to Erlang
-module(reset_password_controller).
-export([do_reset/2]).
do_reset(Conn, #{"email" := Email, "reset_password_url" := Url, "forward_url" := ForwardUrl}) ->
try
validate_url(Url, "reset_password_url"),
validate_url(ForwardUrl, "forward_url"),
Request = reset_password_request(Email),
send_request_email(Request, Url, ForwardUrl),
render(Conn, empty, #{success => true})
@iporsut
iporsut / PokerHands.hs
Last active August 29, 2019 20:04
Kata Poker Hands with Haskell
module Main where
import Data.List
import Data.Monoid
import Data.Maybe
main :: IO ()
main = do
interact process
where
@iporsut
iporsut / linkedlist.c
Created July 18, 2019 02:46
Linked List in C, Go and Ruby
#include <stdlib.h>
#include <stdio.h>
typedef struct _node {
int val;
struct _node *next;
} *node;
node node_new(int val)
{
@iporsut
iporsut / escape-unescape-html.el
Last active June 1, 2019 06:47
Elisp function calling to Ruby for escape and unescape HTML
(defun escape-html (start end)
(interactive "r")
(if (use-region-p)
(let ((regionp (buffer-substring start end)))
(delete-region start end)
(call-process-region regionp nil "ruby" nil t nil "-e" "# encoding: utf-8
require 'cgi'
print CGI.escapeHTML(ARGF.read)"))))
(defun unescape-html (start end)
@iporsut
iporsut / final_test.md
Last active March 22, 2019 02:55
Final Test

Final Test

สร้าง API ที่มี endpoint ตามต่อไปนี้ เพื่อสำหรับ Booking ห้องประชุม

Method Endpoint Request Body Response Body
POST /bookings/ {"name": "Weerasak Chongnguluam": "room": "ชมพนา", "start": "2019-03-22T07:00:00Z", "end": "2019-03-22T08:00:00Z"} {"id": 1, "name": "Weerasak Chongnguluam": "room": "ชมพนา", "start": "2019-03-22T07:00:00Z", "end": "2019-03-22T08:00:00Z"}
Method Endpoint Request Body Response Body
@iporsut
iporsut / calc.go
Created March 21, 2019 07:20
calc http handler
package calc
import (
"fmt"
"net/http"
"strconv"
)
func Add(a int, b int) int {
return a + b
@iporsut
iporsut / gist:9d29b57cd5732a59a166dfd2406b45c7
Last active March 15, 2019 02:39
Install Docker in Ubuntu on VirtualBox
VirtualBox
https://www.virtualbox.org/wiki/Downloads
Vagrant
https://www.vagrantup.com/downloads.html
> mkdir ubuntuvm
> cd ubuntuvm
> vagrant init ubuntu/bionic64
> vagrant up
@iporsut
iporsut / go.mod
Last active March 12, 2019 09:18
JWT public/private key
module gingwt
go 1.12
require (
github.com/appleboy/gin-jwt ca1084e5d5a2912d883a425834a3b642c62dc9cd
github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3 // indirect
github.com/gin-gonic/gin v1.3.0
github.com/golang/protobuf v1.3.0 // indirect
github.com/mattn/go-isatty v0.0.6 // indirect
@iporsut
iporsut / todo.txt
Last active March 8, 2019 08:49
TODO API
GET /todos
GET /todos/:id
POST /todos
PUT /todos/:id
DETELE /todos/:id
// https://docs.mongodb.com/manual/reference/operator/update-array/
POST /todos/:id/tasks
{
"desc": "Do 1",