분류 전체보기
-
[Rust] 4. ownership(1). ownership, 변수와 ownershiprust 2023. 1. 28. 10:37
https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html 정리하는글이다. 메모리관리 - 명시적 할당 및 해제 - garbage collector - ownership 개념을 통해 compile time에 방지(rust에서의 메모리관리) 스택과 힙 - 런타임에 사용할수 있는 메모리 공간의 종류 이며 각기 다른 방식으로 구조화 되어있다. - value 는 스택이나 힙에 저장되며 어디에 저장 되느냐에 따라 동작방식에 영향을 준다. - 컴파일 타임에 크기가 유동적이거나 정해지지않은 경우 데이터는 힙에 저장 되며 그외의 경우는 스택에 저장된다. - 스택에 저장할수 있는 데이터는 항상 스택의 top 위치에 저장한다. - 힙에 저장해야하는 데이터는 힙 안의 빈지점..
-
[Rust] 3. 변수, 데이터타입rust 2023. 1. 26. 13:21
https://doc.rust-lang.org/book/ch03-00-common-programming-concepts.html 변수, 데이터타입, 함수, 반복문, 조건문 에대한 내용이며 복습용으로 정리하는 글이다. 변수 > 변수는 기본적 let 으로 선언하며 immutable 하다 . 재할당이 예상되는 경우 mut 키워드를 통해서 선언하면된다. - rust compiler 는 이런 특징으로 코드를 추론하기 더 쉽게 만든다. > const 로도 선언 할수 있는데 역시 immutable 하지만 mut 키워드를 사용할수 없는 차이가 있으며 전역범위에서 선언할수 있는 차이가 있다. > shadowing - 같은 변수 이름으로 재선언 하는 것을 shadowing 이라고 한다. - mut 키워드와 차이는 재선언시..
-
[Rust] 2.programing guessing gamerust 2023. 1. 25. 23:56
https://doc.rust-lang.org/book/ch02-00-guessing-game-tutorial.html chapter 2는 가벼운 주제로 프로그래밍을 하면서 자세한 설명보다는 컨셉 정도 알수 잇는 설명이 같이잇는 형태였다. 코드랑 같이 새로웠던 내용 주석으로 적어뒀다. /* use ~::~ 이부분은 js 에서 import 하는 부분과 역할이 같았다. std 이부분은 standard library 를 의미하며 https://doc.rust-lang.org/std/prelude/index.html 여기서 다른 모듈도 확인할수 있다. std 말고 rand 도 사용했는데 이건 외부라이브러리를 사용한거 같다. 근데 외부라이브러리를 crate 라고 부르는것 같은데 정확히는 모르겠다. */ use r..
-
[Rust] 1.getting startedrust 2023. 1. 25. 12:10
https://doc.rust-lang.org/book/ch01-00-getting-started.html rust book 챕터별로 정리하는 글이다. 오늘은 챕터1 한거 정리 일단 굉장히 친절한 doc이 였다. 챕터1이라 그런가? curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh 가장 안됬던거는 설치하는 부분이였다. curl 를 이용해서 다운로드 받으면 됬는데 curl: (4) LibreSSL was built without TLS 1.3 support 이렇게 나오면서 설치가 안되서 검색해보니까 해당 내용이 많지는 않았다. homebrew 로 curl 지우고 재설치도 해보고 curl-openssl 도 설치하고 참조경로도 바꿔놓고 했는데 잘 ..
-
[Rust] rust를 배워보기로한 이유rust 2023. 1. 23. 10:54
Rust 언어를 학습해보려고 하는데 그 이전에 내가 왜 공부해보고 싶은지 명확하게 해보고 싶고 공부한 이후에는 이전 생각과 비교해보고 싶어서 글을 남겨둔다. rust 에 대하여 검색하면 가장 많이 나오는 말은 안전하고 빠르다 근데 새로운 개념이 있어서 배우기 쉬운 언어는 아니다. 다른 언어와 비교하는 글이나 영상으로는 go 와 비교하거나 c++ 과 비교하는 내용이 많았다. go 와 비교할때는 성능과 효율이 중요할때 rust에 이점이 있었고 간단한 서비스나 restapi 를 개발할때는 go 가 개발에 용이하다는 취지의글들이였고, c++과 비교할때는 메모리관리의 안정성 측면에서의 이점이 있었으며 새로운개념 학습이나 성숙하지못한 커뮤니티 그리고 레거시코드에 대한 점들은 c++ 의 이점의 글들이였다. 나는 js..
-
[코딩테스트] 느낀점...기타 2023. 1. 17. 22:56
5일동안 문제만 풀었더니좀 지치네 이제좀 띄었다가 주기적으로 봐야지 후 일단 느낌점 정규표현식 g 글로벌 태그 역할 : 최처검색만 찾아내는게 아니라 이후 찾는것도 배열 형식으로 다 찾아줌 그리디 알고리즘은 뭐 특별한 건 없었고그냥 문제속에서 최적의 상황을 가정할수 있는 문제여야 하고 그상황이 이후의 상황에 영향을 주지 않았을때 사용할수 있는 거지 어떤 패턴 같은 이야기는 아니였다. 내가 이해한 바로는... bfs 최단거리 문제 풀때 dfs 보다 효율적임 근데 내가 큐 만들고 와일문에서 큐체크해서 하는식으로 하는걸 또 반복문 안에서 하는식으로 해서 좀 복잡하게 풀었는데 다른사람 푼거보니까 dfs 로 되게 깔끔하게 풀었더라 내가 아직 재귀사용해서 떠올리는 걸 바로바로 못하는듯 다음에 바꿔서도 풀어봐야지 내가..
-
[코딩테스트] 오늘 공부한거 정리...나중에볼거기타 2023. 1. 16. 22:38
bfs > 큐이용 해서 트리 상단혹은 어느지점 부터 넣고 와일문에서 빼면서 해당노드에 연결된 점들은 큐에넣고 조건에 따라 해줄거 해주고 해서 큐비면 전체 탐색 완료됨 dfs > 재귀이용해서 포문안에서 조건체크 및 다음 스텝 재귀 호출 재귀호출 스텝을 줄여가면서 탈출조건이용해서 역으로 값을 누적시켜와서 사용하는경우 재귀초출 스텝을 늘려나가면서 특정조건 만족시 스텝체크하는 방식 dfs 방식으로 이용하는지 이때는 visited 체크 해주는 배열 넘겨줘서 체크하는 패턴 이랑 스텝 같이 넘겨주는거기억해주고 여러갈래로 재귀로 퍼뜨리면서 최종상태가 됬을대 인자로 받는값을 통해서 원하는값 체크하는 패턴 아 쓸수록 헤깔리네 무튼 재귀 장점을 다시 정리하면 아래서부터 리턴될값을 가정해서 사용하는 방법 인지 최종상태로 여러..
-
[코딩테스트] 느낀점.기타 2023. 1. 16. 00:11
내일은 bfs dfs 공부해야징 ~ 일단 오늘 느낀점 포문보다 while 이 좋은케이스들 i 가 여러개 혹은 케이스별로 다르게 변할거같을때 스텝다 밟고 필터링이나 서머리 하는것보다 중간에 하면서 스텝거쳐가는게 효율측면에서 좋음 그니까 애초에 쌓을때 반환할 값에 접근이 안으로 들어가면 효율성 측면에서 좋다는 이야기임 new Set 중복제거 할때 쓰는데 add 랑 size 메서드 잇었네 처음알음 reduce 사용은 가능한데 복잡한거는 아직 생각해내기 어렵더라 쉬운거부터 자주 써보고 리팩토링할때도 고려해보자 움직임 같은거 체크할때 좌우 중첩 이나 대칭 이런거 유의해서 보기 중복조합은 그냥 조합이랑 거의 도출하는거 똑같음 재귀에 들어가는게 나자신이 제거된게 아니라 그대로 들어가면 되는거니까 n진법 케이스 toS..