- 浏览: 2566801 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
2018 Golang Update(3)REST API with ORM
Database Layer
https://github.com/go-xorm/xorm
http://xorm.io/
MySQL Driver
https://github.com/go-sql-driver/mysql
Library
>go get github.com/go-xorm/xorm
>go get github.com/go-sql-driver/mysql
I find most of the CURD methods in here
https://github.com/go-xorm/xorm
Here is how to init the DB connection in restful_go_api/src/sillycat.com/waterrecord/db.go
package waterrecord
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
)
func initDatabase() *xorm.Engine {
var engine *xorm.Engine
var err error
engine, err = xorm.NewEngine("mysql", "watermonitor:xxxxxxx@tcp(sillycat.ddns.net:3306)/watermonitor?charset=utf8")
if err != nil {
fmt.Println(err)
}
engine.Ping() //ping
engine.ShowSQL(true) //show SQL
engine.Logger().SetLevel(core.LOG_DEBUG)
return engine
}
Method and mapping in restful_go_api/sillycat.com/restful_go_api/waterrecord/waterrecord.go
package waterrecord
import (
"github.com/gin-gonic/gin"
"log"
"strconv"
"time"
)
type WaterRecord struct {
Id int64
Location string `xorm:"location varchar(256) not null"`
StartTime string `xorm:"start_time varchar(256) not null"`
EndTime string `xorm:"end_time varchar(256) not null"`
Duration int `xorm:"duration int(11)"`
ReleaseDate string `xorm:"release_date varchar(256)"`
CreateDate time.Time `xorm:"create_date DATETIME "`
UpdateDate time.Time `xorm:"update_date DATETIME"`
}
var engine = initDatabase()
func (waterRecord WaterRecord) TableName() string {
return "water_monitor"
}
func GetWaterRecords(c *gin.Context) {
var items []WaterRecord
query := "SELECT id, location, start_time, end_time, duration, release_date, create_date, update_date FROM water_monitor"
err := engine.Sql(query).Find(&items)
if err != nil {
log.Fatal("Get err when exec query: ", err)
}
log.Println("query result: ", items)
c.JSON(200, items)
}
func GetWaterRecord(c *gin.Context) {
var item WaterRecord
id := c.Param("id")
has, err := engine.Where("id = ?", id).Get(&item)
if err != nil {
log.Fatal("Get one item err: ", err)
}
if has {
c.JSON(200, item)
} else {
c.JSON(404, gin.H{"error": "WaterRecord not found"})
}
}
func PostWaterRecord(c *gin.Context) {
var item WaterRecord
c.Bind(&item)
if item.Location != "" && item.ReleaseDate != "" {
_, err := engine.Insert(&item)
if err != nil {
log.Fatal("Insert fail:", err)
} else {
c.JSON(201, item)
}
} else {
c.JSON(422, gin.H{"error": "fields are empty!"})
}
}
func UpdateWaterRecord(c *gin.Context) {
var item WaterRecord
id := c.Param("id")
c.Bind(&item)
has, err := engine.SQL("select * from water_monitor where id = ?", id).Exist()
if err != nil {
log.Fatal("Fail to find item:", err)
} else {
if has {
item.Id, _ = strconv.ParseInt(id, 0, 64)
_, err := engine.Id(id).Update(&item)
if err != nil {
log.Fatal("Fail to update item:", err)
} else {
c.JSON(200, item)
}
} else {
c.JSON(404, gin.H{"error": "Water Record not found"})
}
}
}
func DeleteWaterRecord(c *gin.Context) {
id := c.Param("id")
item := new(WaterRecord)
has, err := engine.SQL("select * from water_monitor where id = ?", id).Exist()
if err != nil {
log.Fatal("Fail to find item:", err)
} else {
if has {
//itemID, _ := strconv.ParseInt(id, 0, 64)
_, err := engine.Where("id = ?", id).Delete(item)
if err != nil {
log.Fatal("Fail to delete:", err)
} else {
c.JSON(202, gin.H{"id": id})
}
} else {
c.JSON(404, gin.H{"error": "Water Record not found"})
}
}
}
It works great on local MAC and remote CentOS and RaspberryPi
#restful_go_api
Prepare the library
>go get github.com/gin-gonic/gin
>go get github.com/go-xorm/xorm
>go get github.com/go-sql-driver/mysql
How to Build for local
>go install sillycat.com/restful_go_api
How to Run Test
>go test sillycat.com/restful_go_api
How to Build for Linux
>env GOOS=linux GOARCH=amd64 go build -o bin/restful_go_api_linux -v sillycat.com/restful_go_api
How to Build for Raspberrypi
>env GOOS=linux GOARCH=arm GOARM=7 go build -o bin/restful_go_api_arm -v sillycat.com/restful_go_api
How to Run
>bin/restful_go_api
Maybe Later, I can change the layer to Model, Dao, Controller like Java, haha.
References:
http://sillycat.iteye.com/admin/blogs/2411149
http://solee.me/2016/10/26/golang-ginyu-xormjian-dan-shi-jian/
build for RaspberryPi
https://www.thepolyglotdeveloper.com/2017/04/cross-compiling-golang-applications-raspberry-pi/
Database Layer
https://github.com/go-xorm/xorm
http://xorm.io/
MySQL Driver
https://github.com/go-sql-driver/mysql
Library
>go get github.com/go-xorm/xorm
>go get github.com/go-sql-driver/mysql
I find most of the CURD methods in here
https://github.com/go-xorm/xorm
Here is how to init the DB connection in restful_go_api/src/sillycat.com/waterrecord/db.go
package waterrecord
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
)
func initDatabase() *xorm.Engine {
var engine *xorm.Engine
var err error
engine, err = xorm.NewEngine("mysql", "watermonitor:xxxxxxx@tcp(sillycat.ddns.net:3306)/watermonitor?charset=utf8")
if err != nil {
fmt.Println(err)
}
engine.Ping() //ping
engine.ShowSQL(true) //show SQL
engine.Logger().SetLevel(core.LOG_DEBUG)
return engine
}
Method and mapping in restful_go_api/sillycat.com/restful_go_api/waterrecord/waterrecord.go
package waterrecord
import (
"github.com/gin-gonic/gin"
"log"
"strconv"
"time"
)
type WaterRecord struct {
Id int64
Location string `xorm:"location varchar(256) not null"`
StartTime string `xorm:"start_time varchar(256) not null"`
EndTime string `xorm:"end_time varchar(256) not null"`
Duration int `xorm:"duration int(11)"`
ReleaseDate string `xorm:"release_date varchar(256)"`
CreateDate time.Time `xorm:"create_date DATETIME "`
UpdateDate time.Time `xorm:"update_date DATETIME"`
}
var engine = initDatabase()
func (waterRecord WaterRecord) TableName() string {
return "water_monitor"
}
func GetWaterRecords(c *gin.Context) {
var items []WaterRecord
query := "SELECT id, location, start_time, end_time, duration, release_date, create_date, update_date FROM water_monitor"
err := engine.Sql(query).Find(&items)
if err != nil {
log.Fatal("Get err when exec query: ", err)
}
log.Println("query result: ", items)
c.JSON(200, items)
}
func GetWaterRecord(c *gin.Context) {
var item WaterRecord
id := c.Param("id")
has, err := engine.Where("id = ?", id).Get(&item)
if err != nil {
log.Fatal("Get one item err: ", err)
}
if has {
c.JSON(200, item)
} else {
c.JSON(404, gin.H{"error": "WaterRecord not found"})
}
}
func PostWaterRecord(c *gin.Context) {
var item WaterRecord
c.Bind(&item)
if item.Location != "" && item.ReleaseDate != "" {
_, err := engine.Insert(&item)
if err != nil {
log.Fatal("Insert fail:", err)
} else {
c.JSON(201, item)
}
} else {
c.JSON(422, gin.H{"error": "fields are empty!"})
}
}
func UpdateWaterRecord(c *gin.Context) {
var item WaterRecord
id := c.Param("id")
c.Bind(&item)
has, err := engine.SQL("select * from water_monitor where id = ?", id).Exist()
if err != nil {
log.Fatal("Fail to find item:", err)
} else {
if has {
item.Id, _ = strconv.ParseInt(id, 0, 64)
_, err := engine.Id(id).Update(&item)
if err != nil {
log.Fatal("Fail to update item:", err)
} else {
c.JSON(200, item)
}
} else {
c.JSON(404, gin.H{"error": "Water Record not found"})
}
}
}
func DeleteWaterRecord(c *gin.Context) {
id := c.Param("id")
item := new(WaterRecord)
has, err := engine.SQL("select * from water_monitor where id = ?", id).Exist()
if err != nil {
log.Fatal("Fail to find item:", err)
} else {
if has {
//itemID, _ := strconv.ParseInt(id, 0, 64)
_, err := engine.Where("id = ?", id).Delete(item)
if err != nil {
log.Fatal("Fail to delete:", err)
} else {
c.JSON(202, gin.H{"id": id})
}
} else {
c.JSON(404, gin.H{"error": "Water Record not found"})
}
}
}
It works great on local MAC and remote CentOS and RaspberryPi
#restful_go_api
Prepare the library
>go get github.com/gin-gonic/gin
>go get github.com/go-xorm/xorm
>go get github.com/go-sql-driver/mysql
How to Build for local
>go install sillycat.com/restful_go_api
How to Run Test
>go test sillycat.com/restful_go_api
How to Build for Linux
>env GOOS=linux GOARCH=amd64 go build -o bin/restful_go_api_linux -v sillycat.com/restful_go_api
How to Build for Raspberrypi
>env GOOS=linux GOARCH=arm GOARM=7 go build -o bin/restful_go_api_arm -v sillycat.com/restful_go_api
How to Run
>bin/restful_go_api
Maybe Later, I can change the layer to Model, Dao, Controller like Java, haha.
References:
http://sillycat.iteye.com/admin/blogs/2411149
http://solee.me/2016/10/26/golang-ginyu-xormjian-dan-shi-jian/
build for RaspberryPi
https://www.thepolyglotdeveloper.com/2017/04/cross-compiling-golang-applications-raspberry-pi/
发表评论
-
Stop Update Here
2020-04-28 09:00 331I will stop update here, and mo ... -
NodeJS12 and Zlib
2020-04-01 07:44 491NodeJS12 and Zlib It works as ... -
Docker Swarm 2020(2)Docker Swarm and Portainer
2020-03-31 23:18 377Docker Swarm 2020(2)Docker Swar ... -
Docker Swarm 2020(1)Simply Install and Use Swarm
2020-03-31 07:58 381Docker Swarm 2020(1)Simply Inst ... -
Traefik 2020(1)Introduction and Installation
2020-03-29 13:52 351Traefik 2020(1)Introduction and ... -
Portainer 2020(4)Deploy Nginx and Others
2020-03-20 12:06 439Portainer 2020(4)Deploy Nginx a ... -
Private Registry 2020(1)No auth in registry Nginx AUTH for UI
2020-03-18 00:56 449Private Registry 2020(1)No auth ... -
Docker Compose 2020(1)Installation and Basic
2020-03-15 08:10 392Docker Compose 2020(1)Installat ... -
VPN Server 2020(2)Docker on CentOS in Ubuntu
2020-03-02 08:04 475VPN Server 2020(2)Docker on Cen ... -
Buffer in NodeJS 12 and NodeJS 8
2020-02-25 06:43 401Buffer in NodeJS 12 and NodeJS ... -
NodeJS ENV Similar to JENV and PyENV
2020-02-25 05:14 496NodeJS ENV Similar to JENV and ... -
Prometheus HA 2020(3)AlertManager Cluster
2020-02-24 01:47 438Prometheus HA 2020(3)AlertManag ... -
Serverless with NodeJS and TencentCloud 2020(5)CRON and Settings
2020-02-24 01:46 346Serverless with NodeJS and Tenc ... -
GraphQL 2019(3)Connect to MySQL
2020-02-24 01:48 262GraphQL 2019(3)Connect to MySQL ... -
GraphQL 2019(2)GraphQL and Deploy to Tencent Cloud
2020-02-24 01:48 463GraphQL 2019(2)GraphQL and Depl ... -
GraphQL 2019(1)Apollo Basic
2020-02-19 01:36 336GraphQL 2019(1)Apollo Basic Cl ... -
Serverless with NodeJS and TencentCloud 2020(4)Multiple Handlers and Running wit
2020-02-19 01:19 322Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(3)Build Tree and Traverse Tree
2020-02-19 01:19 330Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(2)Trigger SCF in SCF
2020-02-19 01:18 306Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(1)Running with Component
2020-02-19 01:17 320Serverless with NodeJS and Tenc ...
相关推荐
在本项目中,"golang-app" 是一个使用 Golang 编写的应用程序,它设计用于公开 RESTful API 并与 PostgreSQL 数据库进行交互。通过理解 Golang 的核心特性以及如何利用其构建网络服务,我们可以深入探讨这个项目所...
**描述**: 本项目是一个基于Golang实现的RESTful API,主要用于用户管理,包括创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)用户操作。该项目遵循一系列教程步骤,旨在帮助开发者学习如何在Go语言环境...
在本文中,我们将深入探讨如何使用Golang(也称为Go语言)构建一个简单的RESTful API。REST(Representational State Transfer)是一种广泛采用的Web服务架构风格,它通过HTTP协议提供资源的表述。Golang作为一门...
- **RESTful API**:应用可能遵循REST(Representational State Transfer)架构风格,使用HTTP方法(GET、POST、PUT、DELETE)对应CRUD操作,使API清晰易用。 8. **错误处理与日志记录** - **错误处理**:Go语言...
lim_3ck_01b_0718
内容概要:本文介绍了一种新颖的变压器模型C2Former(Calibrated and Complementary Transformer),专门用于解决RGB图像和红外图像之间的物体检测难题。传统方法在进行多模态融合时面临两个主要问题——模态错位(Modality miscalibration)和融合不准确(fusion imprecision)。作者针对这两个问题提出采用互模交叉注意力模块(Inter-modality Cross-Attention, ICA)以及自适应特征采样模块(Adaptive Feature Sampling, AFS)来改善。具体来说,ICA可以获取对齐并且互补的特性,在特征层面进行更好的整合;而AFS则减少了计算成本。通过实验验证了基于C2Former的一阶段和二阶段检测器均能在现有公开数据集上达到最先进的表现。 适合人群:计算机视觉领域的研究人员和技术人员,特别是从事跨模态目标检测的研究人员,对Transformer架构有一定了解的开发者。 使用场景及目标:适用于需要将可见光和热成像传感器相结合的应用场合,例如全天候的视频监控系统、无人驾驶汽车、无人
pepeljugoski_01_0108
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
lusted_3ck_02_1118
内容概要:本文提出了用于虚拟同步发电机(VSG)在非对称电网故障期间的一种自适应低电压穿越(LVRT)方法。现有LVRT方法由于故障检测延迟可能导致逆变器损坏的问题以及新的电网标准(GCs)规定了逆变器基资源(IBRs)需要注入负序电流的需求。所提出的LVRT方法采用初始故障时刻电压控制环差补及有功功率环相角调整,使系统能够在正常运行时保持特性不受影响,并在出现不对称故障时立即限制输出电流。模拟结果显示,新方法不仅能迅速响应并抑制故障电流,在不同类型的不对称故障条件下亦能良好表现。此外,该方法不需要参数设计,且能够最大限度利用IBRs电流,同时维持IBRs电压源特性和符合新的GCs。 适合人群:电力电子与能源系统的学术研究人员和技术人员,熟悉虚拟同步发电技术以及LVRT相关背景的工程师。 使用场景及目标:主要适用于包含虚拟同步发电机的新能源系统中的故障穿越技术改进,以满足最新国际电气电子工程师协会(IEEE)的电气互连标准,并解决当前LVRT方法无法全面符合规范的问题,确保系统的安全可靠运行。该研究可用于改进新能源并网逆变器的设计。 其他说明:文章通过对现有的LVRT控制方法进行改进来
内容概要:本导读书籍《DeepSeek从入门到精通》旨在为读者提供对AI工具DeepSeek全面的认识。书籍首先概述了DeepSeek作为一个国产、开源的多功能AI平台的功能和特点,接着详细介绍了如何入门操作,并通过实战演示来帮助用户掌握不同应用场景下的高级提示词策略和使用技巧,如针对不同类型的提示语的设计方法和实际应用。特别是在‘发散’部分,对提示语进行了深入剖析,不仅探讨了提示词的高级技术和策略,还包括AI幻觉、人机协作以及知识生成等方面的讨论,有助于用户深入理解和灵活应用提示词,在各种任务中提高效率并获得更好的效果。最后一章展望了AI与人类在未来内容创作中的角色转变和发展趋势。这本详细的指导手册能帮助读者形成系统的AI工具认知和技术体系,快速上手并在实践中不断加深对该领域的理解。 适用人群:面向希望深入了解AI工具尤其是提示词设计的专业人士、开发者及所有有兴趣探索这一领域的个人;适合有一定技术背景的从业者。 使用场景及目标:帮助初学者快速启动DeepSeek的日常使用,为中高级用户提供更深入的高级功能理解和实践,特别是涉及提示词构建的技术细节,助力于提升特定任务处理效率和结果品质
下载 1. 单击“立即下载”,以下载该文件。 2. 出现“文件下载”窗口后,单击“保存”,以将文件保存到硬盘。 安装 1. 浏览至文件下载目标位置并双击新下载的文件。 2. 仔细阅读对话窗口中显示的发布信息。 3. 下载并安装对话窗口中标识的任何必备项,然后再继续。 4. 单击“Install”(安装)按钮。 5. 按照其余提示执行更新。 安装 1. 将解压的文件复制到可访问Windows的介质。 2. 将系统重新引导至Windows操作系统。 3. 打开“服务器管理器”->“设备管理器”->“存储控制器”,然后单击“PERC控制器”。 5. 单击“更新驱动程序软件”,并按照提示更新驱动程序。 4. 重新引导系统以使更改生效。
Saxena_01_0107
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
第8节模型预测控制在运动规划中的应用
覆盖了人口统计、经济发展、教育体系、环境资源等多个关键领域,旨在为研究人员、政策规划者及相关各界提供全面洞察社会现状与趋势的窗口。 2024年修订内容如下: 资源和环境–增加“倒塌房屋间数”。 农业–增加“大豆”、“花生”、“油菜籽”、“芝麻”“甘蔗”“甜英”业及辅助性活动”产值和指数。 工业–增加“智能手机”产量。 卫生和社会服务–增加“分地区儿童健康情况`和“分地区孕产妇健康情况”。 文化和体育–增加公共图书馆“少儿文献数”和国有博物馆“未成年人参观人次”情况。 城市、农村和区域发展–增加“乡村办水电站”“农村水电装机容量”“农村水电年发电量”情况。 科学技术–新增分行业新产品开发经费支出、新产品销售收入等指标。 运输、邮电和软件业–公路营业性客运量包括班车包车客运量、公共汽电车城际城乡客运量、出租汽车(含巡游出租汽车、网络预约出租汽车)城际城多客运量 运输、邮电和软件业–公路客运周转量包括班车包车客运周转量、公共汽电车城际城乡客运周转量、出租汽车(含巡游出租汽车、网络预约出租汽车)城际城乡客运周转量。 就业和工资、固定资产投资、工业、建筑业、批发和零售业、房地产、科学计算等修订主要内容: (1)拓展适用范围 为了更全面覆盖统计调查对象,新标准按照市场主体登记注册管理实际对分类范围作相应调整,从“企业”扩大至所有“市场主体”,增加了“农民专业合作社(联合社)”和“个体工户”等类别。 (2)取消相关类别 由于《中华人民共和国私营企业暂行条例》已被废止,根据《中华人民共和国公司法》《中华人民共和国个人独资企业法》《中华人民共和国合作企业法》,将相关“私营有限责任公司”、“私营股份有限公司”分别列入“有限责任公司、“股分有限公司”范围类别。引国,“私营独资企业”调整为“个人独资企业”,“私营合伙企业”调整为“合伙企业”。 (3)调整分类结构 一是关于“内资企业”。根据《中华人民共和国市场主体登记管理条例》规定,将原内资企业分类“国有企业”“集体企业”、“股份合作企业”、“联营企业”、“有限责任公司”、“股份有限公司”、“私营企业”和“其他企业”等8个类别调整为“有限责任公司”、“股份有限公司”、“非公司企业法人”、“个人独资企业”、合伙企业”和“其他内资企业”等6个类别。其中,原“国有企业”、“集体企业”、“股份合作企业”“联营企业”纳入新类别“非公司企业法人”下;原“私营企业”类别取消(上段已述)。二是关于“外商投资企业”和“港澳台投资企业”。根据《中华人民共和国外商投资法》规定,将原外商投资企业分类“中外合资经营企业”“中外合作经营企业”、“外资企业”、“外商投资股份有限公司”和“其他外商投资企业”等5个类别调整为“外商投资有限责任公司”、“外商投资股份有限公司”、“外商投资合伙企业”和“其他外商投资企业”等4个类别。港澳台投资企业参照外商投资企业分类方法调整。 (4)规范类别名称根据市场监管部门对登记注册管理的规范名称,分别将原“国有企业”、“集体企业”更名为“全民所有制企业(国有企业)”、“集体所有制企业(集体企业)” (5)统一内资范围根据《中华人民共和国外商投资法》和相关部门规定,将登记注册为内资公司的有限责任公司(外商投资企业投资)、登记注册为内资公司的股份有限公司(上市、外商投资企业投资)等市场主体,即外商投资企业市场主体在中国境内的再投资市场主体,由原标准中的“外商投资企业”调整为新标准中的“内资企业”相关类别。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!