08:20 MBX02 Version Bucket 5,000 까지 올라감

허브 큐 각 300건

08:35 MBX02 Version Bucket 10,000 까지 올라감

허브 큐 각 400건

   

08:38 클러스터 STOP

아래와 같이 Version Bucket 수치 떨어짐 -> 100대로 떨어지자 EDB 오프라인 시작됨

08:40 EDB 오프라인 중

   

08:43 EDB 전체 오프라인 -> MOVE -> START

08:44 디스크 온라인 완료

08:45 EDB 온라인 완료 Fail없음

08:53 허브 큐 해소 완료(Mapi Delivery)

   

   

   

   

기준값

  1. Back Pressure큐 상에 처리되지 않은 메일 건수 기준
  2. Version Bucket 은 처리되지 않은 Request 건수 / 메모리상의 요청 수

   

   

현상

  1. Back Pressure => 메일박스 전체에 영향을 줌
  2. Version Bucket 은 특정 EDB 에서만 발현

3. 상세현상

특정사용자에게 규칙오류(event id 1147) 관련 메일 폭탄이 계속해서 전달됨(현상 해소시킬 때까지 계속)

규칙오류로 특정 EDB 사용자에게 폭탄메일(반복적인 오류메일)이 계속들어옴, 아웃룩 사용불가

Perfmon 모니터에서 MSExchange Database version bucket allocated 수치 확인

평상 시 에는 Information Store Total 수치 모니터링

사전 감지 어려움

   

   

결론

Exchange Server 2013은 해당 문제 없음

   

   




   

   

FCK 에디터 기본 설정

   

FCK Editor v2.4.3

    

   

1. 환경 설정하기 fckeditor/fckconfig.js 

   

서버스크립트별로 주석으로 표시되어 있는 부분을 해제

FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ; // ASP style server side code <%...%>

   

기본언어

FCKConfig.DefaultLanguage  = 'kr' ;

   

편집중 엔터 또는 쉬프트+엔터

FCKConfig.EnterMode = 'div' ;   // p | div | br

FCKConfig.ShiftEnterMode = 'br' ; // p | div | br

   

링크 서버 보기 기능 해제(보안 필수)

FCKConfig.LinkBrowser = false ;

   

이미지 서버 보기 기능 해제(보안 필수)

FCKConfig.ImageBrowser = false ;

   

플래시 서버 보기 기능 해제(보안 필수)

FCKConfig.FlashBrowser = false ;

   

   

이모티콘 추가

FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/' ;

FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif',

'tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif',

'angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif',

'thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;

   

툴바설정

FCKConfig.ToolbarSets["MyToolbar"] = [

 ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],

 ['OrderedList','UnorderedList','-','Outdent','Indent'],

 ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],

 ['Link','Unlink','Anchor'],['Image']

] ;

이렇게 별도로 추가한 다음에 fckeditor를 생성하는 스크립트에서는 아래처럼 지정해 주면 된다.

Dim oFCKeditor

Set oFCKeditor = New FCKeditor

oFCKeditor.ToolbarSet = "MyToolbar"

oFCKeditor.BasePath = "/fckeditor/"

oFCKeditor.Value = ""

oFCKeditor.Height = 400

oFCKeditor.Width = 780

oFCKeditor.Create "content"

   

2. 용량이 큰 이미지를 업로드 설정할

참고 http://blog.naver.com/neofanta.do?Redirect=Log&logNo=120039036389

   

3. 한글 이미지파일명 처리

페이지 케릭터셋 변경

   

fckeditor/editor/filemanager/upload/asp/upload.asp

<%@ CodePage=65001 Language="VBScript"%>

<%

Option Explicit

Response.Buffer = True

Response.CharSet = "UTF-8"

   

   

4. 이미지 업로드 경로 변경

fckeditor/editor/filemanager/upload/asp/config.asp 파일 수정

ConfigUserFilesPath = "/files/fck/"

   

   

5. 이미지 주소 형태 변경

업로드 이미지 전체 주소의 형태로 태그가 만들어지면 해결됨

포스트 참조 http://blog.naver.com/neofanta.do?Redirect=Log&logNo=120045457520

   

6. 편집기 폰트목록 추가

/fckeditor/fckconfig.js 파일

   

FCKConfig.FontNames  = '굴림;굴림체;돋움;돋움체;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

   

/fckeditor/editor/css/fck_editorarea.css

body, td

{

 font-family: Gulim, Arial, Verdana, Sans-Serif;

 font-size: 12px;

}

   

   




   

   

   

[사전 작업]

1.     덤프 설정 점검

덤프 설정 내용 변경 후 적용을 위해서는 서버 재 부팅이 필요합니다.

Downtime을 잡고서 진행해 주세요.

   

①     제어판 – 시스템 및 보안 - 시스템 – 고급 시스템 설정 - 고급 - 시작 및 복구 – 설정

②     디버깅 정보 쓰기를 "커널 메모리 덤프" 로 설정 또는 레지스트리에서 아래 값을 설정 합니다.

1.      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

2.      값 이름 : CrashDumpEnabled

3.      데이터 형식 : REG_DWORD

4.      값 : 2 (참고! 1: 전체 메모리 덤프, 2: 커널 메모리 덤프, 3: 미니 덤프)

③     기존 파일에 덮어쓰기 옵션은 check 합니다.

④     %SystemRoot% 파티션에 Paging 파일이 존재해야 합니다.

A.     (SystemRoot 파티션은 부팅 파일이 존재하는 파티션입니다. 기본값으로 Windows를 설치하셨다면, c:\가 됩니다.)

   

⑤     기본적으로 Memory Dump 는 C:\Windows 에 저장됩니다.

C Drive 에 공간이 충분히 있는지 확인하십시오.

⑥     %SystemRoot% 파티션에 Paging 파일이 존재해야 합니다.

⑦     %SystemRoot% 파티션에 있는 Paging 파일의 크기가 물리적인 메모리보다 커야 합니다. (C:\ D:\ 등으로 페이지 파일이 나뉘어 있어도 C:\에 있는 페이지 파일의 크기가 물리 메모리 보다 커야 합니다.)

A.     아래의 예는 물리 메모리가 4GB 일 경우 설정 입니다.

B.      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles

C.      c:\pagefile.sys 4200 4200

⑧     이를 적용하기 위하여 시스템을 재 부팅합니다.

   

   

2.     OS 커널 덤프 수집 설정

덤프 수집 시 BSOD가 발생되며 서버가 재 부팅 됩니다.

1)      C:\NotMyfaultx64에 압축을 해제합니다.

2)     관리자 권한으로 Command Prompt를 실행하고 C:\NotMyfaultx64 경로로 이동합니다.

3)     다음 명령을 수행합니다. Notmyfault.exe /crash

4)     잠시 후 BSOD가 발생되면서 서버가 재 부팅됩니다.

자동으로 재 부팅이 완료될 때까지 기다렸다가 C:\Windows\MEMORY.DMP 파일을 확인해 주세요.

   

   

   




   

   

설치파일 DebugDiagx64.msi

   

   

   

   

   

. IIS hang덤프 수집

     웹 서버로부터 응답이 없거나 성능이 느려지는 문제가 발생할 경우 DebugDiag 도구를 실행한 상태에서

Tools"Create IIS Hang Dump"를 클릭하여 메모리 덤프를 수집해 주십시오.

   

     기본 설정으로 두었다면 수집한 덤프는 Tools – "Options & Settings" 창을 실행하면,

C:\Program Files\IIS Resources\DebugDiag\Logs\Misc 폴더 하위에 저장되며, 적절한 위치로 변경할 수 있습니다.

   

   

   

   




SCOM 2012 실시간 모니터링을 위해 별도 PC에 operation manager 설치 시

Requirement 인 리포트퓨어 설치 실패 현상

   

필수 설치 요소인 ReportViewer 설치 시 SQL Server 2012 Clr Type을 설치하라고 함.

(주의) SQL Server 2012 Clr Tpyes 영문판을 설치하면 ReportViewr 설치 시 계속 설치되어 있지 않다고 뜬다.

   

이거 아님

   

이거 이거 2MB 짜리

-> 해결책 한글판 설치 하면 됨.

   

   

   

   

   







