jedi

command module
v0.0.0-...-9437e57 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2022 License: MIT Imports: 16 Imported by: 0

README

jedi

jedi is a basic multi-resource searching matcher.

The purpose of jedi is searching matched data from different types of the given data file. jedi invokes network syscall and encoding package to decode xml/json data into structured data, and jedi also use goroutine to ensure the speed of these actions.

Feature

Please visit todo list.

Roadmap

First stage, jedi will implement basic function, make sure this stuff avaiable. Second stage, we will improve jedi to showing error message and log clearly, probably support cmd runing and cron task. Last stage, we'll expand jedi to support more middlewares, just like Redis/RPC etc., we want to make it be a stronger network searching matcher. I mean, this is our perspective, we'll do it well, or not.

Getting Started

Usage
» ./jedi -h
Usage of ./jedi:
  -keyword string
    	specific a keyword to query (default "China")
  -limit int
    	how many matched items shows here (default 20)

» ./jedi -keyword="social" -limit=10

TODO

  • support concurrency search
  • godoc support
  • enhenced logger
  • test file fully coveraged
  • add process bar support
  • docker integraty for logger
  • support output message color
  • fix code format, repalce if err != nil with noerr
  • cmd and argument control support
  • support different type data file(like xml etc.)
  • imporve performance(replace json with jsoniter)
  • generic support
  • data store: MySQL/PostgreSQL
  • cache results in local database: Redis/PostgreSQL
  • service discovery: etcd/etcd-proxy
  • cron task

Architecture

jedi.jpg

Coding Rule

Please check this post.

Q&A

  1. When I use command make gdb to debug the program, it show me error message like this: Unable to find Mach task port for process-id 22182: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)), how can I fix that?

Check this post.

ps: Enable crsutil will conflict with proxychains4-ng, so make your choice.

Contributing

PRs and Issues are also welcome.

Credit

  • goinaction

License

MIT.

Documentation

Overview

Package jedi provides a framework to searching different sources from internet or given config file, and then showing the message to the stdout.

There are some methods and functions service to data fetching and somthing:

Search()
retrieve()
RetrieveFeeds()
Match()
Register()
Process()

You can also use Go tools to debug the code in jedi, which support gcc and go tool mode.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL