UIStory
2011년 3월 1일 화요일
PC 디스크가 부족하여 Program File 등을 D Drive로 옮기는 방법
C폴더가 SP1을 받자마자 FUll이 나는 사태가 노트북에 초기
파티션을 잘못 설정하여 40G밖에 설정을 못하니 이렇게 되었네... -_-;; 난감...
해결책을 이리저리 찾다가 아!!! 그래... Program File 만 로 옯기자 !!!
구글신에게 열라 물어본결과
http://tuts4tech.net/2009/08/05/windows-7-move-the-users-and-program-files-directories-to-a-different-partition/
여길 알려주더군요 .. 번역이 필요없으신 분은 위의 링크를 보시면 됩니다.
아~~~ 좋아 ... 그래 함 해보장...
준비작업으로 D 드라이드를 좀 비웠습니다.
40G정도 (C 드라이브 Program Files를 옮기려면 여유있게...)
그리고 지시에 따라서 아래 작업 시작 (전 하나만 하려다가 ProgramData와 Users 까지 같이 옮겼습니다.)
1. 아래처럼 Users 와 Program Files 그리고 ProgramData를 복사합니다.
- 여기에서 필요한건 /ZB 옵션을 추가 합니다. 즉 복사중에 액세스 오류가 발생하여 처리가 안됩니다.
/Z :: 다시 시작 모드에서 파일을 복사합니다.
/B :: 백업 모드에서 파일을 복사합니다.
예)
robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ /ZB
이런식으로 하면 에러가 발생하여도 저네가 복사됩니다. (재부팅을 하면서...)
아래 세군데 전부 /ZB 를 주고 명령을 실행 합니다.
[실행 명령]
robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ
robocopy "C:\Program Files" "D:\Program Files" /E /COPYALL /XJ
robocopy "C:\ProgramData" "D:\ProgramData" /E /COPYALL /XJ
2. 아래처럼 이전 폴더는 삭제합니다. 그리고 복사된 폴더에 Link 를 설정합니다.
- rmdir 을 사용하는 경우 삭제가 되지 않는 문제가 있습니다. 이런경우는
http://qaos.com/article.php?sid=2857 를 참고하시기 바랍니다.
시스템 파일등 이전 원도우 폴더가 삭제되지 않고 하는 경우도 권한만 설정하면 삭제가 가능 합니다.
- 저는 재부팅 후 안전모드에서도 삭제가 되지 않았습니다.
[실행 명령]
rmdir "C:\Program Files" /S /Q
mklink /J "C:\Program Files" "D:\Program Files"
For the User Profiles:
rmdir "C:\users" /S /Q
mklink /J "C:\users" "D:\users"
and lastly ProgramData:
rmdir "C:\ProgramData" /S /Q
mklink /J "C:\ProgramData "D:\ProgramData"
If you have any permissions issues while deleting C:\ProgramData don't worry about them just try to delete it and make the links again after first reboot
- 이부분은 위의 권한 처리형태로 하여야 합니다.
3. 복사된 위치로 레지스트리를 변경하는 작업을 하여야 합니다.
3-1. cmd 창에서 regedit 명령을 수행 합니다.
3-2. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion 로 이동합니다.
- ProgramFilesDir 와 CommonFilesDir 를 수정합니다.
예) CommonFilesDir --> D:\Program Files\Common Files
ProgramFilesDir --> D:\Program Files
3-3. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList 로 이동합니다.
- ProfilesDirectory 와 ProgramData 등을 설정한다.
예) ProfilesDirectory --> D:\Users
ProgramData --> D:\ProgramData
- Default 와 Public도 D:\Users\Default D:\USers\Public으로 변경한다.
4. Regedit를 종료합니다.
5. 재부팅합니다.
이렇게하면 크게 문제없이 진행이 됩니다.
권한 문제가 좀 있는데 위에서 언급한 부분입니다.
그리고 재부팅 후 로그인이 안되는 문제가 발생하더군요.. -_-;;
원인을 알고보니 D:\Users 폴더에 복사된 파일이 없어서 유저를 정상적으로 찾지 못하면
"로그온이 Group Policy Client 서비스에서 실패 되었습니다. 액세스가 거부되었습니다."
라는 메시지가 나옵니다.
이런 경우는 안전모드 들어가서 아무 User 폴더나 복사하여 구성이되면 됩니다.
또는 이전 폴더 있으면 제위치에 복사하면 됩니다.
2010년 3월 12일 금요일
안드로이드에서 IIS의 Windows 통합 인증 (Problem logging into SharePoint site with NTLM Authentication )
LG-KH5200 을 구매하여 이리저리 사용을 해보던중... IIS의 Windows 통합 인증을 사용하는 사이트 접속이 불가능 하여 구글로 여러날을 수소문 하던중 아래와 같은 글을 발견...
역안드로이드만....
[펀글]
http://www.google.com/support/forum/p/Android%20Market/thread?tid=4f2b0f6f970f0988&hl=en
Problem logging into SharePoint site with NTLM Authentication | Report abuse |
![]() |
lamiller44
Level 1 11/9/09 |
It works properly on my current phone (Motorola Q with Windows Mobile OS), and it obviously works properly from my desktop/laptop computers' browsers. When I login to the SharePoint site from any browser on my desktop computer, an NTLM popup asks for User ID and Password. It works a bit differently on my current phone, in which the authentication screen doesn't look like a browser UI but rather looks more like the type of UI that is used when you set up an Exchange connection.
When I try it on the Droid, there is no authentication popup/UI. I access the SharePoint site in a browser, and then click the "login here" link, but then I'm taken straight to the web page that indicates that my login was unsuccessful. This is the page that users are normally taken to when their User ID/Password credentials are invalid.
I poked around with the browser's settings on the phone but that didn't work. I'd assume that if it's not possible to to NTLM/Windows authentication 'out of the box' with the Droid that there would be some type of driver or plug-in that I could purchase/download. Otherwise this seems to be a pretty major shortfall of the phone (and one that I can't really imagine Google has overlooked).
Has anybody figured this out?
Replies 1 - 14 of 14
![]() |
gat007
Level 1 11/19/09 |
No solution until now.
![]() |
lamiller44
Level 1 11/19/09 |
![]() |
chrisl1979
Level 1 11/19/09 |
![]() |
JarrettV
Level 1 11/21/09 |
![]() |
hwagner
Level 1 12/28/09 |
![]() |
ismith0072
Level 1 1/7/10 |
![]() |
lamiller44
Level 1 1/7/10 |
![]() |
anair44
Level 1 1/10/10 |
Thanks
![]() |
lamiller44
Level 1 1/10/10 |
![]() |
anair44
Level 1 1/14/10 |
![]() |
Carlad
Level 1 1/21/10 |
![]() |
NA101010
Level 1 2/4/10 |
We looked at Android based phones as a possible standard for our techies, but if they can't access some of our key corporate resources (NTLM), all the bells and whistles in the world won't convince us to continue. (this is with Nexus One, Droid, Eris, etc.)
Love the screen resolution on this thing, and can even live with the quirky zoom function. But without NTLM support, there's no way I'm going to roll out Android devices for our users.
![]() |
anair44
Level 1 2/12/10 |
![]() |
NA101010
Level 1 2/18/10 |
So we have Blackberry, iPhone, WinMo, and even Symbian devices that can get in. Just not Android.
It's a shame. I love this screen, but....
2010년 2월 2일 화요일
[참고/오류가이드]Excel.Application 을 사용하여 엑셀 파일 열기에 실패하는 경우 (Can't Open Excel File) 가이드
Excel.Application 을 사용하여 엑셀 파일 열기에 실패하는 경우 (Can't Open Excel File) 가이드
개 괄 :
Excel.Application 사용 시 “Can't Open Excel File” 메시지가 나오는 경우에 대한 문제점 분석 과 가이드 입니다.
문 제 점 :
[문제점]
- fakepath ::인터넷익스플로러8 업로드오류
[원 인]
- 인터넷 익스플로러 8에서 보안에 관련된 사항이 변경됨
[해결방법]
- 인터넷 익스플로어(IE) 도구메뉴 -> 인터넷 옵션 에서 보안 탭 -> 사용자 지정 수준 클릭
- 보안사항에 대한 설정 중 "파일을 서버에 업 로드 할 때 로컬 디렉토리 경로 포함" 이라는 항목을 사용 안함 으로 되있는 것을 사용으로 변경
[참조 블로그] http://blog.naver.com/tnsk8080?Redirect=Log&logNo=10069423935
문제사항 및 해결방법 :
위는 IE 자체적으로 보안을 변경하여 해결하는 방법입니다. 이는 IE의 옵션 변경을 하여야 하므로 번거로움이 있습니다. 이에 Max Component 중에 Input File Component 가 있습니다. 이를 이용한 Sample 가이드를 참고 하시기 바랍니다.
[Sample]
- 기본적으로 Max Ansi 버전을 기준으로 설명합니다. 만일 Unicode를 사용하시는 경우 CLSID를 변경 하시면 됩니다.
1. Input File 컴포넌트 선언
<object id=tb_InputFile classid=CLSID:C722848E-C7EE-4DC6-947E-C2CD49BBA9DE
style="position:absolute; left:355; top=55; width=110; height=23;visibility=hidden;">
<param name="Text" value='FileOpen'>
<param name="Enable" value="true">
</object>
엑셀 업로드 (FileComponent Upload) :
<input type=button value="엑셀 업로드 (FileComponent Upload)" onClick="Open_File()">
2. 자바 스크립트에서 Open 함수를 사용하여 파일 경로를 얻어옴
< function Open_File() {
tb_InputFile.Open();
SetDataHeader(tb_DataSet);
//alert(tb_InputFile.Value);
//LoadExcelData 옵션처리
var strExcelFileName = "'"+tb_InputFile.Value+"'"; //파일이름
var nStartRow = 0; //시작Row
var nEndRow = 0; //끝Row
var nReadType = 0; //읽기모드
var nBlankCount = 3; //공백row개수
var nLFTOCR = 0; //줄바꿈처리
var nFireEvent = 1;//이벤트발생
var nSheetIndex = 1; //Sheet Index 추가
var stropt = strExcelFileName; //1st
stropt += "," + nStartRow; //2nd
stropt += "," + nEndRow; //3rd
stropt += "," + nReadType; //4th
stropt += "," + nBlankCount; //5th
stropt += "," + nLFTOCR; //6th
stropt += "," + nFireEvent; //7th
stropt += "," + nSheetIndex //8th
var obj = document.getElementById("tb_DataSet");
fn_setTime(txtStart);
obj.Do("Excel.Application", stropt);
fn_setTime(txtEnd);
}
</script>
2008년 12월 7일 일요일
벼랑위의 포뇨
벼랑위의 포뇨
포뇨포뇨포뇨 아기물고기 저 푸른 바다에서 찾아 왔어요.
포뇨포뇨포뇨 오동통통 볼록한 배에 예쁜 물고기
" 포뇨 소스께 끼 (좋아) 포뇨 예쁜이름을 얻었네
포뇨 인겐끼 나리 (인간이 될꺼야) "
깡총깡총 쭈욱쭈욱 다리가 생겼구나 뛰어보자
꼬물꼬물 쫘악쫘악 손들이 생겼구나 잡아보자
포뇨와 함께 놀때 마다 기분이 너무 좋았죠.
빠끔빠끔 쭈욱(죽..) 뻐끔뻐끔 쭈욱(죽..)
포뇨가 너무 좋아요.
새빨간 모습에 포뇨포뇨포뇨 아기 물고기
저 푸른 바다에서 찾아 왔어요
포뇨포뇨포뇨 오동통통 볼록한 배에 예쁜 물고기
"포뇨~ 끄덕... 포뇨 소스케 끼~~ (좋아)"
2008년 9월 11일 목요일
2008년 9월 4일 목요일
Media Rss 이용한 PicasaWeb 이미지 보기 (Piclens 사용)
Media Rss 이용한 PicasaWeb 이미지 보기 (Piclens 사용)
아래 브로그 글을 쓴 후 고민 하다 다시 만들기로 했다.
아무로도 허접해서 만들다 보니 firefox와 이번에 나온 Google 크롬 에서도 테스트를 해봤다. 이전소스 문제를 보강하여
다시 수정하여 올린다. HTML 소스 하나만 있어도 된다. URL을 호출 하는 방식으로 하면 바로 수행도 된다.
파싱 부분은 수정으로 하여야 겠지만 그부분은 나중에 고치도록 하고.. 우선 올린다.
추후 piclens.swf 와 google api js 등도 같이 올리도록 해야 겠다.
사용된 API 소개를 하면 아래와 같다.
동작 방식은 Media RSS URL을 가지고 google API를 이용하여 XML을 내려 받는다.
XML을 piclens 에서 인식하는 XML로 변경한다. media 부분의 format이 안맞아서 그렇게 함
XML을 String형태로 Piclens flash 에 던져서 이미지가 나오도록 함
현재는 Google Picasaweb의 이미지 URL 만 인식함 HTML의 getPiclensXmlFeed 함수 부분을 수정하면
다양한 부분에서 RSS의 이미지를 사용 할 수 있음
즉 picasaweb이나 flicker 또는 panorama 등에 이미지를 올려놓고 이를 이용하여 홈페이지에서 사용을 할 수 있다.
즉 이미지로 인한 traffic 증가로 고민을 하시는 분에게 추천을 할만 하지 않을까???
piclens를 사용하여 mediarss를 이용한 이미지 검색 시스템은 차세대 멀티미디어 검색의 방향을 제시하는 듯하다.
2008년 8월 21일 목요일
Piclens 를 이용하여 이렇게 만들어 봤다. picasaweb의 이미지를 읽는 형태로 허접,...
XML 파싱 부분이 허접이라 하지만 개념은 이렇게 되는게 맞지 않을까 합니다.
XSLT를 사용하려다. 시간상 node접근 하여 text로 rss를 piclens에 맞는 xml로 만들었습니다.
첨부 파일을 실행 하려면 다운을 받아 하시든지 또는
열기하셔서 실행 하면 됩니다. (이경우는 http://*.google.com 과 http://*.naver.net 을 신뢰할 수 있는 사이트 등록을 하여야 합니다. 안하면 xmlhttprequestt 에러 xml load에러 발생합니다. -> 이렇게 하여도 xml load 시 문제가 있네요 근본적으로 아래 URL을 참고하여 crossdomain 을 설정하면됩니다.)
[crossdomain 관련 내용 참고]picasaweb api도 자세히 나와 있습니다.
http://code.google.com/apis/picasaweb/reference.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> TEST </title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<link rel="alternate" href="photos.rss" type="application/rss+xml" title="" id="gallery" />
<script type="text/javascript" src="http://lite.piclens.com/current/piclens.js"></script>
<script type="text/javascript" src="./lytebox/lytebox.js"></script>
<script>
function getPiclensXmlFeed(xmlFile) {
var xmlDoc;
if (window.ActiveXObject) { // IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load(xmlFile);
} else { // Mozilla, Firefox, Opera, etc.
var parser = new DOMParser();
xmlDoc = parser.parseFromString(PicLensLite.THE_FEED, "text/xml");
}
var i,j,k;
var hiddenURLs = "";
var tempText = '<\?xml version="1.0" encoding="UTF-8" standalone="yes"\?> ';
tempText += '\n <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss"> ';
tempText += '\n <channel> ';
tempText += '\n <title>'+xmlDoc.getElementsByTagName('title')[0].childNodes[0].nodeValue+'\n </title> ';
tempText += '\n <link>'+xmlDoc.getElementsByTagName('link')[0].childNodes[0].nodeValue+'\n </link> ';
tempText += '\n <description>'+xmlDoc.getElementsByTagName('description')[0].childNodes[0].nodeValue+'\n </description> ';
var xmlElements = xmlDoc.getElementsByTagName('item');
for (i = 0; i < xmlElements.length; i++) {
tempText += '\n <item> ';
var oNodeList = xmlElements[i].childNodes;
for (j = 0; j < oNodeList.length; j++) {
if (oNodeList[j].nodeName == "title") { // what about the namespace?
var title = oNodeList[j].childNodes.item(0).nodeValue;
tempText += '\n <title>'+title+'\n </title> ';
}
if (oNodeList[j].nodeName == "link") { // what about the namespace?
var title = oNodeList[j].childNodes.item(0).nodeValue;
tempText += '\n <link>'+title+'\n </link> ';
}
if (oNodeList[j].nodeName == "guid") { // what about the namespace?
var title = oNodeList[j].childNodes.item(0).nodeValue;
tempText += '\n <guid>'+title+'\n </guid> ';
}
var tCount=0;
if (oNodeList[j].nodeName == "media:group") { // what about the namespace?
var mNodeList = oNodeList[j].childNodes;
for (k = 0; k < mNodeList.length; k++) {
/*
if (mNodeList[k].nodeName == "media:content") { // what about the namespace?
var url = mNodeList[k].getAttribute("url");
tempText += '\n <media:content url="'+url+'" /> ';
}
*/
if (mNodeList[k].nodeName == "media:thumbnail") { // what about the namespace?
tCount += 1;
if (tCount <= 2) {
var url = mNodeList[k].getAttribute("url");
tempText += '\n <media:thumbnail url="'+url+'" /> ';
} else { // content 로 처리
var url = mNodeList[k].getAttribute("url");
tempText += '\n <media:content url="'+url+'" /> ';
}
}
// alert('i=='+i+'\nj=='+j+'\nk=='+k+'\nname='+mNodeList[k].nodeName+'\nVALUE='+url);
} // k node
}
} // j node
tempText += '\n </item> ';
} // i node
tempText += '\n </channel> ';
tempText += '\n </rss> ';
return tempText;
}
</script>
<script>
function PicLens() {
//rssurl = 'http://picasaweb.google.com/data/feed/base/user/outofwrd/albumid/5018407575414284625?kind=photo&alt=rss';
var xmlText = getPiclensXmlFeed(picasarss.value);
//var xmlText = getPiclensXmlFeed("http://picasaweb.google.com/data/feed/base/user/outofwrd/albumid/5018407575414284625?kind=photo&alt=rss");
txt1.value = xmlText;
PicLensLite.start({feedData:xmlText});
//PicLensLite.start({feedUrl:'photos.rss'});
}
</script>
</head>
<body>
<input type="text" name="picasarss" id="picasarss" size=120
value="http://picasaweb.google.com/data/feed/base/user/outofwrd/albumid/5018407575414284625?kind=photo&alt=rss">
<input type="button" name="TEST" value="이미지조회" OnClick="PicLens();">
<textarea id=txt1 cols=140 rows=40></textarea>
</body>
</html>