레이블이 일본어인 게시물을 표시합니다. 모든 게시물 표시
레이블이 일본어인 게시물을 표시합니다. 모든 게시물 표시

2019년 6월 26일 수요일

C#으로 단어 학습기 만들기 (엑셀, 일본어)

예전에 제가 일본어 공부 할 때 엑셀에 단어장을 만들고, 암기 테스트를 쉽게 하도록 도와주는 프로그램을 작성했었는데요.

이 프로그램을 블로그에 소스 코드와 함께 배포했었습니다.

(해당 포스트로 이동하기 - 엑셀 데이터를 이용한 단어 연습기 만들기)

그런데 이 학습기는 처음에 제가 학습할 용도로 만들었던 거라 별다른 기능이 없었으며, 다른 환경에서의 호환성도 문제가 있었습니다.

해당 포스트를 봐주시고 연습기를 이용해주신 독자분들의 피드백을 통해 프로그램의 수정이 필요하다 생각되어 이번 포스트를 작성하게 되었습니다.

전편의 단어 학습기는 엑셀 파일에 저장된 단어를 읽어와서 랜덤으로 제출하는 기능만 있었는데요.

(엑셀 파일에 있는 단어들을)

(랜덤하게 제출되는 단어를 보고 암기 학습)

랜덤으로 표시되는 단어의 뜻과 읽는법을 맞추고 다음 단어로 넘어가는 방식이었으며, 학습한 단어의 갯수나 정답률을 표시하는 기능이 있었습니다.

여기에


한자가 나오는 부분의 글자 크기를 조절하는 기능과 표시될 단어의 기준을 선택할 수 있는 기능

틀린 단어만을 모아 오답 노트 처럼 심화 과정을 진행 할 수 있는 기능

단어 출제 범위를 설정 할 수 있는 기능과 창 크기에 따른 비율 변경 기능들이 보강된 새로운 단어 연습기를 만들어 보겠습니다. ^^

그리고 기존의 실행 파일만 제공하는 방식에서 프로그램 설치 후 안정적인 환경에서 실행하는 방식으로 프로그램 배포 또한 다르게 하도록 하겠습니다.

코딩하기전 프로그램의 흐름을 간략히 나타내면
1. 사용자에게 단어장 위치 정보를 획득하고
2. 해당 위치의 단어장을 찾아 검사 후
3. 단어장의 데이터를 내부 메모리에 정리하고
4. 해당 메모리로 사용자에게 원하는 옵션에 맞춰 데이터 제공

크게 4단계의 로직이 있으며 프로그램 예상 레이아웃은

이전 단어장과 기본 골격은 동일하지만

단어 제출 기준을 정할 라디오버튼, 글자 크기와 범위를 입력받을 텍스트 박스가 상단에 들어가고, 오답 데이터 수집 여부를 확인할 토글 버튼과 학습기 상태를 바꿀 토글 버튼이 추가 됩니다.

그리고 글자 크기에 따라 한자 뿐만 아니라 순서와 뜻 부분까지 함께 적용되도록 하겠습니다.

마지막으로 단어학습기의 크기를 변경시킬 경우 순서, 한자, 뜻을 표시하는 이 세개의 텍스트 박스의 크기와 글자 크기만 변경되도록 할 계획입니다.

프로그램 작성하다보니 길이가 조금 길어져서 코드 공개와 설명을 합치면 너무 길어질꺼 같아 이번편에서는 대략적인 제작 과정만 올리고 코드 관련 내용은 이후 포스트로 올리겠습니다. ^^

(새 버전 단어연습기랑 단어장 다운로드 - 다운로드)

일단 단어연습기 프로그렘을 작성할 프로젝트를 생성하고


(프로젝트는 윈도우 호환을 위해 닷넷 버전을 4.5.2로 하였습니다.)

기왕 만드는김에 이번엔 다른 디자인을 적용해 볼까요?


도구 - 너겟 패키지 관리 - 솔루션용 너겟 패키지 관리로 들어가서


윈도우8부터 큰 호평을 받았던 메트로 타일 스타일을 제공하는 MetroModernUI를 받았습니다.


단어연습기를 작성할 프로젝트에 적용 동의를 하면


갓 비주얼 스튜디오께서 환경을 알아서 잡아주십니다.


참조에 메트로 UI 테마 관련 dll들이 세팅되어 있습니다.

