메뉴 건너뛰기

아시아평생교육원

소프트웨어자료실

Naver 사이트 상위 노출 프로그램.PNG

 

특정 키워드로 네이버 검색시 그 키워드와 관련된 사이트가 검색이 되는데

이 노출되는 사이트 순서를 상승시키는것을 사이트 상위 노출이라고 합니다.

Naver 사이트 상위 노출 프로그램은 

사이트 순서를 상단에 위치하게 도와주는 프로그램입니다.

using System.Reflection;

using System.Runtime.CompilerServices;

 

//

// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 제어됩니다. 

// 어셈블리와 관련된 정보를 수정하려면

// 이 특성 값을 변경하십시오.

//

[assembly: AssemblyTitle("")]

[assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("")]

[assembly: AssemblyProduct("")]

[assembly: AssemblyCopyright("")]

[assembly: AssemblyTrademark("")]

[assembly: AssemblyCulture("")]

 

//

// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.

//

//      주 버전

//      부 버전 

//      빌드 번호

//      수정 번호

//

// 모든 값을 지정하거나

// 아래와 같이 '*'를 사용하여 수정 번호 및 빌드 번호가 자동으로 지정되도록 할 수 있습니다.

 

[assembly: AssemblyVersion("1.0.*")]

 

//

// 어셈블리에 서명하려면 사용할 키를 지정해야 합니다. 어셈블리 서명에 대한 자세한 내용은 

// Microsoft .NET Framework 설명서를 참조하십시오.

//

// 서명하는 데 사용할 키를 제어하려면 아래 특성을 사용합니다. 

//

// 참고: 

//   (*) 키를 지정하지 않으면 어셈블리에 서명할 수 없습니다.

//   (*) KeyName은

//       사용자 컴퓨터의 CSP(암호화 서비스 공급자)에

//        설치되어 있는 키를 참조하고 KeyFile은 키가 포함된 파일을

//        참조합니다.

//   (*) KeyFile과 KeyName 값을 모두 지정하면 

//       다음과 같은 프로세스가 발생합니다.

//       (1) CSP에 KeyName이 있으면 해당 키가 사용됩니다.

//       (2) KeyName은 없고, KeyFile이 있으면 

//           KeyFile의 키가 CSP에 설치되어 사용됩니다.

//   (*) sn.exe(강력한 이름 유틸리티)를 사용하면 KeyFile을 만들 수 있습니다.

//        KeyFile을 지정하는 경우

//       KeyFile의 위치는 %Project Directory%\obj\<configuration>의 프로젝트 출력 디렉터리 위치를 기준으로 하는 상대 위치이어야 합니다.

//       예를 들어, KeyFile이 프로젝트 디렉터리에 있는 경우

//       AssemblyKeyFile 특성을 

//       [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]로 지정합니다.

//   (*) 서명 연기는 고급 옵션입니다.

//       이 옵션에 대한 자세한 내용은 Microsoft .NET Framework 설명서를 참조하십시오.

//

[assembly: AssemblyDelaySign(false)]

[assembly: AssemblyKeyFile("")]

[assembly: AssemblyKeyName("")]

 

 

 

========================================================================

using System; 

using System.Threading; 

 

public class MainThreadTest 

public static void Main () 

Thread th = Thread.CurrentThread; 

Console.WriteLine("1. 현재 Thread HashCode:", th.GetHashCode()); 

Console.WriteLine("2. 스레드의 이름:"+ th.Name); 

Console.WriteLine("3. 스레드의 CurrentCulture:"+ th.CurrentCulture); 

Console.WriteLine("4. 스레드의 우선순위:"+ th.Priority); 

Console.WriteLine("5. 스레드의 상태:"+ th.ThreadState); 

Console.WriteLine("6. 스레드의 IsBackground:"+ th.IsBackground); 

}

}

 

 

 

========================================================================

using System.Reflection;

using System.Runtime.CompilerServices;

 

//

// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 제어됩니다. 

// 어셈블리와 관련된 정보를 수정하려면

// 이 특성 값을 변경하십시오.

//

[assembly: AssemblyTitle("")]

[assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("")]

[assembly: AssemblyProduct("")]

[assembly: AssemblyCopyright("")]

[assembly: AssemblyTrademark("")]

[assembly: AssemblyCulture("")]

 

//

// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.

//

//      주 버전

//      부 버전 

//      빌드 번호

//      수정 번호

//

// 모든 값을 지정하거나

// 아래와 같이 '*'를 사용하여 수정 번호 및 빌드 번호가 자동으로 지정되도록 할 수 있습니다.

 

[assembly: AssemblyVersion("1.0.*")]

 

//

// 어셈블리에 서명하려면 사용할 키를 지정해야 합니다. 어셈블리 서명에 대한 자세한 내용은 

// Microsoft .NET Framework 설명서를 참조하십시오.

//

// 서명하는 데 사용할 키를 제어하려면 아래 특성을 사용합니다. 

//

// 참고: 

//   (*) 키를 지정하지 않으면 어셈블리에 서명할 수 없습니다.

//   (*) KeyName은

//       사용자 컴퓨터의 CSP(암호화 서비스 공급자)에

//        설치되어 있는 키를 참조하고 KeyFile은 키가 포함된 파일을

//        참조합니다.

//   (*) KeyFile과 KeyName 값을 모두 지정하면 

//       다음과 같은 프로세스가 발생합니다.

//       (1) CSP에 KeyName이 있으면 해당 키가 사용됩니다.

//       (2) KeyName은 없고, KeyFile이 있으면 

//           KeyFile의 키가 CSP에 설치되어 사용됩니다.

