본문으로 바로가기

분류 전체보기 검색 결과

해당 글 135

입력값에 대해서 특수문자 제거 및 숫자만 이뤄지도록 하고 사용을 한다.




var hp = '01012345678';
hp = hp.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3"); 
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[BAT] bat 파일 도메인 NSLOOKUP

category 컴퓨터/Windows 2018/09/22 10:06
@echo off
@rem KT  168.126.63.1  168.126.63.2 
@rem SK브로드밴드  210.94.0.73  221.139.13.130 
@rem 두루넷  210.117.65.1  210.117.65.2 
@rem 신비로  202.30.143.11  203.30.143.11 
@rem 데이콤  164.124.101.2  203.248.240.31 
@rem 드림라인  210.181.1.24  210.181.4.25 
@rem 파워콤  164.124.107.9  203.248.252.2 

set domain=조회할 도메인
set list=168.126.63.1, 210.94.0.73, 210.117.65.1, 202.30.143.11, 164.124.101.2, 210.181.1.24, 164.124.107.9

for %%i in (%list%) do (
    echo # %%i ################################
    nslookup %domain% %%i
)
pause
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Windows] 시작 프로그램 위치

category 컴퓨터/Windows 2018/09/10 15:14
윈도우 탐색기에서 아래의 줄을 붙여 넣으시면은 시작 프로그램 폴더로 이동을 합니다.

"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"


시작 > 실행에서 다음의 명령어를 넣어도 됩니다.

"shell:startup"
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[C#] URL에서 XML 해석

category 프로그램/C# 2018/08/26 09:10
[C#] URL에서 XML 해석


            XmlDocument doc = new XmlDocument();

            doc.Load("URL주소");

            XmlNodeList forecastNodes = doc.SelectNodes("rss/channel/item");

            foreach (XmlNode node in forecastNodes)
            {
                if (node["category"] != null)
                {
                    if (node["category"].InnerText == "NOTICE")
                    {
                        string parseFormat = "ddd, dd MMM yyyy HH:mm:ss zzz";
                        DateTimeOffset dto = DateTimeOffset.ParseExact(node["pubDate"].InnerText, parseFormat, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
                        DateTextbox.Text = dto.ToString("yyyy년 MM월 dd일 (ddd) tt h시 mm분");
                        break;
                    }
                }
            }
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[C#] HTML 에서 Text만 추출

category 프로그램/C# 2018/07/26 09:08
        /// <summary>
        /// HTML 에서 Text만 추출한다.
        /// </summary>
        /// <param name="Html"></param>
        /// <returns></returns>
        public static string StripHtml(string Html)
        {
            string output = Html;

            output = System.Text.RegularExpressions.Regex.Replace(output, "<br>", Environment.NewLine);
            output = System.Text.RegularExpressions.Regex.Replace(output, "<br/>", Environment.NewLine);
            output = System.Text.RegularExpressions.Regex.Replace(output, "<br />", Environment.NewLine);

            //get rid of HTML tags
            output = System.Text.RegularExpressions.Regex.Replace(output, "<[^>]*>", string.Empty);
            //get rid of multiple blank lines
            output = System.Text.RegularExpressions.Regex.Replace(output, @"^\s*$\n", string.Empty, System.Text.RegularExpressions.RegexOptions.Multiline);

            output = System.Text.RegularExpressions.Regex.Replace(output, "&nbsp;", " ");
            return output;
        }
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

find /home/사용자디렉토리/ -user 대상유저명 | xargs chown 변경그룹.변경소유자


출처 : http://blog.rubi.kr/linux%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%9D%98-%ED%8A%B9%EC%A0%95-%EA%B3%84%EC%A0%95-%EC%86%8C%EC%9C%A0%EA%B6%8C-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0/
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

일반적으로 프로그램을 배포시 exe파일과 Application이 호출하는 dll파일은 동일한 폴더(또는 dll 파일이 System폴더에 위치)에 있어야 한다.

Microsoft 공식 배포처에서는 exe와 호출하는 라이브러리를 병합하는 프로그램을 배포중이지만, 컴파일러단에서 자체 해결할 수 있는 방법도 존재한다.

1. 사용하고자 하는 dll을 프로젝트에 참조

2. 해당 dll을 프로젝트 리소스에 추가

3. 리소스에 추가된 dll의 속성 -> 빌드작업 속성 값을 포함 리소스로 지정

4. 프로그램 진입점(Program.cs)에 코드를 아래와 같이 변경

5. 리소스에 dll 파일 포함하기

6. dll 파일 => 속성 => 빌드작업 ++ 포함리소스로 변경
사용자 삽입 이미지












using System.Reflection;
using System.IO;



/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main() {
    // 리소스 dll 취득
    AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveAssembly);
 
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}
 
// .NET 4.0 이상
static Assembly ResolveAssembly(object sender, ResolveEventArgs args) {
    Assembly thisAssembly = Assembly.GetExecutingAssembly();
    var name = args.Name.Substring(0, args.Name.IndexOf(',')) + ".dll";
 
    var resources = thisAssembly.GetManifestResourceNames().Where(s => s.EndsWith(name));
    if (resources.Count() > 0) {
        string resourceName = resources.First();
        using (Stream stream = thisAssembly.GetManifestResourceStream(resourceName)) {
            if (stream != null) {
                byte[] assembly = new byte[stream.Length];
                stream.Read(assembly, 0, assembly.Length);
                Console.WriteLine("Dll file load : " + resourceName);
                return Assembly.Load(assembly);
            }
        }
    }
    return null;
}
 
// LINQ가 지원되지 않는 .NET 버전
static Assembly ResolveAssembly(object sender, ResolveEventArgs args) {
    Assembly thisAssembly = Assembly.GetExecutingAssembly();
    string resourceName = null;
    string fileName = args.Name.Substring(0, args.Name.IndexOf(',')) + ".dll";
    foreach (string name in thisAssembly.GetManifestResourceNames()) {
        if (name.EndsWith(fileName)) {
            resourceName = name;
        }
    }
 
    if (resourceName != null) {
        using (Stream stream = thisAssembly.GetManifestResourceStream(resourceName)) {
            if (stream != null) {
                byte[] assembly = new byte[stream.Length];
                stream.Read(assembly, 0, assembly.Length);
                Console.WriteLine("Dll file load : " + resourceName);
                return Assembly.Load(assembly);
            }
        }
    }
    return null;
}
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Linux] Crontab에 프로세스 정지와 실행을 등록



#!/bin/sh
count=0
cd /opt/monitoring
for line in `ps -ef | grep "monitoring" | grep -v grep | awk '{ printf("%s\n", $2); }'`
do
    if [ $line -ge 1 ]; then
        #echo $line
        #프로세스 죽이기는 아래것중 아무것나 사용하면 됩니다.
        #kill -TERM $line    
        kill -9 $line
    fi
    
    #echo $count
    
    if [ $count -eq 0 ]; then
        rm -rf /opt/monitoring/*.out
        /usr/bin/nohup /opt/monitoring/device.php &
        #echo bakgroundstart
        count=$(($count+1))
    fi
done
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

쉘스크립트 비교연산자 활용

category 컴퓨터/Linux 2018/03/26 10:44
쉘스크립트 비교연산자 활용


정수 비교

-eq

    같음

    if [ "$a" -eq "$b" ]
-ne

    같지 않음

    if [ "$a" -ne "$b" ]
-gt

    더 큼

    if ["$a" -gt "$b" ]
-ge

    더 크거나 같음

    if [ "$a" -ge "$b" ]
-lt

    더 작음

    if [ "$a" -lt "$b" ]
-le

    더 작거나 같음

    if [ "$a" -le "$b" ]
<

    더 작음(이중 소괄호에서)

    (("$a" < "$b"))
<=

    더 작거나 같음(이중 소괄호에서)

    (("$a" <= "$b"))
>

    더 큼(이중 소괄호에서)

    (("$a" > "$b"))
>=

    더 크거나 같음(이중 소괄호에서)

    (("$a" >= "$b"))

문자열 비교

=

    같음

    if [ "$a" = "$b" ]
==

    같음

    if [ "$a" == "$b" ]

    = 와 동의어입니다.
!=

    같지 않음

    if [ "$a" != "$b" ]

    이 연산자는 [[ ... ]] 에서 패턴 매칭을 사용합니다.
<

    아스키 알파벳 순서에서 더 작음

    if [[ "$a" < "$b" ]]

    if [ "$a" \< "$b" ]

    "<" 가 [ ] 에서 쓰일 때는 이스케이프를 시켜야 하는 것에 주의하세요.
>

    아스키 알파벳 순서에서 더 큼

    if [[ "$a" > "$b" ]]

    if [ "$a" \> "$b" ]

    ">" 가 [ ] 에서 쓰일 때는 이스케이프를 시켜야 하는 것에 주의하세요.

    이 비교 연산자를 어떻게 응용하는지 예 26-4에서 살펴보세요.
-z

    문자열이 "null"임. 즉, 길이가 0
-n

    문자열이 "null"이 아님.
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[PHP] MySQL 데이터 출력

category 프로그램/PHP 2018/02/21 12:08
1. mysql_fetch_row()
mysql_fetch_row()는 데이터를 0으로 시작하는 숫자형 인덱스 배열로 반환합니다.
ex) $row = mysql_fetch_row($result);
echo $row[0];


2. mysql_fetch_assoc()
mysql_fetch_assoc()는 데이터를 문자형 연관 배열로 반환합니다.
배열의 키 이름으로는 필드의 이름을 갖습니다.
ex)
$row = mysql_fetch_assoc($result);
echo $row['key'];


3. mysql_fetch_array()
mysql_fetch_array()는 $result_type의 값에 따라 반환될 배열의 형태가 다릅니다.

$result_type의 값으로는 아래와 같은 상수가 올 수 있으며, 기본값은 MYSQL_BOTH입니다.
  - MYSQL_NUM: 이 상수를 사용하면 숫자형 인덱스 배열을 반환합니다.  =  mysql_fetch_row()
  - MYSQL_ASSOC: 이 상수를 사용하면 문자형 연관 배열을 반환합니다.  =  mysql_fetch_assoc()
  - MYSQL_BOTH: 이 상수를 사용하면 인덱스 배열과 연관 배열을 동시에 반환합니다.

ex)  $row = mysql_fetch_array($result, MYSQL_BOTH)
echo $row['key'];
   

4. mysql_result()
mysql_result($query,0,0);    =>  ' 0행 0열 값 '
mysql_result($query,0,1)     =>  ' 0행 1열 값 '
mysql_result($query,1,1)     =>  ' 1행 1열 값 '


5. 주의 사항
mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() 세 함수는 한 행에서 데이터를 읽습니다.
또한 데이터를 읽은 후 함수 내부의 포인터를 증가시켜 다시 호출될 때 다음 행을 읽을 수 있도록 합니다.

이후데 다시 동일한 결과를 호출 하면은 0번이 아닌 1번부터 나오며 이를 초기화하는 방법은 다음과 같습니다.

//mysql
mysql_data_seek($result, 0);

//mysqli
$result= $con->query($query);
$result->data_seek(0);
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

Trudy
Trudy 님의 블로그
MENU
VISITOR 오늘23 / 전체639826