- 강해져서 돌아온 ChatGPT에게 코딩을 시켜보자 (2)Lv. 34 라이츄https://koreanraichu.tistory.com/226 강해져서 돌아온 ChatGPT에게 코딩을 시켜보자 아니 자기가 강해져서 돌아왔대잖아요... 일단 이번에 시켜볼 것은 매우 간단한 코딩들... 뭐 import 할 수는 있겠지만 패키지 설치를 요하는 건 아닌, 그런 것들을 시켜볼거다. 여담이지만 오늘 제 koreanraichu.tistory.com 1편은 여기로 모시겠습니다 고객님. 저녁에는 좀 되는듯... 아까 서버 문제있었나? 근데 지금도 네트워크 에러가 간간이 일어나는게 얘네 서버실에 커피 엎은 것 같음. (아까 시키려던거) 입력받은 문자열 출력하기 input_string = input("문자열을 입력하세요: ") print("입력한 문자열은", input_string, "입니다.") ..
- 2023-03-20 23:51:54
- 강해져서 돌아온 ChatGPT에게 코딩을 시켜보자Lv. 34 라이츄아니 자기가 강해져서 돌아왔대잖아요... 일단 이번에 시켜볼 것은 매우 간단한 코딩들... 뭐 import 할 수는 있겠지만 패키지 설치를 요하는 건 아닌, 그런 것들을 시켜볼거다. 여담이지만 오늘 제일 많이 본 것은... 강해져서 돌아왔다며!!! Hello, World! 출력하기 print("Hello, World!") 프로그래밍 책에서도 첫빠따로 나오는 헬로월드다. 따옴표는 ""도 되고 ''도 되는데 아무튼 저 코드 자체는 잘 됐음. 일차원 배열 만들기 반복문을 사용하지 않고 a = [1,2,3,4,5] 이런 식으로 직접 할당하는 배열 말하는거다. my_list = [i for i in range(1, 6)] print(my_list) 오 고급기술... 원래 의도했던 건 a = [1,2,3,4,5]였..
- 2023-03-20 18:40:35
- Python으로 60갑자 뽑기Lv. 34 라이츄참고로 60갑자가 뭔지 궁금하면 달력을 보자. 올해는 임인년이라 인월 인일 인시에 사인검 하나 나온다. (인년 인월 인일 인시 해서 사인이라 사인검이다) 60갑자는 천간 10개와 지지 12개로 이루어지는데... 어? 뭐임? 하나 할인해요? ㄴㄴ 10과 12의 최소공배수가 60임다. 천간: 갑을병정무기경신임계 지지: 자축인묘진사오미신유술해 이렇게 된다. 뒤에 있는 지지가 여러분의 띠이기도 하다. 내가 태어나는 해에도 당연히 갑자가 있고 이게 60년마다 한번씩 돌아오기 때문에 환갑 = 61세(만 60세)에 치른다. 또한 지지가 12개이기때문에 띠동갑은 12살이다. cheongan = ['갑','을','병','정','무','기','경','신','임','계'] * 12 gigi = ['자','축','인','묘'..
- 2022-09-23 02:31:20
- RE with FLASK-유효성 검사Lv. 34 라이츄예전에 익스트림 CRUD에 나왔던 그거 맞다. 대신 익스트림 CRUD에 비해 입력받는 항목도 적고, 형식검사도 한 가지 부분에 대해서만 진행하면 되기때문에 코드가 비교적 간소하다. 입력인자 중 공백 여부를 체크할 것은 1. 시퀀스 2. 시퀀스 이름 3. 시퀀스 정보 이고, 형식을 체크할 것은 시퀀스 하나뿐이다. DNA는 다들 아시다시피 A, T, G, C로 구성되어 있고 DNA 시퀀스에도 당연히 A, T, G, C만 들어간다. 대소문자 입력을 감안해도 atgcATGC 이렇게 여덟개다. 어? 제한효소 인식 시퀀스에는 W나 N같은 것도 있잖아요! 그건 DNA 시퀀스가 문제가 아니라 그 제한효소가 인식하는 염기가 두 개 이상이라는 소리다. 예를 들어서 GGWCC라는 인식 시퀀스를 가지는 제한효소가 있다면, 이..
- 2022-08-24 13:15:09
- RE with FLASK-시퀀스 정보Lv. 34 라이츄FASTA, Genbank파일을 처리할때와 달리 ipynb일때부터 직접 입력하는 시퀀스 정보는 수기로 같이 받았다. 추가가 늦었을 뿐이지... 입력란 만들면서 제일 고생했던 건 CSS였음... 망할 그리드... ㅡㅡ 아무튼. 추가한 순서는 1. HTML 2. CSS(여기서 좀 고생함) 3. JS 4. app.py JS나 Python파일은 크게 수정할 건 없고 Ajax로 주고받는 것만 추가하면 된다. checked_finder.forEach(function (i) { if (checked_finder[0].checked == true) { textarea[2].disabled = false; sequence_name.disabled = false; sequence_desc.disabled = false s..
- 2022-08-23 01:26:25
- RE with FLASK-Cutter/FinderLv. 34 라이츄파일 관련 기능이 다 빠졌습니다. 아니 쓰는게 노가다여 아주. 둘 다 이식 하긴 했는데 다른데서 개고생함… ㅋㅋㅋㅋㅋ 그래요 개고생이 끼어야 코딩이지… 한번에 되면 그게 이상한거지… Cutter 그... 왜 Searcher에서 라디오버튼 선택하면 값 전송하는 건 다들 아실거고... 이걸 Cutter에도 적용해야 한다. 물론 Finder에도 적용할거다. 이게 왜 필요하냐면 입력 수단이 라디오버튼이기 때문. 그리고 라디오버튼에 각각 딸려오는 요소가 있어서, 연결된 라디오버튼이 선택되지 않았을 때 비활성화도 시켜줘야 한다. 이거 근데 Finder 가면서 소스 갈아엎음. ㅇㅇ function activate() { const checked_input = document.querySelectorAll('#typi..
- 2022-08-22 01:37:02
- RE with FLASK-Searcher 이식하기Lv. 34 라이츄들어가기 전에 중요한 게 하나 있다. Cutter와 Finder도 내일 이식하긴 할건데, 내일 이식하는 부분에서 FASTA/Genbank 파일 올리는거랑 결과 저장 기능은 빠진다. 그래서 원본 코드에 있던 with 어쩌고를 일단 작성 없이 서버로 보내서 텍스트 에리어에서 출력하는 걸 일차적으로 진행하고 저장-업로드 순으로 할 예정. FASTA/Genbank는 JS로 파일 받아서 파이썬으로 넘겨서 열 생각인데 그거 관련해서 로직 처리가 좀 필요하고(뼈대를 보면 라디오 버튼이다) 반대로 텍스트 파일은 파이썬에서 만들어서 JS로 넘길 생각이다. 텍스트 파일은 만들어준 거 받아서 버튼 누르면 다운로드 되게 하면 끝임. 대공사 전에... 일단 공사 전인 Searcher의 뼈대를 보자. 원래 코드에서 입력으로 받던..
- 2022-08-22 01:32:44
- RE with FLASK-뼈대 대공사Lv. 34 라이츄아, RE는 Restriction enzyme이다. 기본뼈대 app.py from flask import Flask,render_template import pandas as pd import re from datetime import datetime from argparse import FileType import tkinter from tkinter import filedialog from Bio import SeqIO import os import platform app = Flask(__name__) @app.route('/') def hello_world(): # put application's code here return render_template('index.html') if __name..
- 2022-08-22 01:22:09
- Wordcloud with FLASK-뼈대 대공사 (3)Lv. 34 라이츄Entrez쪽 뼈대 만든거랑 버튼 얘기 있으니까 기둘려보시오 Entrez with wordcloud 뼈대 이 뼈대가 완전한 건 아닌게 글꼴 선택란이 없음.. 지금 생각중인건 어비 스윗체/둘기마요/나눔고딕정도... 아무튼 Entrez with wordcloud 뼈대도 만들었음. 출력부는 별 차이 없고, 얘는 입력 인자가 검색어랑 논문 갯수뿐이라 입력란이 간소하다. 지금은 논문 개수 입력하는 란이 없는데 그건 나중에 만들면 되고… Sample text 버튼 Text with wordcloud는 찍먹이나 해보자 하는 분들을 위한 샘플 텍스트를 제공하고 있다. 한글 2 영어 2 생각중인데 영어 하나 제보좀 해주세요… 샘플 텍스트(윤동주-별 헤는 밤) 샘플 텍스트(이육사-청포도) 샘플 텍스트 3 샘플 텍스트 4 ..
- 2022-08-22 01:18:44
- 경로때문에 개노가다 한 썰 푼다Lv. 34 라이츄일단 개고생한 이유를 축약해드리자면... 1. 윈도우에서는 폰트 저장 경로(C:\Windows\Fonts)에 있는 걸 갖다 쓰는 게 아니라 TTF, OTF파일이 있는 경로를 직접 입력해야 갖다 쓸 수 있음. 2. 근데 리눅스는 폰트 저장 경로(/usr/share/fonts)에서 선택해서 쓸 수 있음. 그래서 개고생했습니다. OS = platform.platform() if 'Linux' in OS: default_dir = '/home' root = tkinter.Tk() root.withdraw() font_dir = '/usr/share/fonts' font_path = filedialog.askopenfilename(parent=root, initialdir=font_dir, title='Choos..
- 2022-08-22 01:16:49
- Wordcloud with FLASK-뼈대 대공사 (2)Lv. 34 라이츄워드클라우드부터 해서 진짜 얘까지 개 노가다의 연속이었음... 그래도 이거 미리 해놔서 Entrez는 입력부만 조금 수정하면 됩니다. 워드클라우드 경로 썰은 다른 포스트에서 풀어드림. 이게 길어서 한번에 캡처 못했음다. 입력부의 각 기능 1. 텍스트 입력란(샘플 텍스트도 있음): 샘플 텍스트는 현재 한글 두개(별 헤는 밤, 청포도)랑 영어 하나(미정)를 생각중이며, 버튼을 누르면 샘플 텍스트가 텍스트에리어에 입력된다. 길면 잘 뽑히긴 한데 영어는 뭘 해야 할 지 모르겠음. 아니 그렇다고 하이 잭 하이 마이크 하와유 이딴걸 할 순 없잖수. 논문 해 논문 2. 컬러맵 선택(이따 이미지 올려드림): 이건 밑에 털어드림. 3. 마스킹이미지 ㄱㄱ: 이미지 안 쓴다는 선택지는 없음. 4. 언어 선택(한국어는 kon..
- 2022-08-22 01:16:03
- Wordcloud/RE 경로 관련 코드 수정Lv. 34 라이츄아니 나도 몰랐는데 파이썬으로 OS 정보를 볼 수 있더라? 근데 맥은 내가 가지고 있는 기기가 없어서 못봤음... import platform 일단 이놈을 데려온 다음 print(platform.platform()) 을 치면 자기 컴퓨터의 OS 정보를 볼 수 있다. 그래서 이걸 어떻게 수정했냐면 OS = platform.platform() if 'Linux' in OS: default_dir = '/home' font_dir = '/usr/share/fonts' else: default_dir = 'C:\\' font_dir = 'C:\\Fonts' OS 정보를 가져와서 리눅스면 기본 경로를 이렇게 하고, 아니면(윈도우면) 이렇게 해라 이렇게 했다. 위 코드는 워드클라우드고 제한효소쪽은 파일 불러오는것 ..
- 2022-08-22 01:13:35
- Wordcloud with FLASK-뼈대 대공사Lv. 34 라이츄일단... 현재 완성된 부분이 여긴데 어바웃 페이지만 된다. 입력받는 란은 아직 안함. 현재 구현된 기능 1) 탭 메뉴(어바웃 페이지/텍스트/엔트레즈 탭) 2) 어바웃페이지 app.py from flask import Flask, render_template from Bio import Entrez from wordcloud import WordCloud from wordcloud import STOPWORDS import matplotlib.pyplot as plot from PIL import Image import numpy as np from argparse import FileType import tkinter from tkinter import filedialog import re from k..
- 2022-08-22 01:12:30
- 대형프로젝트 계획중Lv. 34 라이츄한가지 확실한 건 이건 진짜 개노가다가 맞음. 블로그를 좀 오래 전부터 보신 분들은 아시겠지만 깃헙에 유일하게 폴더로 분리된 대형 프로젝트가 두 개 있다. 첫번째가 프로젝트 제한효소, 두번째가 프로젝트 워드클라우드. 근데 이게 쌩코드가 올라와서 이걸 복사해서 수정해서 또 올려야되는데 귀찮아요... 그래서 Flask로 웹이랑 묶으려고 생각중이다. (프로젝트 제한효소는 DB로 쓰는 csv파일도 포함) 근데 또 고려할 게 생겼어...OTL 1) 코드 통합 문제 프로젝트 워드클라우드의 경우 한글/영어/Entrez 세 개의 코드가 있고, 프로젝트 제한효소에는 커터/파인더/서쳐 세 개의 코드가 있다. 프로젝트 제한효소는 세 코드가 사용 목적이 다 달라서 통합은 안되고, 한 페이지 안에서 세개를 다 띄우려면 아코디언..
- 2022-08-22 01:09:43
- input vs sys.stdin.readline()Lv. 34 라이츄예에에에에전에 백준 18108번 풀이를 올렸을 때 댓글로 질문이 하나 왔었다. input()대신 sys.stdin.realine()을 쓰는 이유를 알 수 있나요? 백준에서 빠르다고 해서 쓰고 있었음... 아니 농담 아니고 진짜다. 반복문 이런거 잘못 짜면 응애 나 애기시간초과! 가 반기는데 다른데서라도 시간 줄여야져... 일단 둘 다 입력 받을 때 쓰는 게 맞다. input() #input import sys sys.stdin.readline() #sys.stdin.readline() 각각 이렇게 쓰면 된다. 근데 이렇게만 해 두면 왜 쟤가 빠른지 체감이 잘 안 올 것이다. 우리가 input()을 쓸 때는 저렇게 쓰는 것 보단 input('메시지를 입력해주세요') 이런 식으로 쓴다. 이 때, 저 안에 있..
- 2022-08-22 01:08:22
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)