본문 바로가기
반응형

프로그래밍언어36

Java Springboot Test Unit Code London VS Chicago 테스트 코드 방법론 항상 똑같은 일상에서 문득 테스트단위 테스트 코드를 만드는데 .. 코드를 잘만들고 있는건가? 라는 생각으로 정리 하다보니 아래 좋은 테스트코드관련된 내용이 있어서 공유드립니다. chatGPT 고마워여 영어 번역은 역시!!! 키워드를 주신 겸손하게 익은 벼 님께도 감사드립니다. 원본 내용 번역본 참조링크 : https://devlead.io/DevTips/LondonVsChicago 게시일: 2019년 10월 17일 저자: Doug Klugh 통합이며, 선택이 아니다 이제 여러분은 Test-Driven Development의 기본을 마스터했습니다. TDD의 두 주요 학파를 고려해보십시오. 런던 학파는 외부에서 내부로, 행동 기반의 접근법을 취하며, Command-Query Separation을 촉진하고 테.. 2023. 8. 12.
함수형 프로그래밍(Functional Programming, FP) 기반의 소프트웨어 디자인과 개발을 Java와 Spring Boot에서 적용하기 위한방법 함수형 프로그래밍(Functional Programming, FP) 기반의 소프트웨어 디자인과 개발을 Java와 Spring Boot에서 적용하기 위한방법 1.함수형 프로그래밍 개념: 함수형 프로그래밍의 핵심 원칙과 기본 개념들을 이해하는 것이 중요합니다. 불변성(Immutability), 순수 함수(Pure functions), 고차 함수(Higher-order functions), 커링(Currying) 등의 개념을 공부해보세요. 2.Java 8 이상의 함수형 프로그래밍 기능: Java 8부터 함수형 프로그래밍 지원이 개선되었습니다. 람다 표현식(Lambda expressions), 스트림 API(Stream API), Optional 클래스 등을 활용하여 코드를 더 간결하게 작성할 수 있습니다. 3.. 2023. 4. 30.
개발자 면접 알고리즘 공부 시작하는 방법, 1-2개월만에 갑자기 잘할수는 없습니다. 면접 문턱을 넘기 위해서 알고리즘 문제를 자주 접하게 되는데 Easy, Medium, Hard 3가지 유형으로 문제를 접하게 됩니다. 문자열, 배열, 정렬, 조합, 재귀, 트리, Map 등등등 다양한 방법들을 만날수 있는데 알고리즘 문제풀이에서 빈도높은 자주사용되는 방법을 정리해보려고합니다. 너무 어렵게 생각하기 보다는 문제를 해결하는 방법으로 접근하시면됩니다. 알고리즘 어렵게만 생각하신다면 어렵지만 자주 문제를 접하다보면 조금씩 조금씩 성장하게됩니다. 급하게 준비하기보다는 틈날때마다 꾸준하게 풀어나가시는것을 추천드립니다. 블라인드에서 기억에 남는 댓글이 있는데 연봉을 1000만원 올리려면 어떻게해야되나요?! 라는 질문에 베스트 댓글로 알고리즘 1문제당 10000원씩 올라간다고 생각하시고 10개 10만원.. 2022. 11. 12.
파이썬 웹 크롤링(Python web crawling) 만들기 웹 페이지 html 크롤링 FastAPI로 빠르게만드는 Rest API 호출 Json Response 처리 Step 6 Setp5 까지 잘따라오셨다면 Github 에 Repogitory 만들어지고 내컴퓨터에는 Poetry 가상환경으로 아래 pyproject.toml 이 만들어져있어야 합니다. github에 코드올려두었으니 clone하시면됩니다. https://github.com/lswteen/webcrawling GitHub - lswteen/webcrawling Contribute to lswteen/webcrawling development by creating an account on GitHub. github.com 1.pyproject.toml 이 생성 [tool.poetry] name = "crawling" version = "0.0.1" description = "python web crawling" auth.. 2022. 10. 21.
파이썬 웹 크롤링(Python web crawling) 만들기 poetry fastapi uvicorn 실행 드디어 파이썬 가상환경 설정완료 Step 5 conda 환경부터 시작해서 github연결 시도 하다가 poetry 가상환경 으로 진행후 연결설정한뒤에 git까지 진행되었습니다. 그이후 터미널로 진행하려니 쉽지가 않아서 pycharm CE 설치까지 진행되셨나요? 다시 fastapi가 잘실행되는지 확인해보도록 하겠습니다. 해당 Step진행하기 위해서는 4부 부터 진행 하시면됩니다. https://angryfullstack.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81Python-web-crawling-%EB%A7%8C%EB%93%A4%EA%B8%B0-poetry-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%84%A4%EC.. 2022. 10. 21.
파이썬 웹 크롤링(Python web crawling) 만들기 poetry 가상환경 설정 Step 4 파이썬으로 conda 가상환경을 구성하고 fastapi 프레임워크를 기반으로 github에 작업해보려고하니 파이썬은 패키지 구성이나 버전등을 구성할수 있는 스켈레톤형태의 구조가 필요한데 github에 올릴려다보니 setup.py 또는 pyproject.toml 을 올려야 가능하다는 오류를 보고서 conda가 언제나온거지 좀 찾다보니 poetry라는 가상환경설정이 좀더 최근에 올라온것으로 확인이 되어 급선회 해보려고합니다. 어차피 시작하는거 최신꺼로 해야 손도덜가고 그러는것 아닌가여 아직 깊이가 전혀 없기때문에 사용하는 도구라도 최신에 나온걸로 쓰고싶어서 흔들리는 갈대처럼 써보도록 하겠습니다. Poetry https://hackersandslackers.com/python-poetry-package-man.. 2022. 10. 20.
파이썬 웹 크롤링(Python web crawling) 만들기 크롤링 데이터 conda github 저장소 연동 Step 3 파이썬으로 웹크롤링 진행하기전에 코드를 구현하기전에 github에 올려서 어디든 진행가능한 상태로 만들어야 될것같아 git연동을 찾아보도록 하겠습니다. 아 conda를 처음 쓰다보니 env프로젝트 이름을 너무 회사명칭으로 만들어서 다른이름으로 바꿔야되기때문에 일단 conda에서 프로젝트 명 바꾸는 방법을 찾아보니 바꾼다는 표현보다는 처음 만든 프로젝트를 복제한뒤 삭제하는 방법으로 진행하는 방법이 있어서 정리합니다. conda 환경 프로젝트 이름 변경하기 복사 이후 삭제 conda create --name {새로만들이름} --clone {변경전이름} (base) renzo@renzoui-MacBookPro workspace % conda create --name webcrawling --clone samp.. 2022. 10. 18.
파이썬 웹 크롤링(Python web crawling) 만들기 크롤링 데이터 RestAPI 제공할수 있는 conda기반 FastAPI 패키지 설치 및 실행 2부 파이썬 크롤링 이후 데이터를 전달할때 Rest API 인터페이스를 만들어서 다양한 플랫폼에서도 사용 가능하게 하기위해서 파이썬 프레임워크가 필요할것 같아서 간단하게 사용할수 있는 프레임워크중 이름부터 빠른 FastAPI 설치 해보도록 하겠습니다. 필요한 파이썬 FastAPI 설정을 해보도록 하겠습니다. fastapi 설치 renzo@renzoui-MacBookPro jobkorea % conda install -c conda-forge fastapi Collecting package metadata (current_repodata.json): done Solving environment: done ==> WARNING: A newer version of conda exists. conda-forge::c.. 2022. 10. 14.
파이썬 웹 크롤링(Python web crawling) 만들기 가상환경 설치 conda 명령어 및 크롤링 필요한 라이브러리 설치하기 Step 2 1부에서 웹크롤링이 왜필요한지 그리고 각언어에서 웹크롤링할때 필요한 라이브러리에 대해서 알아보았습니다. 오늘은 파이썬 언어 웹크롤링을 하기위한 아나콘다 가상환경 설정 및 beautifulsoup4, requests, selenium 설치 등에 대해서 진행해보겠습니다. Python 웹크롤링 개발을 위한 아나콘다 가상환경 만들기 Local Python설치해도 되지만 그렇게되면 내로컬도 지저분해지고 다양한 파이썬 버전이나 라이브러리 들에 환경구축에도 영향도가 있기때문에 가상환경을 구성해서 서비스에 필요한 라이브러리 버전만 설치 해보도록 하겠습니다. 1. Anaconda 콘다 Python 가상환경 생성 & 목록 확인 아래 링크 참고하세요 python3 M1 맥 파이썬 아나콘다 가상 개발 환경 설정 안녕하세요 앵.. 2022. 10. 10.
Leetcode 문제풀이 난이도 Easy Two Sum Java Leetcode https://leetcode.com/problemset/all/ 문제풀이 nums : int[] 타입 배열 target : nums 배열에 속한 2개의 index 합 output : target에 해당하는 2개의 nums배열 index 반환 배열을 2개의 배열로 돌면서 값을 비교해서 동일하면 반환하는 형태로구현 해보도록 하겠습니다. 우선 테스트 코드에 아래처럼 짜보고 package com.codeing.code.leetcode; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.util.HashMap; import java.util.Map; im.. 2022. 9. 15.
Leetcode 문제풀이 난이도 Midium 94. Binary Tree Inorder Traversal 트리 인오더 Leetcode https://leetcode.com/problemset/all/ 천천히 읽어보셔영 왼쪽 노드에 값이 없으면 Root 삽입 코드는 간단합니다. 이해하고 기록해두고 비슷한 문제가나왔을때 참고할수있는 형태로 기록해두면될것 같습니다. package com.codeing.code.leetcode; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * leetcode : https://leetcode.com/problems/binary-tree-inorder-traversal/ * 난이도 : easy */ public class BinaryTreeInorder { public class TreeN.. 2022. 9. 9.
LocalDate, LocalTime, LocalDateTime 날짜 타입 사용법 계산 비교 타입 월 마지막 날짜 찾기 Rest API Response Json String 문자열 변환 날짜 처리하는 내용은 이상하게 항상 검색하게 되는데.. 참 이거 맨날 할때마다 외워지지도 않고 검색하는게 당연하기 때문에 15년넘게 검색을 했으니 이제는 좀 정리할때도 된것같아서 정리를 해보자!! LocalDate, LocalTime, LocalDateTime 자바에서는 각 버전별로 사용해왔었던 날짜처리 클래스가 있는데 가볍게 설명하고 최근 가장많이 사용하고있는 LocalDate, LocalTIme, LocalDateTime 에 대한 날짜 타입 비교, 계산, 포맷, 변환, Josn 표기방법까지 알아보자!! 날짜 타입의 변천사 Java 1.0 java.util.Date 날짜와 시간관련 기능을 제공 Date 라는 클래스의 이름과 달리 특정 시점을 날짜가 아닌 밀리초 단위로 표현 Date date = new .. 2022. 9. 7.
728x90