[SVN] ์„ค๋ช… ๋ฐ ๋ช…๋ น์–ด

SVN ์‚ฌ์šฉ๋ฒ• ์šฉ์–ด ์„ค๋ช… ์ €์žฅ์†Œ : ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(Repository)๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค๋“ค์€ ์ด ์ €์žฅ์†Œ ์•ˆ์— ์ €์žฅ์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†Œ์Šค๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์†Œ์Šค์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋„ ๋ชจ๋‘ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๋งˆ๋‹ค ๊ฐ๊ฐ ๋‹ค๋ฅธ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ Subversion์€ Berkeley DB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•œ ํ”„๋กœ์ ํŠธ ๋งˆ๋‹ค ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋น„์ „(Revision) : ์†Œ์Šค ํŒŒ์ผ๋“ฑ์„ ์ˆ˜์ •ํ•˜์—ฌ ์ปค๋ฐ‹ํ•˜๊ฒŒ ๋˜๋ฉด ์ผ์ •ํ•œ ๊ทœ์น™์— ์˜ํ•ด ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ ํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๊ฐ๊ฐ์˜ ํŒŒ์ผ ๋ฒ„์ „์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Subversion์˜ ๊ฒฝ์šฐ ํŒŒ์ผ๋ณ„๋กœ ๋ฆฌ๋น„์ „์ด ๋งค๊ฒจ์ง€์ง€ ์•Š๊ณ  ํ•œ๋ฒˆ ์ปค๋ฐ‹ ํ•œ ๊ฒƒ์œผ๋กœ ์ „์ฒด ๋ฆฌ๋น„์ „์ด ๋งค๊ฒจ ์ง‘๋‹ˆ๋‹ค. ๋ฆฌ๋น„์ „์„ ๋ณด๊ณ ..

  • textsms

[์ฐธ๊ณ ์‚ฌ์ดํŠธ] ๊ฐœ๋ฐœ ๋„์›€๋˜๋Š” ์›น์‚ฌ์ดํŠธ ๋ฐ ๋„๊ตฌ๋“ค

ํ•จ๊ป˜ ๋งŒ๋“œ๋Š” ๋ถ๋งˆํฌ ์ž…๋‹ˆ๋‹ค. ํ˜ผ์ž์„œ ๋ถ๋งˆํฌ ๊ด€๋ฆฌํ•˜๊ธฐ ํž˜๋“œ์‹œ์ฃ ? ๊ฐ™์ด ๊ด€๋ฆฌํ•˜๋ฉด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๊ทœํ‘œํ˜„์‹ http://www.regexr.com/ - ์ •๊ทœํ‘œํ˜„์‹์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค http://txt2re.com/index.php3 - ์ •๊ทœํ‘œํ˜„์‹์˜ ํŒจํ„ด์„ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์„œ๋น„์Šค http://www.regexper.com/ - ์ •๊ทœํ‘œํ˜„์‹์„ ์‹œ๊ฐํ™”ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค http://www.gethifi.com/tools/regex ๊ฐœ๋ฐœ ์ฐธ๊ณ  ๋ฌธ์„œ http://html5ref.clearboth.org/html5 - HTML5 ํ•œ๊ธ€ ๋ ˆํผ๋Ÿฐ์Šค (by clearboth) http://docs.oracle.com/javase/7/docs/api/ -..

  • textsms
[์šฉ์–ด์‚ฌ์ „] SSH(Secure Shell) ๋ฐ SCP(Secure CoPy)

[์šฉ์–ด์‚ฌ์ „] SSH(Secure Shell) ๋ฐ SCP(Secure CoPy)

