sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb
如何解决apt-get中Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify的问题_疏狂的博客-CSDN博客_unmet dependencies. try 'apt --fix-broken install'
.archive ... Manage SQL archives: ".archive --help" for details .auth ON|OFF Show authorizer callbacks .backup ?DB? FILE Backup DB (default "main") to FILE .bail on|off Stop after hitting an error. Default OFF .binary on|off Turn binary output on or off. Default OFF .cd DIRECTORY Change the working directory to DIRECTORY .changes on|off Show number of rows changed by SQL .check GLOB Fail if output since .testcase does not match .clone NEWDB Clone data into NEWDB from the existing database .databases List names and files of attached databases .dbinfo ?DB? Show status information about the database .dump ?TABLE? ... Dump the database in an SQL text format If TABLE specified, only dump tables matching LIKE pattern TABLE. .echo on|off Turn command echo on or off .eqp on|off|full Enable or disable automatic EXPLAIN QUERY PLAN .excel Display the output of next command in a spreadsheet .exit Exit this program .expert EXPERIMENTAL. Suggest indexes for specified queries .fullschema ?--indent? Show schema and the content of sqlite_stat tables .headers on|off Turn display of headers on or off .help Show this message .import FILE TABLE Import data from FILE into TABLE .imposter INDEX TABLE Create imposter table TABLE on index INDEX .indexes ?TABLE? Show names of all indexes If TABLE specified, only show indexes for tables matching LIKE pattern TABLE. .limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT .lint OPTIONS Report potential schema issues. Options: fkey-indexes Find missing foreign key indexes .load FILE ?ENTRY? Load an extension library .log FILE|off Turn logging on or off. FILE can be stderr/stdout .mode MODE ?TABLE? Set output mode where MODE is one of: ascii Columns/rows delimited by 0x1F and 0x1E csv Comma-separated values column Left-aligned columns. (See .width) html HTML
code insert SQL insert statements for TABLE line One value per line list Values delimited by "|" quote Escape answers as for SQL tabs Tab-separated values tcl TCL list elements .nullvalue STRING Use STRING in place of NULL values .once (-e|-x|FILE) Output for the next SQL command only to FILE or invoke system text editor (-e) or spreadsheet (-x) on the output. .open ?OPTIONS? ?FILE? Close existing database and reopen FILE The --new option starts with an empty file .output ?FILE? Send output to FILE or stdout .print STRING... Print literal STRING .prompt MAIN CONTINUE Replace the standard prompts .quit Exit this program .read FILENAME Execute SQL in FILENAME .restore ?DB? FILE Restore content of DB (default "main") from FILE .save FILE Write in-memory database into FILE .scanstats on|off Turn sqlite3_stmt_scanstatus() metrics on or off .schema ?PATTERN? Show the CREATE statements matching PATTERN Add --indent for pretty-printing .selftest ?--init? Run tests defined in the SELFTEST table .separator COL ?ROW? Change the column separator and optionally the row separator for both the output mode and .import .session CMD ... Create or control sessions .sha3sum ?OPTIONS...? Compute a SHA3 hash of database content .shell CMD ARGS... Run CMD ARGS... in a system shell .show Show the current values for various settings .stats ?on|off? Show stats or turn stats on or off .system CMD ARGS... Run CMD ARGS... in a system shell .tables ?TABLE? List names of tables If TABLE specified, only list tables matching LIKE pattern TABLE. .testcase NAME Begin redirecting output to 'testcase-out.txt' .timeout MS Try opening locked tables for MS milliseconds .timer on|off Turn SQL timer on or off .trace FILE|off Output each SQL statement as it is run .vfsinfo ?AUX? Information about the top-level VFS .vfslist List all available VFSes .vfsname ?AUX? Print the name of the VFS stack .width NUM1 NUM2 ... Set column widths for "column" mode Negative values right-justify
2)sql语句, 都以‘;’结尾
1-- 创建一张表 create table stuinfo(id integer, name text, age integer, score float); 2-- 插入一条记录 insert into stuinfo values(1001, 'zhangsan', 18, 80); insert into stuinfo (id, name, score) values(1002, 'lisi', 90);
3-- 查看数据库记录 select * from stuinfo; select * from stuinfo where score = 80; select * from stuinfo where score = 80 and name= 'zhangsan'; select * from stuinfo where score = 80 or name='wangwu'; select name,score from stuinfo; 查询指定的字段 select * from stuinfo where score >= 85 and score < 90;
4-- 删除一条记录 delete from stuinfo where id=1003 and name='zhangsan';
插入的时候把wangyu插到得分里了,不对怎么删王五了重来
SQLite不会检查数据类型
5-- 更新一条记录 update stuinfo set age=20 where id=1003; update stuinfo set age=30, score = 82 where id=1003;
6-- 删除一张表 drop table stuinfo;
7-- 增加一列 alter table stuinfo add column sex char;
8-- 删除一列(不支持直接删除,创建新表删除旧表将新表名改成旧表) create table stu as select id, name, score from stuinfo; drop table stuinfo; alter table stu rename to stuinfo;
9、数据库设置主键和自增: create table info(id integer primary key autoincrement, name vchar);
三、sqlite3 数据库 C语言 API
int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能 :打开数据库 参数 :filename 数据库名称 ppdb 数据库句柄 返回值 :成功为0 SQLITE_OK ,出错 错误码
int sqlite3_close(sqlite3* db); 功能 :关闭数据库 参数 : 返回值 :成功为0 SQLITE_OK ,出错 错误码
const char *sqlite3_errmsg(sqlite3*db); 功能 :得到错误信息的描述 int sqlite3_exec( sqlite3* db, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void* arg,int,char**,char**), /* Callback function */ void * arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ ); 功能 :执行一条sql语句 参数 :
db 数据库句柄 sql sql语句 callback 回调函数,只有在查询时,才传参 arg 为回调函数传递参数 errmsg 错误消息 返回值 :成功 SQLITE_OK
查询回调函数: int (*callback)(void* arg,int ncolumns ,char** f_value,char** f_name), /* Callback function */功能 :查询语句执行之后,会回调此函数参数 :arg 接收sqlite3_exec 传递来的参数 ncolumns 列数 f_value 列的值得地址 f_name 列的名称返回值 :0, int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ int *pnRow, /* Number of result rows written here */ int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ ); void sqlite3_free_table(char **result);
查询
四、基于数据库的学生管理系统
编译一下结果不认识sqlite3库
GCC编译错误:/ usr / bin / ld:找不到-lsqlite3.lib(GCC Compile Error: /usr/bin/ld: cannot find -lsqlite3.lib)_电脑培训
看了一下外国友人的解释我应该安一个这个
sudo apt-get install libsqlite3-dev
又出问题了主机和虚拟机间复制黏贴失效了
ubantu 与 主机 之间无法复制粘贴_51CTO博客_ubuntu与windows之间不能复制粘贴
sudo apt-get install open-vm-tools-desktop
好了,把代码粘过来
#include
#include
#include
#include
#define DATABASE "student.db"
#define N 128
int do_insert(sqlite3 *db)
{
int id;
char name[32] = {};
char sex;
int score;
char sql[N] = {};
char *errmsg;
printf("Input id:");
scanf("%d", &id);
printf("Input name:");
scanf("%s", name);
getchar();
printf("Input sex:");
scanf("%c", &sex);
printf("Input score:");
scanf("%d", &score);
sprintf(sql, "insert into stu values(%d, '%s', '%c', %d)", id, name, sex, score);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Insert done.\n");
}
return 0;
}
int do_delete(sqlite3 *db)
{
int id;
char sql[N] = {};
char *errmsg;
printf("Input id:");
scanf("%d", &id);
sprintf(sql, "delete from stu where id = %d", id);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Delete done.\n");
}
return 0;
}
int do_update(sqlite3 *db)
{
int id;
char sql[N] = {};
char name[32] = "zhangsan";
char *errmsg;
printf("Input id:");
scanf("%d", &id);
sprintf(sql, "update stu set name='%s' where id=%d", name,id);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("update done.\n");
}
return 0;
}
int callback(void *arg, int f_num, char ** f_value, char ** f_name)
{
int i = 0;
for(i = 0; i < f_num; i++)
{
// printf("%-8s %s", f_value[i], f_name[i]);
printf("%-8s", f_value[i]);
}
printf("++++++++++++++++++++++");
putchar(10);
return 0;
}
int do_query(sqlite3 *db)
{
char *errmsg;
char sql[N] = "select count(*) from stu where name='zhangsan';";
if(sqlite3_exec(db, sql, callback,NULL , &errmsg) != SQLITE_OK)
{
printf("%s", errmsg);
}
else
{
printf("select done.\n");
}
}
int do_query1(sqlite3 *db)
{
char *errmsg;
char ** resultp;
int nrow;
int ncolumn;
if(sqlite3_get_table(db, "select * from stu", &resultp, &nrow, &ncolumn, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
return -1;
}
else
{
printf("query done.\n");
}
int i = 0;
int j = 0;
int index = ncolumn;
for(j = 0; j < ncolumn; j++)
{
printf("%-10s ", resultp[j]);
}
putchar(10);
for(i = 0; i < nrow; i++)
{
for(j = 0; j < ncolumn; j++)
{
printf("%-10s ", resultp[index++]);
}
putchar(10);
}
return 0;
}
int main(int argc, const char *argv[])
{
sqlite3 *db;
char *errmsg;//errmsg是一个二级指针,定义一个一级指针取地址。
int n;
if(sqlite3_open(DATABASE, &db) != SQLITE_OK)
{
printf("%s\n", sqlite3_errmsg(db));
return -1;
}
else
{
printf("open DATABASE success.\n");
}
if(sqlite3_exec(db, "create table if not exists stu(id int, name char , sex char , score int);",NULL, NULL, &errmsg) != SQLITE_OK)//分号可加可不加
{
printf("%s\n", errmsg);
}
else
{
printf("Create or open table success.\n");
}
while(1)
{
printf("********************************************\n");
printf("1: insert 2:query 3:delete 4:update 5:quit\n");
printf("********************************************\n");
printf("Please select:");
scanf("%d", &n);
switch(n)
{
case 1:
do_insert(db);
break;
case 2:
do_query(db);
// do_query1(db);
break;
case 3:
do_delete(db);
break;
case 4:
do_update(db);
break;
case 5:
printf("main exit.\n");
sqlite3_close(db);
exit(0);
break;
default :
printf("Invalid data n.\n");
}
}
return 0;
}
五、一个小作业
写了好久,代码不是很完善但是基本功能都实现了,并预留了接口等什么时候不忙了进行二次开发。
#include
#include
#include
#include
#include
#define DATABASE "fruit.db"
#define N 128
int do_insert(sqlite3 *db)
{
int id;
char name[32] = {};
float price;
int number;
char sql[N] = {};
char *errmsg;
printf("Input id:");
scanf("%d", &id);
puts("");
printf("Input name:");
scanf("%s", name);
getchar();
puts("");
printf("Input price:");
scanf("%f", &price);
puts("");
printf("Input number:");
scanf("%d", &number);
puts("");
sprintf(sql, "insert into fruit values(%d, '%s', %f, %d)", id, name, price, number);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("stock done.\n");
}
return 0;
}
int do_delete(sqlite3 *db)
{
int id;
char sql[N] = {};
char *errmsg;
char a;
char name[32] = {};
printf("Are you sure you don`t want this fruit!(Y/N)\n");
scanf("%c",&a);
if (a == 'Y' || a == 'y'){
printf("Input fruit:");
scanf("%s", name);
getchar();
puts("");
sprintf(sql, "delete from fruit where name = '%s'", name);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Delete done.\n");
}
}
return 0;
}
int do_update(sqlite3 *db)
{
int id;
char sql[N] = {};
char name[32] = {};
char *errmsg;
float price;
printf("Input fruit:");
scanf("%s", name);
getchar();
puts("");
printf("Input price");
scanf("%f", &price);
puts("");
sprintf(sql, "update fruit set price=%f where name = '%s'", price,name);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("update done.\n");
}
return 0;
}
int callback(void *arg, int f_num, char ** f_value, char ** f_name)
{
int i = 0;
for(i = 0; i < f_num; i++)
{
// printf("%-8s %s", f_value[i], f_name[i]);
printf("%-8s", f_value[i]);
}
printf("\n++++++++++++++++++++++++++++++++");
putchar(10);
return 0;
}
int do_query(sqlite3 *db)
{
printf("++++++++++++++++++++++++++++++++\n");
char *errmsg;
//char sql[N] = "select count(*) from fruit where name='zhangsan';";
char sql[N] = "select * from fruit;";
if(sqlite3_exec(db, sql, callback,NULL , &errmsg) != SQLITE_OK)
{
printf("%s", errmsg);
}
else
{
printf("select done.\n");
}
}
int do_query1(sqlite3 *db)
{
char *errmsg;
char ** resultp;
int nrow;
int ncolumn;
if(sqlite3_get_table(db, "select * from fruit", &resultp, &nrow, &ncolumn, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
return -1;
}
else
{
printf("query done.\n");
}
int i = 0;
int j = 0;
int index = ncolumn;
for(j = 0; j < ncolumn; j++)
{
printf("%-10s ", resultp[j]);
}
putchar(10);
for(i = 0; i < nrow; i++)
{
for(j = 0; j < ncolumn; j++)
{
printf("%-10s ", resultp[index++]);
}
putchar(10);
}
return 0;
}
#if 0 //FIXME//cuowu
static int callback1(void *data,int argc,char **argv,char **azColName)
{
int i;
fprintf(stderr,"%s:",(const char *)data);
for(i=0;itm_year+1900,ge->tm_mon+1,ge->tm_mday,ge->tm_hour,ge->tm_min,ge->tm_sec);
printf("Input fruit:");
scanf("%s", name);
getchar();
puts("");
printf("Input number");
scanf("%d", &number);
puts("");
sprintf(sql2, "insert into sell values(%d, '%s', %f, %d, '%s')", id, name, price, number, buf);
if(sqlite3_exec(db, sql2, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("stock done.\n");
}
#if 1
char *errmsg1;
char ** resultp;
int nrow;
int ncolumn;
char sql1[N] = {};
sprintf(sql,"select number from fruit where name = '%s';",name);
if(sqlite3_get_table(db, sql1, &resultp, &nrow, &ncolumn, &errmsg1) != SQLITE_OK)
{
printf("%s\n", errmsg1);
return -1;
}
else
{
number = (int)resultp - number;
printf("query done.\n");
}
#endif
sprintf(sql, "update fruit set number='%d' where name='%s'", number, name);
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("sell done.\n");
}
return 0;
}
void help()
{
printf("1:stock,Input id,name,price,number\n");
printf("2:Inquire the price and allowance of all fruits\n");
printf("3:Delete fruit that is sold out and never comes in again\n");
//XXX
}
int do_stock_list(db)
{
//TODO
return 0;
}
int do_sell_list(db)
{
//TODO
return 0;
}
int main(int argc, const char *argv[])
{
sqlite3 *db;
char *errmsg;//errmsg是一个二级指针,定义一个一级指针取地址。
int n;
if(sqlite3_open(DATABASE, &db) != SQLITE_OK)//打开数据库
{
printf("%s\n", sqlite3_errmsg(db));
return -1;
}
else
{
printf("open DATABASE success.\n");
}
if(sqlite3_exec(db, "create table if not exists fruit(id int, name char , price float , number int);",NULL, NULL, &errmsg) != SQLITE_OK)//分号可加可不加 商品价格数量表
{
printf("%s\n", errmsg);
}
else
{
printf("Create or open table success.\n");
}
if(sqlite3_exec(db, "create table if not exists sell(id int, name char , price float ,number int, time char);",NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("%s\n", errmsg);
}
else
{
printf("Create or open table success.\n");
}
while(1)
{
printf("*******************************************************************************\n");
printf("1:stock 2:price 3:delete 4:update 5:quit 6:sell 7:stock_list 8:sell_list 9:help\n");
printf("*******************************************************************************\n");
printf("Please select:");
scanf("%d", &n);
switch(n)
{
case 1:
do_insert(db);
break;
case 2:
do_query(db);
// do_query1(db);
break;
case 3:
do_delete(db);
break;
case 4:
do_update(db);
break;
case 5:
printf("main exit.\n");
sqlite3_close(db);
exit(0);
break;
case 6:
do_sell(db);
break;
//XXX//mianqiangnenggongzuo
case 7:
do_stock_list(db);
break;
case 8:
do_sell_list(db);
break;
case 9:
help();
break;
default :
printf("Input error\n");
}
}
return 0;
}
你可能感兴趣的:(Linux,数据库,linux,嵌入式,c语言,数据库)
云原生kubernetes五 :pod创建流程
k8s小王
《云原生 Kubernetes篇》 kubernetes 容器 云原生
目录1.pod创建流程一、资源类型二、创建资源配置清单三、编写一个自定义配置清单1.pod创建流程kubernetesPod创建的工作流:第一步:kubectl向apiserver发起一个createpod请求第二步:apiserver接收到pod创建请求后,不会去直接创建pod,而是生成一个包含创建信息的yaml。第三步:apiserver将刚才的yaml信息写入etcd数据库。到此为止仅仅是在
3.1 RK3588 MPP硬件编码YUYV为H264(待更新)
kw23571113
RK3588入门教程 h.264
3.1.1资源功能描述获取USB摄像头1080P@5fpsYUYV格式图片,经过MPP编码成H264,然后写入文件。3.1.2开发环境准备(使用rock5b_debain开发)#下载依赖应用sudoaptinstall-ygitmakecmakegccg++wget#下载mpp库githttps://github.com/rockchip-linux/mpp.gitcd./mpp/build/li
哪个python解释器好?
lmseo5hy
python培训 python解释器
Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器:CPython当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行pytho
迅为itop-RK3568指导手册:解锁RK3568芯片的无限潜能
戴瑾靓
迅为itop-RK3568指导手册:解锁RK3568芯片的无限潜能【下载地址】迅为itop-RK3568指导手册迅为itop-RK3568指导手册项目地址:https://gitcode.com/Open-source-documentation-tutorial/a1af8项目介绍在嵌入式开发领域,选择合适的芯片和获取高质量的技术文档是成功的关键。迅为itop-RK3568指导手册正是为此而生。
基于 Linux 系统(迅为 iTOP-4412)设计的倒车雷达系统
鱼弦
Linux系统编程与驱动开发 linux 运维 服务器
鱼弦:公众号:红尘灯塔,CSDN博客专家、内容合伙人、新星导师、全站领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)基于Linux系统(迅为iTOP-4412)设计的倒车雷达系统介绍倒车雷达系统是一种辅助驾驶系统,它通过超声波传感器检测车辆后方障碍物,并通过声音或视觉信号向驾
VOSK语音识别工具包使用教程
邴联微
VOSK语音识别工具包使用教程voskVOSKSpeechRecognitionToolkit项目地址:https://gitcode.com/gh_mirrors/vo/vosk1.项目介绍VOSK是一个开源的语音识别工具包,旨在提供高效的语音识别解决方案。VOSK基于大规模信号数据库概念,通过音频指纹技术进行语音识别。它支持多种语言,并且可以在不同的硬件平台上运行,包括Android和Linu
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第5章 UART接口运作机制
北京迅为
鸿蒙 harmonyos 鸿蒙 嵌入式硬件 人工智能 RK3568
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和MaliG522EE图形处理器。RK3568支持4K解码和1080P编码,支持SATA/PCIE/USB3.0外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568支持安卓11和linux系统,主要面向物联网网关、NVR存储、工控平板、工业检测、工控盒、卡拉OK
Eclipse极速安装指南:3分钟掌握Java开发环境
三流搬砖艺术家
java java eclipse ide
目录为什么要选Eclipse?️准备工具清单步骤一:下载安装包⚙️步骤二:安装与配置步骤三:界面优化步骤四:创建第一个项目必装效率插件推荐❗常见问题排雷效率对比表为什么要选Eclipse?✅跨平台神器:Windows/Mac/Linux全支持✅免费开源:IBM开发,全球开发者共同维护✅插件生态强大:支持Java/Python/C++等20+语言✅智能代码提示:媲美IDEA的代码补全能力️准备工具清
本地大模型编程实战(25)用langgraph实现基于SQL数据构建的问答系统(4)
火云牌神
AI编程实战 sql langgraph LLM deepseek qwen
本文将演练使用基于langgraph链,对结构化数据库SQlite进行查询的方法。该系统建立以后,我们不需要掌握专业的SQL技能,可以用自然语言询问有关数据库中数据的问题并返回答案。使大语言模型(LLM)查询结构化数据与非结构化文本数据有所不同。查询非结构化数据时,通常需要将待查询的文本嵌入到向量数据库中;而查询结构化数据的方法则是让LLM编写和执行DSL(例如SQL)进行查询。在用langcha
Anaconda的详细配置过程(附图)
椰卤工程师
机器学习 anaconda tensorflow
Anaconda是Python的一个科学计算发行库,内置了上千个Python经常会用到的库,包括Scikit-learn、Numpy、Scipy、Pandas等。1.Anaconda下载下载地址:https://www.anaconda.com/download/官网下载速度很慢,慎用!建议通过国内镜像网站下载。Anaconda是跨平台的,有Windows、macOS、Linux版本,博主这里以W
linux shell脚本 cp,shell命令之cp
李启方
linux shell脚本 cp
操作系统为macOS10.12.4cp为复制命令,实际中分为文件间的复制,目录间的复制,文件到目录的复制以及链接的复制。文件间的复制cpfile1file2如果file2不存在,就先创建file2,然后把file1内容复制到file2中如果file2存在,把把file1的内容覆盖file2的内容覆盖file2的内容,有时候并不是所希望的参数-i可以提示是否覆盖file2参数-n让复制命令不覆盖fi
Android 数据库查询对比(APN案例)
Dic-
# Android APP AOSP # Data Network (APN) android 数据库 数据库开发 Telephony
功能背景APN数据通常存储在数据库中,由TelephonyProvider提供。当用户进入APN设置界面时,Activity会启动,AOSP源码通过ContentResolver查询APN数据。关键分析点在于这个查询操作是否在主线程执行,因为主线程上的耗时操作会导致ANR。技术演进补充自Android9(API28)起,系统对Telephony.Carriers表的访问增加了权限限制:需要Carr
第七章:结构体与复合数据
0720的IT库
C/C++ c语言 改行学it 开发语言 算法
目录一、引言二、结构体基础2.1结构体定义2.2结构体变量的声明与初始化三、结构体对齐3.1结构体对齐的概念3.2影响结构体对齐的因素四、链表实现4.1链表的基本概念4.2单向链表的实现五、学生管理系统升级版实现5.1系统需求升级一、引言在C语言编程中,处理复杂数据时,简单的数据类型往往捉襟见肘。结构体作为一种复合数据类型,允许将不同类型的数据组合在一起,形成一个有机的整体。而链表作为一种基于结构
控制对文件的访问
上邪o_O
linux 运维
什么是文件系统权限?它是如何工作的?如何查看文件的权限?文件系统权限是一种安全机制,用于控制用户和组对文件和目录的访问权限。它规定了不同用户角色(所有者、所属组、其他用户)对文件或目录可以执行的操作,如读取、写入和执行。Linux系统为每个文件和目录分配了三组权限,分别对应文件的所有者、所属组和其他用户。每组权限包含读取(r)、写入(w)和执行(x)三种基本权限。当用户尝试访问文件或目录时,系统会
3月1日(信息差)
eqwaak0
信息差 人工智能 开发语言 学习 python 开源软件
第一章信息差的技术本质:从数据流动到认知断层1.1全球科技信息链的拓扑结构在数字地球的神经系统里,信息差已演变为多层级复杂网络的结构性矛盾。通过测绘全球科技数据流动图谱可见:graphLRA[实验室原始数据]-->B[企业研发数据库]B-->C[政府监管平台]C-->D[证券交易所]D-->E[媒体传播网络]E-->F[公众认知池]F-->G[市场行为反馈]每个节点的信息过滤效率差异导致认知断层:
物联网智能项目实战:从概念到实现
程序猿!=程序员
物联网
引言物联网(IoT)正在以前所未有的速度改变着我们的生活,从智能家居到工业自动化,物联网的应用无处不在。作为一名嵌入式工程师,掌握物联网技术并将其应用于实际项目中,是提升自身竞争力的关键。本文将带你从零开始,一步步完成一个物联网智能项目的开发,涵盖项目构思、硬件选型、软件开发、云平台接入等关键环节。一、项目构思首先,我们需要明确项目的目标和功能。以下是一些物联网智能项目的灵感来源:智能家居:智能灯
C语言习题~day38
TU^
C Problem c语言 算法 数据结构
1.添加逗号对于一个较大的整数N(1intmain(){intn=0;scanf("%d",&n);intk=0;inti=0;chararr[14];while(n){if(k!=0&&k%3==0){arr[i++]=',';}arr[i++]=n%10+'0';n=n/10;k++;}for(i--;i>=0;i--){printf("%c",arr[i]);}return0;}2.删除公共
wordpress使用CorePress主题设置项总结
linlinlove2
wordpress二次开发 wordpress主题开发
宝塔面板设置软件商店中安装的软件有:(宝塔网站加速3.1)(Nginx1.18.0)(MySql5.6.50)(PHP-5.6)(phpMyAdmin4.4)(Python项目管理器1.9)(又拍云存储4.5)(Linux工具箱1.4)(宝塔SSH终端1.0)(Nginx免费防火墙5.3)网站:首次添加站点选择自动创建数据库网站–>SSL:申请免费Let’sEncrypt证书,并开启强制https
嵌入式的应用领域、现状及未来趋势
Lemon__L
嵌入式 嵌入式 现状/趋势
嵌入式的应用领域、现状及未来趋势随着科技进步,嵌入式的出现,以及人们对生活质量,产品的智能化,成本的要求等,以及国家对与物联网、电子、科技的扶持,大量的电子产品都促使嵌入式的快速发展。使用嵌入式的产品如我们常用的手机、平板电脑、电子字典、可视电话、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表
PostgreSQL中的外键与主键
骐骥1月
postgresql 数据库 外键
在PostgreSQL中,外键(ForeignKey)是一种用于建立表间关联的数据库约束机制,其核心作用与主键(PrimaryKey)有显著区别。以下是详细解析:一、外键的定义与作用定义外键是表中的一个或多个字段,其值必须引用另一个表(父表)的主键或唯一键。例如,订单表中的customer_id字段可以是客户表主键id的外键核心作用维护参照完整性:确保子表(外键所在表)的数据必须存在于父表中,避免
Django 模型
jay丿
django sqlite 数据库
Django模型在Django框架中,模型(Model)是ORM(对象关系映射)的核心,它允许开发者以面向对象的方式操作数据库。模型类定义了数据库表的结构,每个实例代表表中的一行记录。在前面的基础上,我们将进一步扩写模型相关的内容,包括模型继承、自定义管理器、信号以及模型的生命周期等。1.模型继承Django支持模型的继承,这有助于代码重用和逻辑组织。模型继承分为抽象基类模型和多态模型两种。抽象基
django数据查询
jay丿
django sqlite 数据库
在Django中,模型(Model)是与数据库表进行交互的桥梁。通过模型,你可以执行数据的增删改查(CRUD)操作。以下是对Django模型操作的详细扩展,包括数据查询的高级用法。数据查询基本查询获取单个对象student=Student.objects.get(pk=1)#获取主键为1的学生对象注意:如果查询不到对象,get()方法会抛出DoesNotExist异常。获取多个对象students
一文速通MongoDB
C__C..
数据库 mongodb nosql
MongoDB是一个开源的、面向文档的NoSQL数据库管理系统,与传统的关系型数据库(如MySQL)不同,MongoDB存储数据的方式更加灵活,不需要固定的表结构和模式。MongoDB的一些关键特性:文档型存储:MongoDB使用BSON(二进制JSON)格式存储数据,数据以文档的形式组织。每个文档类似于JSON对象,可以包含键值对、数组、嵌套文档等多种结构。无模式设计:MongoDB不要求事先定
python汽车数据分析可视化系统 Django框架 爬虫+Vue框架 Echarts可视化大屏 懂车帝(源码) ✅
Q_2564007092
python 汽车 数据分析
python汽车数据分析可视化系统Django框架爬虫+Vue框架Echarts可视化大屏(源码)✅1、项目介绍技术栈:Python语言Django框架vue框架mysql数据库requests爬虫Echarts可视化HTML该系统的技术栈包括:Python语言:用于数据分析与处理、爬虫、后端开发等。Django框架:一款使用Python语言开发的Web应用程序框架,用于快速搭建后端服务。Vue框
AI大模型-提示工程学习笔记21-图提示 (Graph Prompting)
9命怪猫
AI 人工智能 学习 大模型 ai prompt
目录1.图提示的核心思想(1)传统提示的局限性(2)GraphPrompting的解决方案2.GraphPrompting的工作流程(1)图构建(2)图选择/子图提取(3)图编码(4)提示构建(5)LLM推理与生成3.GraphPrompting的关键组件(1)大语言模型(LLM)(2)图数据库(GraphDatabase)(3)图编码器(GraphEncoder)(4)提示模板(PromptTe
SQL 插入数据详解
ADFVBM
面试 学习路线 阿里巴巴 sql 数据库 服务器
本文介绍如何利用SQL的INSERT语句将数据插入表中。1.数据插入顾名思义,INSERT用来将行插入(或添加)到数据库表。插入有几种方式:插入完整的行;插入行的一部分;插入某些查询的结果。下面逐一介绍这些内容。1.1插入完整的行把数据插入表中的最简单方法是使用基本的INSERT语法,它要求指定表名和插入到新行中的值。下面举一个例子:INSERTINTOCustomersVALUES(100000
嵌入式边缘计算:融合创新与未来展望
嵌入式大圣
边缘计算 人工智能 大数据
本文深入探讨了嵌入式边缘计算。首先解析了其概念,指出它是将计算和数据存储能力嵌入边缘设备以实现本地数据处理。阐述了其低延迟、高可靠性、节省带宽、隐私保护和高效节能等技术特点。接着介绍了关键技术,包括嵌入式系统设计、边缘计算架构、通信技术和数据分析与处理技术。在应用领域方面,涵盖了工业物联网、智能交通、智能家居和医疗保健等。最后展望了未来发展趋势,包括技术融合与创新、应用拓展与深化以及生态系统的完善
Linux 学习必杀技:从菜鸟到高手的蜕变密码
羑悻的小杀马特.
linux 学习 运维 服务器 Linux
踏入Linux奇幻世界,借C++利刃,解锁文件、进程、网络等核心编程奥秘。附实用学习法与精选好书,助你从菜鸟一跃成Linux高手。一、本篇介绍:在当今的技术领域,Linux操作系统以其开源、稳定、高效等特性,占据着至关重要的地位。无论是服务器领域、嵌入式系统,还是云计算、大数据等新兴技术,Linux都发挥着核心作用。对于初学者来说,掌握Linux系统不仅能拓宽职业道路,还能深入理解计算机系统的底层
【MySQL】基础实战篇(2)—数据查询操作
m0_74824496
面试 学习路线 阿里巴巴 mysql 数据库
前言数据查询是数据库管理系统应用的主要内容,也是用户对数据库最频繁、最常见的操作请求。数据查询可以根据用户提供的限定条件,从已存在的数据表中检索用户需要的数据。MySQL使用SELECT语句既可以完成简单的单表查询、联合查询,也可以完成复杂的联接查询、子查询,从数据库中检索符合用户需求的数据,并将结果集以表格的形式返回给用户。这里写目录标题前言学习目标单表查询查询语句的基本用法字段的别名DISTI
嵌入式迷雾:现状谜团待解,未来行情走向何方?
羑悻的小杀马特.
c++ 嵌入式
嵌入式系统如同科技领域中一颗隐匿却璀璨的星辰,它悄无声息地融入我们生活的方方面面。从日常使用的智能手机、智能手表,到工业领域的自动化生产线、航空航天的飞行器控制系统,嵌入式系统无处不在。然而,尽管其应用广泛,但嵌入式领域目前却笼罩着一层迷雾,现状中的诸多谜团亟待解开,而其未来行情的走向更是备受关注。目录一·嵌入式系统概述:1·1嵌入式系统的定义:1.2嵌入式系统的特点:1.3嵌入式系统的应用领域:
redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSource expire/del incr/lpush 数据库分区 redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
SQL性能优化-持续更新中。。。。。。
atongyeye
oracle sql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
[JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
生成公钥和私钥
oloz
DSA 安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
UIView 中加入的cocos2d,背景透明
374016526
cocos2d glClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScript jquery css html5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
AngularJS实现分页功能
bijian1013
JavaScript AngularJS 分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
[Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学 unity教程 unity视频 unity资料 unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java 算法 面试 百度 招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
HIVE 窗口及分析函数
daizj
hive 窗口函数 分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHP zip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
基于Java注解的Spring的IoC功能
e200702084
java spring bean IOC Office
java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
Swift语法之 ---- ?和!区别
hongtoushizi
? swift !
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
centos7安装jdk1.7
jisonami
jdk centos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
数据源架构模式之数据映射器
home198979
PHP 架构 数据映射器 datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
在Python中使用MYSQL
pda158
mysql python
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
单例模式
hxl1988_0311
java 单例 设计模式 单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。