수동으로 설정할 경우 위 dll들을 다운받아 참조 설정과 도구 세팅만 해주시면 바로 사용이 가능합니다.


저번 단어연습기는 윈도우 7에서 안되는 경우가 있었지만 이번엔 XP까지 호환 되도록 4.5.2로 세팅하였습니다. ^^


이제 본격적으로 코딩 시작이네요.


우선 메트로프레임워크 참조를 달고


윈폼을 메트로폼으로 바꿔주면


짜잔~


메트로폼은 스타일 속성에 타일 색상을 바꿀 수 있습니다.

이쁜 색상을 선택해서 실행해보면


기본 윈폼보단 훨씬 이쁘죠? ^^


(메트로UI용 도구들도 많습니다)

일단 기능 구현에 앞서 구도부터 잡아 볼까요?


이번 프로그램은 창 크기 조절이 많을 예정이라 컨트롤 위치와 크기 조절에 신경을 써야 하는데요. 저는 기능별로 층을 나눠 배치를 할 생각입니다.


위에서부터 각각의 판넬들은 대략 이런 컨트롤들이 들어갈 예정이죠.

그 중 단어 출력 부분을 담당할 판넬만 세로로 크기가 변경 가능하도록 설정 하였습니다.

이제 구도를 잡았으니 메트로UI를 활용해 컨트롤도 배치하면


짜잔~

확실히 기본 컨트롤들 보단 훨씬 이쁘네요. ^^

컨트롤들도 판넬과 마찬가지로 창 크기 변경에 따라 포지션이 달라지니 정렬 기준을 잘 잡아야 합니다.

정렬 기준을 잘 잡으면


이렇게 창 크기가 변경되도 비율에 맞게 컨트롤들이 잘 붙어 있게 되죠 ㅎㅎ


이제 단어연습기의 가장 핵심이 될 단어를 보여줄 레이블들의 위치를 잘 조절하고


테두리를 만든 다음


창 크기 변경 이벤트에 컨트롤들의 크기를 조절 해줄 로직과, 레이블의 글자 크기를 자동으로 맞출 로직을 작성하면


이제 창 크기 변경에 따라 버튼 크기와 단어 표시를 해주는 레이블, 글자 크기가 자동으로 바뀌며 맞춰집니다. ^ㅡ^

디자인을 완료하면



컨트롤들의 이벤트들을 하나씩 만들어 가고


단어장인 엑셀 파일을 읽기 위해 관련 dll을


참조하여


코드를 작성했는데...

작동은 잘 되었지만 테스트 과정에서


엑셀이나 오피스가 설치되지 않는 환경에서는 작동중 에러가 발생하더라구요... ㅠㅠ

그래서 엑셀을 로딩하는 부분을 위해


EPPlus를 설치하였습니다.


저도 이번에 처음 사용해봤는데 실행 환경에 오피스 설치 여부에 영향 받지 않고, 참조를 억지로 로딩할 필요도, xml을 이용한 별도의 로딩 과정도 필요없는 정말 좋은 패키지더라구요. ^^

코드 작성을 마친 뒤 배포를 위해


인스톨러 프로젝트를 만들었고


빌드 후 설치 파일도 완성!


설치 파일과 단어장, 설명서 모아 압축된 파일은 여기서 다운 받을 수 있습니다.

(새 버전 단어학습기, 단어장 다운로드 링크 = 다운로드)

제가 만든거라서 제 구글 드라이브 링크이며 다른 광고나 바이러스는 없습니다. ^^

파일을 받으셨으면 압축을 푸시고 설치 파일인 KanaApp1.msi을 실행하시면


요렇게 설치 마법사가 뜹니다.


설치를 원하시는 위치와 권한을 선택하고 다음으로 넘어가면


파일 배치만 하는 수준이라서 설치 시간은 매우 짧을꺼에요 ㅎㅎ

설치가 완료되면 바탕화면에


요렇게 단어연습기 바로가기 아이콘도 생성됩니다.

이걸 실행하면 단어연습기가 실행됩니다.

삭제하고 싶으시면 제어판 - 프로그램 삭제로 들어가서 단어연습기를 선택하시면

요렇게 삭제 마법사가 뜨고


매우 간단히 삭제가 되어집니다.

단어연습기 사용방법은

유튜브에 올린 영상이 있습니다.

