본문 바로가기

전체 글63

두 파일에서 같은 값으로 검색하기 엑셀에서 덕질할 캐릭터들 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.
[localStorage] DB없이 web에 데이터를 저장하는 방법 데이터를 저장하는 방법은 대표적으로 DB서버에 저장하여 불러오는 방법이 있다. F12 키로 개발자도구를 켜서 콘솔창에 다음을 입력한다. localStorage.setItem('name', 'Kim') 그러면 key가 'name'이고 value가 'Kim'인 데이터가 localStorage에 저장된다. 확인하는 방법은 개발자도구 Application탭을 들어가면 Local Storage가 있다. 자료를 출력하는 방법 localStorage.getItem('name') // "Kim" key에 해당하는 value가 출력된다. 자료를 제거하는 방법 localStorage.removeItem('name') 이번엔 key에 해당하는 value가 제거 된다. 그럼 객체나 배열형 자료도 저장이 될까? 저장은 되지만 .. 2021. 8. 18.
[Redux] 사용법 let alert초기값 = true; function reducer2(state = alert초기값, 액션){ if() return state } let store = createStore(combineReducers({reducer,reducer2})); Cart.js로 와서 다음과 같이 state.reducer와 state.reducer2를 한다. function state를props화(state) { //redux store데이터를 가져와서 props로 변환해주는함수 return { state : state.reducer, alert열렸니 : state.reducer2 } } state를 쉽게 꺼내 쓰는 방법 Cart 아래 다음을 입력한다 let state = useSelector((state) =.. 2021. 8. 17.
[React js] Redux 프롭스가 많아지면 쓰기 불편해서 쓰기 싫을 때 쓴다. 1.띄어쓰기를 해서 2개를 동시에 설치한다. yarn add redux react-redux 2.index.js 에 import하고 다음과 같이 app component를 Provider로 감싸준다 (감싸진 애들끼리 props 없이 state 공유 가능) 3. createStore로 state를 만든다. let store = createStore(()=>{}); 4. Provider에 값을 전달한다. 그냥 바로 store로 쓸수는 없고 세팅을 해야한다. 5. Cart.js에서 다음 함수를 추가하고 export default부분을 다음과 같이 바꾼다. function state를props화(state) { return { state : state } }.. 2021. 8. 13.