본문 바로가기

분류 전체보기

(35)
Chat GPT 키 발급 부터 API 호출 까지 API 키 발급 https://platform.openai.com/ 먼저 홈페이지에 방문 후 로그인을 진행 https://platform.openai.com/account/api-keys 우측 상단 메뉴에 View API keys 방문 Create New Secret Key 클릭으로 키 발급 주의 사항 키 발급 창이 나타나며 키가 나타나게 되는데, 한번만 보이고 두번다시 알 수 없으니 잘 보관해야 한다. https://platform.openai.com/docs/api-reference API 레퍼런스를 확인하여 필요한 기능을 호출 합니다. 하기의 예는 Completion 호출 하는 방법 입니다. curl https://api.openai.com/v1/completions \ //기본적으로 POST 호출..
Slack 봇] 봇 만들기 -1 [메세지 전달] 회사 생활 하면서 필요한 정보가 있다. Wifi 비밀번호, 팩스 번호 등등 회사 내에 커플루언스를 사용하고 있지만, 이런게 작거나 혹은 답이 정해져 있는 정보를 찾는데 닭 잡는데 소잡는 칼 쓰는격 같아 봇을 하나 만들기로 했다. 봇 생성 https://api.slack.com/ Slack은 당신을 위한 Digital HQ입니다 Slack은 여러분의 팀과 소통할 새로운 방법입니다. 이메일보다 빠르고, 더 조직적이며, 훨씬 안전합니다. slack.com 우측 상단 Your Apps 를 클릭 Create New App 클릭 From Scrach 클릭 From an app manifest 의 경우 manifest 라는 구성 파일로 봇을 세팅 하는 방법이다. From Scrach를 통해여 봇 설정 방법을 익힌 ..
회사에서 Slack 효율적으로 사용하기: D-day 발표를 통한 사용법 공유 회사에서 Slack을 비효율적으로 사용하는 같아 효율적 사용 방법을 공유하기로 결심하였다. 매월 진행하는 D-day에 발표할 예정이며, 이를 통해 우리 모두가 Slack을 조금 더 효율적으로 사용하는 방법을 배울 수 있기를 바랍니다. 오랜만에 PPT를 만들어 봤지만, 그만큼 Slack 사용의 효율성을 높이는 데 도움이 되길 바라며 이 발표 자료를 준비했습니다. 관련 PPT 자료도 공유 합니다.
최초의 알고리즘 중 하나! 유클리드 호제법으로 최대공약수 구하기 유클리드 호제법(Euclidean Algorithm)은 두 수의 최대공약수(GCD, Greatest Common Divisor)를 구하는 방법 중 하나로, 인류 최초의 알고리즘 중 하나로서도 알려져 있습니다. 두 수 a와 b의 최대공약수를 구하기 위해서는, 다음과 같은 과정을 반복합니다. a를 b로 나눈 나머지 r을 구합니다. 만약 r이 0이면, b가 a와 b의 최대공약수가 됩니다. 즉, GCD(a, b) = b입니다. 만약 r이 0이 아니라면, b와 r의 최대공약수를 구하기 위해, 다시 b를 r로 나눕니다. 이때, r이 0이 될 때까지 반복합니다. fun gcd(a: Int, b: Int): Int { if (b == 0) return a return gcd(b, a % b) } 예를 들어, 54와 2..
Junit JUnit은 자바 프로그래밍 언어를 위한 유명한 단위 테스트 프레임워크입니다. JUnit은 개발자가 소프트웨어의 개별 부분을 독립적으로 테스트할 수 있게 해주어, 버그 발견 및 수정을 용이하게 하고, 코드 품질을 향상시킵니다. JUnit은 다음과 같은 주요 기능을 제공합니다: 단위 테스트 작성 개발자는 JUnit을 사용하여 테스트 케이스를 작성하고, 테스트 메서드로 구성된 테스트 클래스를 생성할 수 있습니다. 어노테이션 JUnit은 다양한 어노테이션을 제공하여, 테스트 메서드와 관련된 메타데이터를 정의할 수 있습니다. 주요 어노테이션으로는 @Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll 등이 있습니다. 단언문(assertions) 테스트 메서드는 단언문을 ..
백준]17427 약수의 합2 17427 약수의 합2 https://www.acmicpc.net/problem/17427 패턴 찾다 약수의 합을 나열 1 → 1 2 → 1 + 2 3 → 1 + 3 4 → 1 + 2 + 4 5 → 1 + 5 6 → 1 + 2 + 3 + 6 7 → 1 + 7 8 → 1 + 2 + 4 + 8 9 → 1 + 3 + 9 10 → 1 + 2 + 5 + 10 n 의 배수에 해당 되는 수는 n 값이 무조건 포함 되어 있다. 10 = 1 , 2, 5, 10 1의 배수 2의 배수 5의 배수 10의 배수 배열을 미리 생성해 두고 배열의 index을 해당 수의 총합 값을 저장 한다. 예 [10] = 1 + 2 + 5 + 10 그럼 이러한 형태로 저장 되게 된다. Index : 0 1 2 3 4 5 Value : 0 1 3..
안드로이드 뷰 개발 시 고려해야 할 요소들 안드로이드 애플리케이션을 개발할 때, 뷰 최적화뿐만 아니라 몇 가지 주의해야 할 요소들이 있습니다. 뷰를 개발할 때 고려해야 할 요소들은 다음과 같습니다. 뷰 최적화 뷰 최적화는 애플리케이션의 성능, 메모리 관리, 배터리 수명, 디자인 일관성 등을 고려하여 뷰를 최적화하는 것입니다. 뷰 최적화는 애플리케이션의 성능과 안정성을 향상시키는데 도움이 됩니다 오버드로우 오버드로우는 뷰에서 발생하는 문제 중 하나입니다. 화면에 그려지는 뷰가 다른 뷰와 겹치게 되어 동일한 영역을 여러 번 그리는 것을 의미합니다. 오버드로우가 발생하면 불필요한 그리기 작업으로 인해 애플리케이션의 성능이 저하될 수 있습니다 메모리 누수 뷰에서 메모리 누수가 발생할 수 있습니다. 뷰에서 참조하는 객체를 해제하지 않고 뷰를 삭제하는 경우..
안드로이드 앱 성능 최적화 안드로이드 앱의 성능을 최적화하려면 다양한 방법과 기술이 필요합니다. 제가 생각하는 대표적인 몇 가지 주요 사항을 나열하겠습니다 UI 최적화 부드러운 UI 동작을 위해 메인 스레드에서 오래 걸리는 작업을 배제하고, 뷰 계층 구조를 최소화하며, 오버드로우를 줄입니다. 또한, 이미지를 알맞은 해상도에 맞게 리사이징하고, 리소스를 압축합니다. 메모리 관리 메모리 누수를 방지하기 위해 객체 참조를 적절히 관리합니다. 비트맵 메모리 사용을 최적화하고, 캐싱을 사용하여 메모리 사용량을 줄입니다. 데이터베이스 최적화 데이터베이스 작업을 백그라운드 스레드에서 수행하고, 쿼리 성능을 개선하기 위해 인덱싱을 사용합니다. 또한, 쿼리 결과를 캐시하고 필요할 때만 데이터베이스에 액세스합니다. 네트워크 최적화 사용자 경험을 개..
다양한 디바이스 지원의 양날의 검: 안드로이드 운영체제의 도전과 한계 다양한 장치를 지원하면 Android 운영 체제에 몇 가지 단점이 있습니다. 조각화 하드웨어 사양, 화면 크기 및 해상도가 서로 다른 다양한 장치로 인해 앱 개발자는 모든 장치에서 원활하게 작동하는 앱을 만드는 데 어려움을 겪습니다. 이러한 조각화로 인해 앱이 특정 장치에 최적화되지 않거나 구형 하드웨어에서 제대로 작동하지 않을 수 있습니다. 일관성 없는 업데이트 업데이트가 중앙에서 제어되는 다른 플랫폼과 달리 Android 업데이트는 기기 제조업체 및 이동통신사에 의존하는 경우가 많습니다. 이로 인해 지연, 일관되지 않은 업데이트 또는 특정 장치에 대한 업데이트가 전혀 없을 수 있으며, 이로 인해 사용자는 오래된 소프트웨어를 사용하고 보안 취약성에 노출될 수 있습니다. 품질 관리 Android는 다양한..
Android 개발자로서 커뮤니케이션 기술의 중요한 역할 Android 개발자의 커뮤니케이션 기술의 중요성은 아무리 강조해도 지나치지 않습니다. 좋은 의사소통 기술은 팀워크를 향상시킬 뿐만 아니라 프로젝트의 전반적인 성공에 크게 기여합니다. Android 개발자에게 커뮤니케이션 기술이 중요한 몇 가지 주요 이유는 다음과 같습니다. 협업 및 팀워크 Android 개발자는 종종 백엔드 개발자, UI/UX 디자이너, 프로젝트 관리자 및 클라이언트와 같은 다른 전문가와 긴밀하게 협력합니다. 강력한 의사 소통 기술은 원활한 협업을 촉진하여 보다 효율적이고 성공적인 개발 프로세스를 제공합니다. 요구 사항 수집 및 이해 프로젝트 요구 사항을 정확하게 해석하는 것은 성공적인 앱 개발에 필수적입니다. 클라이언트 및 이해 관계자와의 명확한 커뮤니케이션을 통해 Android 개발..