ในช่วงที่ตลาดหุ้นเป็นกระทิงยาวนานนั้น


ฝากไว้สำหรับเพื่อน ๆ .. จริง ๆ ผมเชื่อว่า ทุกคนรู้กันอยู่แล้วแหละ แต่แค่มาเตือนสติ อย่าประมาทตลาดหุ้น
- ไม่ว่าจะเป็น หุ้น หรือ กองทุน .. "ซื้อเพราะเหตุผลอะไร ให้ขายเพราะเหตุผลนั้น" .. (ซื้อเพราะปันผล ให้ขายเพราะไม่จ่ายปันผล , ซื้อเพราะบริษัทเติบโต ให้ขายตอนที่บริษัทไม่เติบโต , ซื้อเพราะสัญญาณกราฟบอกให้ซื้อ ให้ขายตอนที่สัญญาณกราฟบอกให้ขาย)

- สำหรับคนที่ทำการซื้อแบบถัวเฉลี่ย DCA .. สำคัญ อย่าลืมวินัยของตัวเองเด็ดขาด .. ไม่ว่าหุ้นจะขึ้น หรือ ลง .. หน้าที่ของคุณคือ "ซื้อทุกเดือนอย่างสม่ำเสมอ"

- แต่ถ้าคิดว่าถึงคราววิกฤติแบบสุด ๆ แล้ว .. "ห้ามถัวเฉลี่ยขาลง"  (ในกรณี "เผาจริง" ไม่ว่าคุณจะลงทุนแนวไหน ก็ห้ามซื้อถัวเฉลี่ยขาลงโดยเด็ดขาด)
 
Value Investor จำนวนมากหรืออาจจะเรียกว่าส่วนใหญ่ ชอบลงทุนในหุ้นตัวเล็กหรือบริษัทขนาดเล็ก เหตุผลก็คือ พวกเขาเชื่อว่าหุ้นตัวเล็กนั้นจะสามารถสร้างผลตอบแทนที่สูงกว่าปกติได้หลัก ฐานที่ปรากฏในตลาดหุ้นก็ “ชัดเจน” หุ้นที่ปรับตัวเพิ่มขึ้นหลายเท่า บางตัวเป็นสิบเท่าภายในเวลาเพียงไม่เกิน 1- 2 ปี ที่ผ่านมานั้น มักจะเป็นหุ้นตัวเล็กที่มีมูลค่าตลาดของหุ้นหรือ Market Cap. ไม่เกิน 3-4 พันล้านบาท หลายตัวอาจจะไม่เกินพันล้านบาทด้วยซ้ำ หุ้นตัวเล็กนั้นมีเสน่ห์สำหรับนักลงทุนไม่เฉพาะที่เป็นนักเก็งกำไรเล่นหุ้น รายวัน แต่เป็นขวัญใจของ VI ด้วย ว่าที่จริง VI ระดับ “เซียน” ที่ทำผลตอบแทนมหาศาลในช่วงเร็ว ๆ ต่างก็รวยมาด้วยหุ้นตัวเล็กเป็นส่วนใหญ่ แทบจะเป็นข้อสรุปได้เลยว่า ถ้าคุณอยากประสบความสำเร็จในหุ้นสูงมากโดยเฉพาะเมื่อพอร์ตของคุณยังเล็กอยู่ นั้น ไม่มีทางอื่นนอกจากลงทุนในหุ้นขนาดเล็ก

Single Sign On - Sharing Session State

posted on 19 Aug 2013 17:36 by inwprogramming in Programming

