분류 전체보기
-
코딩에 관해 몰랐던 사실들 기록 1isAlreadyRead 2023. 10. 30. 00:03
책을 읽다가 흥미로운 부분이나 기억에 남는 부분을 기록하는 식으로 작성해본다. 에니악은 전선을 연결하여 프로그램을 코딩했다고 한다. 코딩된 프로그램을 저장할 수 있는 메모리가 없었기 때문에. 프로그램에 수정사항이 생기면 모든 전선을 바꿔가며 다시 코딩해야했다고 한다. 이후 Von Neumann architecture (폰 노이만 구조) 가 발명되어 중앙처리장치(CPU), 메모리, 프로그램을 통해 프로그램을 저장할 수 있게 되었다. 세계 최초로 코딩한 사람은 에이다 러브레이스 이다. 루프, IF문 등의 개념을 발명하였다. 그리고 현재 존재하는 거의 모든 프로그래밍 언어들이 러브레이스가 최초로 구현한 IF문의 형태를 그대로 따르고 있다. 작성한 소스코드를 기계어로 바꾸는 것을 컴파일이라 하며 링크는 컴파일된..
-
[개인프로젝트] 키오스크 만들기 최종결과스파르타코딩클럽/자바 개인프로젝트 - Kiosk 2023. 10. 27. 20:05
채점이 끝나고 팀원들은 메일을 받고 열심히 언박싱을 하는데 나만 오지 않았따.. 왜 오지 않는 걸까 고민하면서 계속 기다렸지만 30분이 지나도 받은 메일함에 +1은 생기지 않았는데 스팸함에 +1이 되어있는 것이다. 심지어 다른 팀원들이 받은 그 시간에! 카카오 이놈이 멋대로 필터링해서 스팸함에 박아버린것이었다. 두근두근하며 메일을 열어보았고 받은 피드백은 아래와 같다. 1. 객체지향을 만들어가는 데에 있어서 action (method)와 factor(variable)을 분리해서 생각하는 게 중요한데요. 각 클래스 안에 print method를 넣는 것, 예를 들면 Order 안에 order 현황을 프린트 하도록 모두 넣다보니, 메인에서 각 클래스를 호출하는 부분이 어색하게 느껴지는 거 같습니다. Orde..
-
23/10/27오늘/Today I.. 2023. 10. 27. 18:50
WHAT I DID TODAY 팀프로젝트 예외처리 남는 시간 정석 9시 이후 자바의 신 (예정) DETAILS 팀프로젝트 예외처리를하며 막히는 부분이 많아서 오늘도 튜터님의 도움을 받았다. 우선 try-catch에서 catch문이 실행되면 try문의 모든 로직이 사실상 사용불가능한 상태이기 때문에 catch문에서 변수 등을 새로 선언해줘야한다. 그리고 스캐너를 사용하는 경우 try-catch를 쓰는것이 좋다. 스캐너가 엮인 코드에서 거의 대부분의 예외는 스캐너를 통한 입력에서 발생하기 때문에 미리 예외처리를 해두어 실행 시 오작동을 방지하는 것이다. ANYTHING 남의 코드 보는건 역시 어렵다. THIS WEEK'S GOAL
-
자바 TMI_3프로그래밍/Java 2023. 10. 26. 20:57
1. 변수의 여러가지 작성법 Camel Case : 띄워쓰기 대신 각 단어의 첫 글자를 대문자로 표기하여 구분하는 방법. 중간중간 대문자가 볼록 솟아있는 모습이 낙타의 등과 같다하여 카멜 케이스라 명명됨 thisIsCamelCase Snake Case : 띄워쓰기 대신 언더바(_) 를 활용하여 구분하는 방법. 언더바로 이어진 모습이 뱀과 같다하여 명명됨. this_is_snake_case Pascal Case : 카멜케이스와 유사하지만 첫 글자도 대문자로 시작한다. 자바는 클래스만 대문자로 시작하는 암묵적 규칙이 있기 때문에 추천하지 않는 작성법 ThisIsPascalCase Kebab Case : 모든 단어가 소문자이며 띄워쓰기 대신 - 로 연결되어 있다. 이 모습이 꼬챙이에 꽂힌 케밥과 유사하다 하여..
-
23/10/25 String Buffer와 String Builder오늘/Today I.. 2023. 10. 25. 18:59
WHAT I DID TODAY 프로젝트 끝? StringBuffer StringBuilder DETAILS 프로젝트가 거의 다 완성되었다. 난 뭘한거지??? Q. 그래서 둘이 무슨 차인데? A. 동기화 유무 차이 스트링버퍼는 동기화가 되어있어서 멀티쓰레드에 안전하다. (thread safe) Q. 그럼 스트링버퍼가 더 좋은거 아니야? A. 아니다. 멀티쓰레드로 작성되지 않은 상황에서 스트링버퍼의 동기화는 쓸모없이 성능만 떨어뜨린다. 그래서 동기화를 하지않은 스트링빌더가 있는것. Q. 동기화가 무슨 문제야? A. 싱글스레드에서는 불필요한 동기화가 오버헤드를 초래할 수 있기 때문 Q. 그럼 왜 String 안쓰고 이 둘을 권장하나 A. String은 문자열을 추가할때마다 새로 할당되기 때문에 누적되면 성능이..
-
[팀프로젝트] 호텔예약프로그램 1스파르타코딩클럽/자바 팀프로젝트 - 호텔예약프로그램 2023. 10. 24. 21:56
1.정규식 선택사항인데 제일 먼저 구현한 이유는 생각보다 쉬워서? 였다. 아마 직접 다 만들라고 하면 못 만들었겠지만 정규식이 뭔지 궁금해서 구글링해본 모든 글에 예시코드가 있었기에 쉽게 작성할 수 있었다. 그러나 이전 프로젝트에서도 그랬듯 응용은 전혀 다른 문제였고 원래는 고객클래스 생성자의 매개변수에서 휴대폰번호를 받아와서 정규식과 비교하여 일치하지않으면 더이상 입력이 되지 않도록 하려 하였으나, 실제로 실행했을때 휴대폰번호가 정규식과 일치하지 않더라도 모든 스캐너변수를 다 입력받고 나서야 일치하지 않는다는 메세지가 떴다. 이 부분에 대한 해결을 위해 튜터님에게 질문을 드렸는데 정규화를 생성자에서 받아오는 것보다 메인에서 따로 메소드를 하나 생성한 다음에 이것을 활용하는 것이 더 좋다고 하셔서 해당 ..
-
23/10/24 팀프로젝트 시작오늘/Today I.. 2023. 10. 24. 19:02
WHAT I DID TODAY 팀프로젝트 시작 - 호텔예약프로그램 정규식이 뭔데 DETAILS 정규식이 뭔데? A regular expression is a sequence of characters that forms a search pattern. When you search for data in a text, you can use this search pattern to describe what you are searching for. 정규식은 검색 패턴을 형성하는 문자의 연속입니다. 텍스트에서 데이터를 검색할 때, 이 검색 패턴을 사용하여 검색할 내용을 설명할 수 있습니다. 팀프로젝트 시작 오늘은 딱히 어려운 부분을 담당하진 않은 것 같다. 세상에.. 메인클래스 리팩토링 선택요구사항에 있던 휴대폰 ..