본문 바로가기
반응형

소프트웨어 개발101

[javascript] 자바스크립트 함수 호출 지연시키기 자바스크립트 함수 호출 지연시키기 const deCall = (fn, ...args) => setTimeout(fn, 1000, ...args); deCall(testfn,'나중에호출'); alert("먼저 호출"); function testfn(msg) { alert(msg); } 2023. 2. 2.
[PHP 기초강좌] 변수 선언 ( variable declaration ) 1. PHP 변수 (1) PHP에서 선언된 모든 변수는 달러 기호( $ )로 시작하고 그 뒤에 변수 이름이 와야 합니다. (2) 대소문자를 구분합니다. (3) PHP 변수명은 첫 문자는 숫자가 아닌 문자 또는 밑줄로 시작해야 합니다. (4) PHP 변수명은 영문, 숫자, 밑줄(예:'a-z','A-Z','0-9','_')만 포함할 수 있습니다. (5) PHP는 데이터 유형을 선언할 필요가 없으며 대신에 PHP가 값을 분석하여 데이터 유형을 자동으로 처리합니다. 2. 대소문자 구분 선언한 문자를 호출하기 위해서는 대소문자를 구분하여 정확하게 작성해야 합니다. 그렇지 않으면 정의되지 않은 변수라고 경고 메시지가 발생됩니다. 3. PHP 변수명 규칙 (1) PHP 변수명은 영문, 숫자, 밑줄(예:'a-z','A.. 2023. 2. 2.
[PHP 기초강좌] PHP 기초 문법 1. PHP 시작을 의미하는 구문 태그 PHP 코딩을 하기 위해서는 PHP 코드를 인식할 수 있는 태그 내에 작성을 해야 합니다. PHP 시작을 알리는 시작 태그는 입니다. 끝을 구분하는 태그는 생략이 가능합니다. 방가워~! 3. 소스코드 메모 - 주석 주석은 소스코드 분석 시 이해를 돕기 위해 일종의 메모입니다. 어렵고 복잡한 코드일수록 주석으로 설명을 잘 작성만 한다면, 다른 협업자들이 이 코드를 봤을 때 쉽게 이해할 수 있을 겁니다. 또한 자신이 개발한 소스코드도 일정 기간 시간이 지나면 기억이 흐려지는데, 주석에 설명을 잘 작성했다면 분석하는 코드를 상기하는데 큰 도움이 됩니다. 메모적인 성격이 강하기 때문에 실제 실행 결과에 반영이 안됩니다. 주석에는 한 줄 주석과 여러 줄 주석이 있습니다. 주.. 2023. 1. 31.
PHP 날짜 형식 정규식 ( yyyy-mm-dd, yyyy/mm/dd,mm/dd/yyyy) 1. 날짜형식 체크 yyyy-mm-dd $date='2022-02-28'; //2022-02-30 fail if(preg_match("/^((((19|[2-9]\d)\d{2})\-(0[13578]|1[02])\-(0[1-9]|[12]\d|3[01]))|(((19|[2-9]\d)\d{2})\-(0[13456789]|1[012])\-(0[1-9]|[12]\d|30))|(((19|[2-9]\d)\d{2})\-02\-(0[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\-02\-29))$/",$date)) { echo "ok"; } else { echo "fail"; } 2. 날짜.. 2023. 1. 30.
[PHP 기초강좌] PHP란 무엇인가? 1. PHP(Hypertext Preprocessor) 소개 PHP는 전 세계적으로 대중적으로 사용되어진 웹 개발 백 앤드(Backend) 스크립팅 언어입니다. PHP는 1994년 라스무스 러도프(Rasmus Lerdorf) 개발자가 PHP/FI를 개발하였습니다. PHP/FI는 대중적으로 인기를 끌지 못했지만 PHP/FI를 개발했던 경험을 바탕으로 1997년 PHP3를 출시하면서 많은 개발자들에게 관심을 받고 2000년부터 많은 개발자들부터 사용됐습니다. 현재에는 전 세계적으로 사용률이 상위에 랭크될 정도로 많은 사랑을 받고 있습니다. 2. PHP 동작 방식 PHP는 인터프리터 방식의 언어입니다. 인터프리터 방식에 대해서 알려면 컴파일러와 대조적으로 비교하여 설명이 필요합니다. 먼저 컴파일러 방식에 대해.. 2023. 1. 29.
[PHP 기초강좌] PHP 환경설치 - Nginx + PHP8.1 + mariadb 1. 소개 PHP로 개발된 결과물을 웹 브라우저(Web browser)를 통하여 보기 위해서는 웹 서비스 시스템과 연동이 되어야 합니다. 물론 PHP-FPM( FastCGI Process Manager )으로 웹 서비스 없이 접근이 가능하나, 다수의 서비스를 효율적으로 운영하기 위해서는 반드시 웹 서비스 시스템과 연동을 해야만 합니다. 웹 서비스 종류에는 nginx, apache, ms iis 등이 있지만 본 강좌에서는 WSL 우분투 환경에서 nginx 웹 서비스를 구축하여 PHP를 연동하도록 하겠습니다. 2. 작업환경 및 필수사항 - OS : Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11 - Linux용 Windows 하위 시스템 설치 - 개발도구 : 마이크로소.. 2023. 1. 29.
javascript - 개발자도구 ( devtools ) 실행 여부 감지 개발자 도구 실행 여부만 감지합니다. 실무에 적용을 하시려면 많은 고민과 응용이 필요한 소스입니다. 소스코드를 다운로드하실 수 있게 하단에 파일을 첨부하였습니다. 개발자도구 상태여부 : 2023. 1. 25.
ORM 개념 및 관련 라이브러리 ORM은 객체 지향 언어에서 관계형 데이터베이스 작업을 단순화하기 위한 추상화입니다. 기본적으로 SQL을 직접 사용하지 않고 데이터를 생성, 검색 및 업데이트할 수 있는 일련의 클래스 및 메서드입니다. 장점 1. 한 곳에서만 데이터 모델을 작성할 수 있으므로 코드를 업데이트, 유지 관리 및 재사용하기가 더 쉽습니다. 2. 데이터베이스 조작을 위한 많은 작업이 자동으로 수행되며, 관계 유지 및 데이터 가져오기도 자동으로 수행되는 경우가 있습니다. 3. MVC(Model-View-Controller) 구조로 코드를 작성해야 하므로 결국 애플리케이션 코드가 더 깔끔해집니다. 4. 형식화된 SQL 문을 작성할 필요가 없으며 복잡한 관계형 쿼리는 ORM에서 처리합니다. 5. 준비된 명령문 또는 트랜잭션을 사용하여.. 2022. 12. 11.
스프링부트(Spring boot) -오류페이지 작성법 ,whitelabel error page 해결 1. 작업환경 개발도구 : vscode JDK 유형 : openjdk 17 스프링 부트 버전 : 3.0 개발환경 OS : windows 10 - 11 2. 들어가며 whitelabel error페이지를 수정하기 위해서 비활성화 처리 후 ErrorController를 상속 받아서 자신이 원하는 오류 페이지를 작성하면 된다. 3. application.properties 작성하기 resources 디렉토리 하위에 있는 파일인 application.properties 아래와 같이 작성을 하자 server.error.path 속성으로 지정된 오류 페이지를 맵핑을 하고, whitelabel 오류 페이지를 비활성화 처리를 하자 server.error.whitelabel.enabled=false server.erro.. 2022. 12. 4.
[Spring boot - 스프링부트] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 오류 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 원인 application.properties 파일에 데이터베이스 연결 설정을 하지 않아서 오류가 발생됨 해결 방법은 application.properties 연결 설정을 하거나 DataSourceAutoConfiguration 클래스를 제외하면 됨 해결 @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 코드 추가로 해결 하였음 지금 당장 데이터베이스 연결 작업을 하려면 DataSourceAutoConfiguration 클.. 2022. 12. 3.
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test 오류 메이븐 ( maven) 인스톨시 아래와 같은 오류가 발생 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test 개발 환경 - jdk type : ms openjdk 17 - string boot version : 2.7.7 - tool : vscode 해결 방법 pom.xml 파일에서 수정하여 해결 org.apache.maven.plugins maven-surefire-plugin 2.19.1 2022. 12. 3.
spring boot security 로그인 페이지 비활성화 처리 메인 클래스에 아래와 같이 추가를 해주시면 됩니다. @SpringBootApplication(exclude={SecurityAutoConfiguration.class}) 추가를 해주시면 비활성화 처리가 됩니다. @SpringBootApplication(exclude={SecurityAutoConfiguration.class}) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 2022. 12. 2.
PHP 5.3 - json_encode 한글처리 PHP 배열을 JSON 형태로 변환시 한글로 출력하여 저장할 경우가 생깁니다. PHP 5.4부터는 JSON_UNESCAPED_UNICODE 도입 되었습니다. 이 인자값의 역할은 json_encode 시 한글 출력이 인코딩 값으로 출력이 되는 것을 한글로 출력되게 해주는 역할을 하고 있습니다. PHP 5.4 이하 버전에서는 이러한 것이 지원이 되지 않기 때문에 아래와 같이 함수를 만들어서 사용하셔야 합니다. 5.4 이상 한글 출력 방법 2022. 12. 1.
부트스트랩 모달 bootstrap modal ESC키로 사라지지 않게 설정하기 자바스크립트 Jquery로 사용하실 경우 $('#MyModalWin').modal({backdrop: 'static', keyboard: false}, 'show'); HTML로 호출을 하실 경우 2022. 12. 1.
vscode srping boot JAVA_HOME 설정 방법 - MS OpenJDK 17 설치환경 OS : WINDOWS OS 개발도구 : VSCODE JDK TYPES : MS OpenJDK 17 이슈발생 vscode에서 spring boot 설치 후 아래와 같은 오류 메시지가 발생 하였다. ERROR : JAVA_HOME is set to an invalid directory please set the java_home variable in your environment to match the location of your java installation. 해결 방법 JAVA_HOME 횐경변수 추가~! 고급 시스템 설정 보기 > 시스템 속성 > 환경변수 창에서 JAVA_HOME 환경변수를 추가 한다. JAVA_HOME을 설정하는데 bin디렉토리까지 지정을 하지 말고 jdk-17.x.x.x.. 2022. 12. 1.
C# 문자열 여러줄 표시 Multiline string literal c#에서 엔터키로 여러줄을 표시하여 처리하기 위해서는 앞에 @를 붙여 주시면 됩니다. String txt = @" 안녕하세요 반갑습니다~!! 호호호 "; 2022. 11. 30.
C# 어셈블리 버전 넘버 표시 출처 : https://stackoverflow.com/questions/7178725/version-number-in-winform-form-text var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; this.Text = String.Format("My Application Version {0}", version); string version = System.Windows.Forms.Application.ProductVersion; this.Text = String.Format("My Application Version {0}", version); 2022. 11. 30.
리액티브 프로그래밍이란? 1. 리액티브 프로그래밍이란? 리액티브 프로그래밍은 정적 데이터에 대한 실시간 업데이트를 처리하기 위해 비동기 프로그래밍 처리 기법에 의존하는 프로그래밍 패러다임을 말합니다. 리엑티브 프로그래밍에서 필요한 요소는 3가지가 있습니다. 데이터 스트림과 변경을 전파해주는 옵저버블(Observable), 옵저버블이 전파를 보내 수신 받는 옵저버(Observers), 비동기 프로그래밍을 관리하기 위한 스케쥴러 등이 있습니다. - 옵저버블(Observable) : => 옵저버블은 기본적으로 데이터를 주기적으로 또는 구성에 따라 데이터흐름과 변경을 전파 합니다. - 옵저버(Observers) : => 옵저버는 데이터를 수신하기 위해서는 옵저버블에 등록을 합니다. Rx(ReactiveX )에서는 subscribe 메소.. 2022. 11. 30.
정규식 preg_match - 정수(숫자), 실수 체크 1. 정수만 체크 실수를 입력하여도 false를 반환합니다. 2022. 11. 19.
javascript - 바이트(byte) 길이 구하기 //바이트구하기 String.prototype.getBytes = function() { const contents = this; let str_character; let int_char_count = 0; let int_contents_length = contents.length; for (k = 0; k 4) int_char_count += 2; else int_char_count++; } return int_char_count; } let str = 'hi'; alert(str.getBytes()); 2022. 8. 20.
반응형