Low-code rapid development platform JNPF rapid development platform 3.4.7 version framework source code deployment document entry instructions

The JNPF rapid development platform is not just a background development framework, but an enterprise-level rapid development solution. The backend is based on the classic combination of Spring Boot, Shiro, and MyBatis, and the frontend adopts the classic development mode of Beetl, Bootstrap, AdminLTE, or the separated version of Vue3 , Vite, Ant Design Vue, TypeScript, Vben Admin the most advanced technology stack. Provide online code generation function, which can automatically create business module projects and microservice module projects, and automatically generate front-end code and back-end code; including functional modules such as: organization, role user, menu and button authorization, data permissions, system parameters, content management, workflow, and more. Loosely coupled design, microkernel and plug-in architecture, easy to add or remove modules; no interface refresh, one-click skin change; multiple account security settings, password policies; online file preview; message push; diversified third-party login; online timing task configuration ;Support clusters, support SAAS; support multiple data sources; support read-write separation, sub-database sub-table; support micro-service applications. http://www.jnpfsoft.com/?from=CSDNm test

The main purpose of the JeeSite rapid development platform is to enable junior R&D personnel to quickly develop complex business functions, while senior personnel have time to do some more useful things. Let developers focus on business, and the rest have a platform to encapsulate technical details and reduce technical difficulty, thereby saving labor costs, shortening project cycles, and improving software security and quality.

private byte[] _buffer = new byte[10_000_000];
private Random _random = new Random();

[Benchmark]
public Random Ctor() => new Random();

[Benchmark]
public int Next() => _random.Next();

[Benchmark]
public int NextMax() => _random.Next(64);

[Benchmark]
public int NextMinMax() => _random.Next(0, 64);

[Benchmark]
public double NextDouble() => _random.NextDouble();

[Benchmark]
public void NextBytes_Array() => _random.NextBytes(_buffer);

[Benchmark]
public void NextBytes_Span() => _random.NextBytes((Span<byte>)_buffer);

JNPF Rapid Development Platform

The JNPF rapid development platform adopts front-end and back-end separation technology and adopts B/S architecture to develop, forming a one-stop development and multi-terminal (APP+PC) use. http://www.jnpfsoft.com/?from=CSDNm test

The JNPF rapid development platform adopts front-end and back-end separation technology and adopts B/S architecture to develop, forming a one-stop development and multi-terminal (APP+PC) use, realizing unified authority management, flexible interface calling, drag-and-drop process construction and other operations. Industry-leading R&D technology system.

frame components

  • Lombok 1.18.8

  • Slf4j 1.7.28

  • Redis 3.2.1

  • Apache Commons lang 3 3.7

  • Apache Commons io 2.5

  • Apache Commons pool2 2.6.2

  • Object/JSON serialization: Jackson 2.9.6

  • Template engine: velocity 2.0

  • Documentation tool: easypoi 4.0.0

  • Task Scheduling: Quartz 2.3.1

  • PDF:itextpdf 5.5.6

  • Spring boot quick start: spring-boot-starter 2.1.8.RELEASE

  • im: spring-boot-starter-websocket 2.1.8.RELEASE

  • Aop: spring-boot-starter-aop 2.1.8.RELEASE

  • Email: spring-boot-starter-mail 2.1.8.RELEASE

  • WeChat: weixin-java-miniapp 3.3.0

  • Mobile phone push: gexin-rp-sdk-http 4.1.1.3

  • Thumbnail: thumbnailator 0.4.8

  • Enumeration class: kernel-model 2.1.7

  • QR code: com.google.zxing-core 3.3.0

  • Get pinyin: pinyin4j 2.5.0

  • MySQL : mysql-connector-java 8.0.11

  • SQLServer: sqljdbc 4 4.0

  • Oracle: ojdbc6 11.2.0

private byte[] _data;

[GlobalSetup]
public void Setup()
{
    _data = new byte[64];
    RandomNumberGenerator.Fill(_data);
}

[Benchmark]
public string ToHexString() => Convert.ToHexString(_data);
[Params(1, 4096)]
public int BufferSize { get; set; }

[GlobalSetup]
public void Setup()
{
    byte[] data = new byte[10_000_000];
    new Random(42).NextBytes(data);

    string path = Path.GetTempFileName();
    File.WriteAllBytes(path, data);

    _fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, BufferSize, IsAsync);
}

[GlobalCleanup]
public void Cleanup()
{
    _fileStream.Dispose();
    File.Delete(_fileStream.Name);
}

Guess you like

Origin blog.csdn.net/ohpppp/article/details/130891850