본문 바로가기
반응형

IT314

티스토리는 결국 서비스 종료 될 것이라 예상됩니다 네이버 블로그는 포탈의 중심 역할을 하고 있지만 티스토리는 전혀 다음의 중심 역할을 하고 있지 않습니다. 늘어나는 CDN 비용 + 개발자 인건비를 감당 못하고 비용절감 + 매출 확대를 급박하게 시도하고 있는 것 보면 영억이익관리가 최우선 과제로 올라간 것 같습니다. 하지만, 다음 포탈은 죽어가고 애드핏도 전혀 재기능을 하지 못하고 시장 점유율이 확대되지 않습니다. 언발에 오줌누기로 애드핏 대신에 애드센스를 티스토리에 강제로 점유해서 블로거들 코묻은 돈 뺏어가지만 위의 엄청난 CDN 비용과 개발자 인건비에는 턱없이 부족할 겁니다. 수순은 비용 절감을 위한 파일 등록 제한 - CDN 비용을 줄이기 위해서는 글 등록 보다는 파일등록과 파일 다운로드를 급격히 줄여야 합니다. https://notice.tisto.. 2024. 1. 4.
개발자들을 위한 블로그 플랫폼 정리 (2023/10 기준) 전적으로 도스게임플레이어 블로그 등 여러 블로그를 운영해본 경험을 토대로 작성되었습니다. 어차피 새로운 서비스들이 출시되고 기존 서비스들이 축소/삭제 되니 2023년 10월 기준이라는 것을 참고해주세요 개발자들을 위한 블로그 플랫폼 입니다. (일반 블로거는 네이버 블로그 사용하는게 가장 현명한 방법입니다) 추천순위 1위.Cloudflare Pages 2위.Github Pages 3.티스토리 4.워드프레스 5위.워드프레스닷컴 6위.블로그스팟 서비스시작일 2021년 2008년 2006년 2003년 2005년 1999년 서비스 제공업체 CloudFlare (CDN업체) Github (뒤에 MS) Kakao (한숨) 호스팅회사 WordPress Google (개살구) 글작성 제한(1일) 무제한 무제한 공개 10.. 2023. 10. 26.
티스토리 OPEN API 로 글 작성하는 Nodejs 소스 공유 티스토리의 OPEN API 를 이용해서 글을 작성하려면 4단계를 거쳐야 합니다. 티스토리 글작성 제한은 일일 50개 입니다 그래서 프로그램 파일을 4개 만들고 npm script 에 "tistory1": "node src/80.tistoryGetAuth.cjs", "tistory2": "node src/81.tistoryGetToken.cjs", "tistoryInfo": "node src/82.tistoryInfo.cjs", "tistoryWrite": "node src/83.tistoryWrite.js", 명령문을 4개 등록해놨지요 Step1. Auth 키를 받아오고 Step2. (Auth 키를 이용) Token 을 받아오고 Step3. (Token 을 이용) 블로그 정보을 받거나 카테고리 정보 받아.. 2023. 8. 31.
티스토리 이 블로그는 내부 정책으로 OPEN API 사용할 수 없습니다 티스토리야 하루 등록에 대한 글 제한 50개 있고 OPEN API 도 열어놔놓고선 왜 막는 거냐 어차피 하루에 등록 가능한게 아무리 넣어도 50개가 제한인데 너무하네 에디터 이용해서 일일이 클릭질 해서 넣으라는 건가 열심히 API 문서 보고 프로그램 만들어서 사용해 보려는 데 그냥 막아 버리네 그냥 허용 개수를 더 줄이던지 하지 이렇게 문제 블로그로 찍히면 글 쓸때 마다 구글 캡챠가 나옵니다 많이 나오는 유형이 자전거, 오토바이, 자동차, 신호등, 계단, 횡단보도, 소화전, 다리 하도 많이 봐서 그룹핑이 되네요. 2023. 8. 31.
convert google spread sheet to json 수천 개의 게임 목록을 구글 스프레드 쉬트로 관리 하고 있는데 이걸 콘솔별로 json 으로 전환하는 것도 일이다 그래서 구글 스프레드 쉬트에서 app script 를 사용하여 바로 전환하는 방법을 찾다가 아래 사이트의 가이드를 참고해서 변환 했다. https://thenewstack.io/how-to-convert-google-spreadsheet-to-json-formatted-text/ How to Convert a Google Spreadsheet to JSON-Formatted Text Make a bridge between JSON and Google Sheets thenewstack.io 결과는 만족 스럽기는 한데 (excel = > json ) 사이트를 가서 변환하는 것 보다는 조금 쉬어짐 .. 2023. 7. 14.
change splash activity to splash api for android 12 1. splash screen api 추가 build.gradle 에 splashscreen api 를 추가하려면 1.0.1 버전 적용하세요 아직 1.1.0-alpha 버전 사용하지 마세요. = > Android 14 설정 하니 구글 플레이스토어까지 문제 없는데 사용자들이 다운 및 설치가 안됩니다. Android 14 적용해야 합니다. defaultConfig { ... //splash screen implementation 'androidx.core:core-splashscreen:1.0.1' 2. logo xml 준비 도스게임 플레이어 로고를 xml 로 준비해서 res > drawalbe 에 logo_svg.xml 로 추가 3. splash 용 theme 추가 icon, 배경색, splash 이후 테.. 2023. 7. 13.
png to xml for android logo 그래도 진짜로 적용 가능한 사이트를 남겨 둡니다. 1단계 : png - > svg 2단계 : svg -> xml 이렇게 해서 안드로이드 스튜디오에 res > drawable > vector asset 으로 등록 하면 됩니다. 1단계 : png 로고를 svg 로 변환하고 https://cdkm.com/kr/png-to-svg PNG SVG 변환 - PNG 를 SVG 로 온라인에서 무료로 변환하십시오 프레임 속도: 원래 프레임 속도 유지 프레임 속도 사용자 정의 10 12 15 20 23.976 25 29.97 30 50 60 cdkm.com 2단계 : svg 로고를 xml 로 변환해서 코드만 복사 https://svg2vector.com/ SVG to Vector Drawable Converter – Co.. 2023. 7. 13.
jetpack compose Review URL Open 암호 입력을 요구하는 게임들 때문에 게임 플레이 중에 암호를 블로그에서 보게 하려면 앱 내부에서 Webview 로 띄우는 게 아니라 휴대폰 별도 웹 브라우저로 띄워야 하기에 해당 기능을 제외 합니다. 기존 방식 기존의 WebView 를 이용해서 Toggle 형태로 띄웠다가 닫았다가 했었음 //ReviewUrl 이 있으면 OPEN Review Button if (game.reviewUrl != "") { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally ) { FilledIconButton( onClick = { reviewToggle = !reviewToggle }, modifier =.. 2023. 7. 13.
clean docker cache (도커 캐시 삭제하기) docker 이용해서 build 를 하고 있는데 자꾸 수정된 내역이 반영되는 게 아니라 과거 정보로 빌드 되어서 캐쉬를 삭제하려고 한다. 방법 1. 처음 부터 빌드 할 때 캐시 허용하지 않기 docker build --no-cache -t emulators . 방법 2. 캐시된 내역 삭제하기 docker system prune -a 2023. 7. 11.
Android Coroutine 의 Dispatcher 종류와 사용방법 Dispatcher 는 Coroutine 에서 사용하는 Thread 를 구분하는 용도 입니다 조심해야 할 것은 UI 를 그리는 Thread 에서 IO 또는 CPU 를 사용하는 명령을 같이 실행하면 APP Crash 발생합니다. 툭하면 겪는 상황이고 대부분 viewModelScope.launch(Dispatcher.IO) 설정해서 해결하고 있습니다 안드로이드에서는 3가지 Thread 밖에 없으니 아래 표만 기억하면 됩니다 viewModelScope.launch 2023. 6. 27.
linebreak-style 오류 해결 원인은 mac 과 windows 의 newline 해석 차이 때문에 발생되고 lf 로 맞추는 게 속 시원하다 한방에 프로젝트 내 파일들 싹 바꾸기 git config core.autocrlf false git rm --cached -r . git reset --hard VSCODE 에서 하단의 CRLF = > LF 로 변경하자 2023. 6. 3.
안드로이드 기기 카탈로그 (android catalog) 안드로이드는 정말 다양한 스펙의 기기들이 존재 합니다. 문제는 아이폰은 전부 하이엔드급 스펙으로 스펙 고민을 안해도 되는데 안드로이드는 로우엔드급 스펙 기기도 엄청나게 많다는 사실 입니다. 안드로이드 하위 버전 OS 기기도 엄청나게 많습니다. 매번 갤럭시 S , 샤오미 핸드폰 만 사용했었는데...이게 전부 하이엔드 급이라서 전혀 문제를 느끼지 못했습니다. 외국분들이 설치 후 에 바로 앱을 삭제 해서 무엇이 문제 인게 고민 끝에 분석을 해보니 단말기들 RAM 용량이 1~2기가 밖에 안됩니다. RAM 2기가 가상 휴대폰에서 테스트 돌려보니 콜드 스타트 시간이 늘어나고 버벅거리는 현상이 심하게 일어나서 결국 기기 제외 규칙을 RAM 3기가 이하 제외를 걸었습니다. 아래 보시면 RAM 3기가 이하 스펙 기기가 .. 2023. 5. 8.
jetpack compose paging3 사용시 주의사항 (immutable 데이터만 사용) 게임 리스트를 Room database 에서 paging3 라이브러리를 활용해서 paging 처리를 하려고 시도 했습니다. 결국 포기 다른 방법으로 구현했습니다. paging3 의 사용시에 주의 사항이 딱 1가지 있습니다. immutable 데이터만 사용할 것 도스게임 플레이어는 immutable 데이터가 아닙니다. 사용자가 게임 리스트를 보기만 하는게 아니라 수정해야 하고 삭제도 하고, 즐겨찾기로 등록도 해야 하고 사용자 마음대로 수정할 수 있는 플레이어라는 특성한 mutable 데이터 리스트가 필요한 것 입니다. 결국 paging3 적용 다하고 페이지 단위로 다 처리해놨는데 수정하는 방법이 없어서 포기하고 다른 방법으로 처리 했습니다. (*구글링 하다보면 변경 데이터를 메모리로 들고 있다가 같이 보여.. 2023. 5. 8.
android studio different debug vs release libraries version 아무리 구글링 해도 내용이 없다 삽질 끝에 원인과 해답은 원인 gradle 을 이용하여 여러 가지 버전의 라이브러리를 받아서 사용하면 업데이트는 쉽지만 google 과 maven 에서 제공하는 버전이 달라서 문제가 발생된다 external libraries 는 다운그레이드 가 안된다 증상 build 는 잘되는데 layout inspector 가 compose.ui 라이브러리의 엉뚱한 버전을 찾으면서 찾을 수 없다고 나타난다 debug 에서 다른 버전의 compose.ui 를 사용하고 있었다 해결방법 gradle cache 파일 삭제 app 레벨 build.gradle 에서 라이브러리 사용 전부 주석처리 3종의 캐쉬가 있다 전부 삭제 사용자 폴더 > .gradle > cache 삭제 (캐쉬 파일 잔뜩 있음.. 2023. 4. 26.
photoscape x 로 collage 이미지 만들기 photoscape x 는 mac, windows OS 에서 무료 입니다 http://x.photoscape.org/ PhotoScape X for Mac and Windows 10 History There is a mouse issue in macOS ( Mojave 10.14.0 ~ 10.14.3 and Catalina 10.15 ). A fix for this will be available shortly. --> * Version 4.2.1 (Jan 21, 2022) * Version 4.2 (Jan 16, 2022) (PhotoScape X 4.2 for Windows 10 will be released very soon) x.photoscape.org 공식 사이트에서 설치 후에 PRO 는 유료.. 2023. 4. 12.
JavaScript Key code https://www.toptal.com/developers/keycode/table JavaScript Key Code Event Tool | Toptal® KeyCode.Info allows users to press any key and instantly get the JavaScript Key or Key Code KeyboardEvent. Check out the Tool and Event List. www.toptal.com 가상키보드 참고용으로 Keycode 링크 붙여놓습니다. Key Code Key Code Unicode Description Unidentified Unidentified These keys do not have a key code 3 Cancel Pause break 8 .. 2023. 3. 17.
npm ERR! code SELF_SIGNED_CERT_IN_CHAIN 에러 해결 방법 원인 회사 내부 인터넷 망을 통해서 라이브러리 파일을 못 가져옴 해결방법 npm config set strict-ssl false -g npm 설치시 ssl 설정을 false 로 변경 yarn 의 경우는 yarn config set "strict-ssl" false 우린 어차피 둘 다 사용하니 둘 다 풀어놓자 2023. 3. 15.
안드로이드 코드명과 빌드 번호 참고 안드로이드 버전이 매년 업데이트가 되면서 사용자들의 안드로이드 버전이 파편화 된지 오래 되었다 문제는 버전별로 지원하는 기능과 적용방법이 틀려지면서 개발자들의 머리를 복잡하게 만들고 앱 크래쉬나 버그도 많아진다는 거다 이제 와서 빌드 버전을 강제하면서 과거 안드로이드 OS 를 지원안하는 방식으로 줄이려고 구글이 노력하고 있지만 어차피 오픈소스 성향이 강하고 휴대폰 성능이 너무 좋아서 빨리 바뀌지는 않을꺼다 예를 들어서 아래는 다이나믹컬러를 적용하는 코드 Build.VERSION.SDK_INT >= Build.VERSION_CODES.S 다이나믹 코드는 VERSION_CODES.S 이상 부터 적용된다 S = API 31 = 안드로이드 12 이상 만 적용된다 이거는 그나마 적용되고 안되고니 단순하지만 파일 .. 2023. 3. 11.
jetpack compose 에서 MutableStateFlow vs MutableState Jetpack compose 에서 Viewmodel 과 composite 에서 MutableStateFlow 와 MutableState 사용의 차이점이 궁금했었는데 https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5 ViewModels using Compose: MutableStateFlows or MutableStates? State hoisting is an important concept useful to make a Composable stateless (and so easily reusable). The official Compose documentation… proand.. 2023. 2. 16.
안드로이드 jetpack compose MVI 패턴 개발시 참고 소스 https://github.com/Elbehiry/Delish GitHub - Elbehiry/Delish: Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI cle Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI clean architecture. - GitHub - Elbehiry/Delish: Delish, a Food Recipes App in Jetpack Compose and ... github.com 사용한 기술 100% Kotlin bas.. 2023. 2. 15.
안드로이드 앱 정보 가져오기 (구글플레이스토어) https://colab.research.google.com/drive/1XiX9t4co5lZfjyKQBK_YO-m_qYRSr_i6?usp=sharing playstore_install_count.ipynb Colaboratory notebook colab.research.google.com 안드로이드 앱의 정보를 python 으로 간단하게 가져올 수 있습니다. colab 을 사용하면 인터넷 환경만 되면 어디서든 정보 조회가 가능합니다. pip install google_play_scraper from google_play_scraper import app result = app( 'com.skyksit.dsam3', lang='ko', # defaults to 'en' country='kr' # def.. 2023. 2. 15.
openAI 의 API 엮는 샘플 https://betterprogramming.pub/openai-sse-sever-side-events-streaming-api-733b8ec32897 OpenAI SSE (Server-Sent Events) Streaming API Recreating the chatbot betterprogramming.pub 여기 예제는 flask, Django, Express 로 구성을 했는데 내용이 간단하기 때문에 참고해서 다른 프레임워크에서 구성할 때 참고해서 사용하면 될 것 같습니다. 어차피 단순한 API 연계라서 클라이언트는 각종 chat 서비스와 엮으면 다른 사람들이 좋아하겠네요. slack , google chat 등 2023. 2. 14.
애뮬레이터 Bios 리스트 https://github.com/Abdess/retroarch_system GitHub - Abdess/retroarch_system: Compilation of BIOSes for various emulation platforms Compilation of BIOSes for various emulation platforms - GitHub - Abdess/retroarch_system: Compilation of BIOSes for various emulation platforms github.com retroarch 용 Bios 리스트가 정리된 레포 입니다 애뮬레이트 별로 사용되어질 Bios 주소가 있으니 도스게임 플레이어와 잘 엮어서 활용해봐야 겠네요. snes 와 nes 등 플레이어를 여기의 .. 2023. 2. 14.
Jetpack compose Clean Architecture 참고 소스 https://github.com/Farhandroid/AndroidCleanArchitecture GitHub - Farhandroid/AndroidCleanArchitecture: This is a project built with Love ❤️ and also with Clean architecture in Andr This is a project built with Love ❤️ and also with Clean architecture in Android . - GitHub - Farhandroid/AndroidCleanArchitecture: This is a project built with Love ❤️ and also with Clean architec... github.com Jetpa.. 2023. 2. 14.
jetpack compose text field styling https://proandroiddev.com/the-big-form-with-jetpack-compose-7bec9cde157e The Big Form with Jetpack Compose As always any app will always need some a form screen like login, signup, edit profile, request form and many more … proandroiddev.com jetpack compose 에서 text field 를 사용할 때 여러가지 유형의 스타일이 필요합니다. 잘 정리되어 있는 문서를 공유합니다. jetpack compose 를 사용해서 만든 게임 플레이어 앱 입니다. jetpack compose 도 공부하면서 앱도 만들어서 출시까.. 2023. 2. 9.
안드로이드 의존성 주입 (DI) 개념 의존성 주입에 대해서 잘 정리된 글이 있어서 링크를 남겨둡니다. 나중에 제가 보려고. 의존성 주입이란 무엇이며 왜 필요한가? 목표 의존성 주입이 무엇인지 이해한다. 의존성 주입이 왜 필요한지 이해한다. 의존성 주입이란? 의존성 주입이란 클래스간 의존성을 클래스 외부에서 주입하는 것을 뜻한다. 더 자세하게는 의 kotlinworld.com https://kotlinworld.com/64 의존성 주입이란 무엇이며 왜 필요한가? 목표 의존성 주입이 무엇인지 이해한다. 의존성 주입이 왜 필요한지 이해한다. 의존성 주입이란? 의존성 주입이란 클래스간 의존성을 클래스 외부에서 주입하는 것을 뜻한다. 더 자세하게는 의 kotlinworld.com https://kotlinworld.com/63 [Dagger2] 1... 2022. 12. 19.
echarts 를 티스토리에서 사용할 수 있는 지 테스트 합니다 오픈소스 차트인 echarts 사용할 수록 좋다는 것을 알 수 있네요. 티스토리에서는 사용이 가능한지 실험해봅니다 => 실험결과 안되네요. 그냥 개인블로그에서 차트 사용할때나 써야겠네요. 티스토리에서는 echarts 사용 불가 2022. 10. 20.
AI 그림 키워드 모음 애니메이션 느낌Character illustration by Kyoto Animation StudioMasterpiece trending anime artHigh quality animeShoujoArtgermKrenz CushartWlopIlya KuvshinovKawaii 배경추가Greg Rutkowski뛰어난 배경을 묘사하고 싶을 때, 사실적인 묘사에 유용한 작가 키워드.Cinematic lighting자연스러운 채광을 추가 묘사추가Intricate details세부적인 묘사들을 추가Blossoming flowers화려한 꽃들을 그림에 추가함. 화사한 그림에 유용함.Colourful훨씬 다채롭게 색을 넣어줌. 색조가 밋밋할때 유용함.Concept art더 극적으로 그림을 그려줌. 그림이 너무 단순할.. 2022. 9. 22.
사용자 친화적인 HTTP 설계 방법 사용자 친화적인 URL designhttp://www.merges.net/theory/20010305.html HTTPHTTP 상태코드https://sanghaklee.tistory.com/61 URL 예제/redirect/login/auth-redirect/error/404/error/401/dashboard/documentation/guide/profile/permission/page/permission/role/permission/directive/example/create/example/edit/:id/example/list/excel/export-excel/article/write Uploaded by N2T 2022. 9. 22.
코랩(Colab) Waifu Diffusion 설정 변경하기 출력이미지 갯수 변경하기samples 수량 변경하면 됩니다num_samples = 4 필터무효화필터에 dummy 를 적용합니다pipe = pipe.to(device) def dummy(images, **kwargs): return images, False pipe.safety_checker = dummy Uploaded by N2T 2022. 9. 22.
반응형