분류 전체보기

    Java에서 함수형 프로그래밍의 이해와 활용

    함수형 프로그래밍은 현대 소프트웨어 개발에서 중요한 개념 중 하나로, Java와 같은 언어에서도 효과적으로 활용될 수 있다. 이 글에서는 함수형 프로그래밍의 기본 개념부터 Java에서의 활용 방법까지 한번 알아도록 하겠다. 함수형 프로그래밍 개요 함수형 프로그래밍은 프로그램을 수학적 함수의 조합으로 보는 프로그래밍 패러다이며, 이러한 관점에서 상태의 변화보다는 데이터의 변환에 초점을 맞춘다. 함수형 프로그래밍의 주요 특징은 불변성, 일급 함수, 고차 함수 등이 있다. 함수형 프로그래밍의 장점 코드의 간결성 - 함수형 프로그래밍은 불필요한 중복을 줄이고 간결한 코드 작성가능 - 각 함수가 독립적이며, 입력만으로 출력이 결정되므로 코드가 직관적 테스트 용이성 - 함수형 프로그래밍에서는 순수 함수를 사용하고 ..

    Java 한번 건드려볼까? - 1

    자바를 처음 시작하게 되었는데, 어디서부터 어떻게 해야하는지 감이 잡히지 않아 이 언어의 기초개념, 특징 을 조사하기로 했다. 자바 기초 개념 우선, 자바는 어떤 언어인가? 이것에 초점을 맞추고 찾아보았다. 자바는 객체지향형 프로그래밍 언어로, JVM을 사용하는 언어. 여기서 객체지향형이 뭔지 대충 알겠는데, JVM이 뭔지 정확히 몰라서 한번 다시 검색을 한 결과 Java Virtual Machine 의 약어. 자바 바이트코드를 OS 에 맞게 해석하여 실행해주는 역할 대강 무슨 내용인지는 알 것 같았다. 결국, 다양한 JVM 덕분에 window, linux, mac 등 다양한 os에서 사용할 수 있다고 하는것 같다. 자바 특징 더욱 많은 특징이 있지만, 내가 가장 이해가 가는 특징들을 모아 보았다. 객체..

    [백준 2292] NodeJS / Javascript 문제풀이

    정답 - 풀이과정 정답 let input = require("fs") .readFileSync(process.platform === 'linux' ? '/dev/stdin' : '../../input.txt') .toString() .trim() .split(" "); const num = parseInt(input[0]); let increaseNumber = 1; let i=1 while(num > i){ i += increaseNumber*6 increaseNumber++ } console.log(increaseNumber) 리얼 풀이과정 우선, 벌집의 규칙을 찾아 보았습니다. 1부터 시작해서 원형으로 수가 어떻게 증가하는지를 확인 해 보니, 1 -> 7 -> 19 -> 37 순서로 증가하는것을 확..

    [ReactJS] react-router-dom V6 바뀐 라우팅

    v6 로 넘어오며 많은것이 바뀌게 되었습니다. 우선, 간단한 내용부터 천천히 넘어가보도록 하겠습니다. 라우팅의 변화 기본적인 변화 V5 에서는 아래와 같은 코드로도 작동이 되었습니다. import {BrowserRouter as Router, Switch , Route } from 'react-router-dom'; import Home from './pages/Home' const App = () => { return( ) } export default App; 하지만, V6로 넘어오며 Switch -> Routes component -> element 이렇게 변경이 되었습니다. 이렇게 변화가 되면서 element 에는 {Home} 이 아닌 태그로 작성을 해야 정상적인 작동을 하게 됩니다. import..

    코딩하는 집사의 Good Bye 2021 Welcome 2022 - 2021년 회고록

    안녕하세요, nGyu입니다. 곧 2022년이네요,, 2021년이 이제 얼마 남지 않았습니다. 우선, 저의 블로그를 와주시는 많은 분들 중 주니어 개발자가 있을 것이고, 이 중 시니어 분들도 있으리라 생각합니다. 모든 분들 저의 블로그를 찾아주신 점 정말 감사드립니다. 배움에는 끝이 없고, 반복하지 않으면 안 된다는 생각으로 더욱더 열심히 노력하도록 하겠습니다. 1분기 우선, 올해 1월 저는 큰 결심을 하였습니다. 바로 이 블로그를 다시 부활시키겠다는 다짐입니다. 현재 이 블로그는 2015년에 개설이 되어 그냥 나도 블로그가 있다 싶은 블로그였습니다. 그러다가 문득 저의 블로그를 다시 보니 글의 퀄리티나 내용들이 많이 성장을 했다는 사실을 알게 되었고, 제가 까먹었던 내용이 다시금 새록새록 떠오르게 되어 ..

    [ReactJS] 내가 생각하는 효율적인 라우터 관리 방법

    React 프로젝트를 진행할 때 제가 자주 사용하는 방법 중 하나 입니다. react-router-dom 이 v6 로 넘어오며 이 방법을 사용하고 있지는 않지만, ReactNative 할 때 react-navigator 를 사용할 때 이용하는 방법 입니다. 우선, 결론 //App.tsx { rootRouter.map((item, key) => return ) } //RootRouter.ts import { ComponentType } from 'react'; interface RouterInterface { name : string; component : ComponentType; } export RootRouter:RouterInterface[] = [ { name='Home', component = ..

    [백준 1712] NodeJS / Javascript 문제풀이

    정답 - 풀이과정 정답 let input = require("fs") .readFileSync(process.platform === 'linux' ? '/dev/stdin' : '../../input.txt') .toString() .trim() .split(" "); const a = parseInt(input[0]); const b = parseInt(input[1]); const c = parseInt(input[2]); if(c - b

    [ReactNative] 카카오 로그인 구현하기 -1

    ReactNatvie 에서 카카오 로그인을 구현하려 하는데 여러 선택지가 있었습니다. 1. react-native-seoul/kakao-login 2. actbase/react-native-kakao-login 이렇게 2개가 있었지만, 1번은 진행 중 많은 오류가 있어 포기를 하게 되었고, 2번은 지원이 중단되었다길래 새로운 방법을 차게 되었습니다. 라이브러리 선정 actbase 에서 기존의 react-native-kakao-login 은 아래 보이는 이미지처럼 npm 에서 This package has been deprecated 라고 뜨며 @actbase/react-kakaosdk 로 변경이 되었다고 합니다. 그래서 @actbase/react-kakaosdk 를 사용하기로 하였습니다. GitHub -..