전체 글 (149) 썸네일형 리스트형 [토스 SLASH24] N개의 탭, 단 하나의 웹소켓: SharedWorker https://www.youtube.com/watch?v=SVt1-Opp3Wo실시간으로 데이터를 가져오는 방법1. WebSocket2. 폴링3. Server Sent Event (SSE)웹 소켓브라우저 서버웹소켓 연결 방식웹 소켓 연결시도연결이 되면 서버에서 데이터를 송수신할 수 있음토스 증권은 올해 초까지만 했어도 유저가 한개의 폰에서만 접속이 가능했었음 즉 여러개의 폰으로 접속이 불가능했음 유저 하나당 토스 증권은 한개의 서버만 열렸다 문제가 될 건 없었음 하지만 PC버전의 토스 증권을 출시하게 되어 문제가 발생함 PC환경에서는 여러개의 탭을 쓰면서 차트를 보는 것이 일반적이고 이로 인해 탭의 개수만큼 웹소켓의 연결이 늘어나게 되어 문제가 생기게 됨 이렇게 웹 소켓의 개수가 많아진다면 서버의 리소.. [Softeer/Javascript] 징검다리 알고리즘 : LIS (이분탐색)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const n = Number(input[0]);const stones = input[1].split(' ').map(Number);function bisect_left(arr, target) { let left = 0; let right = arr.length; while (left LIS 알고리즘을 알고 있다면 간단한 문제 [토스 모닥불 | EP.6] 프론트엔드 개발에서 Next.js, 꼭 써야 할까? https://toss.tech/article/firesidechat_frontend_6 모닥불 | EP.6 프론트엔드 개발에서 Next.js, 꼭 써야 할까?프론트엔드 개발에서 프레임워크는 정말 필수 일까요? 토스 정진우, 조유성 님이 전하는 프레임워크와 라이브러리의 정의부터 실제 업무에서의 활용법까지, 실용적인 예시를 통해 함께 알아보toss.tech 개발에서 가장 중요한 것은 무엇인가요?동영상 내용은 아니고 그냥 이 글을 읽으려는 사람들한테 던지는 질문입니다. 저는 개발을 할 때 가장 중요하다고 생각하는 것은 의도와 목적이라고 생각합니다. 목적성이 없는 코드는 결국 제 기능을 못하게 되고 의도가 명확하지 않은 코드도 결국 사라지게 되는 것 같습니다. 프론트엔드를 희망하는 분들은 다들 React냐 N.. [ 토스 기술 블로그 ] SLASH 21 - Day 3 실무에서 바로 쓰는 Frontend Clean Code 실무에서 바로 쓰는 Frontend Clean Code실무에서 클린 코드의 의의는 유지보수 시간의 단축입니다. 동료 혹은 과거의 스스로 짠 코드를 빠르게 이해할 수 있다면 유지보수할 때 드는 개발 시간이 짧아집니다. 실제 예시와 함께 1. 응집toss.im 실무에서 클린코드의 의의== 유지보수 시간의 단축 유지보수를 하려면 - 코드 파악- 디버깅- 리뷰등의 과정을 거쳐야 하는데 이를 하는 시간을 줄인다는 것은 비용을 줄인다는 말이다. 그때는 맞고 지금은 틀리다 코드에 유지보수를 할 때는 항상 위와 같은 생각을 염두에 두어야한다. 실제로 예시를 보여줬는데 이거 이렇게 하면 되겠는데? 하고 머리속으로 생각한 것을 그대로 보여줬다. ㅋㅋㅋ.... 뒤이어 그 방법이 잘못된 것은 아니지만 유지보수에 어려움을 주.. [ 토스 기술 블로그 ] SLASH 21 - Day 3 TDS로 UI 쌓기 : 그 많던 코드는 누가 다 치웠을까? TDS로 UI 쌓기: 그 많던 코드는 누가 다 치웠을까?TDS(Toss Design System)로 구성되어 있는 토스의 제품들. 복잡한 화면도 단숨에 개발할 수 있도록 큰 힘이 되어주는 TDS를 개발자들이 사용하고, 확장하는 과정을 공유합니다.toss.im TDS란? Toss Desgin System 토스는 글꼴이나 애니메이션 등 디자인 관련한 시스템이 존재해서 일관된 UI를 제공한다. 이로써 다른 제품을 개발할 떄 쉽게 적용가능해서 생산성을 높인다.( 역시 큰 회사는 이런게 있구나 ) 1. 컬러들을 팔레트로 나누어 변수명 ex) blue_700으로 사용 이러한 규칙을 사용해서 앱, 웹에 적용하며 디자이너, 기획자랑도 소통이 좋다 또한 테마에 적절하게 적용할 수 도 있음 2. 상황에 맞는 디자인을 적용.. 99클럽 코테 스터디 42일차 TIL, 프로그래머스 / 코딩테스트공부 🔑 오늘의 학습 키워드 : DP🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/118668 def solution(alp, cop, problems): max_alp, max_cop = 0,0 for p in problems: max_alp = max(max_alp,p[0]) max_cop = max(max_cop,p[1]) # 현재 alp와 cop가 목표보다 높을 경우를 대비 alp = min(alp, max_alp) cop = min(cop, max_cop) dp = [[1e9] * (max_cop+1) for _ in range (max_alp+1)].. 99클럽 코테 스터디 41일차 TIL, 프로그래머스 / 도둑질 🔑 오늘의 학습 키워드 DP🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42897 def solution(money): answer = 0 dp1 = [0] * len(money) # 첫 집을 털었을 때 dp2 = [0] * len(money) # 첫 집을 안 털고 두 번째 집을 털었을 때 dp1[0] = money[0] dp1[1] = dp1[0] dp2[1] = money[1] for i in range(2, len(money) - 1): dp1[i] = max(dp1[i - 1], dp1[i - 2] + money[i]) dp2[i] = max(dp2[i - 1].. 99클럽 코테 스터디 40일차 TIL, 프로그래머스 / 등굣길 🔑 오늘의 학습 키워드 DP🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42898# def solution(m, n, puddles): grid = [[0] * (m+1) for _ in range (n+1)] for x,y in puddles: grid[y][x] = -1 for i in range (1,n+1): for j in range (1,m+1): if i == 1 and j == 1: grid[1][1] = 1 elif grid[i][j] == -1: grid[i].. 이전 1 2 3 4 ··· 19 다음