전체 글(189)
-
여러작업을 한번에 수행하자
✔오늘 배운 중요한 🔑 point프로세스=스타크래프트 게임 실행 쓰레드=SCV(일꾼)thread키워드로 scv를 생성해서 여러 scv가 동시에 여러작업을 수행할 수 있도록 하자코루틴은 쓰레드보다 CPU 자원을 절약하고 쓰레드를 더욱 잘개 쪼개서 사용하는 기술이며 구글에서도 코틀린의 코루틴 사용을 적극 권장하고 있을정도로 중요하다. 하지만 쓰레드와 코루틴은 각각의 동시성을 보장하는 방법이 다를 뿐이지 코루틴이 쓰레드를 대체하는 기술이라 생각해서는 안된다🎯 오늘 배운 내용 비동기 프로그래밍순서대로 하나씩 수행하는것이 아닌 여러가지의 로직들이 완료 여부에 관계없이 실행되는 방식 Thread하나의 메인 쓰레드는 fun main() 메인함수를 의미한다. 프로세스 내에 실행되는 작은 작업 단위를 뜻함 imp..
2024.04.26 -
Test Code 작성을 생활화 합시다
✔오늘 배운 중요한 🔑 point소프트웨어의 기능과 동작을 테스트하는 테스트 코드는 유지보수 안정성 측면에서 반드시 필요한 코드작성이며 개발자 간의 협업을 원할하게 하기 때문에 매우 중요하다테스트 코드를 작성할때는 어떠한 상황에서도 실행이 가능해야한다 , 데이터베이스 연동이라던가 네트워크 이슈가 생기더라도 테스트 코드는 실행이 되도록 작성을 해야하는것이 중요하다.Given-When-Then" 구조를 사용하면 각 테스트 케이스의 시나리오를 명확하게 정의할 수 있고 각 부분이 명확하게 구분되어 있어서 테스트의 목적과 예상 결과를 이해하기 쉽다.Ctrl+Alt+L:코드 정렬Ctrl+Alt+O: 사용하지 않는 import문 제거🎯 오늘 배운 내용Test Code프로그램의 문제를 빨리 발견하고 해결하기 위한 ..
2024.04.25 -
Class에 관하여
✔오늘 배운 중요한 🔑 point객체지향은 기본적으로 다른 객체에 의존하지않고 자율적인 것이다. 각 개체들이 능동적이고 자율적이기 때문에 코드에 대한 이해나 코드의 변경 또한 용이해지기 때문에 객체 지향적으로 설계하는것이 매우 중요하다상속은 부모의 재산을 자식이 물려받듯이 부모 클래스의 기능들을 상속받으면서 확장 시키는 개념이라면 조합은 컴퓨터라는 클래스 안에 키보드 클래스,마우스 클래스, 모니터 클래스의 객체를 포함시켜서 기능을 추가하고 모듈화 된 형태로 만든다는 개념이다 즉 상속 ==DNA 조합 ==합체!abstract키워드는 클래스나 메서드를 완전하지 않은 상태로 남겨둘때 사용하며 , open 키워드는 클래스나 메서드를 다른 클래스에서 상속하거나 확장할 때 사용된다🎯 오늘 배..
2024.04.24 -
Kotlin 기초문법
✔오늘 배운 중요한 🔑 pointKotlin에서는 int age= 17이라는 형식대신 var age: Int =17 식으로 변수 선언을 해야한다 조건문이나 반복문,고차원 함수 등은 자주활용되기때문에 많은 연습을 통해 익숙해지는것이 중요하다예외처리를 함에 있어서 모든 예외를 미리 파악하고 처리하는것은 쉽지 않은 일이므로 코딩을 자주 하면서 예외가 발생할 수 있는 상황을 많이 경험해보는것이 가장 중요하다🎯 오늘 배운 내용변수란?프로그램이 실행되는 동안 데이터를 임시로 저장하는 메모리 공간 Kotlin에서 변수 선언하기fun main(){ val name: String = "박형조" var age:Int = 26} 변수 선언 순서1. var(변할 수 있는 변수) ,..
2024.04.23 -
Kotlin과 사용규칙
✔오늘 배운 중요한 🔑 pointKotlin 을 사용 하는 가장 큰 이유는 코드 간결성과 Null Safety 이다. Kotlin은 JVM 위에서 작동되기 때문에 JAVA와 매우 호환성이 높고 Null Safety로 인해서 NullPointerException을 방지하고 프로그램의 안정성을 높일수 있는 특징이 있다.개발자는 다른사람들과의 협업이 매우 중요하기때문에 변수,상수,클래스 등 이름을 선언할때 규칙이 필요하다. 이러한 규칙으로 인해서 코드 가독성이 증가하고 유지보수가 용이해진다는 큰 장점이 있다. 지금 하는 프로젝트가 팀프로젝트가 아닌 개인프로젝트 일지라도 지금 쓰고있는 코드를 다른사람이 볼 수도 있고 추후에는 협업을 해야하는 환경에 노출될 가능성이 높기때문에 코드 컨벤션에 익숙해지는것이 ..
2024.04.22 -
미니 팀프로젝트 회고
🌈 프로젝트를 진행하며 성공적으로 이용해 본 것:공공데이터 API 활용해보기데이터베이스 연동하여 저장, 삭제 기능 구현해보기HTML, CSS 이용하여 웹 페이지 꾸며보기🌱 KEEP 각자의 역할 분담 충실Git/GitHub로 진행상황 공유팀원간의 적극적인 의사소통항상 자리를 잘 지키고 집중하여 프로젝트를 진행함💡 ProblemFirebase와 API 개인 key를 코드에서 숨겨 비공개처리 하려고 여러 방면으로 시도했지만 해결하지 못함모바일 페이지에서는 화면 구성이 유지되지 않음🙌 Try모바일 페이지 적용을 위해 viewpoint 속성 추가API를 이용하여 서버에서 직접 .env 파일에 접근하는 식으로 보안코드 비공개처리하나의 main 브랜치만 사용하는것이 ..
2024.04.19