qa

😚 Q & A website based on Spring Boot.

Stars
46

Q & A

QA B/S

Spring Boot + MyBatis + MySQL + Redis + FreeMarker

  • MySQL
  • Redis
  • Solr

salt + md5// ticket ticket id login_ticket ticket cookie

PassportInterceptor ticket ticket id

UGC (User Generated Content, ) HTML

HTML <script>alert("hahah");</script>


class TrieNode {
    // 
    boolean end;
    
    // 
    Map<Character, TrieNode> subNodes = new HashMap<>();
    
    // 
    void addSubNode(Character key, TrieNode node) {
        subNodes.put(key, node);
    }
    
    // key
    TrieNode getSubNode(Character key) {
        return subNodes.get(key);
    }
}

SensitiveWords.txt len h O(len*h)

****10100000 lenO(100000 * (len + 10))O(10 * len)

**** EntityType EntityId / EntityType EntityId

RedisWhy Redis

Redis MySQL:

  • Redis: key-value
  • MySQL:

Redis

Redis
List
Set
SortedSet
Hash
KV PV

Redis

  • Timeline

"LIKE:ENTITY_TYPE:ENTITY_ID" key id value like unlike key id

xx/...

EventProducer (EventModel)(Redis List)EventConsumer EventHandler Handler

EventModel

class EventModel {
    // 
    EventType type;
    
    // 
    int actorId;
    
    // 
    int entityType;
    int entityId;
    
    // Owner
    int entityOwnerId;
    
    // 
    Map<String, String> exts;
}

SNS

(/) EntityType EntityId Redis zset

  • zset
  • zset
  • zset

A B B A [ ]

  • id

Redis

/ Owner

Timeline Feed

feed

feed
Timeline feed
/

feed Timeline(redis list ) feed id feed


[ feed ]

pyspider V2EX

pyspider

pip install pyspider

pyspider

pyspider

Jsoup``Jsoup``url``Document``CSS``V2EX``question``question``comment

Spring @Async **** Spring @EnableAsync``@Async

request IP

be a responsible crawler

  • word

(Indexing) (Search)

Solr Solr solr_cnAnalyzer

Badges
Extracted from project README
Build Status Java Version Framework