소프트웨어개발
-
java, python, js, html, css에서 들여쓰기 space 크기에 대한 개인적 의견
개요 js 작업 중인데, 역시 탭 크기에 대한 고민이 발생되었다. 탭 vs space 이 부분은 사실상 종결된 부분으로, space(공백)으로 구성하는 것이 낫다. '탭 문자'의 특징이 소스 코드 작성이라는 것과 애매하게 안 맞는 부분이 있기 때문인 것인데, 에디터에서 탭 키를 눌렀을 때 공백이 들어가게 지원되면서, 이 문제가 해결이 된 셈이다. 원래는 탭 키를 누르면 탭 문자(\t, U+0009, 등) 들어가게 되는데, 소스 코드에 이것을 포함하고, 컴파일이든 런타임이든에서 이것을 인식시켜야 하고, 이런 저런 이슈가 있는데. html 문서 내에 탭 문자가 들어갔을 때, 브라우저에서 어떤 식으로 표현해야할 지 등 여러 가지 문제가 혼합되어버릴 수 있다. 개발하는 관점에서는 편리하겠지만, 작..
2024.02.24
-
[python, django] 'save_m2m'
save_m2m에 대해서 알아보자. https://github.com/django/django/blob/main/django/forms/models.py django/forms/models.py에서 500라인 즈음에 BaseModelForm클래스의 def save메소드를 살펴보자. if commit: # If committing, save the instance and the m2m data immediately. self.instance.save() self._save_m2m() else: # If not committing, add a method to the form to allow deferred # saving of m2m data. self.save_m2m = self._save_m2m ret..
2023.12.22
-
용어에 대해서) code, source code
개요 얼마 전에 무심코 고민을 한 적이 있다. python 코드들을 정리해서 github에 비공개 저장소로 올리는 중이었는데, 저장소 이름을 뭘로 할까 고민을 하게 되었다. 'python_sources', 'python_codes', ... 문득 드는 생각에, source와 code의 의미에 대해 다시 한 번 생각해보게 되었다. 그래서 영어로 검색해보고 나서 느낀 점은, 외국애들이 받아들이기에 code라는 단어는 우리가 생각하던 것과 의미가 달랐다. 예를 들어, ascii code라거나, 전쟁 중에 주고 받는 통신 암호 코드 같은 것을 code로 생각하는 듯했다. 별로 개의치 않고 사용하는 사람들은 code라고 쓰긴 하는데, 문법에 예민한 외국애들은 프로그래밍과 관련되어서 c..
2022.09.29
-
라라벨 Laravel 에 대해서 알아보기
Laravel 라라벨 공식 사이트 : https://laravel.com/ 라이선스 : MIT (https://github.com/laravel/laravel 하단을 참조) Docs : https://laravel.com/docs/master Composer : https://packagist.org/packages/laravel/laravel Git https://github.com/laravel/laravel https://github.com/laravel/framework 라라벨과 내가 기억하는 PHP 진영의 역사 '라라벨 프레임워크'는 PHP 진영에서 마지막 보루라고 볼 수 있는 프레임워크이다. 기존에 여러 프레임워크가 등장하고 소멸했지만, PHP쪽에서는 그럴싸한 물건이 없었다. 먼..
2021.09.20
-
laravel breeze 와 jetstream
간단히 보자면, 라라벨에서 인증 기능 구현을 위해 지원하는 스타터 키트는 현재 둘로 나뉘어졌다. (예전에는 어떻게 구현했드라..) 하나는 breeze 이고, 다른 하나는 jetstream 이다. 단순히 단어의 의미로 접근하자면. breeze (순풍, 미풍)이고 jetstream (제트기류; 기상예보에서 가끔 나오는 제트기류)이다. 여기서 breeze는 기능을 최소화하려고 하고, jetstream은 기능을 많이 넣으려고 한다라고 눈치 챌 수가 있을 것이다. 공식 문서를 간단히 대충 살펴보면 이런 내용을 볼 수 있다. breeze * 예전 방식처럼 로그인, 로그아웃, 이메일 인증, 비밀번호 초기화 등을 지원한다. * composer 로 붙일 때는 'composer require laravel/breeze -..
2021.09.14
-
Numpy 의 Axis 옵션에 대한 정리.
개요 쉬운 듯 하면서... 보면볼수록 헛갈린다. 기왕 정리하는 김에 포스팅하도록 한다... (쓰면서도 헛갈림...) 배열 수준별로 테스트해보자 2차원 배열에서 # 2차원 배열에서 axis 사용 import numpy as np a = np.array([[10, 20, 30], [15,7,55], [5,33,12]]) print(np.max(a, axis=0)) # [15 33 55] # 열 기준 (위아래로 큰 것들) print(np.max(a, axis=1)) # [30 55 33] # 행 기준 (옆으로 큰 것만 추림) 3차원 배열에서 import numpy as np arr = [[[30, 15, 11], [27, 35, 23], [ 6, 1, 8], [17, 24, 32]], [[ 3, 4, 36],..
2021.05.07
-
[파이썬] mysqlclient 모듈 설치 오류 : Running setup.py install for mysqlclient ... error
개요 윈도우 환경 & 파이썬 32 비트 에서 'mysqlclient' 모듈을 설치할 때 오류가 발생할 수 있다. 오류 로그 Running setup.py install for mysqlclient ... error ERROR: Command errored out with exit status 1: command: '~\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\~\\AppData\\Local\\Temp\\pip-install-~\\~8\\setup.py'"'"'; __file__='"'..
2021.04.10
-
Laravel mysql rownum 을 이용한 update
DB::statement(DB::raw('set @rownum:=0')); SAFolder::join(DB::raw( '(select id, @rownum:=@rownum+1 as rownum from sa_folders where parent_id = ? and archive_id = ? order by `index`) as t2'),'t2.id','=','sa_folders.id') ->setBindings([$parentId, $archiveId], 'join') ->update(['sa_folders.index'=> DB::raw('t2.rownum')]); 사용했던 구문인데 필요하실..
2021.01.31
-
[Android] java.lang.NoClassDefFoundError: aewt
다음과 같은 로그 FATAL EXCEPTION: Firebase-Messaging-Intent-Handle Process: com.google.android.youtube, PID: 17241 java.lang.NoClassDefFoundError: aewt at aewu.b(PG:1) at duc.a(PG:230) at duc.get(PG:247) 'Nokia Nokia 1' 와 'Huawei P8 青春版' 기종에서 주로 발생하는 듯 하다. '사전 출시 보고서'에서 볼 수 있다. 참조 https://forums.expo.io/t/fatal-exception-firebase-messaging-intent-handle/45041/7 https://github.com/firebase/quickstart-un..
2020.12.14
-
[라라벨] route:list 가 깨져서 나올 때.
보통 'laravel-debugbar'가 원인이 되는 경우가 있는 듯 하다. 여러줄로 쪼개져서 나오는 현상이 나타난다. 라우트 정보를 간략히 보기 php artisan route:list -c 컬럼을 지정해서 보기 php artisan route:list --columns=method --columns=uri --columns=name --columns=action
2020.12.08
데이터베이스
-
oracle 12c 설치 스크린샷
개요 최신 버전의 oracle 을 설치해볼까 해서, vmware 에서 설치를 진행했습니다. 아래는 그 과정에 대한 스크린샷 입니다. 자주 찾게되서 저장해놓는 목적입니다. 스크린샷 결론위와 같이 진행되면 된다고 보시면 됩니다. 설치 과정에서 발생되기 쉬운 오류가 몇가지 있는데, 이 부분은 나중에 시간 날 때에 밑에 추가하도록 하겠습니다....(요새 영어 공부하느라 바빠서....)
2018.02.20
-
Navicat 'Missing required library sqlite.dll'
개요 Navicat 에서 'Missing required library sqlite.dll' 이라는 문구가 뜨면서 실행이 안 되는 경우. 본문@사진 첨부 오랜만에 Navicat 을 실행하려고 했더니 안 된다. 이런저런 이유를 떠나서, 최근에 sqlite 를 연결해서 테스트 했던 기억이 떠오른다. 그거 때문인가? 고민을 하고, 검색을 해봤지만 해결책이 딱히 없다. 문득 드는 생각에 Navicat 설치 폴더를 살펴보기로 하였다. 보통 C:\Program Files (x86)\PremiumSoft\Navicat 와 같은 경로에 설치되어 있습니다. (Navicat 아주 옛날 버전을 써서 저 위치에 있었습니다. 최신 버전은 다른 경로일 수 있습니다) 살펴보면 sqlite.dll 파일이 있는 것을 알 수 있다. 이..
2017.11.29
-
[Mysql workbench 워크벤치] 1022 - Can't write; duplicate key in table
개요 1022 - Can't write; duplicate key in table Mysql workbench 를 사용해서 ERD 작업하는 중인데, 이런 에러가 종종 뜬다. 상황 설명ERD 작업을 하면서, 테이블을 생성했던 데이터베이스 에 변경된 ERD 를 다시 Forward Engineering 작업을 할 경우에 에러가 발생함. 결론제약조건이 말썽이었다. 제약조건 의 명칭을 바꿔주고 다시 forward 해주니 잘 올라간다. Mysql workbench 에서 제약 조건 이름 을 바꿔주려면, 조인이 되어지는 테이블 을 선택해서 [foreign keys] 항목 을 보면 확인 할 수 있는데, 이름도 바꿀 수 있다. * 주의 : 릴레이션 을 직접 선택해서 바꾸는 명칭은 caption 인데, 이것은 제약조건 의 ..
2017.01.24
-
[SQLite] auto increment
mysql 에는 auto_increment 옵션이 있다. 자동으로 숫자가 증가되는 것을 pk 로 잡는 설정인데. sqlite3 에도 마찬가지 기능이 있다. 적용하는 방식은 integer 타입에 pk 설정이 되면 자동으로 값이 증가된다.
2016.04.28
-
[mysql] 날짜 관련 메모
select date_format(curdate(), '%Y-%m-%d %H:%i:%s') /* 2014-03-20 00:00:00 */ ,date_format(now(), '%Y-%m-%d %H:%i:%s') /* 2014-03-20 17:18:04 */ ,date_format(current_date(), '%Y-%m-%d %H:%i:%s') /* 2014-03-20 00:00:00 */ ,date_format(current_date()-1, '%Y-%m-%d %H:%i:%s') /* 2014-03-19 00:00:00 */ ,date_format(current_time(), '%Y-%m-%d %H:%i:%s') /* 2014-03-20 17:18:04 */ date_format 함수와 날짜를 가져오는..
2014.03.28
-
[MSSQL] 프로시저 예시
개요 MS SQL 의 프로시저 형식을 자꾸 잊어버려서, 간단한 샘플 코드를 기록해둡니다. 본문 (프로시저 예시) ALTER proc [dbo].[mba_get_list_board] @id varchar(30), @text varchar(255) as declare @sqlquery varchar(2000), @sqlwhere varchar(100), @sqlorder1 varchar(100), @sqlorder2 varchar(100), if @id = 'test' begin set @sqlwhere=' where a = 0 ' end else begin set @sqlwhere=' where a != 0 ' end exec(@sqlquery) 주요 부분을 생략하고 뽑아서 내용이 완벽하지 않습니다. 그냥..
2014.01.27
-
[MSSQL] nvl 기능을 하는 거
select isnull(email,'') from TABLE123; 이런식으로 사용하면 된다. nullif 라는 건 되는건지 안 되는 건지 모르겠고,isnull 은 된다. isnull(email,' ') 이런식으로 활용하면 될 것 같다.
2014.01.23
-
[MSSQL] 테이블 목록 조회 쿼리
select * from information_schema.tables where table_schema = 'dbo'
2014.01.23
-
[MSSQL] TOP N
SELECT TOP 1 * FROM TABLE_NAME; 이런식으로 TOP 1 을 쓰면 1 row 만 조회해 온다.mysql 의 limit 1 하고 같은 개념 인 것으로 생각 됨 서브쿼리에서도 사용이 가능하다
2014.01.22
-
[mysql] alter auto_increment number
개요 auto increment 의 카운트를 변경하는 것에 대해서 짧게나마 적어둡니다. Auto Increment 에 대해서 MySQL 테이블의 특징 중 하나가 Auto Increment 특성입니다. 테이블을 생성할 때에, int 타입 컬럼 중에 하나를 PK (Primary key) 로 지정했을 때, 해당 옵션을 이용할 수 있습니다. (컬럼 두 개가 PK 로 지정되어 있을 때에는 이 옵션을 이용할 수 없습니다...) Auto Increment 값 변경하기 ALTER TABLE [테이블명] AUTO_INCREMENT = [변경할 값]; (아래는 예시입니다) ALTER TABLE my_table AUTO_INCREMENT = 5;
2013.12.20
-
테이블 lock 조회
show processlist;
2013.12.18
-
mysqldump
[mysql 복구]mysql -u아이디 -p패스워드 디비
2013.12.13
-
[mysql] 혹시 모르니 저장. mysql 과 php 버전에 따른 부분
UPDATE mysql.user SET Password = PASSWORD(Password) WHERE User = 'username' 암호 자릿수가 바뀐 듯 하다. my.cnf 의 old_password = 0 //--길이체크select length(password) from mysql.user WHERE User = 'username' FLUSH PRIVILEGES;
2013.12.03
-
[ERWin] 확대 축소 단축키
화면확대 : ctrl + + 화면축소 : ctrl + - 생각보다 많이 쓰게 된다
2013.11.26
-
[Oracle] Oracle11g Express Edition 설치 (최종수정 2013-11-08)
Oracle Database Express Edition 11g Release 2 버전을 설치를 진행해보자. 1. 다운로드 주소 접속1) http://www.oracle.com/technetwork/products/express-edition/downloads/index.html?ssSourceSiteId=ocomen 혹은 2) http://www.oracle.com/index.html 접속후 -> downloads -> database -> Database 11g Express Edition 2. 다운로드 받은 후 설치를 한다. 보아하니, 그다지 할 사항은 없고, Next 만 눌러주면 된다. 중간에 암호 설정하는 부분이 있다. * 참고 JDK 혹은 JRE 는 미리 설치가 되어 있어야 한다. 설치하고 보..
2013.11.08
인기글
-
[윈도우 10 Windows 10] 장치 및 프린터 (Devices and printers)
개요 윈도우10 에서는 '장치 및 프린터 (Devices and printers)' 를 찾기가 어렵게 되어있네요. 필요해서 찾으려 했더니 좀 당황스러웠습니다. 생각보다 쉬운 곳에 있었네요 (아래의 '방법 3' 참고) 방법이 여러가지가 있는데 하나씩 적어둡니다. 방법 1. 빠른 방법 1 실행창 > control printers 명령어를 통해서 바로 들어갈 수 있습니다. ('실행창'은 '윈도우키 + R' 로 띄울 수 있습니다. ) 2. 방법 2 제어판 (Control Panel) > 큰 아이콘 (Large icon) 보기 > 장치 및 프린터 (Devices and Printers) 3. 방법 3 설정 (Settings) > 장치 (Devices) > Bluetooth 및 기타 디바이스 (Bluetooth &..
2019.02.19
-
[비쥬얼 스튜디오 Visual Studio] 프로젝트 빌드 순서 정하기
개요비쥬얼 스튜디오 에서 프로젝트 빌드 순서를 정해야 하는 경우가 생깁니다. 그에 대한 내용을 간단히 메모해두었습니다. 본문 빌드 순서는 메뉴에서 [프로젝트(P)] -> [프로젝트 빌드 순서] 에서 확인할 수 있습니다. 아마도, 기본적으로는 알파벳 순이거나, 생성된 프로젝트 순이거나 로 생각이 됩니다. 이 빌드 순서를 변경하려면 종속성 부분을 수정해주면 됩니다. '프로젝트'를 선택하고 아래에서 '종속 항목'을 체크하면, 체크된 것이 '프로젝트' 보다 앞서서 실행되게 됩니다. 아래는 과정 스크린샷 입니다. 스크린샷
2012.09.25
-
[리눅스] 특정 폴더 내에서 특정 파일 제외하고 삭제하기
특정 폴더 내에서 특정 파일 제외하고 삭제하기 find . -type f -path '*i18n*/*.json' -not \( -name 'en.json' -or -name 'ko.json' \) -delete 유추하던 과정... # 특정 폴더명 재귀 탐색 find . -name "i18n*" # i18n 이하의 json 파일 탐색 find . -type f -path '*i18n*/*' -name '*.json' find . -type f -path '*i18n*/*.json' # i18n 이하의 json 파일 중에서 en.json, ko.json, qqq.json 이 아닌 것만 골라내기 find . -type f -..
2022.07.22
-
[JSP] JSP 에서 JAVA 함수 선언
개요 0){ return true; } else { return false; } } public String convToDateType(String str) throws Exception { if(!str.equals("NULL")&&!str.equals("")&&str.length()>0){ return str.substring(0,4) + "-" + str.substring(4,6) + "-" + str.substring(6,8); } else { return ""; } } %> 이런식으로 를 쓰면 된다. 부가 설명jsp 는 서블릿 (servlet) 이라고도 부르는 데, 결과적으로는 클래스로 컴파일이 된다. 위와 같이 Java 구문을 같이 넣어놨을 때, 그 부분은 그대로 Java 코드로 들어가게 된다..
2010.10.12
-
[PHP, ORACLE] PHP & 오라클 디비 연결 테스트 (업데이트 2017-11-24)
== 준비 == php.ini 에서 아래와 같은 php_oci 가 주석해제 하셔야 합니다. extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client 해당 버전에 맞는 것을 주석해제 합니다. *.ini 파일에서는 ; (쉼표) 가 주석입니다. 맨 앞의 쉼표를 제거해줍니다. 예시) ;extension=php_oci 를 extension=php_oci == 샘플 코드 == $dbuser="유저"; $dbpass="..
2010.05.31
최신글
-
java, python, js, html, css에서 들여쓰기 space 크기에 대한 개인적 의견
개요 js 작업 중인데, 역시 탭 크기에 대한 고민이 발생되었다. 탭 vs space 이 부분은 사실상 종결된 부분으로, space(공백)으로 구성하는 것이 낫다. '탭 문자'의 특징이 소스 코드 작성이라는 것과 애매하게 안 맞는 부분이 있기 때문인 것인데, 에디터에서 탭 키를 눌렀을 때 공백이 들어가게 지원되면서, 이 문제가 해결이 된 셈이다. 원래는 탭 키를 누르면 탭 문자(\t, U+0009, 등) 들어가게 되는데, 소스 코드에 이것을 포함하고, 컴파일이든 런타임이든에서 이것을 인식시켜야 하고, 이런 저런 이슈가 있는데. html 문서 내에 탭 문자가 들어갔을 때, 브라우저에서 어떤 식으로 표현해야할 지 등 여러 가지 문제가 혼합되어버릴 수 있다. 개발하는 관점에서는 편리하겠지만, 작..
2024.02.24
-
[intellij] spring boot intellij gradle to idea setting
Spring Boot가 아닌 Gradle로 실행되는 경우가 있다고 함. 이 경우 설정 - Build, Execution, Deployment - Build Tools - Gralde Gradle projects 항목에서 Build and run using : Gradle에서 IntelliJ IDEA로 변경 Run tests using : Gradle에서 IntelliJ IDEA로 변경 미묘한 차이기는 한데.. Gradle을 통하는 경우 조금 느리다고 함.
2024.02.12
-
2023.12 잡담
잡담 블로그 글을 많이 썼었다고 생각했는데, 지금 와서 보니 엄청 적다. 오래된 글 삭제하다보니 줄어든 것인가, 원래 적었던 것인가. 글쓰는 능력이 향상되서 옛날 쓴 글이 어설퍼보이는 것인가. 어찌되었든, 블로그를 새로 만드는 작업이 2024년 안에는 완료할 계획인데, 완료되면 글을 많이 작성하도록 해야겠다. (새해다짐..) 기존에는 기초적인/대중적인 내용을 위주로 작성했었는데, ChatGPT 등장 이후로 생각이 바뀌었다. (참고로. ChatGPT가 2022년 11월에 베타버전이 나왔다는 거 아시나요? 등장한지 1년된 것인데. 세상이 빠르게 바뀌는 걸 느낍니다) 블로그는 좀 더 깊이있고 복잡한 문제에 대해서 다루는 게 좋다고 생각이 바뀐 것이다. 세상이 바뀌었으면 적응을 해야하니까.. 간단한 내용은 Ch..
2023.12.30
-
[티스토리][Book Club 스킨] 본문에서 카테고리 이름에서 카테고리 링크 달기.
개요 티스토리 블로그에서 글 본문을 보는 화면에서, 글 제목보다 바로 위에 '카테고리 이름'이 나타납니다. 여기를 눌러보면 링크가 안 되어있어서, 카테고리 글 목록으로 넘어가지 못하는데. 링크를 연결하는 방법에 대해서 정리해봅니다. 간단합니다. 과정 s_permalink_article_rep 태그 아래에 다음을 찾습니다. 단순히 ctrl + f하시고 _article_rep_category_을 검색하면 바로 나옵니다. 을 다음과 같이 변경.
2023.12.22
-
블로그 및 개인 근황 2023-12
블로그 근황 사실은 django로 블로그를 개발하고 있고, 이미 어느 정도 완성은 되어있는 상태입니다. 완성 직전에 현실적 이슈가 있어서 잠시 작업을 멈춘 상태이구요. 원래는 2023년도 플랜으로 블로그를 만드는 것이 있었습니다. 티스토리를 안 쓰고, 새로 개발하고 있는 이유로는. 티스토리에서 로그인 불편함이 있고 (티스토리 쓰시는 분들은 로그인 방식을 가능한한 티스토리 로그인 방식으로 두시는 것이 좋습니다. 카카오톡 계정 로그인 방식은 역시 좀 불편해요... 솔직히 말하면, 네이버 로그인 연동, 구글 로그인 연동, Github 연동 등 방법이 많지 않았을까 싶은데.. 카카오톡 연동이라니 좀 불편합니다... 잘 안 쓰게 되는 이유가 되었어요. 전용 앱도 없고... 이게 무슨..) 2023년이 끝나기 때문..
2023.12.22
-
[python, django] 'save_m2m'
save_m2m에 대해서 알아보자. https://github.com/django/django/blob/main/django/forms/models.py django/forms/models.py에서 500라인 즈음에 BaseModelForm클래스의 def save메소드를 살펴보자. if commit: # If committing, save the instance and the m2m data immediately. self.instance.save() self._save_m2m() else: # If not committing, add a method to the form to allow deferred # saving of m2m data. self.save_m2m = self._save_m2m ret..
2023.12.22
-
[FAILED] failed to mount VMware vmblock fuse mount.
개요 VMware로 우분투(Ubuntu)를 종종 사용중인데, 구동되는 과정에서 다음의 오류가 이따금 출력되었다. piix4_smbus 0000:00:07.3: SMBus Host Controller not enabled! /dev/sdb5: clean, ~~ files, ~~ blocks [FAILED] failed to mount VMware vmblock fuse mount. You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode. Give root..
2023.09.19
-
multipass - [error][~] Could not unregister VM: Process failed to start
개요 C:\Users\~~> multipass launch -n test1 [error] [test1] Could not unregister VM: Process failed to start: 지정된 파일을 찾을 수 없습니다. launch failed: Could not generate a new UUID: Process failed to start: 지정된 파일을 찾을 수 없습니다. 발생 상황 및 조건 multipass를 처음 설치한 후 launch 명령어(multipass launch -n test1)를 수행했더니 발생. hyper-v를 사용하고 있지 않고, virtualBox만 설치되어 있음. Windows 호스트. (버전은 Windows 10) 원인은 두 가지로 추정했다 hyper-v를 필요로 하..
2023.09.11
-
용어에 대해서) code, source code
개요 얼마 전에 무심코 고민을 한 적이 있다. python 코드들을 정리해서 github에 비공개 저장소로 올리는 중이었는데, 저장소 이름을 뭘로 할까 고민을 하게 되었다. 'python_sources', 'python_codes', ... 문득 드는 생각에, source와 code의 의미에 대해 다시 한 번 생각해보게 되었다. 그래서 영어로 검색해보고 나서 느낀 점은, 외국애들이 받아들이기에 code라는 단어는 우리가 생각하던 것과 의미가 달랐다. 예를 들어, ascii code라거나, 전쟁 중에 주고 받는 통신 암호 코드 같은 것을 code로 생각하는 듯했다. 별로 개의치 않고 사용하는 사람들은 code라고 쓰긴 하는데, 문법에 예민한 외국애들은 프로그래밍과 관련되어서 c..
2022.09.29
-
[리눅스] 특정 폴더 내에서 특정 파일 제외하고 삭제하기
특정 폴더 내에서 특정 파일 제외하고 삭제하기 find . -type f -path '*i18n*/*.json' -not \( -name 'en.json' -or -name 'ko.json' \) -delete 유추하던 과정... # 특정 폴더명 재귀 탐색 find . -name "i18n*" # i18n 이하의 json 파일 탐색 find . -type f -path '*i18n*/*' -name '*.json' find . -type f -path '*i18n*/*.json' # i18n 이하의 json 파일 중에서 en.json, ko.json, qqq.json 이 아닌 것만 골라내기 find . -type f -..
2022.07.22
-
윈도우 10 환경 변수 복구
개요 윈도우10에서 환경 변수를 건드리다가 잘못되는 경우가 생길 수 있다. ... 재부팅을 하기 전이라면, 그 전의 값을 알아낼 수 있는 방법이 몇 가지 있다. 레지스트리 환경변수는 레지스트리에 저장이 되므로, 레지스트리를 살펴보는 방법이 있다. 그러나 대체적으로 만족스럽지는 못할 듯 하다. 환경변수를 변경하는 순간, 레지스트리 값도 같이 바뀌기 때문에... 전에 열어두었던 '명령 프롬프트', '파워셀' 등의 창. 환경변수를 변경하기 전에 열어두었던 '명령 프롬프트'가 있다면, 구세주가 될 수 있다. 명령 프롬프트에서 echo %path%를 쳐본다. 파워셀을 열어둔 게 있었다면, $env:path를 타이핑. ProcessExplorer 이용 마이크로소프트에서 제..
2022.01.31
-
아이폰에 음악 넣기 (아이튠즈 사용 안 하고)
여러 음악 플레이어 앱들이 있는데, 의심스러운 것은 싫거나, 안전한 제품을 사용하시고 싶으시다면, VLC Media Player를 사용하시면 됩니다. 이 소프트웨어 대한 설명은 아래를 참고하시면 됩니다. 나무위키 - VLC 아이폰의 앱스토어에서는 'VLC for Mobile'이라는 이름으로 등록이 되어 있습니다. 개발자/회사명칭이 'VideoLAN'이므로 이것을 잘 확인하시고 다운로드 받으시면 됩니다. 파일 전송은 '네트워크'탭에서 'WiFi를 통해 공유'를 체크하시고, 해당 주소로 컴퓨터에서 접속해서 파일을 업로드하시면 됩니다. 전송이 다 되었다면 보안을 위해 'WiFi를 통해 공유'는 다시 체크해제 하시고, 사용하시면 됩니다. 기능이 좋거나 많은 것은 아닌 것 같은데, 무난하게 사용하기에 좋습니다. ..
2021.12.14
-
[mariaDB] Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='
개요 MariaDB 를 'utf8mb4_unicode_ci'로 생성을 했고 (정확히는 도커 컨테이너로 생성), 클라이언트 툴로 접속을 했는데. Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='라는 오류를 자꾸 만났다. 분석 조인 조건에 있는 문자셋이 달라서 발생한다고 하는 말이 있다. (stackoverflow.com 에서 찾음. 링크는 저장해두지않아서 없음..) 그러면, 문자셋을 확인해보자... show variables like 'char%'; show variables like 'collat%'; sh..
2021.11.25
-
pug 에 대해서
pug에 대해 pug 를 오늘 처음 알았다. 간단히 보자면, html 을 yml 형식 같은 느낌으로 간단히 작성하는 방법을 지원하는 도구이다. 공식 주소 : (https://pugjs.org/api/getting-started.html)[https://pugjs.org/api/getting-started.html] pug 사용법 살펴보자. 블라블라.pug라는 파일을 만든다. 내용은 doctype html html head title 가나다라 body 가나다라 p 가나다라이런 느낌으로 작성한다. 장점 이런저런 내용은 검색해보면 나오는데, 내가 하고 싶은 말이 있다. 그것은 가장 큰 장점이다. 가장 큰 장점이 무엇이냐면. 주석을 마음껏 써도 된다는 점이다. 주석은 컴파일 되지 않으니까! 백엔드만 해오다보니 ..
2021.10.11
-
SnoreToast
SnoreToast 라라벨 믹스(laravel-mix)를 할 때 npm에 딸려서 설치가 된 것으로 생각된다. 주 목적은 윈도우에 알림을 띄우는 것으로 생각된다. (고작 그것 때문에...?) 위치를 추적해보니 설치 위치를 살펴보면,C:\Users\~~\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\SnoreToast\0.7.0\SnoreToast 위치로 바로가기가 있고. 이 바로가기는 ~~~~\laravel\node_modules\node-notifier\vendor\snoreToast\snoretoast-x64.exe같은 경로를 가리키고 있다. 저 경로는 작업했던 라라벨의 node_modules폴더이다. 경로로 찾아가보면 snoretoast-x64.exe..
2021.10.04
-
장고 프레임워크 Django 에 대한 개인적 생각
Django 장고 프레임워크 공식 : https://www.djangoproject.com/ Git : https://github.com/django/django 라이선스 : 3-clause BSD (영문 위키 참조)(공식은 https://github.com/django/django/blob/main/LICENSE) 언어 : 파이썬 위키 https://en.wikipedia.org/wiki/Django_(web_framework) https://ko.wikipedia.org/wiki/장고\_(웹\_프레임워크) Doc : https://docs.djangoproject.com/en/2.1/ 파이썬 기반의 장고 웹 프레임워크이다. 길게는 사용을 안 해봤지만, 앞으로 쭉 사용할 듯 하다. 파이썬 언어의 장점이..
2021.09.27
-
라라벨 Laravel 에 대해서 알아보기
Laravel 라라벨 공식 사이트 : https://laravel.com/ 라이선스 : MIT (https://github.com/laravel/laravel 하단을 참조) Docs : https://laravel.com/docs/master Composer : https://packagist.org/packages/laravel/laravel Git https://github.com/laravel/laravel https://github.com/laravel/framework 라라벨과 내가 기억하는 PHP 진영의 역사 '라라벨 프레임워크'는 PHP 진영에서 마지막 보루라고 볼 수 있는 프레임워크이다. 기존에 여러 프레임워크가 등장하고 소멸했지만, PHP쪽에서는 그럴싸한 물건이 없었다. 먼..
2021.09.20
-
laravel breeze 와 jetstream
간단히 보자면, 라라벨에서 인증 기능 구현을 위해 지원하는 스타터 키트는 현재 둘로 나뉘어졌다. (예전에는 어떻게 구현했드라..) 하나는 breeze 이고, 다른 하나는 jetstream 이다. 단순히 단어의 의미로 접근하자면. breeze (순풍, 미풍)이고 jetstream (제트기류; 기상예보에서 가끔 나오는 제트기류)이다. 여기서 breeze는 기능을 최소화하려고 하고, jetstream은 기능을 많이 넣으려고 한다라고 눈치 챌 수가 있을 것이다. 공식 문서를 간단히 대충 살펴보면 이런 내용을 볼 수 있다. breeze * 예전 방식처럼 로그인, 로그아웃, 이메일 인증, 비밀번호 초기화 등을 지원한다. * composer 로 붙일 때는 'composer require laravel/breeze -..
2021.09.14
-
윈도우 환경에 docker 설치
개요 윈도우 환경에서 Docker 를 설치해보았다. 우분투에서는 설치를 해봤는데. 윈도우에 설치해본 것은 처음... 사전 조사 2020년 이전 2020년 이전의 검색 결과들을 살펴보면, 다음과 같은 내용을 알 수 있었다. 도커 사이트에서 'Docker for Windows' 를 받을 수 있다. 문제는 'Hyper-V'기능을 필요로 한다. (윈도우에서 '프로그램 및 기능' > 'Windows 기능 켜기/끄기' 에서 'Hyper-V' 기능을 켜야 함) 이 기능을 켜면 VMware 와 VirtualBox 에서 충돌이 발생한다. 그래서 VMware와 VirtualBox 를 사용하는 사람은 'Docker for Windows'를..
2021.06.20
-
Numpy 의 Axis 옵션에 대한 정리.
개요 쉬운 듯 하면서... 보면볼수록 헛갈린다. 기왕 정리하는 김에 포스팅하도록 한다... (쓰면서도 헛갈림...) 배열 수준별로 테스트해보자 2차원 배열에서 # 2차원 배열에서 axis 사용 import numpy as np a = np.array([[10, 20, 30], [15,7,55], [5,33,12]]) print(np.max(a, axis=0)) # [15 33 55] # 열 기준 (위아래로 큰 것들) print(np.max(a, axis=1)) # [30 55 33] # 행 기준 (옆으로 큰 것만 추림) 3차원 배열에서 import numpy as np arr = [[[30, 15, 11], [27, 35, 23], [ 6, 1, 8], [17, 24, 32]], [[ 3, 4, 36],..
2021.05.07