인터페이스란


클래스 대신 인터페이스라는 선언문 사용

그리고 내용에는 접근제어자 없는 함수 형태만 덩그러니 있음


왜 사용할까?

다중상속에서 오는 문제점을 막으면서, 다중상속할 수 있게 해주는 것

(어떤 함수를 호출 할 지 모르게 되어버리는 문제)


다중상속이 가능하게 하는 키워드!



inerface Test {

void aaa();

}


interface Exam{

void bbb();

}


class Inter : Test, Exam {


public void aaa(){

def

}

public void bbb(){

abc

}

}



그리고 다른 장점은(아래 소스코드)

하나의 인터페이스를 상속받은 서로 다른 성질의 클래스들을

하나로 묶어서 사용이 가능 아래 Main 함수 안에서...

7   class Program

8     {

9         static void Main(string[] args)

10         {

11             Exam[] ex = new Exam[3];

12             ex[0] = new Test();

13             ex[1] = new Test1();

14             ex[2] = new Test2();

15 

16             for (int i = 0; i < 3; i++) {

17                 ex[i].Exam_method();

18             }

19 

20             Console.WriteLine("Press any key...");

21             Console.ReadLine();

22         }

23     }

24     interface Exam

25     {

26         void Exam_method();

27     }

28     class Test :Exam {

29         public void Exam_method()

30         {

31             Console.WriteLine("Test_Method 입니다.");

32         }

33     }

34     class Test1 : Exam {

35         public void Exam_method()

36         {

37             Console.WriteLine("Test1_Method 입니다.");

38         }

39     }

40     class Test2 : Exam

41     {

42         public void Exam_method()

43         {

44             Console.WriteLine("Test2_Method 입니다.");

45         }

46     }



디자인 패턴의 많은 예제 코드들이 이 인터페이스를 설계하는 것으로 부터 많이 시작

단순히 뼈대를 제공하는 것 뿐만아니라 더 큰 의미에서 최소한의 수정을 통해서 

변화에 대응 할 수 있도록 하기 위한 유연한 프로그래밍을 할 수 있게 해주는

 설계의 근간이 된다



인터페이스 내에서는 메소드, 이벤트, 인덱서, 속성이 쓰일 수 있으며, 

필드를 포함할 수 없습니다. 

인터페이스의 모든 멤버는 public로 접근 권한이 기본으로 지정

인터페이스를 상속한 클래스에서는 반드시 함수를 정의해줘야됨.



사전적 의미

'사용자인 인간과 컴퓨터를 연결하여 주는 장치. 키보드나 디스플레이 따위.' 

'서로 다른 두 시스템, 장치, 소프트웨어 따위를 서로 이어 주는 부분. 

또는 그런 접속 장치'



다른 특징

인터페이스는 인터페이스를 상속할 수 있음








'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

IE10 부터 맞춤법 교정 기능  (0) 2016.04.22
FCK 에디터 기본 설정  (0) 2016.04.05
MVC 내부 파이프라인  (0) 2016.03.16
`MVC의 ActionResult  (0) 2016.03.16
MVC 강의 정리 2일차  (0) 2016.03.14



마이크로소프트의 Windows server 2003의 End of Service 때문에


2012 R2 서버로 많이들 변경을 하실 걸로 예상이 됩니다.


개발 프로그램에서 참조하실 수도 있는 

64비트 서버에 대한 레지스트 부분에 대해서 포스팅 합니다.



1. 32비트 호환모드로 구동되는 프로그램은 

 기존 HKEY_LOCAL_MACHINE\SOFTWARE 경로를 직접 액세스 할 수 없습니다.


2. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node : 32비트 응용프로그램을 위한 전용 경로를 사용해야함.




끝.




MVC 내부적인 파이프라인

이 사이에 개발자가 삽입가능

OnActionExecuting : 컨트롤러에서 해당 액션이 호출되기 전에 호출되는 이벤트이다. 해당 이벤트에서는 사용자가 브라우저를 통해서 호출하는 명령값을 확인할수 있고, 원하지 않는 코드가 삽입되었을때에 올바른 처리를 할수 있다. 이곳에서 주로 처리가 이루어지는 부분은 , 사용자 권한 감시등이 이루어 질수 있다.



OnActionExecuted : 해당 이벤트는 Action 메서드가 처리된 이후에 호출되는 이벤트이다. 이 이후에는 View 를 렌더링 하기전에 해야할 일들을 처리할수 있다. Action 이 처리된 후 , 결과값에 대한 캐싱값을 만들거나 ACtion에서의 Error 핸들링 등을 할수 있다.



OnResultExcuting : 해당 이벤트는 View가 렌더링 되면서 발생하는 이벤트이다.



OnResultExecuted : 해당 이벤트는 View가 렌더링 되고 난 후에 발생되는 이벤트이다. 만약 에러처리나 권한 검사등을 이곳에서 실행하게 된다고 하더라도 , 이미 결과 값이 만들어 졌기 때문에 해당 페이지가 사용자에게 노출될수 있다.





'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

FCK 에디터 기본 설정  (0) 2016.04.05
interface 인터페이스 정리  (0) 2016.03.27
`MVC의 ActionResult  (0) 2016.03.16
MVC 강의 정리 2일차  (0) 2016.03.14
[MVC] Model State, Validation도우미  (0) 2016.03.14

