본문 바로가기

분류 전체보기66

[코테 js] treeDFS 깊이 우선 탐색 문제 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 깊이 우선 탐색(DFS, Depth First Search)을 합니다. 이때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. 인자1 : node 'value', 'children' 속성을 갖는 객체 (Node) 'node.value'는 number 타입 'node.children'은 Node를 요소로 갖는 배열 입출력 예시 let root = new Node(1); let rootChild1 = root.addChild(new Node(2)); let rootChild2 = root.addChild(new Node(3)); let leaf1 = rootChild1.addChild(new Nod.. 2023. 1. 9.
[Javascript 문법] var, let, const 차이, 사용법 1.변수의 3가지 종류 Why? 자바스크립트에서 변수를 선언하는 법은 var, let, const 3가지가 있습니다. var 변수 선언 방식 이외에 let과 const는 ES6 이후 나온 문법으로, 코드량이 많아질 때 오류를 막기 위해서 탄생했습니다. 예를 들어, name 이라는 변수를 선언한 것을 잊고 다시 선언해서 문제가 발생한 경우, var를 사용하면 찾기 힘들지만 let을 사용하면 런타임 이전에 에러가 발생하여 많은 문제를 방지할 수 있습니다. """ var를 썼을 때 """ var name = 'kim' var name = 'lee' // 정상 동작을 하여, 똑같은 변수명을 썼음에도 알 수 없습니다 """ let을 썼을 때 """ let name = 'kim' let name = 'lee'// .. 2022. 12. 4.
[파이썬] 엑셀 같은 값 연결 프로그래밍 지난 포스팅에서 엑셀을 다루는 직장인이나 학생분들을 위한 프로그램을 소개했습니다. https://devris.tistory.com/17 두 파일에서 같은 값으로 검색하기 엑셀에서 덕질할 캐릭터들 MBTI를 정리하다가 두 파일이 순서가 다른 경우 옮겨 적을 때 곤란할 때가 많습니다. 이때 사용하기 위해 두개의 파일에서 위와 같이 한 값이 섞였을 때 사용할 수 있게 devris.tistory.com 이번 시간에는 코드를 리뷰해보겠습니다 우선 엑셀을 다루기 위한 openpyxl 라이브러리를 설치해줍니다 pip install openpyxl 상단에 임포트 해줍니다 import openpyxl 우선 GUI로부터 실행버튼이 눌리면 onClick 이벤트로 메인 함수가 실행되는 게 이 프로그램의 전부입니다. ( 물론 .. 2022. 10. 12.
두 파일에서 같은 값으로 검색하기 엑셀에서 덕질할 캐릭터들 MBTI를 정리하다가 두 파일이 순서가 다른 경우 옮겨 적을 때 곤란할 때가 많습니다. 이때 사용하기 위해 두개의 파일에서 위와 같이 한 값이 섞였을 때 사용할 수 있게 실행파일을 만들었습니다. 물론 VBA나 함수를 잘다루시는 분이면 INDEX함수로 할 수 있지만 모르시는 분들을 위해 제작했습니다. (관련 링크가 있네요. 정답은없으니 편한 대로 하면 될 것 같습니다.) https://kin.naver.com/qna/detail.naver?d1id=1&dirId=102020101&docId=418383707&qb=7JeR7IWAIOydtOumhOygleugrA==&enc=utf8&section=kin.ext&rank=1&search_sort=0&spq=0 엑셀 정렬 방법 엑셀 정렬.. 2022. 9. 21.
[사무 자동화] 소개 단순 반복의 업무에서 탈출하고 싶은 직장인들을 위한 글을 작성하는 곳입니다. 급격하게 변화하는 인터넷 공간에서 바쁜 현대 직장인들은 시간을 따로 투자해서 공부할 정도로 업무의 복잡성이 커져가고 있습니다. 이러한 상황에 시간 대비 효율을 높이는 스마트한 방법을 알려드립니다. 2022. 9. 21.
[Android] FragmentManager replace메서드와 add메서드 문제 BottomNavigation과 5개의 fragment로 메인을 구성하였는데 탭을 이동하거나 back버튼을 눌렀을 때 문제가 생겼다. fragment를 전환 할 때마다 화면이 지워지고 다시 생성되는데 앱이 느려지는 문제 뿐만이 아니라, 매번 화면 재생성을 하느라 메모리도 많이 먹고 기존에 하던 작업이나 스크롤 위치가 다 날라갔다.. 원인 화면 재생성을 막으려고 온갖 조건문을 걸고 onCreateView에 있던 순서도 바꿔봤는데 소용이 없었다. 겨우 원인을 찾았는데, 원인은 fragment끼리 이동할 때 서로 visible, invisible 되는 줄알았는데, 이동하면 이전 모든 fragment는 destroy되고 새로운 fragment만 남아서 애초에 삭제된 fragment를 유지하려고 뻘짓을 했던.. 2022. 1. 27.
안드로이드 UI 디자인 유용한 사이트 모음 오픈소스 사이트 안드로이드아스날 : https://android-arsenal.com/ 안드로이드레포 : https://androidrepo.com/ Android UI OpenSource: https://kmshack.github.io/AndroidUICollection/ 우선 오픈소스 사이트입니다. 오래된 만큼 세계 고인물 고수분들이 디자인 뿐아니라 라이브러리까지 올려서 다운 받는 것 만으로 예쁜 UI를 사용할 수 있습니다. 피그마 Figma figma 무료템플릿 : https://www.figmacrush.com/all-figma-resources 무료 벡터이미지 : https://www.flaticon.com 피그마는 무료이면서 비교적 커뮤니티가 잘 형성된 툴입니다. 몇몇 템플릿은 유료도 있지만 .. 2021. 11. 19.
[Kotlin] 데이터 바인딩 class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) binding = DataBindingUtil.setContentView(this, R.layout.activity_main) // 1번 방식 - findViewById // val btn = findViewById(R.id.testBtnId) // btn.setOnClickListener { // Toast.mak.. 2021. 9. 7.
[REST API] 서버를 만들 때 REST API를 알면 좋다. API란? (웹개발 시) =웹서버와 고객간의 소통방법 =어떻게 해야 서버랑 통신을 할 수 있을까 이전까지 server.js 에서 만들었던 내용이 웹서버와의 소통방법, 즉 API를 만든것이다.(OO요청시 XX를 가져다주세요.) https://devris.tistory.com/11 [Node js] submit 버튼을 누르면 서버로 form의 정보를 전달 약간의 html 내용이 포함되어있다. write.html 파일로 가서 (폼을 만들 때 꼭 있어야 하는 2개 속성) action="/add" 전달하게 될 경로를 설정 method="POST" get요청인지 post요청인지를 입력 server.js로 가서.. devris.tistory.com 이때 서버를 막 만드는.. 2021. 8. 20.
[Node js] submit 버튼을 누르면 서버로 form의 정보를 전달 약간의 html 내용이 포함되어있다. write.html 파일로 가서 (폼을 만들 때 꼭 있어야 하는 2개 속성) action="/add" 전달하게 될 경로를 설정 method="POST" get요청인지 post요청인지를 입력 server.js로 가서 "어떤 사람이 /add 경로로 POST 요청을 하면 ???를 해주세요" 를 입력하면 된다. app.post('/add', function(요청, 응답){ 응답.send('전송완료') }); 이제 form에서 submit버튼을 누르면 전송완료라는 /add페이지가 뜬다. 그런데 input에 적은 정보는 아직 처리하지 않았는데 app.post의 콜백함수의 요청 파라미터에 들어가있다. 근데 쉽게 꺼내쓰려면 라이브러리를 깔아야함 서버를 끄고 다음을 입력 npm in.. 2021. 8. 20.
[Nodejs] express 설치 nodejs 홈페이지에서 설치를한다. 작업폴더를 생성하고 명령창에 npm init 을 입력한다. 엔터를 계속 눌러주면 package.json 파일이 생성이 되는데 그러면 설정이 된것임. npm install express 를 입력하여 express 모듈을 설치 한다. yarn을 사용하면 더 빠르고 오류없이 설치가 가능하다. yarn add express로 설치할 수 있음. 기본적인 express 서버를 만드는 방법이다. const express = require('express'); const app = express(); app.listen(8080, function(){ console.log('listening on 8080') }); app.get('/pet', function(요청, 응답){ 응답.. 2021. 8. 20.
[Node.js][MongoDB] 서버(server)란? 요청을 하면 요쳥한 것을 가져다 주는 프로그램 식당 종업원을 서버라고 한다. 요청은 4개 방식이 있다. 1.읽기(GET) 2.쓰기(POST) 3.수정(PUT) 4.삭제(DELETE) 2021. 8. 19.