#1. SSH(Secure Shell) SSH(Secure Shell)์ด๋ž€ ์›๊ฒฉ์ง€์— ์žˆ๋Š” ์žฅ๋น„๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์ธ๋ฐ, ์›๊ฒฉ์ง€ ์žฅ๋น„์˜ Shell์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค ์ฆ‰, ์›๊ฒฉ์ง€ ์žฅ๋น„์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ ์„œ๋ฒ„ ๋ž€? ๋ฌด์—‡์ด ๋๋“  ์„œ๋น„์Šค๋ฅผ ํ•˜๋ฉด ๊ทธ ์žฅ๋น„๋ฅผ ์„œ๋ฒ„๋ผ ์นญํ•จ ํด๋ผ์ด์–ธํŠธ ๋ž€? ๋ฌด์—‡์ด ๋๋“  ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ทธ ์žฅ๋น„๋ฅผ ํด๋ผ์ด์–ธํŠธ๋ผ๊ณ  ์นญํ•จ CentOS 7์—๋Š” SSH Server ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ๊ฐ€๋™๋˜๊ฒŒ ํ•จ SSH Server ํ”„๋กœ๊ทธ๋žจ์ด ํด๋ผ์ด์–ธํŠธ๋“ค์ด ํ•ด๋‹น ์„œ๋ฒ„์˜ Shell์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„œ๋น„์Šค ํ•ด ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ SSH Client ํ”„๋กœ๊ทธ๋žจ์˜ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ•˜์ง€๋งŒ Putty๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด SSH Client ํ”„๋กœ๊ทธ๋žจ ์ค‘์— ํ•˜๋‚˜ SSH Client ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ€์ง€๊ณ  SSH..

  • textsms
[Server] Putty ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•

[Server] Putty ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•

Putty ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ• 1. Putty ๋ž€? - SSH ์ ‘์† ํ”„๋กœ๊ทธ๋žจ์ด๋ผ ํ•œ๋‹ค. - Putty๋ฅผ ์ด์šฉํ•ด์„œ ๋ช…๋ น์–ด๋ฅผ ๋‚ ๋ฆด ์ˆ˜๊ฐ€ ์žˆ๋‹ค. - ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธํ„ฐ๋„ท์—์„œ ๋ฌด๋ฃŒ๋กœ ์–ธ์ œ๋“ ์ง€ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. - ์„œ๋ฒ„์— IP๋ฅผ ๋ถ€์—ฌํ•ด์•ผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. putty๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„œ๋ฒ„์™€ RealPC๊ฐ€ ํ†ต์‹ ํ•ด์•ผ ํ•œ๋‹ค. ํ•ด์„œ putty๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„œ๋ฒ„์— ์‚ฌ์ „์— IP์…‹ํŒ…์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. 2. Putty ์„ค์น˜ - Putty install ์ž‘์—…์€ ๋ณ„ ๋‹ค๋ฅธ ๊ฒŒ ์—†๋‹ค. ๊ทธ๋ƒฅ ์œ„์— ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ  ์‹œํ‚ค๋Š”๋Œ€๋กœ(?) ๋ง๋งŒ ์ž˜ ๋“ค์œผ๋ฉด ๋œ๋‹ค. 3. Putty ์‚ฌ์šฉ๋ฒ• 1) VI ๋ฌธ์„œํŽธ์ง‘๊ธฐ๋กœ /etc/sysconfig/network-scripts ์•ˆ์— ์žˆ๋Š” ifcfg-eno16777736 ํŒŒ์ผ์„ ์—ฐ๋‹ค. 2) ์•„๋ž˜ BOOTPROTO ..

  • textsms
[Linux] egrep ๋ช…๋ น์–ด

[Linux] egrep ๋ช…๋ น์–ด

egrep ๋ช…๋ น์–ด =========================== ์ฐธ ๊ณ  ============================ high right : ์ถœ๋ ฅ๊ฒฐ๊ณผ์— ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ๋ถ€๋ถ„ ์ •๊ทœ ํ‘œํ˜„์‹ : ํŠน์ˆ˜ ๋ฌธ์ž์— ํŠน์ˆ˜ํ•œ ๊ธฐ๋Šฅ์„ ์ •ํ•ด์„œ ๊ทธ ๋ฌธ์ž๋“ค์„ ์กฐํ•ฉํ•˜์—ฌ ๋‚ด๊ฐ€ ์ฐพ๊ณ  ์‹ถ์€ ๋ฌธ์ž์—ด์„ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํŒจํ„ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ฉ”ํƒ€๋ฌธ์ž : ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ํŠน์ˆ˜ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋œป ํ•œ๋‹ค. ================================================================ - egrep๋ช…๋ น์–ด๋Š” ์ง€์ •ํ•œ ํŒŒ์ผ์— ๋‚ด์šฉ ์ค‘์— ๋‚ด๊ฐ€ ์ฐพ๊ณ  ์‹ถ์€ ๋ฌธ์ž์—ด์„ ์ฐพ์•„์„œ ์ฐพ๋Š” ๋ฌธ์ž์—ด์ด ์žˆ๋Š” ๊ทธ ํ–‰์„ ์ถœ๋ ฅ - egrep ๋ช…๋ น์–ด๋Š” ๋ฐ˜๋“œ์‹œ ๋Œ€์ƒ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์–ด๋Š ํŒŒ์ผ์„ ๋Œ€์ƒ์œผ๋กœ ๊ทธ ๋ฌธ์ž์—ด..

  • textsms
[Linux] VI ๋ฌธ์„œํŽธ์ง‘๊ธฐ ๋ฐ ๊ทธ ์™ธ ๋ช…๋ น์–ด๋“ค

[Linux] VI ๋ฌธ์„œํŽธ์ง‘๊ธฐ ๋ฐ ๊ทธ ์™ธ ๋ช…๋ น์–ด๋“ค

vi ๋ฌธ์„œํŽธ์ง‘๊ธฐ - ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋™๋ชจ๋“œ ์ƒํƒœ๋กœ ๋˜์–ด ์žˆ์Œ - i ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ž…๋ ฅ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•˜๊ฒŒ ๋œ๋‹ค. - ์ž…๋ ฅ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•ด์•ผ ํŒŒ์ผ์— ๋‚ด์šฉ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ ์ด๋™๋ชจ๋“œ๋Š” ๋ฐฉํ–ฅํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ด๋™ํ•ด์„œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜๋งŒ ์žˆ์Œ - vi : ํŒŒ์ผ์ด ์—†๋Š” ๋นˆ vi๊ฐ€ ์—ด๋ฆฐ๋‹ค. ๊ทธ๋ƒฅ vi๋ฅผ ์‹คํ–‰ ํ›„์— ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ด์„œ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ์ €์žฅํ•˜๋ ค ํ•˜๋ฉด ์ €์žฅํ•  ์ˆ˜ ์—†์Œ. ์ด๋ฆ„์„ ์ง€์ •ํ•ด์„œ ์ €์žฅํ•ด์•ผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ (:wq ํŒŒ์ผ๋ช… ) - vi file1 : file1์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ vi๋ฅผ ์—ฐ๋‹ค. ์ž…๋ ฅ๋ชจ๋“œ ๊ด€๋ จ ๋œ ํ‚ค - esc : ์ž…๋ ฅ๋ชจ๋“œ๋ฅผ ๋น ์ ธ๋‚˜๊ฐˆ ๋•Œ ์‚ฌ์šฉ - i : ์ปค์„œ์˜ "์ขŒ์ธก" ์œผ๋กœ ์ž…๋ ฅ๋ชจ๋“œ ์ง„์ž… - I(๋Œ€๋ฌธ์ž) : ์ปค์„œ๊ฐ€ ์žˆ๋Š” ํ–‰์—์„œ ๊ฐ€์žฅ ํ–‰์˜ ์ฒ˜์Œ์œผ๋กœ ์ž…๋ ฅ๋ชจ๋“œ ์ง„์ž… - a : ์ปค์„œ์˜ "์šฐ์ธก" ์œผ๋กœ ์ž…๋ ฅ๋ชจ๋“œ ์ง„์ž…..

  • textsms
[Linux] ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ํŒŒ์ผ

[Linux] ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ํŒŒ์ผ

๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ํŒŒ์ผ ํŒŒ์ผ : ๋ฌด์—‡์ธ๊ฐ€ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ : ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ ๊ฐ™์€ ์กด์žฌ ์ˆ˜ ๋งŽ์€ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋“ค์„ ํ•˜๋‚˜์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋‹ด์•„ ๋†“๊ณ  ์ •๋ฆฌ ์ •๋ˆํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ผ์„ ์“ฐ๋Š” ๋ชฉ์ ์€ ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ๊ธฐ๋ก ํ•ด ๋†“๊ธฐ ์œ„ํ•จ ํŒŒ์ผ ์ข…๋ฅ˜ : ๋™์˜์ƒ, ์Œ์•…, ์‚ฌ์ง„, ๋ฌธ์„œ ๋“ฑ ๋“ฑ.. ์ข…๋ฅ˜๊ฐ€ ๋งค์šฐ ๋‹ค์–‘ํ•จ mkdir : ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ - ์ ˆ๋Œ€๊ฒฝ๋กœ : ex) /root/aaa - ์ƒ๋Œ€๊ฒฝ๋กœ : ex) ./bbb (์—ฌ๊ธฐ์„œ ./ ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅ) - ex) mkdir -p aaa/bbb/ccc : aaa์™€ ๊ทธ์•ˆ์— aaa/bbb๊ฐ€ ์—†์–ด๋„ ๋ฐ”๋กœ aaa/bbb/ccc๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ - mkdir ๋ช…๋ น์–ด ์˜ต์…˜ ์ค‘์— -p๋ผ๋Š” ์˜ต์…˜ : ์ง€์ •ํ•œ ๊ฒฝ๋กœ๊ฐ€ ์•ˆ ๋งŒ๋“ค์–ด์ ธ ์žˆ์œผ๋ฉด ์•Œ์•„์„œ ๋งŒ๋“  ๋‹ค์Œ์— ๋””๋ ‰ํ„ฐ๋ฆฌ..

  • textsms
[Snapshot] ์Šค๋ƒ…์ƒท ๋ฐ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ

[Snapshot] ์Šค๋ƒ…์ƒท ๋ฐ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ

์Šค๋ƒ…์ƒท ์ด๋ž€ ? 1. ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์ €์žฅํ•ด์„œ ์–ธ์ œ๋“ ์ง€ ์ €์žฅํ–ˆ๋˜ ๊ทธ ์ˆœ๊ฐ„์œผ๋กœ ๋ณต๊ตฌ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ 2. ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“œ๋Š” ์ด์œ  : ์ง€๊ธˆ ์ƒํƒœ๋ฅผ ์ €์žฅํ•ด ๋†“๊ณ  ๋‚˜์ค‘์— ์–ธ์ œ๋“ ์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ ํ–ˆ์„ ๋•Œ ๋‹ค์‹œ ์ €์žฅํ•œ ๊ทธ ๋•Œ ๊ทธ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•จ 3. ์Šค๋ƒ…์ƒท์„ ์ฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋กœ๊ทธ์ธ์„ ํ•ด ๋†”์•ผ ํ•˜๋Š”๊ฑด ์ ˆ๋Œ€ ์•„๋‹˜ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ์˜ ์ „์›์ด ๊บผ์ ธ ์žˆ์–ด๋„ ์Šค๋ƒ…์ƒท์„ ์ฐ์„ ์ˆ˜ ์žˆ์Œ ๋งŒ์•ฝ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ์ „์›์„ ๋ˆ ์ƒํƒœ์—์„œ ์Šค๋ƒ…์ƒท์„ ์ฐ์œผ๋ฉด ๋‚˜์ค‘์— ๊ทธ ์Šค๋ƒ…์ƒท์œผ๋กœ ๋˜๋Œ๋ฆฌ๋ฉด ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ์ „์›์ด ๊บผ์ ธ์žˆ์Œ 4. ๋กœ๊ทธ์ธ์„ ํ•ด ๋†“๊ณ  ์Šค๋ƒ…์ƒท์„ ์ฐ์œผ๋ฉด ๋‚˜์ค‘์— ๊ทธ ์Šค๋ƒ…์ƒท์œผ๋กœ ๋˜๋Œ๋ฆฌ๋ฉด ๋กœ๊ทธ์ธ์ด ๋œ ์ƒํƒœ๋กœ ๋˜๋Œ์•„๊ฐ 5. ์Šค๋ƒ…์ƒท ๋งค๋‹ˆ์ €์—์„œ๋„ ํ…Œ์ดํฌ ์Šค๋ƒ…์ƒท์ด ๊ฐ€๋Šฅ 6. ์Šค๋ƒ…์ƒท์„ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ๋งˆ๋‹ค ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค. ํ—ˆ๋‚˜ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“ค๋ฉด ์ปดํ“จํ„ฐ ์šฉ๋Ÿ‰์„ ์ฐจ์ง€ํ•˜..

  • textsms