00:13 에 아래 텍스트 박스에 마우스 클릭을 한 다음 부터는 키보드로 왼쪽, 오른쪽, 아래 화살표 키를 누르면 각각의 버튼들이 자동으로 실행되도록 하였습니다.

00:20 에서는 오답체크를 체크했는데요 이때부터 모르는 단어들은 따로 저장되어 있다가

00:28 때 오답노트로 변경 하면 오답 체크로 저장되었던 단어들만 제출되도록 하였습니다.

00:37 부터는 다시 일반 모드로 돌아옵니다. 일반 모드에서는 언제든지 오답 체크를 통해 모르는 단어 저장이 가능해집니다.

01:10 부터는 한자 크기 설정 부분을 설명하고 있습니다. 단어들 크기는 기본적으로 창 크기를 따라가지면 이렇게 임의의 크기로 고정할 수도 있도록 하였습니다. ^^

그리고 마지막으로 엑셀이 설치되지 않은 환경에서 실행을 해봤는 결과

엑셀이 설치되지 않거나 윈도우 7 32bit 환경에서도 무사히 실행되는 걸 확인했습니다. ^^

늦었지만 기다리셨거나 의견을 주신 독자분께 정말 감사드립니다.

긴 글 봐주셔서 감사합니다!
Share:

2018년 7월 18일 수요일

[34] 초등학교 1학년생이 열사병으로 사망. 교외 학습 중 피로 호소 (야후제펜 기사, 댓글포함)

<해당 시리즈는 일본어 공부를 위해 뉴스 스크립트를 번역해서 올리는 포스트입니다. 일본어 초보자 수준이라 내용에 오역이 많을 수 있으니 유의해주세요.>

뉴스 링크 : https://headlines.yahoo.co.jp/cm/main?d=20180717-00000069-asahi-soci
개시 일자 : 2018年 7月3日 16時20分



[小1男児が熱中症で死亡 校外学習中に「疲れた」訴え]
[초등학교 1학년 남자 아이가 열사병으로 사망.  교외학습중 피로감을 호소]

17日正午前、愛知県豊田市梅坪(うめつぼ)町の市立梅坪小学校(児童数730人)の教室で、校外学習先から戻った1年の男子児童(6)の意識がなくなり、倒れたと学校から119番通報があった。児童は救急搬送されたが間もなく死亡が確認された。重度の熱中症である熱射病と診断されたという。

市教育委員会と学校によると、午前10時ごろ、1年生4クラスの112人が校外学習の一環で約1キロ離れた和合公園へ歩いて出発。虫捕りや遊具を使った遊びをした後、11時半ごろに学校へ戻った。11時50分ごろ、担任の女性教諭が男子児童の唇の色の異変に気づき、児童は間もなく意識を失ったという。

 児童に持病はなく、出発前の健康確認では異常を訴えていなかった。だが、公園に向かっている途中から「疲れた」と話し、ほかの児童からも遅れ気味になっていて、教諭が手を引いて歩いたという。

 豊田市内は午前9時に気温が30度を超え、11時には33・4度、正午には34・8度を観測。児童たちは水筒持参で、こまめに飲むよう指示していたという。教室にはエアコンはないが扇風機が設置されており、戻った際も動かしていた。

 今回の校外学習では、ほかにも3人の女子児童が体調不良を訴え、1人は保護者と一緒に早退したという。近く保護者会を開き、経緯を説明するという。

 校外学習は虫捕りを目的に毎年夏に実施していた。出発前、学校が測定した校内の敷地の気温は32度。最高気温35度以上が予想される「高温注意情報」が気象台から出されていたことも学校は把握していた。記者会見で籔下(やぶした)隆校長は「これまで校外学習では大きな問題は起きておらず、気温は高かったが中止するという判断はできなかった。結果として判断が甘かったと痛感している」と釈明した。

17일 오전에 아이치현 도요타시 우메츠보현의 우메츠보 시립 초등학교 (아동수 730명) 교실에서 교외 학습 시설에서 돌아온 1학년 남학생(6)의 의식을 잃고 쓰러졌다는 학교에서 119로의 통보가 있었다. 아동은 긴급 후송 되었으나 곧 사망이 확인되었다. 중증의 열사병으로 진단되었다.