Session Model (C#.net)

ที่มีอยู่ 5 Mode ครับ

1. InProc mode เป็นโหมดที่ทำงานโดยเก็บข้อมูลไว้ใน RAM ของ Web Server ซึ่งเป็นโหมดพื้นฐานที่ตั้งค่ามาให้ใช้งาน

ข้อดี ง่ายและเป็นโหมดที่ทำงานได้เร็วทีสุด

ข้อเสีย แต่มีข้อจำกัดในการรองรับจำนวนข้อมูลและการแชร์ session ใน Farm และเมื่อ web server restart ทุกอย่างที่เก็บไว้ก็จะหายไปทันที

 

2. StateServer (OutProc) mode เป็น โหมดที่ทำงานโดยแยก Service ที่เป็นส่วนเสริมของ ASP.NET เองออกไปจาก IIS process ซึ่งมีชื่อว่า ASP.NET state service โดยจะมีติดตั้งให้ทันทีที่ลง .NET Framework ซึ่งจะอยู่ที่“systemroot\Microsoft.NET\Framework\versionNumber\aspnet_state.exe”

ข้อดี ด้วย ตัว state server นี้แม้หากว่า web server เกิด restart ตัวเองขึ้นมาคุณก็แน่ใจได้ว่าเซสชั่นนั้นยังคงถูกเก็บไว้อยู่แน่นอน ซึ่งเหมาะที่จะใช้สำหรับ Web Server ใน Farm และมีความเร็วในการทำงานเป็นลำดับรองจาก InProc Mode อยู่ 1 เท่าตัว

ข้อเสีย คือ กิน RAM เหมือน InProc เพราะเก็บไว้ใน RAM เหมือนกับ InProc mode เพียงแต่แยก service ออกมาต่างหาก แปลว่าคุณควรจะมีเครื่องแยกออกมาและมีช่องเสียบ RAM เยอะๆ และเสียบ RAM ไว้เพื่อรองรับงานดังกล่าว แต่เมื่อ StateServer restart ทุกเซสชั่นก็จะหายไปหมดเช่นกัน

ตัวอย่าง web.config

<configuration>
  <system.web>
    <sessionState mode="StateServer"stateConnectionString="tcpip=SampleStateServer:42424" 
                  cookieless="false" timeout="20"/>
  </system.web>
</configuration>

 

 

 

3. SQLServer mode เป็นโหมดที่เก็บเซสชั่นไว้ใน Database

ข้อดี คุณสมบัติ เหมือนกับ StateServer mode ทุกอย่าง และถึงแม้ว่า SqlServer จะ restart ข้อมูลเซสชั่นก็ยังคงถูกเก็บเอาไว้ใน Database ไม่หายไป และดีกว่าที่ว่าสามารถขยายความจุของเซสชั่นได้เท่ากับพื้นที่บน HDD ที่มีอยู่ เหมาะที่ใช้กับ Web Server ใน Farm

ข้อเสียที่ว่า ช้ากว่า InProc mode ประมาณ 3 เท่าตัว

ตัวอย่าง web.config

<configuration>
  <system.web>
    <sessionState mode="SQLServer" sqlConnectionString=
                  "Integrated Security=SSPI;data source=SQLSessionServer;" />
  </system.web>
</configuration>

 

 

*** หากต้องการจะใช้งาน SqlServer Mode คุณต้องทำการ register database ด้วย aspnet_regsql.exe ตัวนี้ก่อน

4. Custom mode หา ตัวอื่นมาใช้ทดแทนทั้ง 3 mode ที่กล่าวไปข้างต้น โดยอาจจะเก็บไว้ใน Disk, NoSql เป็นต้น ซึ่งเราจะมาพูดคุยและทดสอบใช้งานกันในตอนนี้

5. Off mode ไม่ใช้ Session (ฟังดูจะโหดร้ายไปหน่อย)

Sharing sessions across applications using the ASP.NET Session State Service

Single Sign On เมื่อเราเข้าใจเรื่องราวเกี่ยวกับ Session แล้วต่อไปต้อง ทำ Session ให้เข้าใจว่าเป็นตัวเดียวกัน(ใช้ได้เฉพาะโหมด SQLServer mode เท่านั้น)

Basically the idea is both apps use native .net sessionState stored in sqlserver. By using the same machine key and making a small tweak to a stored procedure – both apps can share any session keys and/or forms authenication.

- แก้ตรง Application Name ให้เหมือนกัน

Both apps would do something like this in there web.config:

<sessionState mode="SQLServer" 
sqlConnectionString
="Data Source=.\SQLEXPRESS;User Id=test;Password=test;
Application Name=AppName"
/> <machineKey validationKey="SOMEKEY" validation="SHA1" decryption="AES" />

 

Session state db would need to be set up on a database server, that both apps can see.

Docs for doing this: http://msdn.microsoft.com/en-us/library/ms229862(VS.80).aspx

Command that would need to be run: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin>aspnet_regsql.exe -E -ssadd --sstype p -S .\SQLEXPRESS

-แก้ Stroed procedure โดยใส่ค่านี้ลงไป

Stored procedure (TempGetAppID) tweak to: