Java|Back Junアルゴリズム問題リンクの自動作成


位置..。


ノーソンが整理した問題をすべてヴィロに移した時、多くの問題を見て、「あ...「このような重複作業を容易にするために、コードを作らなければなりません.」そこで、次のコードを書きました.

コードの説明


このコードは簡単です。


1.フォーマットに従ってタイトルを入力します。


2.では、このようなコードを既定の経路で作成します。

출처 | <a href="https://www.acmicpc.net/problem/5430" target="_blank" rel="noreferrer noopener">AC [백준 5430]</a>

  • 上のコードを簡単に説明しますが、上のコードがHTMLコードです。



  • <a></a>:aラベルはアンカー(アンカー)の略で、情報の海に停泊しているような感じがします。



  • href:hrefはHyperText Referenceの略です。参考までにHTMLはハイパーテキストタグ言語の略です。



  • target=「blank」:リンクをクリックすると、新しいウィンドウでページのプロパティが開きます。



  • rel=「noreferrenoopener」:relはリンクのプロパティを表します。この場合、target=「blank」には2つのセキュリティ・ホールとパフォーマンスの低下の問題があり、この問題を解決するためにnoopenner noreferが指定されます。



  • noopenerの指定:noopenerを指定すると、リンクされたページにウィンドウが開きます。Openerリンクを使用したページは参照(参照)できません。また、リンクされたページとリンクされたページは独立したプロセスとみなされるため、相互に接続されず、パフォーマンスが低下する。したがって、信頼性の低いページへのリンクを作成する必要がある場合に便利です。



  • noreferrの指定:noreferrを指定すると、ブラウザは他のページに移動するときに、referrまたはrefererとしてreferr:HTTPヘッダに情報(リンクされたページアドレスなど)を送信しません。


  • コード#コード#

    // https://velog.io/@icebear324 
    
    // 백준 알고리즘 문제 링크 자동으로 생성하기
    // 제목 형식
    // (언어) | 제목 [백준 1316]
    // 예시 ) Java | DFS와 BFS [백준 1260]
    
    import java.io.*;
    
    class Node {
        String str;
        String num;
        String title;
    
        public Node(String str) {
            this.str = str;
            this.title = str.substring(str.indexOf('|') + 2, str.length());
            this.num = str.substring(str.indexOf("백준") + 3, str.length()-1);
        }
    
        public String getNum() {      
            return num;
        }
        public String getTitle() {
            return title;
        }
    
        public String formatstr() {
            return String.format("출처 | <a href=\"https://www.acmicpc.net/problem/%s\" target=\"_blank\" rel=\"noreferrer noopener\">%s</a>", num, title);
        }
        
    }
    
    
    public class Main{
    
        public static void main(String[] args) throws IOException {
    
            BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));
            StringBuilder sb = new StringBuilder();
            
    
            
            // 90은 변경할 제목의 개수
            for (int i = 0; i < 90; i++) {  
                String str = scan.readLine();
                Node titleCase = new Node(str);
    
                sb.append(titleCase.getTitle()).append("\n");
                sb.append(titleCase.formatstr()).append("\n");
                sb.append("\n");
            }
    
            
             BufferedWriter bwr = new BufferedWriter(new FileWriter(new File("C:\\example\\date_file.txt"))); // 경로 설정
     
        
            bwr.write(sb.toString());
            bwr.flush();
            bwr.close();
    
        }
    }

    Reference


  • ソース|java-examples.com

  • ソース|なぜリンクでnoopener noreferを使用するのか