시 교육위원회와 학교에 따르면 오전 10시경 1학년 4 클래스, 112명이 교외 학습의 일환으로 약 1km 떨어진 화합 공원에 보도로 출발. 벌레 잡기나 놀이 기구를 사용한 놀이를 마친 뒤 11시반경 학교로 돌아왔다. 11시 50분경 담임 여교사가 남학생의 입술 색이 변하여 주의를 두었지만 아동은 곧 의식을 잃은 것으로 전해진다.

아동은 지병이 없었고, 출발전 건강 확인때도 이상을 호소하지 않았다. 하지만 공원으로 가던중에 [피곤하다]고 말했으나, 다른 아동들이 늦어지니 교사가 손을 잡고 걸었다고 한다.

도요타 시내는 오전 9시에 기온이 30도를 넘어 11시엔 33.4도, 정오엔 34.8도로 관찰되었다. 아동들은 물병을 지참하여 자주 마시도록 지시하고 있었다고 한다. 교실에는 에어컨은 없지만 선풍기가 설치 되어 있으며, 돌아올때에도 작동중에 있었다.

이번 교외 학습은 그밖에도 3명의 여학생이 컨디션 불량을 호소, 1명은 보호자와 함께 조퇴하였다고 한다. 근처에서 보호자 회를 열고 경위를 설명하고 있다.

교외 학습은 벌레 잡기를 목적으로 매 년 여름에 시행했다. 출발전, 학교가 측정한 교내 부지의 기온은 32도. 최고기온은 35도 이상이 예상된다. [고온 주의 정보]가 기상대에서 발신중인것도 학교는 파악하고 있었다. 기자 회견에서 야부시타 타카시 교장은 [지금까지 교외 학습으로 큰 문제가 일어나지 않았으며, 기온은 높았지만 중지해야 한다고 판단은 할 수 없었다. 결과적으로 판단이 안일했음을 통감한다]고 해명하였다.



(공감순 댓글로 위에서부터)

⧫35도 넘으면 수영장 이외의 체육 교육 수업은 중단해도 괜찮아
목숨까지 걸어가며 받을 수업도 아닌데 정말로 불쌍하다.

⧫상상하면 지금 발표 타이밍부터 생각해보면 학교 시간이었다지않아?
우리 주변의 초 중학교에도 쿨러가 없던데 예전과는 달리 39도가 되는 상황에서 학교에 쿨러는 필수가 아닌가.
사망자가 발생하지 않는다고 검토도 시작하지 않는 세상.
미래를 담당하는 아이들이 공부하지 좋은 환경을 원합니다.

⧫어떤 상황에서 그렇게 되었는지 더 자세한 정보를 원합니다.

⧫교실에 에어컨이 없는건 학대입니다.

⧫이렇게 더운데 교외 학습? 그건 안되는것

⧫1학년 남자 아이가 점심전 교실에서 쓰러져 구급대가 달려갈때 걱정이 많았습니다.
너무 슬픈 사고입니다.

⧫매년 기본적으로 여름은 지난해보다 더워지고 있잖아?
거기다 올해같은 이상 고온의 경우엔 각 가정도 그렇지만 학교에서도 임기응변으로 대응이 없고 변함이 없다면 위험해요.


=====================
이번엔 야후 제펜에서 가장 조회수 높은 주요 기사와 공감순 댓글을 가져와 봤습니다 ^^

역시 기사보단 댓글이 더 어렵네요
Share:

2018년 7월 14일 토요일

[33] 각지역 무더운날 열사병 주의, 호우 피해 지역에 대책이 필요 (NHK 뉴스 스크립트 번역)

<해당 시리즈는 일본어 공부를 위해 NHK에서 제공하는 뉴스 스크립트를 공부하는 겸 번역해서 올리는 포스트입니다. 일본어 초보자 수준이라 내용에 오역이 많을 수 있으니 유의해주세요.>

뉴스 링크 : MHK 뉴스 링크
개시 일자 : 2018年 7月3日 16時20分



[各地で猛暑日に 熱中症に警戒 豪雨被災地では対策を]
[각지역 맹더위 날엔 열사병에 주의, 호우 재해 지역에는 대책을]



厳しい暑さが続いている西日本と東日本では、14日はさらに気温が上がり、名古屋市や岐阜市、京都市では最高気温が38度まで上がると予想されるなど、各地で35度以上の猛暑日になる見込みで、熱中症に警戒が必要です。特に記録的な豪雨の被災地では、熱中症のリスクが高まっているとして、気象庁はできるかぎりの対策を取るよう呼びかけています。

