บทความ

กำหนด Configuration PostgreSQL

สำหรับฐานข้อมูล PostgreSQL เมื่อติดตั้งแล้วระบบจะกำหนดค่า Configuration ตามมาตรฐานซึ่งจะกำหนดไม่เพียงพอต่อการใช้งาน เราจำเป็นต้องกำหนดให้ถูกต้องตามสภาพแวดล้อมของเครื่อง โดยหลักๆ แล้วจะกำหนดที่ shared_buffers ซึ่งจะกำหนดประมาณ 25% ของ ram ที่เหลืออยู่ โดยค่าต่างๆ ที่กำหนด เช่น # DB Version: 9.6 # OS Type: linux # DB Type: web # Total Memory (RAM): 32 GB # CPUs num: 2 # Data Storage: hdd max_connections = 200 shared_buffers = 8GB effective_cache_size = 24GB maintenance_work_mem = 2GB checkpoint_completion_target = 0.7 wal_buffers = 16MB default_statistics_target = 100 random_page_cost = 4 effective_io_concurrency = 2 work_mem = 41943kB min_wal_size = 1GB max_wal_size = 2GB max_worker_processes = 2 max_parallel_workers_per_gather = 1 โดยรายละเอียดนี้จะแก้ไขในไฟล์ postgresql.conf ซึ่งในส่วนของวินโดว์ส่วนของ shared_buffer จะมีค่าสูงสุดแค่ 512 MB เท่านั้น ในตัวอย่างข้างต้นเป็น CentOS จะสามารถกำหนดได้ตามจำนวนเปอร์เซ็นต์ของ ram ซึ่งถ้า...

การสั่งให้ระบบ CentOS สำรองฐานข้อมูล PostgreSQL อัตโนมัติ

ให้สร้างไฟล์โดยใช้คำสั่ง vi หรือสร้างไฟล์จากเครื่องวินโดว์โดยเนื้อหาคำสั่งในการกำหนดการทำงานให้กำหนดดังนี้ rootbk=ตำแหน่งสำรองข้อมูล dbname=ชื่อฐานข้อมูล  folderbk=`date +%F` filename=$dbname-`date +%F-%H%M%S`.backup [ ! -d "$rootbk$folderbk" ] && mkdir -p "$rootbk$folderbk" export PGPASSWORD=รหัสผ่านของฐานข้อมูล pg_dump -U postgres -h ไอพีเครื่องฐานข้อมูล -Fc -Z 9 -b -v $dbname -f $rootbk$folderbk/$filename เมื่อได้ไฟล์ตามรายละเอียดดังนี้แล้ว การกำหนดใน centos จะต้องใช้ crontab ในการสั่งให้ระบบทำงานอัตโนมัติ #crontab -e ระบบจะเปิดให้ระบบรายละเอียดในการสั่งการทำงานให้ระบุดังนี้ 59 23 * * * ตำแหน่งไฟล์และชื่อไฟล์ที่สร้างไว้ โดยค่าต่างๆ มีความหมายดังนี้ 59 นาที 23 ชั่วโมง * วันที่ในเดือน (1-31) * เดือน (1-12) * วันในสัปดาห์ (0-7) ถ้าระบุเป็น * แสดงว่าดำเนินการทุกช่วงเวลา เมื่อถึงเวลาในการกำหนดไว้ระบบจะไปเรียกตามคำสั่งตามไฟล์ที่กำหนดไว้ ซึ่งสามารถนำไปประยุกต์ในเรื่องอื่นๆ ได้

กางเต้นท์ที่เขาใหญ่ โป่งก้อนเส้า

ผู้เขียนได้มีโอกาศพาครอบครัวไปพักผ่อนโดยการกางเต้นท์ที่เขาใหญ่และโป่งก้อนเส้า ซึ่งที่เขาใหญ่นั้นได้จองพื้นที่กางเต้นท์ไว้ ซึ่งได้มีโอกาศไปในช่วงปีใหม่ บรรยากาศโดยทั่วไปบนเขาใหญ่ถือว่ายังโอเคอยู่ มีคนไปกางเต้นท์กันค่อยข้างจะเยอะพอสมควร ถ้าใครเคยไปแล้วคงจะรับรู้ถึงบรรยากาศในยามค่ำคืนได้ ในวันที่ไปนั้นบรรยากาศไม่ถือว่าเย็นมากเท่าไหร่กำลังพอดี เลยทีเดียว เมื่อผ่านคืนวันที่เขาใหญ่ ได้มาพักค้างคืนที่โป่งก้อนเส้าที่นี้สุดยอดในเรื่องของลมเลย เพราะว่าลมพัดแรงมาก ในช่วงที่ไปพัก ถ้าไม่ได้ยึดเต้นท์ไว้คงจะปลิวไปตามลมแล้ว ลมพัดจนเต้นท์ลู่ติดพื้นเลย ถ้าใครอยากลองดูขอให้ไปกางเต้นท์นะครับ ส่วนใครอยากนอนบ้านพักก็ได้ ถือว่าโอเคเลย

การถ่ายภาพด้วย SLR เบื้องต้น