//   (*) sn.exe(강력한 이름 유틸리티)를 사용하면 KeyFile을 만들 수 있습니다.

//        KeyFile을 지정하는 경우

//       KeyFile의 위치는 %Project Directory%\obj\<configuration>의 프로젝트 출력 디렉터리 위치를 기준으로 하는 상대 위치이어야 합니다.

//       예를 들어, KeyFile이 프로젝트 디렉터리에 있는 경우

//       AssemblyKeyFile 특성을 

//       [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]로 지정합니다.

//   (*) 서명 연기는 고급 옵션입니다.

//       이 옵션에 대한 자세한 내용은 Microsoft .NET Framework 설명서를 참조하십시오.

//

[assembly: AssemblyDelaySign(false)]

[assembly: AssemblyKeyFile("")]

[assembly: AssemblyKeyName("")]

 

 

 

========================================================================

using System; 

using System.Threading; 

 

public class ThreadMonitorTest

public static void Main()

Top t1 = new Top(); 

Top t2 = new Top(); 

ThreadStart ts1 = new ThreadStart(t1.SayHello); 

ThreadStart ts2 = new ThreadStart(t2.SayHello); 

Thread thread1= new Thread(ts1);       

Thread thread2= new Thread(ts2);       

thread1.Start(); 

thread2.Start(); 

Console.Write("\nThread "+Thread.CurrentThread.GetHashCode()+ "메인 종료\n" ); 

}

}

 

public class Top

private static object obj = new object(); 

public  void SayHello()

int hash = Thread.CurrentThread.GetHashCode(); 

int count =0; 

Monitor.Enter(Top.obj); //동기화 진입점 

try

while(count<10)

Console.WriteLine("Thread "+ hash+":" + count++); 

Thread.Sleep(10); 

if(count==5)

throw(new Exception()); 

}

catch(Exception e)

Console.WriteLine(e); 

}

finally

Monitor.Exit(Top.obj); //동기화 종료점 

}

 

 

 

========================================================================

using System.Reflection;

using System.Runtime.CompilerServices;

 

//

// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 제어됩니다. 

// 어셈블리와 관련된 정보를 수정하려면

// 이 특성 값을 변경하십시오.

//

[assembly: AssemblyTitle("")]

[assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("")]

[assembly: AssemblyProduct("")]

[assembly: AssemblyCopyright("")]

[assembly: AssemblyTrademark("")]

[assembly: AssemblyCulture("")]

 

//

// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.

//

//      주 버전

//      부 버전 

//      빌드 번호

//      수정 번호

//

// 모든 값을 지정하거나

// 아래와 같이 '*'를 사용하여 수정 번호 및 빌드 번호가 자동으로 지정되도록 할 수 있습니다.

 

[assembly: AssemblyVersion("1.0.*")]

 

//

// 어셈블리에 서명하려면 사용할 키를 지정해야 합니다. 어셈블리 서명에 대한 자세한 내용은 

// Microsoft .NET Framework 설명서를 참조하십시오.

//

// 서명하는 데 사용할 키를 제어하려면 아래 특성을 사용합니다. 

//

// 참고: 

//   (*) 키를 지정하지 않으면 어셈블리에 서명할 수 없습니다.

//   (*) KeyName은

//       사용자 컴퓨터의 CSP(암호화 서비스 공급자)에

//        설치되어 있는 키를 참조하고 KeyFile은 키가 포함된 파일을

//        참조합니다.

//   (*) KeyFile과 KeyName 값을 모두 지정하면 

//       다음과 같은 프로세스가 발생합니다.

//       (1) CSP에 KeyName이 있으면 해당 키가 사용됩니다.

//       (2) KeyName은 없고, KeyFile이 있으면 

//           KeyFile의 키가 CSP에 설치되어 사용됩니다.

//   (*) sn.exe(강력한 이름 유틸리티)를 사용하면 KeyFile을 만들 수 있습니다.

//        KeyFile을 지정하는 경우

//       KeyFile의 위치는 %Project Directory%\obj\<configuration>의 프로젝트 출력 디렉터리 위치를 기준으로 하는 상대 위치이어야 합니다.

//       예를 들어, KeyFile이 프로젝트 디렉터리에 있는 경우

//       AssemblyKeyFile 특성을 

//       [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]로 지정합니다.

//   (*) 서명 연기는 고급 옵션입니다.

//       이 옵션에 대한 자세한 내용은 Microsoft .NET Framework 설명서를 참조하십시오.

//

[assembly: AssemblyDelaySign(false)]

[assembly: AssemblyKeyFile("")]

[assembly: AssemblyKeyName("")]

 

 

 

========================================================================

using System; 

using System.Threading; 

 

public class ThreadMutexTest

public static void Main()

Top t1 = new Top(); 

Top t2 = new Top(); 

ThreadStart ts1 = new ThreadStart(t1.SayHello); 

ThreadStart ts2 = new ThreadStart(t2.SayHello); 

Thread thread1= new Thread(ts1); 

Thread thread2= new Thread(ts2); 

thread1.Start(); 

thread2.Start(); 

Console.Write("\nThread "+Thread.CurrentThread.GetHashCode()+ "메인 종료\n" ); 

}

}

 

public class Top

private static Mutex mtx = new Mutex(false,"mutexsample"); 

public  void SayHello()

int hash = Thread.CurrentThread.GetHashCode(); 

int count =0; 

mtx.WaitOne(); 

while(count<10)

Console.WriteLine("Thread "+ hash+":" + count++); 

Thread.Sleep(10); 

mtx.ReleaseMutex(); 

}

 

 

제목
태그 쓰기 목록
위로