気象庁によりますと、13日の日中の最高気温は、福岡県久留米市で36度4分、東京・青梅市と高知県香美市物部で36度3分、愛媛県大洲市で36度1分、広島市三入で35度ちょうどなどと、記録的な豪雨の被災地を含む広い範囲で35度以上の猛暑日になりました。

14日も西日本と東日本を中心に、勢力の強い高気圧に覆われて気温が上昇し、日中の最高気温は、名古屋市と岐阜市、それに京都市で38度、甲府市、埼玉県熊谷市、大阪市、奈良市、大分県日田市で37度、岡山市、山口市、前橋市で36度、広島市と東京の都心で35度などと、猛暑日が予想されているほか、愛媛県宇和島市で34度などと、各地で厳しい暑さとなる見通しで、熱中症に警戒が必要です。

特に豪雨の被災地では、避難所での生活など環境の変化によって、より熱中症のリスクが高まっているとして、気象庁は、水分や塩分の補給をふだん以上にこまめに行ったり、復旧作業の際には日陰で十分に休息を取ったりするなど、できるかぎりの対策を取るよう呼びかけています。

一方、気温の上昇に伴って大気の状態が不安定になるため、西日本と東日本では局地的に急な雷雨が発生するおそれもあります。

被災地では、今も地盤が緩んでいたり、土砂や流木で川の流れが悪くなっていたりするところも多いため、引き続き土砂災害や川の氾濫にも十分な注意が必要です。

폭염이 계속되고 있는 서일본과 동일본에는, 14일에 기온이 더욱 상승하여 名古屋(나고야)와 岐阜(기후), 京都(교토)시에는 최고기온이 38도까지 오를 것으로 예상되는 등 각지에 35도 이상의 맹더위가 될 전망으로, 열사병에 대한 경계가 필요합니다. 특히 기록적인 호우 피해 지역에는 열사병의 위험이 높아짐에 따라 기상청에선 최대한의 대책을 취할것을 당부하고 있습니다.

기상청에 따르면, 13일 낮 최고 기온은 福岡(후쿠오카)현 久留米(구루메)시에서 36도 4분, 東京(도쿄)・青梅(오사메)시와 高知(고치)현 香美(가미)시에서 36도 3분, 愛媛(에히메)현 大洲(오즈)시에서 36도 1분, 広島(히로시마)현 三入(?)에서 35도등 기록적인 호우 재해 지역을 포함한 넓은 범위에서 35도 이상의 맹더위가 있겠습니다.

14일도 서일본와 동일본 중심으로 강력한 세력의 고기압이 덮여 기온이 상승하고, 낮 기온이 최고 기온은, 나고야와 기후시, 교토시에서 38도, 고후시, 사이타마현 쿠마 가야시, 오사카, 나라시, 오이타현 히타시에서도 37도, 오카야마, 야마구치시, 아메바시에서도 36도, 히로시마시와 도쿄 도심에서도 35도 등으로 맹더위가 예상되고 있으며, 에히메현 우와지마시에서 34도등 각지에서 폭염으로 인한 열사병 주의가 필요합니다.

특히 호우 재해 지역에선, 대피소에서 생활하는 등 환경 변화에 따라 열사병 위험성이 더 높아짐으로, 기상청은 수분과 염분 섭취를 평소보다 자주하고, 복구 작업시 그늘에서 충분한 휴식을 취하는 등 최대한의 대책을 취할것을 당부하고 있습니다.

한편, 기온 상승에 따라 대기의 상태가 불안정해 짐으로 서일본과 동일본에 국지적으로 갑작스런 뇌우가 발생할 수 있습니다.

피해 지역에서는, 지금도 지반이 느슨하거나, 토사나 유목에서 강의 흐름이 나빠져 있는 곳이 많기 때문에 계속 토사 재해나 하천의 범람에도 충분히 주의를 필요로 합니다.

====
기존에 쉽고 짧은 기사 3개에서 이번엔 그보다 길고, 난이도가 조금 더 높은 정식 기사 1개로 바꿔봤습니다.

그런데 하필 기상 관련 기사라서 고유 지명이 무진장 많은걸 해버렸네요 ㅋㅋ

Share: