분류 전체보기 104

자바스크립트의 역사, 특징, 관련 용어 정리

자바스크립트의 역사 태초의 웹 페이지 로딩 방식 => html태그로 시작해서 html 태그로 끝나는 완전한 HTML 코드를 서버로부터 전송받아 웹 페이지 전체를 렌더링하는 방식 화면 전환이 될 때, 변경필요가 없는 부분까지 필요한 HTML 코드를 다시 전송받기 때문에 성능적으로 불리하다. Ajax의 등장 => 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식 웹 브라우저에서 빠른 성능과 부드러운 화면 전환이 가능해졌다. SPA 프레임워크의 등장 SPA란? Single Page Application의 약자로, 단일 페이지 어플리케이션을 의미한다. 웹 사이트 전체 페이지를 하나의 페이지에 담아 동적으로 화면을 변경해 표시해주는 기술로, 매번 새롭게 페이지를 렌더링해서 제공해..

슬랙봇 개발기 ③ - 슬랙봇에게 말을 걸면 답장 보내기 (socket mode)

슬랙봇 개발기 ② - python slack sdk + flask 서버 구축 슬랙봇 개발기 ① - 소켓 모드란 무엇일까? 슬랙봇을 개발할 경우에는 HTTP통신을 기반으로 하거나 웹소켓 통신을 기반으로 하는 두가지 방법이 있다. 먼저 HTTP 통신을 기반으로 하는 방법은 public bboglebbogle.tistory.com 슬랙봇 개발기1, 2에서 소켓 모드를 사용하여 프로젝트를 세팅하는 방법에 대해서 서술했다. 이번에는 커맨드를 사용할 때마다 사용자에게 답장을 보내는 슬랙봇을 만들어보자 ! 슬랙봇에게 메시지를 보낼 수 있도록 하려면 Features-App Home-Show Tabs-Message Tab에서 Allow users to send Slack commands and message from t..

카카오페이 주니어 개발자로 1년 반 동안 일하며 ,,

카카오페이 인턴으로 6개월 일한 후에 정규직으로 전환 성공, 팀 이동을 하여 다시 본격적인 서버 개발자로 1년 조금 안되게 일했다. 그러면서 카카오페이 기술 블로그에 주니어 개발자의 일상이라는 글도 썼다. 카카오페이 주니어 서버 개발자의 이모저모 | 카카오페이 기술 블로그 카카오페이 주니어 서버 개발자가 전하는 카카오페이 입사 꿀팁, 업무 적응기, 신사옥 엿보기, 마케팅플랫폼팀 소개 이야기 tech.kakaopay.com 새로운 팀에서는 DB 분리보관, 스칼라 프로젝트, 어드민 개선 프로젝트를 순차적으로 하였다. 또 회사 내에서 꾸준히 역량 강화를 하기 위해 카프카, 마이크로 서비스, 함께 자라기, 스칼라, 이펙티브 자바 책을 읽으며 스터디를 진행했다. 업무외 시간에 틈틈히 짬을 내서 책을 읽고 정리하고..

슬랙봇 개발기 ② - python slack sdk + flask 서버 구축

슬랙봇 개발기 ① - 소켓 모드란 무엇일까? 슬랙봇을 개발할 경우에는 HTTP통신을 기반으로 하거나 웹소켓 통신을 기반으로 하는 두가지 방법이 있다. 먼저 HTTP 통신을 기반으로 하는 방법은 public으로 열어놓은 REST API를 기반으로 하는 방 bboglebbogle.tistory.com 이전 글에서 소켓모드를 사용해서 웹소켓 기반의 슬랙봇을 구축해야 하는 이유에 대해서 살펴보았다. Socket Mode Client — Python Slack SDK Socket Mode is a method of connecting your app to Slack’s APIs using WebSockets instead of HTTP. You can use slack_sdk.socket_mode.SocketMo..

슬랙봇 개발기 ① - 소켓 모드란 무엇일까?

슬랙봇을 개발할 경우에는 HTTP통신을 기반으로 하거나 웹소켓 통신을 기반으로 하는 두가지 방법이 있다. 먼저 HTTP 통신을 기반으로 하는 방법은 public으로 열어놓은 REST API를 기반으로 하는 방법이다. 이를 위해선 퍼블릭 도메인을 하나 파야하고, 서버를 그 도메인으로 띄워야한다. 슬랙봇에서 커맨드를 입력할 때마다 해당 URL로 POST 요청이 전달해지는 방식일 것이다. 요것은 슬랙 커맨드 입력창인데, 해당 커맨드를 사용할 때마다 적어놓은 RequestURL로 요청이 간다고 보면 된다. 그러나 이러한 HTTP 통신 방식의 단점은 - 퍼블릭 도메인을 생성해야 하므로, 보안상 위험할 수 있다는 점이다. - 또한 사내망이나 방화벽 내에서 통신하는 슬랙봇을 만들기 위해서는 이러한 방식은 불가능하다...

인프콘 2022 참석 후기, 개발 컨퍼런스에서 알게된 것

8월 26일, 인프런에서 주최한 인프콘에 좋은 기회로 참여하게 되었다. 원래는 개발 컨퍼런스같은 거에 1도 관심이 없었던 상황이었는 데 .... 팀장 00의 적극 추천과 초대로 가게 되었다 - !! 이것 또한 좋은 기회라고 생각해서 정말 감사합니다 :-) 와 근데 사람이 진짜 개많았어요 ..... .... 보통 추첨을 통해서 인프콘 당첨된는 데, 인기가 워낙 많았어서 당첨되는 것도 어려웠다고 하더라구요. 이런식으로 기업부스가 8개 있었는 데, 당근마켓, 무신사, 토스, 오늘의집, 야놀자, 우아한형제들, JetBrain 이런 기업들이 참여했었다. 일단 기념품을 나누어주셨었고, 원하면 채용 관련 상담도 가능하다고 한다. 컨퍼런스 시작이 1시부터라서 12시 반? 이정도에 도착했었는 데 사람이 워낙많았어서 이런..

일상 2022.08.28

나의 프로그래밍 과외 이야기 (현직 개발자, 과외로 돈벌다(?))

과외 시작 전까지 일단, 나는 대학교때부터 과외를 하고 싶다 라는 막연한 생각이 있었다. 물론 돈도 많이 벌고 싶었구,, 물론 내가 수학, 영어를 엄청나게 잘 하는 편이 아니었기 때문에 아무것도 없었던 대학생으로서는 과외 구하기를 하늘의 별따기 였다. 어떻게 하면 과외를 구할 수 있을까 하다가.. 21살이 되었을 때, C언어를 가르쳐보자 ! 라는 엄청난 결심을 하게 되었다. - 그 당시 프로그래밍 과외를 하는 선생님이 별로 없었던 점 - 프로그래밍 과외를 하는 여자 선생님이 더 없었던 점 이 두가지를 강점으로, 첫 수업이니만큼 낮은 가격(시간당 2만원 이하)을 강점으로 내세워 구하게 되었다. 그 당시 커넥츠튜터라는 사이트에서 과외를 구하게 되었고, 운좋게(?) 2명의 첫 과외학생을 받게 되었다. 첫 번째..

일상 2022.03.19

[취업] 카카오페이 인턴 합격 에서 정규직 전환까지의 후기 (개발자/서류/면접/코딩테스트)

대학교 5년 다니구 드디어 졸업 성공 그리고 인턴에서 정규직 전환에 성공하면서 취업도 성공 ! 작년 동안에 중구난방이었던 취업 이야기에 대해서 정리해보면서 글을 써보려고 한다. 2020년 12월, 본격적인 취업 준비 시작 2020년 말, 내가 백엔드 개발 분야로 취업하겠다는 것을 결정하고 첫 프로젝트를 시작하게 되었다. 그리고 알고리즘 공부도 시작하면서 본격적인 코딩테스트 준비도 시작하게 되었다. 나는 계속 학교만 열심히 다니다가 늦게 취업 분야를 정하게 되었고, 빠른 시간안에 포트폴리오를 완성하기 위해서 하루의 거의 모든 시간을 취업 준비하는 데 사용했다. 아무래도 그 학기 동안 추가학기를 다니면서 수업을 1개만 듣고 있던 상황이어서 가능했던 것 같다. 2020년 12월 ~ 2021년 7월까지 취업준비..

일상/취업후기 2022.02.22

[클린코드] 1. 깨끗한 코드란 대체 무엇인가?

이 글은 클린코드(애자일 소프트웨어 장인 정신)-로버트 C.마틴의 책 1장 깨끗한 코드를 읽고 정리한 글입니다. 목차 코드의 중요성 나쁜 코드의 문제점 우리가 가져야 할 태도 깨끗한 코드란 대체 무엇인가? 코드의 중요성 코드는 요구사항을 상세히 표현하는 수단이다. 우리는 요구사항을 만족하는 프로그램을 구현하기 위해서 언어를 선택하고, 해당 언어를 사용하여 코드를 짠다. 프로그래밍 언어의 추상화 수준은 점차 높아지고 있지만, 코드가 사라지진 않을 것이다. 예를 들어서 여러 추상화되어 제공되는 자료구조 (heap, list등), 머신러닝을 위한 tensorflow library 등에서는 이미 우리가 짜야하는 상당한 수준의 코드를 추상화 해놓았다. 그러나, 그렇다고 해서 짜야하는 코드의 양이 아예 사라지지는 ..

[Spring] 스프링 Web MVC의 Dispatcher Servlet

Servlet이란? 클라이언트의 요청에 대해 동적으로 작동하는 웹 컴포넌트이다 Java Thread를 이용하여 동작 Request가 Servlet Container로 전송되고 어느 서블릿에 대한 요청인지 확인 해당 서블릿에서 service 메소드를 호출한 뒤에 doGet or doPost를 호출한다 HttpServletResponse 객체에 응답을 보낸다 Dispatcher-Servlet이란? 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러 Dispatcher-Servlet의 장점 예전 DispatcherServlet이 등장하기 전에는 URL 매핑을 위해 web.xml에 모두 등록해주어야만 했다. welcome servlets.WelcomeS..

CS 2021.11.23