전체 글1545 [PHP] array_count_value() 와 str_repeat()함수 활용하여 텍스트 막대 그래프 만들기 안녕하세요, 오늘은 array_count_value()와 str_repeat() 함수를 활용하여, 배열을 시각화 하여 텍스트 막대그래프를 출력해보도록 하겠습니다. array_count_value() 배열 내 각 값이 등장한 횟수를 세어 연관 배열로 반환합니다. array_count_values(['a', 'b', 'a']);// 결과: ['a' => 2, 'b' => 1] str_repeat()문자열을 지정한 횟수만큼 반복합니다. str_repeat("★", 3);// 결과: "★★★" 텍스트 막대그래프 만들기 예제입니다. $count) { echo "$fruit: " . str_repeat("■", $count) . " ($count)";}?> 결과apple: ■■■ (3)banana.. 2025. 6. 8. [Java][Android] Timber 활용 예시 만들기 오늘은 Timber를 활용해 간단한 예시를 만들어 보겠습니다. Timber는 안드로이드 기본 Log 위에 유틸리티를 제공하는 라이브러리 입니다. 그래들 설정=> 모듈 레벨 build.gradle 파일의 android{} 내부에 위와 같이 설정해 Buildconfig 클래스를 자동생성하게 해줍니다. => 모듈 레벨 build.gradle 파일의 dependencies{} 내부에 Timber 라이브러리를 추가해줍니다. 레이아웃 xml 파일 코드(activity_main.xml) Application 상속 클래스 코드public class MyApplication extends Application { @Override public void onCreate() { .. 2025. 6. 6. [Python] FastAPI로 OAuth2 + JWT 기반 인증 시스템 만들기 안녕하세요.오늘은 FastAPI 에서 OAuth2와 JWT 기반 인증 시스템을 만들어보겠습니다. 현대 웹 서비스에서 인증(Authentication)과 인가(Authorization)는 필수적인 요소입니다. 인증은 사용자의 신원을 확인하는 과정입니다.즉, "당신이 누구입니까?"라는 질문에 대한 답을 검증하는 절차입니다. 예를 들어, 로그인 화면에서 아이디와 비밀번호를 입력하면, 시스템은 입력된 정보가 실제로 등록된 사용자와 일치하는지 확인합니다. 인가는 인증이 완료된 사용자에게 "어떤 자원(데이터, 기능 등)에 접근할 수 있는지"를 결정하는 과정입니다.즉, "당신이 이 작업을 할 권한이 있습니까?"라는 질문에 답하는 단계입니다.예를 들어, 일반 사용자는 자신의 정보만 볼 수 있지만, 관리자는 모든 사용자.. 2025. 6. 5. [React] 좋아요 버튼 클릭 시 확인 모달 띄우기 안녕하세요 오늘은 좋아요 버튼 누를때 확인 모달을 띄워보도록 하겠습니다. 좋아요 버튼 구현에 대한 게시글은 아래 링크에서 확인하실 수 있습니다 [React] useState 로 좋아요 버튼 상태 관리하기안녕하세요 오늘은 지난 시간에 만들었던 슬라이드 UI 카드에 좋아요 버튼을 구현하고자 합니다. 지난 게시글은 아래 링크에서 확인하실 수 있습니다. [React] 슬라이드 카드 UI 만들기안녕하세요.stickode.tistory.com 1. 먼저 src/components/ 디렉토리에 ConfirmModal.js 파일을 만들어줍니다. 모달 창 ui 코드를 작성합니다 ConfirmModal.js // src/components/ConfirmModal.jsfunction ConfirmModal({ isO.. 2025. 6. 4. [Java][Android] Sharesheet 방식으로 데이터 공유하기 안녕하세요오늘은 Sharesheet 방식을 사용해 데이터를 공유하는 방법에 대해 알아보겠습니다. 우선 안드로이드 공식문서에, Sharesheet에 대한 설명으로Android Sharesheet는 주로 앱 외부나 다른 사용자에게 직접 콘텐츠를 보내도록 설계되었습니다. 예를 들어, 친구와 URL을 공유합니다.이렇게 나와있는것을 확인할 수 있습니다. 전체 코드입니다. activity_main.xml MainActivity.javapublic class MainActivity extends AppCompatActivity { Button btnShare; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s.. 2025. 6. 3. [Java][Android] 버튼 연속 클릭 방지하기 왜 버튼 연속 클릭 방지가 필요한가요? 서버 부하 증가: 사용자가 버튼을 빠르게 여러 번 누르면, 각 클릭마다 서버로 API 요청이 중복해서 전송될 수 있습니다. 이는 서버 리소스를 불필요하게 소모시키고, 심한 경우 서비스 장애로 이어질 수 있습니다.의도치 않은 데이터 중복 생성/수정: 예를 들어 '게시글 작성' 버튼을 연타하면 동일한 내용의 게시글이 여러 개 생성될 수 있습니다. 사용자 경험(UX) 저하: 앱이 반복적인 요청으로 인해 느려지거나, 예기치 않은 동작을 보이면 사용자는 불편함을 느낍니다.클라이언트 리소스 낭비: 불필요한 네트워크 요청은 사용자의 데이터 소모를 늘리고, 배터리 사용량에도 영향을 줄 수 있습니다. 1.마지막 클릭 시간으로 연속 클릭 방지 (Throttling)마지막으로 유효한 .. 2025. 6. 2. [PHP] global, local, static 변수 범위(scope) 차이 안녕하세요,오늘은 php 변수의 범위 global, local, static의 차이에 대해 알아보겠습니다. 1. Local 변수(지역변수)함수 내부에서 선언된 변수함수 밖에서는 사용할 수 없음함수 실행 시 스택 메모리에 올라가고, 함수 종료 시 해제됨매번 새롭게 생성되므로, 이전 상태는 유지되지 않음function sayHello() { $message = "Hello"; echo $message;}sayHello(); 실행결과Hello2. Global 변수함수 외부에서 선언된 변수함수 안에서는 직접 접근할 수 없음global 키워드를 사용해야 함수 안에서도 사용할 수 있음실제로는 GLOBALS라는 연관 배열에 저장됨$name = "홍길동";function greet() { global.. 2025. 6. 1. [Java][Android] commons-io 활용 예시 만들기 오늘은 apache commons-io 라이브러리를 활용해 파일 데이터 읽기, 쓰기 예시를 만들어 보겠습니다. apache commons-io 라이브러리는 입출력 관련 유틸리티 기능을 제공하는 라이브러리 입니다.InputStream/OutputStream, 파일 복사,수정, 파일 검색 필터링 등 입출력 관련 기능들을 쉽게 사용할 수 있도록 지원해줍니다. 그래들 설정=> 모듈 수준의 build.gradle 파일 에서 commons-io 라이브러리를 추가해주세요. 버전은 아래의 공식홈페이지 정보를 참고하세요.https://commons.apache.org/proper/commons-io/changes.html Apache Commons IO Release Notes – Apache Commons IOA.. 2025. 5. 30. [Python] FastAPI 비동기 처리(3) 비동기 백그라운드 작업 구현하기 이전 글2025.05.15 - [Python] - [Python] FastAPI 비동기 처리(1) 비동기 엔드포인트 만들기 [Python] FastAPI 비동기 처리(1) 비동기 엔드포인트 만들기안녕하세요.이전 글에서는 FastAPI를 사용해서 api서버를 만들고 의존성 주입을 활용하는 방법에 대해 알아보았습니다.2025.05.01 - [Python] - [Python] FastAPI 프레임워크로 api서버 만들기 [Python] FastAPI 프stickode.tistory.com2025.05.22 - [Python] - [Python] FastAPI 비동기 처리(2) 비동기 데이터베이스 연결 구현하기 [Python] FastAPI 비동기 처리(2) 비동기 데이터베이스 연결 구현하기안녕하세요.이전 글에.. 2025. 5. 29. 이전 1 2 3 4 5 6 7 8 ··· 172 다음