\ '코딩 💻' 카테고리의 글 목록 — Binary 연구소

코딩 💻

    [ PHP 오류해결 ] Flush로 처리 중간에 결과 전송 안될때 대처법

    안녕하세요 Binary 연구소입니다. 사이트를 만들다가 처리 중간마다 출력해야 하는 일이 생겼는데, 한 번에 출력이 되더라고요. 그래서 제가 4시간 정도 계속 찾아보다가 방법을 알아냈습니다! 일단 PHP에서 처리 중간에 결과를 전송하려면 flush를 사용하면 됩니다. 예를 들어보죠, echo '로딩 중!'; flush(); sleep(5); echo '로딩 끝!';이렇게 하면 됩니다.하지만, 이렇게 해도 작동되지 않는다면echo '로딩 중!'; ob_flush(); flush(); sleep(5); echo '로딩 끝!';이런식으로 작성해 보세요.그래도, 안된다면?Apache 또는 Nginx 웹서버에서 Output Buffering 옵션을 Off로 설정하세요. (Apache의 경우 )NGINX에서는 다음..

    [ Python ] 백준 1157. 단어 공부 / 파이썬 풀이

    문제 링크 성능 요약 메모리: 117028 KB, 시간: 128 ms 분류 구현(implementation), 문자열(string) 문제 설명 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 풀이 word = input() # 단어를 입력받음 word = word.lower() #모두 소문자로 countword = [] abc =..

    [ 파이썬 ] 백준 8958. OX퀴즈 풀이

    문제 링크 성능 요약 메모리: 114328 KB, 시간: 120 ms 분류 구현(implementation), 문자열(string) 문제 설명 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다..

    [ 파이썬 ] 백준 2908번 상수 풀이

    일단 이 코드는 숫자를 문자열로 받아, 문자열을 거꾸로 뒤집어주는 [::-1]을 써서 다시 숫자로 변환 후 리스트에 넣어서 max 함수를 이용해 둘 중 더 큰 것을 출력하는 코드입니다. 풀이: a, b = map(str, input().split(" ")) a, b = int(a[::-1]), int(b[::-1]) ab = [a,b] print(max(ab)) 성능 요약 메모리: 30840 KB, 시간: 72 ms 분류 구현(implementation), 수학(math) 문제 설명 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크..

    디스코드 봇 메시지(임베드) 수정 및 자동 삭제(파이썬)

    가끔 디스코드 봇을 보면, 몇초 후 이 임베드는 삭제됩니다. 라고 써진 임베드를 봤을 것이다. 실제로 몇초동안 기다리면 삭제된다. 또는 임베드에 "수정됨"표시가 있는 것을 볼 수 있다. import asyncio 다음 구문을 import해준다. 이 구문을 import하는 이유는 asyncio.sleep() 함수를 사용해야하기 때문이다. 그리고 할 게 하나 더 있다. 보낼 임베드나 메시지를 변수에 담아줘야 한다. messages = await channel.message.send(embed=embed) 이런식으로 담아주었다면, 이제 수정 및 삭제할 차례만 남았다. 먼저 수정 예시는 messages.edit(content="content") 이게 수정이다. 만약 임베드를 수정하고 싶다면 messages.ed..

    라즈베리파이에서 디스코드 봇 만들기 환경설정(node, pm2)

    안녕하세요. 오늘 라즈베리파이 4를 서버용으로 사용해서 24시간 돌려놓을 때 PM2를 사용하여 돌릴 수 있는 걸 만들겁니다. 이미 디코봇 등록설정을 완료하고, 봇 토큰과 자신의 봇을 초대할 수 있는 링크를 이미 복사해둔 상태에서 진행해야합니다. 자.. 먼저 라즈에서 터미널을 실행해줍니다. (node-js가 작동되는 상태이어야 합니다.) 그리고 다음 명령을 그대로 입력합니다. 이 때 터미널 안에서는 Ctrl+V가 적용이 안되니 대신 Ctrl + Shift + V를 사용합시다. npm install pm2 -g 위 명령은 pm2 패키지를 설치하는 명령입니다. Error가 뜨지 않으셨다면, 성공적으로 설치된 겁니다. pm2 update 터미널에 입력해줍시다. 이 명령은, pm2 패키지를 최신 버전으로 업데이트..

    해시코드와 해시함수의 원리와 사용하는 곳

    Hash란? hashCode는 아무리 긴 문자열이라도 일정한 길이로 압축하는 함수입니다. 원리 해시의 원리의 예를 들어보자면, 저는 World라는 값을 암호화할 겁니다. 그리고 제가 임의로 만든 표로 값을 구해보죠. 해시 함수에 World를 넣으면, 일정한 알고리즘에 따라 암호화됩니다. W O R L D 7 2 4 3 9 위 표를 따라 W+O+R+L+D는 25가 됩니다. 이것은 WORLD의 해시값이 됩니다. 물론 저 표처럼 알고리즘이 쉽지는 않을 거예요. 하지만 이 알고리즘만으로도 25는 무슨 문자를 뜻하는지 모를 거예요. 그리고 해시 함수에 WORLD를 집어넣어도 똑같은 숫자가 나올 거고요. 그러므로 복호화가 불가능한 암호화 함수가 만들어진 거예요. HELLO --> E2918LT92MF346MWWER..

    Python에서 JSON 파일 읽는 방법

    먼저 JSON을 관리해주는 모듈을 다운로드해야겠죠? Windows 기준, 명령 프롬프트를 키고 다음 명령어를 입력합니다. python -3 -m pip install json 별 오류 없이 잘 실행되셨다면 다음 구문을 보고 어떻게 사용하는지 이해해주세요. import json data = { "name":"홍길동", "money":0 } print(json.dumps(data)) 출력 결과 {"name":"홍길동","money":0} 아마 이렇게 출력될겁니다. 자바스크립트에서 JSON.stringify()라고 생각하면 됩니다. 이렇게 파일이 읽어졌습니다. 이제 str로 바꿔서 출력하지 않고, 돈을 불러와볼까요? import json data = { "name":"홍길동", "money":0 } print..