일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- llm
- android ktor
- FastAPI
- exoplayer cache
- getChangePayload
- build with ai
- Python
- map
- ListAdapter
- ktor api call
- ansi2html
- android
- ChatGPT
- android custom view
- ExoPlayer
- 독서
- doc2vec
- AWS EC2
- ktor client
- kotlin list
- android exoplayer
- list map
- 유튜브
- kotlin collection
- 안드로이드
- 스피너
- video caching
- 시행착오
- ListAdapter DiffUtil
- DiffUtil.ItemCallback
- Today
- Total
목록전체 글 (100)
버튼 수집상
다양한 조건을 만족하는 요소들만 남긴 리스트 리턴하기. 물론 한 방에 여러가지 필터 조건을 적용시키기 보다 상황별로 함수를 분리하는 것도 방법이다. 예시1 코틀린 플레이그라운드 링크 import java.util.Calendar import java.util.Date enum class Job { ACCOUNTANT, SALESMAN, MARKETER, DEVELOPER; } data class SimpleObject( val name : String, val isPremium : Boolean = false, val age: Int, val job: Job ) val simpleList = listOf( SimpleObject("John", false, 11, Job.SALESMAN), SimpleOb..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yHksR/btsGB0yui7t/KXv4MvOmMAVAqmegkJbmR1/img.jpg)
얼어붙은 채용 시장, 진짜임? 제가 확인해봄 요약: 네카라쿠배당토 안에서는 (듣던대로) 자리가 많이 없는 모양이다..? 채널주인이 스타트업까지 범위를 넓혀서 지원해보고, 그 결과는 후속 영상으로 올릴 예정이라 함. 시리즈 A,B,C,D가 무엇인지 대략 알게 되었다. 파이썬 시니어 개발자와 채용 요약: 뱅크샐러드 공동창업자 황성현 CTO님이 시작한 일련의 스레드에 대한 화답. HTML 삽입 미리보기할 수 없는 소스 영상에선 파이썬, Node.js 고수들은 이미 스타트업의 CTO로 계셔서 시니어로 모시기 어려운 것 같다고 했다. 감상: 매일 트위터에서 다양한 기술들을 구경하게 되는데, 업계에선 여전히 Java가 메이저인 모양이다. 시니어 채용시 특정 언어+프레임워크의 숙달도보다 문제해결 능력과 팀 리딩 경험..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bQLlWH/btsGfK209HE/1aKWbk9wfZyylW2hK3KEXk/img.gif)
안드로이드 웹뷰에서 setSupportMultipleWindows를 true로 세팅하면 웹에서 window.open()로 이동할 때 WebChromeClient의 onCreateWindow 함수를 타게 된다. 웹뷰 설정을 알고자 간단한 웹페이지와 앱을 만들어 테스트해봤다. 웹페이지의 구조는 이렇다. ① =새창=> ② => ③ => ① =새창=> ② => ③ => ① =새창=> ② => ③ ... 기본웹뷰 세팅 BaseWebview.kt import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet import android.webkit.CookieManager import androi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxcyqE/btsF78YrClP/8EJFjTeiHciGRHMmCnrQqk/img.jpg)
위처럼 모서리가 둥글고 살짝 그림자가 지는 자동완성 검색어 UI를 그려주기 위해 커스텀 뷰를 만들었다. 뷰바인딩 세팅하기 build.gradle.kts(:app) plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { // 생략.. buildFeatures { viewBinding = true } } 자동완성 커스텀뷰의 베이스 뷰 xml layout_auto_complete.xml 자동완성 커스텀뷰의 베이스 뷰 배경 drawable background_auto_complete_shadow.xml 그림자 레이어를 쌓으면서 위 레이어에서부터 순서대로 넓은 영역 -> 좁은 영역 연한 색 -> 진한 색 으로 그려..
여타 프론트엔드 프레임워크처럼 Node.js로 돌리는 줄 알았는데, 그건 개발단계에서만 그렇고, 배포할 때는 .svelte 확장자 파일을 전부 css, js 파일로 빌드해서 정적파일로 배포할 수 있다고 한다. 그래서 FastAPI + uvicorn 환경에서 정적파일을 리턴하는 식으로 FrontEnd를 구성할 수도 있었다. import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() #html 파일을 띄우는데 필요한 assets app.mount("/assets",StaticFiles(directory="assets")) #html 파일 경로 리턴 app.mount("/",StaticFiles(directory="pages",html..
전편 링크 [FastAPI] 인트라넷 앱을 위한 API 만들기 - 0. 소개 배경 인트라넷을 앱으로 만드는 내부 프로젝트가 착수됐다. 인트라넷은 정적문서로 만들어진 오래된 웹사이트라, 앱-웹을 연동시키는 API를 새로 만들어야 했다. 웹팀이 API를 만드는 동안, 앱팀 collectingbuttons.tistory.com 개인적으로 헤맸던 부분 위주로 기록한다. EC2 ubuntu 설정이나, FastAPI의 기본 사용법에 대한 설명은 생략한다. 🏃♀️EC2에서 screen 세션 돌리기 SSH 세션을 끝내고도 어플리케이션을 계속 실행시키기 위해서 screen 세션을 사용했다. 🎮기본 명령어 스크린 세션 리스트 보기 screen -ls 백그라운드에서 새로운 세션 실행 screen -d -m python3 ..
배경 인트라넷을 앱으로 만드는 내부 프로젝트가 착수됐다. 인트라넷은 정적문서로 만들어진 오래된 웹사이트라, 앱-웹을 연동시키는 API를 새로 만들어야 했다. 웹팀이 API를 만드는 동안, 앱팀은 UI 및 신기능 테스트를 위해 데모앱을 만들어보기로 했다. 그런데 빈 껍데기 앱을 만들자니 아무래도 허전하여, 필요에 맞게 간단한 API를 우선 직접 만들기로 한다. ✅FastAPI란? 경량화된 API 서버 만들기에 최적화된 파이썬 웹 프레임워크. Swagger API 문서화 지원. 📝왜 크롤링 API를 만들었나? 1. 데모 앱에 필요한 최소한의 데이터를 읽어오는 API가 필요했다. 2. 회사 내부 DB 읽기 권한이 없어서 크롤링으로 구현했다. 3. Java와 달리 Python은 스크립트 언어라서 컴파일된 실행파..
sudo vim /etc/apache2/sites-available/000-default.conf ServerName somedomain.com ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ 위처럼 설정파일 바꿔준다. sudo sudo a2enmod proxy sudo a2enmod proxy_http 이 두 개를 설정해준 뒤, 아파치 재가동 (restart를 하면 ubuntu 비밀번호를 입력하라고 나온다) sudo service apache2 reload 그리고 EC2 인바운드 보안규칙에서 80 포트를 열어둬야 한다. 그러면 3000포트 번호 없이도 루트 디렉터리에서 html 파일이 잘 뜨는 것을 확인할 수 있다.
책 읽으면서 메모 업데이트. fastapi: 애플리케이션을 구축하기 위해 필요한 프레임워크 uvicorn: 애플리케이션을 실행하기 위한 비동기 asynchronous 방식 서버 게이트웨이 인터페이스 (ASGI) 이에 대해 ChatGPT에게 물어봄. >> FastAPI의 핵심 기능 중 하나는 비동기 코드를 지원하는 것이며, 이를 효과적으로 처리하기 위해 Uvicorn과 같은 ASGI 서버를 사용하는 것이 일반적입니다. Uvicorn은 FastAPI 애플리케이션의 비동기 라우트 및 이벤트 핸들러를 처리하고 실행하는 데 특히 효과적입니다. >> FastAPI는 비동기 프레임워크이며, 라우트 함수가 async def로 정의될 수 있습니다. 이로써 비동기 코드를 사용하여 I/O 바운드 작업을 효율적으로 처리할 ..
https://en.wikipedia.org/wiki/Mount_(computing) Mount (computing) - Wikipedia From Wikipedia, the free encyclopedia Mounting is a process by which a computer's operating system makes files and directories on a storage device (such as hard drive, CD-ROM, or network share) available for users to access via the computer's file system.[ en.wikipedia.org 마운팅은 컴퓨터 OS가 저장 장치(하드 드라이브, CD-ROM 또는 네트워크 공유)..