프로그래밍
Up one levelSysinternals Microsoft에 인수
윈도우즈 개발자에게 유용한 많은 툴들을 제공하던 Sysinternals / Winternals가 Microsoft에 인수된다고 합니다.
개인적으로 DebugView는 항상 쓰고, Process Explorer도 유용하게 썼었는데, 이 기회에 어떤 툴들이 있는지 찾아봐야겠네요.
툴들을 소개한 동영상도 홈페이지에 올라와 있었네요. 언제까지 제공될지 모르니 얼른 받아놔야겠네요. /.에 올라온 뉴스라 현재도 웹사이트에 많은 부하가 걸려있는듯하네요.
- Category(s)
- 프로그래밍
FreeBSD Java 바이너리
얼마전에 회사 FreeBSD 서버에 자바 프로그램을 돌려야한다고 해서,
리눅스 에뮬레이션으로 돌릴까하다가 이왕이면 컴파일하자 생각하고
소스와 패치를 수동으로 받아서 다시 컴파일 했습니다. 다행히 그전에 Sun쪽에 등록한 적이
있어서 소스 받는거는 별 문제가 없었지만, 여전히 컴파일은 무지 오래 걸리더군요.
하여튼 ports를 이용하여 설치하면서 별 문제는 발생하지 않았지만, 4시간 정도 걸린거 같네요.
설치한 버전은 /usr/ports/java/jdk14.
미리 알았더라면 FreeBSD native로 컴파일된 1.5 버전을 깔았을텐데...
http://www.freebsdfoundation.org/downloads/java.shtml
FreeBSD 5.5 i386 JDK/JRE package/tar
FreeBSD 6.1 i386 JDK/JRE package/tar
FreeBSD 6.1 amd64 JDK/JRE package/tar
로 제공되네요.
- Category(s)
- 프로그래밍
CoreBlog에서 달력 한글 문제 해결~
블로그 달력에서 달이 영어로 나오고, 요일도 영어로 나와서 이유를 파악해서 고쳤습니다. Plone하고 CoreBlog 모두 처음이라 익숙해지는데 시간이 좀 걸렸네요. Plone에 포함된 portlet_calendar는 한글로 잘 나오기 때문에 이 소스를 보고, portlet_coreblogcalndar를 고쳤습니다.
/portal_skins/plone_portlets에 보면 portlet_calendar 소스를 볼수 있고,
/portal_skins/CoreBlog2에 보면 portet_coreblogcalendar 소스가 있습니다. 소스를 고치기 위해서는 먼저 커스터마이즈 버튼을 누르고, custom(또는 지정한 폴더)로 이동하여 편집하면 됩니다.
변경된 소스는 아래와 같습니다:
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone">
<body>
<div metal:define-macro="portlet"
tal:omit-tag=""
tal:define="DateTime python:modules['DateTime'].DateTime;
current python:DateTime();
yearmonth here/getYearAndMonthToDisplay;
year options/year | python:yearmonth[0];
month options/month | python:yearmonth[1];
prevMonthTime python:here.getPreviousMonth(month, year);
nextMonthTime python:here.getNextMonth(month, year);
translation_service nocall:here/translation_service;
utranslate nocall:here/utranslate;
weekday_english nocall:translation_service/weekday_english;
day_msgid nocall:translation_service/day_msgid;
weeks python:here.portal_calendar.getEntryForCalendar(month=month, year=year);">
<!-- The calendar, rendered as a table -->
<table cellspacing="0" class="ploneCalendar" id="portlet-coreblog2calendar" summary="Calendar" i18n:attributes="summary">
<thead>
<tr>
<th id="calendar-previous">
<a href="#" tal:attributes="href python:'%s/archives/%d/%d' % (here.blog_url(),prevMonthTime.year(),prevMonthTime.month())">«</a>
</th>
<th colspan="5"
tal:define="date python:DateTime(year, month, 1);">
<a href="#"
tal:attributes="href python:'%s/archives/%d/%d' % (here.blog_url(),year,month)">
<span i18n:translate="" tal:omit-tag="">
<span i18n:name="monthname"
tal:define="month_english python:translation_service.month_english(month);"
tal:attributes="id string:calendar-month-$month_english"
tal:content="python: utranslate(translation_service.month_msgid(month), default=month_english)"
tal:omit-tag=""
id="calendar-month-month">monthname</span>
<span i18n:name="year"
tal:define="year python:date.year()"
tal:content="string:$year"
tal:attributes="id string:calendar-year-$year;"
id="calendar-year"> </span>
</span>
</a>
</th>
<th id="calendar-next">
<a href="#" tal:attributes="href python:'%s/archives/%d/%d' % (here.blog_url(),nextMonthTime.year(), nextMonthTime.month())">»</a>
</th>
</tr>
<tr tal:define="weekdaynumbers here/portal_calendar/getDayNumbers" class="weekdays">
<tal:data tal:repeat="daynumber weekdaynumbers">
<td tal:define="weekday_english python:weekday_english(daynumber,format='a');"
tal:content="python: utranslate(day_msgid(daynumber, format='s'), default=weekday_english)">Su</td>
</tal:data>
</tr>
</thead>
<tbody>
<tr tal:repeat="week weeks">
<tal:block repeat="day week">
<tal:block define="daynumber day/day;
datestring python: '%d%0.2d%0.2d' % (year, month, daynumber);
javascriptstring string:javascript:%sDay('%s');">
<td class="event" tal:condition="day/entry"
tal:attributes="class python:test(current.year()==year and current.month()==month and current.day()==int(daynumber), 'todayevent', 'event')">
<a href="" tal:attributes="href python:'%s/archives/%d/%d/%d' % (here.blog_url(),year,month,daynumber)">
<span tal:replace="python: daynumber or default"> </span>
</a>
</td>
<tal:notdayevent tal:condition="not:day/entry">
<td tal:condition="python: current.year()==year and current.month()==month and current.day()==int(daynumber)"
tal:content="python: daynumber or default" class="todaynoevent">
</td>
<td tal:condition="not: python: current.year()==year and current.month()==month and current.day()==int(daynumber)"
tal:content="python: daynumber or default">
</td>
</tal:notdayevent>
</tal:block>
</tal:block>
</tr>
</tbody>
</table>
</div>
</body>
</html>