MVC의 ActionResult


 MVC에서 보내질 View의 형태를 결정하는 것

ActionResult 를 상속받는 구현 객체들에 대한 이야기

ActionResult 의 원형

public abstract class ActionResult {

public abstract void ExecuteResult(ControllerContext context);

}

단지 ExecuteResult를 호출하는 아주 간단한 추상 클래스

컨트롤러 컨텍스트를 전달 받는데 , 이는 모든 http 서버측 객체에 접근할수 있다는 것을 의미하며 , 또한 해당 컨트롤러를 참조할수 있다는 것을 의미한다.


1. System.Web.Mvc.ContentResult

ASP.NET 의 Response.Write와 같은 기능을 한다. Content(); 에 전달되는 인자를 그대로 출력한다.


2. System.Web.Mvc.EmptyResult

메서드명과 같이 아무것도 반환하지 않는다.


3. System.Web.Mvc.FileResult

Stream 형태로 해당 뷰를 반환한다.


4. System.Web.Mvc.HttpUnauthorizedResult

권한이 없는 http 오류코드(401) 를 리턴한다


5. System.Web.Mvc.HttpStatusCodeResult

각종 http 상태코드를 반환한다


6.System.Web.Mvc.JavaScriptResult

자바스크립트 형태의 Stream 을 리턴한다.


7.System.Web.Mvc.JsonResult

Json 형태의 Stream을 리턴한다 ContextType 은 (text/json)이다.


8.System.Web.Mvc.RedirectResult

해당 페이지로 리다이렉트 한다 ASP.NET Classic 의 Response.Redirect 


9. System.Web.Mvc.RedirectToRouteResult

해당 MVC안의 라우팅 되는 페이지로 리다이렉트 한다.


10. System.Web.Mvc.ViewResultBase

해당 뷰를 렌더링.

 때에 따라 View로 Model 을 보내거나 , View로 사용할 페이지를 지정할수 있다.





'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글

interface 인터페이스 정리  (0) 2016.03.27
MVC 내부 파이프라인  (0) 2016.03.16
MVC 강의 정리 2일차  (0) 2016.03.14
[MVC] Model State, Validation도우미  (0) 2016.03.14
MVC 강의 정리  (0) 2016.03.13

클러스터 환경에서 MS SQL Surface Area Configuration 들어갔을 때

아래와 같이 가상서버 명으로 접속하라는 메시지가 뜨면서 확인이 불가할 경우

=> 해결책 : 아래 "change computer" 링크를 누르면 가상서버이름을 입력할 수 있다.

가상서버명 입력 후 OK 누르면 Remote 설정 확인 및 변경가능

기본 디폴트 "로컬 연결만 " 임

   

   

   

   

   

"You cannot configure surface area of clustered services by connecting to a computer name.

Connect to the virtual server to configure clustered services."

   

가상서버 명으로 접속 후 (아래)

!

   

   

   




+ Recent posts