เทคนิคในการถ่ายภาพด้วยกล้อง SLR เบื้องต้นนั้นตามความเข้าใจของผมซึ่งใช้กล้องประเภทนี้มาระยะหนึ่ง โดยส่วนตัวแล้วชอบใช้โหมดการถ่ายแบบ Manual เพราะเราได้ปรับแต่งค่าต่างๆเองทั้งหมด ไม่ว่าจะเป็น Speed Shutter , รูรับแสง , ISO ก็โดยส่วนตัวอีกเหมือนกันจะพยายามเลือก iso 100 ซะส่วนใหญ่ แต่ถ้าไม่มีทางเลือกก็ต้องดัน iso ขึ้นไปตามสภาพแสงที่เอื้ออำนวย เพราะว่าไม่ชอบใช้ flash ในการถ่ายภาพ ฉะนั้นผมจะพูดถึงการกำหนดค่าทั้งหมดที่ผมได้พูดไปแล้ว โดยส่วนใหญ่แล้วการกำหนด speed shutter นั้นควรจะต้องกำหนดเท่ากับช่วงความยาวของเลนส์ที่กำหนดเช่น ถ้ากำหนดที่ 50mm ก็ควรจะกำหนด speed shutter ที่ 1/50 เป็นอย่างน้อย (อันนี้แล้วแต่ว่าใครมือนิ่งกว่ากันก็สามารถลดได้อีก และก็ต้องขึ้นกับตัวเลนส์ที่เลือกใช้ด้วยว่าสามารถลด stop ได้หรือไม่) ส่วนอื่นๆก็ต้องปรับที่ รูรับแสง และ iso ด้วยว่าสภาพแสงที่กำลังจะถ่ายนั้นมีแสดงเพียงพอขนาดไหน และต้องการภาพออกมาแบบไหน เช่นถ้าต้องการภาพหน้าชัดหลังเบลอ ก็ต้องกำหนดค่า F ต่ำเพื่อให้ละลายพื้นหลัง (อาจะต้องกำหนดแบบกับพื้นหลังให้ห่างกันตามเลนส์ที่เลือกใช้ด้วย หรือถ้าใครจะใช้ flash ร่วมด้วยก็ไม่...

การนำเข้า shapefile เข้า postgresql

การนำเข้าข้อมูลจาก shape file ไปยังฐานข้อมูลนั้น ถ้ามีการกำหนด encoding ของฐานข้อมูลเป็น utf8 ส่วนใน shape fiile จะเป็น ascii ซึ่งถ้ามีการนำเข้าไปยังฐานข้อมูลภาษาไทยจะไม่ถูกต้อง จึงจำเป็นต้องมีการกำหนดรายละเอียดก่อนที่จะใช้คำสั่งในการนำเข้าข้อมูล โดยการกำหนด set PGCLIENTENCDING=WIN874 set CLIENTENCODING=WIN874 สำหรับการกำหนด Encoding จะกำหนดใน Option ของคำสั่งเลยก็ได้ เช่น shp2pgsql -s 32647 -I -W "WINDOWS-874" "location shape file and filename" schema.table | psql -U username -d database_name แต่การนำข้อมูลออกไปนั้นจะต้องกำหนดโดยการระบุด้านบนอย่างเดียวจะไม่มี option มาให้เมื่อกำหนด environment เรียบร้อยแล้วจึงทำการสั่งให้ส่งออกข้อมูลเป็น shape file ตามที่ต้องการ เช่น pgsql2shp -u postgres -P password -p port_number -h host_ip -f location_and_filename database_name schema.table

MS4W support ECW

ms4w version ใหม่จะไม่มีส่วนของการสนับสนุนการแสดงผลข้อมูลภาพ ECW จำเป็นต้องทำการ download แฟ้มข้อมูลใหม่ของ gdal มาโดยสามารถทำการ download ได้ที่ www.gdal.org เมื่อได้แฟ้มข้อมูลมาแล้วจะต้องทำการนำแฟ้มข้อมูลที่ได้มาวางไว้ในตำแหน่งดังต่อไปนี้ /ms4w/gdalplugins/ gdal_ECW_JP2ECW.dll /ms4w/apache/cgi-bin/ libecwj2.dll ใน version window บางตัวอาจะไม่มีแฟ้มข้อมูลดังนี้ ให้หามาใส่แล้วแต่เวอร์ชั่นของ mapserver ที่ทำการ compile ถ้าทำใน .net2010 จะต้องใช้ msvcr100.dll , msvcp100.dll เป็นต้น เมื่อได้แล้วในส่วนของแมพไฟล์ก็เขียนเหมือนเดิมได้แล้ว

กำหนด Transition Effect

ในการแสดงผลภาพแผนที่ผ่าน Openlayers นั้น เมื่อเราเปลี่ยนมาตราฐานหรือการย่อ ขยายแผนที่ ภาพแผนที่ที่แสดงมันจะหายไปแล้วทำการดึงภาพแผนที่ใหม่มาแทนที่ อาจจะทำไม่ค่อยสวยในการแสดงผล ในส่วนของ Openlayers จะมีตัวเลือกในการทำให้การเปลี่ยนภาพแผนที่จากที่กำหนดเป็นมาตรฐานที่กล่าวมาแล้ว เป็นแบบการดึงภาพแผนที่ก่อนการกระทำมาแสดงก่อน เมื่อได้ภาพใหม่มาจึงนำภาพดังกล่าวมาแสดงแทน โดยเราสามารถจะกำหนดได้ 2 แนวทาง ดังนี้ 1. กำหนดใน layer โดยกำหนดแบบตายตัวใน library ของ Openlayer เลย โดยกำหนดในแฟ้มข้อมูล Openlayers/Layer.js /** * APIProperty: transitionEffect * {String} The transition effect to use when the map is panned or * zoomed. * * There are currently two supported values: * - *null* No transition effect (the default). * - *resize* Existing tiles are resized on zoom to provide a visual * effect of the zoom having taken place immediately. As the * new tiles become available, they are drawn over top of the * resized tiles. */ transitionEffect: ...