1.开放源代码软件类型
2.vn.py全实战进阶课程学习笔记(零)
3.Pentaho Data Integration[kettle]笔记(1)-mysql/sqlite间数据迁移
4.国外有哪些网站源码分享论坛博客?博客
5.å¦ä½å Android init.rc-ljbphoebe-ChinaUnixå客
6.栗子前端技术周刊第 39 期 - Node.js v22.5.0、Deno 1.45、源码博客园求救信...
开放源代码软件类型
开放源代码软件类型
开放源代码软件涵盖了多个领域,博客以下列举了主要类别: 1. Web服务器:如Apache、源码Kangle、博客Nginx等,源码网吧游戏盒子源码提供网上信息浏览服务。博客 2. 应用服务器:支持动态网页技术的源码服务器,如Enhydra (Java)、博客JBoss (Java)、源码Open3 (XML)等。博客 3. 消息服务器/消息平台:如ArsDigita (Tcl & Java)、源码Exolab Group (J2EE)、博客Zend (PHP)等,源码作为网络节点,博客专门存储、转发网络数据。 4. 企业应用程序:如Compiere (ERP+CRM)、Gnome Planner、ArsDigita、phpgroupware、J2EE、Akopia、Compiere (ERP+CRM)、openapplications、OpenBiblio等。 5. 博客软件:如b2evolution (PHP+MySQL)、BLOG:CMS (PHP)等,提供网络日志发布与交流。 6. 无线应用程序:如kannel、Jwap、Ophelia等,支持远距离无线连接与数据传输。 7. 论坛应用:如phpbb、BMForum、phpwind等,提供BBS站点的图像拼接软件源码信息交流与讨论。 8. 数据库软件:如BerkelayDB、MySQL、SQLite等,用于存储、管理数据。 9. 桌面环境:如GNOME、GNUstep、KDE等,提供用户界面与应用程序套件。 . 窗口管理:如Afterstep、Twm、fvwm、Window Maker等,实现用户与计算机信息交换。 . CD刻录软件:如CD Record、Freeburn、Xfburn等,用于CD刻录与读取。 . 文件编辑类:如Gnome Office、KeyNote、FPDF、GNU TeXmacs、FreeDOS edlin、HTMLarea、AbiWord等,提供文件编辑与处理功能。 . 教育软件:如ILIAS、FlashKard、KBruch、BioJava、GNU Typist、KEduca等,支持学习与教育。 . 金融相关软件:如GnuCash、JCash、JMoney等,怎么编写棋牌源码管理资金与财务。 . 游戏类软件:如Abuse、Falcon's Eye、Java Risk、UFO、XulMine等,提供娱乐与休闲功能。 . 网络及因特网类软件:如Magic Mail Monitor 3、AMSN、Slrn、Samba、eMule、RealVNC、Galeon、Dorgem、HTTrack、Apache Tomcat、OpenLDAP等,支持网络通信与浏览器功能。 . 数学软件:如GAP、MAⅪMA、SINGULAR等,用于数学运算与绘图。 . 媒体类软件:如CD-DA X-Tractor、GOCR/JOCR、JCDSee、CoolPlayer、GNU VCDImager等,管理与播放音频、图像与视频。 . 操作系统类:如开源Unix (System V/ BSD)、FreeDOS、Linux、Menuet等,管理计算机资源与硬件。 . 密码管理软件:如Password Safe、互粉之家 源码PINs等,保护用户账号与密码。 . 个人信息管理软件:如Elephant Memory、KAddressbook、KOrganizer等,管理个人资料与信息。 . 编程语言:如DJGPP、GCC、Open、Objective CAML、PHP等,编写与执行计算机程序。 . 屏幕保护软件:如Flurry、KISS Image Screen Saver、Really Slick Screensavers、xmatrix等,保护显示器与提供娱乐。 . 安全软件:如Open Antivirus、GnuPG、Coyote Linux、OpenSSH、Stunnel等,保障网络安全与数据安全。 上述软件类型覆盖了多个领域的应用,为用户提供全面的解决方案与功能支持。扩展资料
开放源码软件《open-source》是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有copyright的,它的许可证可能包含这样一些限制: 著意的保护它的开放源码状态,著者身份的公告,或者开发的控制。“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。vn.py全实战进阶课程学习笔记(零)
刚接触量化投资,工长俱乐部系统源码对量化投资充满兴趣,在闲暇时间进行学习,只能进行少量资金实践。现阶段的计划是阅读 vn.py 的源码,学习其架构机制,通过分享笔记加深理解。如果有不对的地方,欢迎指正。分享的仓库:github.com/PanAndy/quan...
觉得内容有收获,欢迎关注公众号,获取更多资源。学习过程中,我也收集了一些量化、技术的视频及书籍资源,欢迎大家关注公众号亚里随笔获取。
本系列博客是对 vnpy 官方课程《 vn.py全实战进阶课程》的学习整理,旨在梳理课程内容,介绍源码实现,并参考《 vnpy项目文档》。实验操作也将根据课程进行,力求复现过程,用截图记录。
以下记录了配置 vnpy 回测与实盘环境的相关内容。
MySQL 数据库配置
初次接触 vnpy 使用 sqlite 数据库,但在 UI 界面加载数据时较为卡顿,可能是数据库问题。重新安装 vnpy 时,选择配置 mysql 数据库。
配置流程包括:安装 mysql、创建数据库、vnpy 数据库配置。整体配置流畅,未遇报错。
MySQL 安装与创建数据库
从 MySQL 官网下载 windows 版本安装包,一路默认安装。记住 root 账户密码,其他设置默认。
安装完成后,自动启动 MySQL WorkBench,连接数据库时输入 root 密码创建连接。需手动创建 vnpy 数据库。
在数据库管理界面,点击创建新数据库按钮,输入 vnpy 作为名称,完成数据库创建。
vnpy 数据库配置
数据库创建后,启动 VN Trader,配置数据库相关字段,保存配置后重启 VN Trader。配置成功后,数据库使用无误。
刷新 MySQL WorkBench,确认数据库表结构已创建。同时,检查 C:\Users\xxx\.vntrader\vt_setting.json 文件,验证配置更新。
rqdata 数据服务配置
申请了 天的 rqdata 试用账号,计划购买数据服务。参考官方文档《 vn.py 快速入门7 - 历史数据回测优化》进行配置。
申请试用权限
通过米筐量化平台申请,获得 天免费试用权限。注意,教育专区申请只能在校园网内使用,个人使用时需关注申请方式。
参数配置
收到授权邮件后,获取试用账号和密码。在 vnstation 配置表单中填写,重启 vnstation 完成配置。
simnow 仿真环境配置
首次配置 simnow 仿真环境,参考 vnpy 官方《 vn.py 快速入门2 - 国内期货CTP》。主要记录配置步骤,确保无意外。
准备账号
通过上期技术官方获取的 simnow 仿真交易环境账号。完成注册与登录,注意手机号验证与注册时间。
接口登录与合约查询
启动 VN Trader Pro,连接 CTP 接口,配置连接信息。使用合约查询功能查看合约。订阅行情,注意价格显示与更新频率。
交易下单与委托成交
进行买卖下单与委托操作,关注资金与持仓变化。了解平仓规则与资金管理。
实盘交易准备
熟悉仿真环境后,准备使用 CTP 进行实盘交易。注意实盘交易与仿真环境的差异。
Pentaho Data Integration[kettle]笔记(1)-mysql/sqlite间数据迁移
为了将sqlite3数据库中表SYL_COURSE_LIST的特定字段数据迁移至MySQL数据库表DST_COURSE_LIST,本文将详细指导操作步骤。首先,需明确两个数据库表的结构:
SYL_COURSE_LIST表结构如下:
CREATE TABLE SYL_COURSE_LIST(
COURSE_NAME CHAR() NOT NULL,
COURSE_DESC CHAR() NOT NULL,
COURSE_USERS CHAR() NOT NULL,
COURSE_URL CHAR() PRIMARY KEY,
COURSE_IMG CHAR() NOT NULL,
COURSE_TYPE CHAR() NOT NULL,
INDATE TIMESTAMP DEFAULT (datetime('now','localtime'))
);
DST_COURSE_LIST表结构如下:
CREATE TABLE `DST_COURSE_LIST` (
`COURSE_NAME` varchar() NOT NULL,
`COURSE_DESC` varchar() NOT NULL,
`COURSE_USERS` varchar() NOT NULL,
`id` int() NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
接下来,通过Pentaho Data Integration (Kettle) 实现数据迁移操作,具体步骤如下:
1. 打开Spoon,拖入表输入和表输出步骤至工作区。
2. 配置表输入步骤,选择sqlite3数据库连接信息,确保正确填写URL、驱动类等参数。
3. 配置SQL语句,获取SYL_COURSE_LIST表中指定字段的数据。
4. 配置表输出步骤,连接MySQL数据库,正确输入数据库连接参数。
5. 在表输出步骤中,勾选“指定数据库字段”,并设置流字段与目标字段的映射关系。
6. 为了避免中文乱码,添加编码设置参数,确保数据正确解析。
7. 运行步骤,验证迁移结果。
在实施过程中,可能会遇到数据库连接错误,这是由于MySQL驱动未正确安装或配置。确保下载并安装MySQL JDBC驱动(可以从 dev.mysql.com/downloads... 获取),将文件复制至Kettle的lib目录下,重启Spoon并重新配置数据库连接。
最终,目标表DST_COURSE_LIST应包含迁移后的数据,确保迁移过程顺利进行。
欲了解更多原创内容,欢迎访问金笔头博客。
国外有哪些网站源码分享论坛博客?
国外有许多网站源码分享的论坛和博客,搜索这些资源可以帮助你找到合适的平台。在这些平台中,你可以找到大量的开源代码、教程、讨论和项目分享。以下是一些知名的国外网站源码分享论坛博客:
1. CSDN博客: blog.csdn.net
2. 源码之家: ymzhao.com
3. 博客园: cnblogs.com
4. CTO博客: blog.cto.com
在寻找合适的博客站点时,可以浏览这些平台,查看它们提供的内容和社区氛围。中国的博客站点如新浪博客、网易博客、搜狐博客、百度空间和人民网博客,也提供免费的个人博客服务,并且各有特色。
此外,还有多种免费或付费的在线论坛专注于网站源码分享,包括:
1. sitepoint.com/
2. quora.com/
3. webmasterworld.com/
4. reddit.com/r/webdev/
对于开源数据库及CMS系统,以下网站是值得参考的资源:
1. MySQL: mysql.com/
2. PostgreSQL: postgresql.org/
3. SQLite: sqlite.org/
4. MongoDB: mongodb.com/
5. Redis: redis.io/
6. CouchDB: couchdb.apache.org/
通过搜索这些资源和平台,你可以找到适合自己需求的网站源码分享论坛博客。
å¦ä½å Android init.rc-ljbphoebe-ChinaUnixå客
ããCommands:å½ä»¤
ããActions: å¨ä½
ããTriggers: 触åæ¡ä»¶
ããServices: æå¡
ããOptions: é项
ããPropertise: å±æ§
ãã(1) Commandsæ¯ä¸äºåºæ¬çæä½ï¼ä¾å¦ï¼
ããmkdir /sdcard system system mkdir /system
ããmkdir /data system system
ããmkdir /cache system cache
ããmkdir /config root root
ããmkdir /sqlite_stmt_journals root root
ããmount tmpfs tmpfs /sqlite_stmt_journals size=4m
ããè¿äºå½ä»¤å¨initå¯æ§è¡ç¨åºä¸è¢«è§£æï¼ç¶åè°ç¨ç¸å ³çå½æ°æ¥å®ç°ã
ãã(2) Actions(å¨ä½)表示ä¸ç³»åçå½ä»¤ï¼é常å¨Triggersï¼è§¦åæ¡ä»¶ï¼ä¸è°ç¨ï¼å¨ä½å触åæ¡ä»¶çå½¢å¼ä¸ºï¼
ããon
ãã
ãã
ãã
ããå¨ä½ç使ç¨ç¤ºä¾å¦ä¸ï¼
ããon init
ããexport PATH /sbin:/system/sbin:/system/bin:/system/xbin
ããmkdir /system
ããinit表示ä¸ä¸ªè§¦åæ¡ä»¶ï¼è¿ä¸ªè§¦åäºä»¶åçåï¼è¿è¡è®¾ç½®ç¯å¢åéå建ç«ç®å½çæä½ç§°ä¸ºä¸ä¸ªâå¨ä½â
ãã(3) Servicesï¼æå¡ï¼é常表示å¯å¨ä¸ä¸ªå¯æ§è¡ç¨åºï¼Optionsï¼é项ï¼æ¯æå¡çéå å 容ï¼ç¨äºé åæå¡ä½¿ç¨ã
ããservice vold /system/bin/vold
ããsocket vold stream root mount
ããservice bootsound /system/bin/playmp3
ããuser media
ããgroup audio
ããoneshot
ããvoldåbootsoundåå«æ¯ä¸¤ä¸ªæå¡çå称ï¼/system/bin/voldå/system /bin/playmp3åå«æ¯ä»ä»¬æ对åºçå¯æ§è¡ç¨åºã
ããsocketãuserãgroupãoneshotå°±æ¯é åæå¡ä½¿ç¨çé项ãå ¶ä¸oneshoté项表示该æå¡åªå¯å¨ä¸æ¬¡ï¼èå¦æ没æoneshoté项ï¼
ããè¿ä¸ªå¯æ§è¡ç¨åºä¼ä¸ç´åå¨--å¦æå¯æ§è¡ç¨åºè¢«ææ»ï¼åä¼éæ°å¯å¨ã
ãã(4) Propertiesï¼å±æ§ï¼æ¯ç³»ç»ä¸ä½¿ç¨çä¸äºå¼ï¼å¯ä»¥è¿è¡è®¾ç½®å读åã
ããsetprop ro.FOREGROUND_APP_MEM
ããsetprop ro.VISIBLE_APP_MEM
ããon property:ro.kernel.qemu=1
ããstart adbd
ããsetprop ç¨äºè®¾ç½®å±æ§ï¼on propertyå¯ä»¥ç¨äºå¤æå±æ§ï¼è¿éçå±æ§å¨æ´ä¸ªAndroidç³»ç»è¿è¡ä¸é½æ¯ä¸è´çã
ããinitèæ¬çå ³é®åå¯ä»¥åèinitè¿ç¨çsystem/core/init/keyword.hæ件ã
ããinit.rcç使ç¨æ¹æ³ï¼å¯ä»¥åè说ææ件system/core/init/readme.txt
ããå¦ææ³è¦ä¿®æ¹å¯å¨è¿ç¨åªéè¦ä¿®æ¹init.cï¼system/core/initï¼æè init.rcéçå 容å³å¯.
ããå¦ä½å»å
ããAndroid init.rc (Android init language)
ããAndroid åå§åè¯è¨ç±å大类声æç»æ : è¡ä¸ºç±» (Actions), å½ä»¤ç±» (Commands) ï¼æå¡ç±» (Services), é项类 (Options).
ãã* åå§åè¯è¨ä»¥è¡ä¸ºåä½ï¼ç±ä»¥ç©ºæ ¼é´éçè¯è¨ç¬¦å·ç»æã C é£æ ¼çåææ 转ä¹ç¬¦å¯ä»¥ç¨æ¥æå ¥ç©ºç½å°è¯è¨ç¬¦å·ãåå¼å·ä¹å¯ä»¥ç¨æ¥é²æ¢ææ¬è¢«ç©ºæ ¼åæå¤ä¸ªè¯è¨ç¬¦å·ãå½åææ å¨è¡æ«æ¶ï¼ä½ä¸ºæè¡ç¬¦ã
ãã* 以 # å¼å§ ( åé¢å 许æç©ºæ ¼ ) çè¡ä¸ºæ³¨éè¡ã
ãã* Actions å Services éå«å£°æä¸ä¸ªæ°ç段è½ãææ该段è½ä¸ Commands æ Options ç声æå±äºè¯¥æ®µè½ã第ä¸æ®µè½åç Commands æOptions 被忽ç¥ã
ãã* Actions å Services æ¥æç¬ä¸æ äºçå½åãå¨å®ä»¬ä¹å声æç¸åå½åçç±»å°è¢«å½ä½é误并忽ç¥ã
ããActions
ãã-------
ããActions æ¯ä¸ç³»åå½ä»¤çå½åã Actions æ¥æä¸ä¸ªè§¦åå¨ (trigger) ç¨æ¥å³å® action ä½æ¶æ§è¡ãå½ä¸ä¸ª action å¨ç¬¦å触åæ¡ä»¶è¢«æ§è¡æ¶ï¼å¦æå®è¿æ²¡è¢«å å ¥å°å¾ æ§è¡éåä¸çè¯ï¼åå å ¥å°éåæåã
ããéåä¸ç action ä¾æ¬¡æ§è¡ï¼ action ä¸çå½ä»¤ä¹ä¾æ¬¡æ§è¡ã Init å¨æ§è¡å½ä»¤çä¸é´å¤çå ¶å®æ´»å¨ ( 设å¤å建 / éæ¯ ,property 设置ï¼è¿ç¨éå¯) ã
ããActions 表ç°å½¢å¼ä¸ºï¼
ããon
ãã
ãã
ãã
ãã
ããServices
ãã--------
ããServices æ¯ç± init å¯å¨ï¼å¨å®ä»¬éåºæ¶éå¯ ( å¯é ) ã Service 表ç°å½¢å¼ä¸º :
ããservice [ ]
*ãã
ãã
ãã...
ãã
ããOptions
ãã-------
ããOptions æ¯ Services ç修饰ï¼å®ä»¬å½±å init ä½æ¶ãå¦ä½è¿è¡ service.
ãã
ããcritical
ããè¿æ¯ä¸ä¸ªè®¾å¤å ³é®æå¡ (device-critical service) . å¦æå®å¨ 4 åéå éåºè¶ è¿ 4 次ï¼è®¾å¤å°éå¯å¹¶è¿å ¥æ¢å¤æ¨¡å¼ã
ãã
ããdisabled
ããè¿ä¸ªæå¡ç级å«å°ä¸ä¼èªå¨å¯å¨ï¼å®å¿ 须被ä¾ç §æå¡åæå®å¯å¨æå¯ä»¥å¯å¨ã
ãã
ããsetenv
ãã设置已å¯å¨çè¿ç¨çç¯å¢åé çå¼
ãã
ããsocket [ [ ] ]
ããå建ä¸ä¸ªå为 /dev/socket/ ç unix domin socket ï¼å¹¶ä¼ éå®ç fd å°å·²å¯å¨çè¿ç¨ã å¿ é¡»ä¸º "dgram" æ "stream". ç¨æ·åç»é»è®¤ä¸º 0.
ãã
ããuser
ããå¨æ§è¡æå¡åæ¹åç¨æ·åãå½åé»è®¤ä¸º root. å¦æä½ çè¿ç¨éè¦ linux è½åï¼ä½ ä¸è½ä½¿ç¨è¿ä¸ªå½ä»¤ãä½ å¿ é¡»å¨è¿æ¯ root æ¶è¯·æ±è½åï¼å¹¶ä¸éå°ä½ éè¦ç uid.
ãã
ããgroup [ ]
*ããå¨æ§è¡æå¡åæ¹åç»ãå¨ç¬¬ä¸ä¸ªç»åçç»å°è®¾ä¸ºè¿ç¨éå ç» ( éè¿ setgroups()). å½åé»è®¤ä¸º root.
ãã
ããoneshot
ããå¨æå¡éåºåä¸éå¯ã
ãã
ããclass
ãã为 service æå®ä¸ä¸ªç±»å«åãåæ ·ç±»åçææçæå¡å¯ä»¥ä¸èµ·å¯å¨æåæ¢ãå¦æ没ææå®ç±»å«çæå¡é»è®¤ä¸º "default" ç±»ã
ãã
ããonrestart
ããå½æå¡éå¯æ¶æ§è¡ä¸ä¸ªå½ä»¤ã
ãã
ããTriggers
ãã--------
ããTriggers( 触åå¨ ) æ¯ä¸ä¸ªå符串ï¼å¯ä»¥ç¨æ¥å¹é æç§ç±»åçäºä»¶å¹¶æ§è¡ä¸ä¸ª action ã
ãã
ããboot
ããè¿æ¯å½ init å¼å§åæ§è¡ç第ä¸ä¸ªè§¦åå¨ ( å½ /init.conf 被å è½½ )
ãã
ãã=
ããå½ property 被设为æå®çå¼ æ¶è§¦åã
ãã
ããdevice-added-
ããdevice-removed-
ããå½è®¾å¤èç¹è¢«æ·»å æ移é¤æ¶è§¦åã
ãã
ããservice-exited-
ããå½æå®çæå¡åå¨æ¶è§¦å
ãã
ãã
ããCommands
ãã--------
ãã
ããexec [ ]
*ããFork 并æ§è¡ä¸ä¸ªç¨åº (). è¿å°è¢« block ç´å°ç¨åºæ§è¡å®æ¯ãæ好é¿å æ§è¡ä¾å¦å 建å½ä»¤ä»¥å¤çç¨åºï¼å®å¯è½ä¼å¯¼è´ init 被é»å¡ä¸å¨ã
ãã
ããexport
ãã设å®å ¨å±ç¯å¢åé çå¼ ï¼å½è¿ä¸ªå½ä»¤æ§è¡åææçè¿ç¨é½å¯ä»¥åå¾ã
ãã
ããifup
ãã使ç½ç»æ¥å£ èæºã
ãã
ããimport
ãã解æä¸ä¸ª init é ç½®æ件ï¼æ©å±å½åé ç½®æ件ã
ãã
ããhostname
ãã设置主æºå
ãã
ããchmod
ããæ¹åæ件访é®æé
ãã
ããchown
ããæ¹åæ件æå±åç»
ãã
ããclass_start
ããå½æå®ç±»å«çæå¡æ²¡æè¿è¡ï¼å¯å¨è¯¥ç±»å«ææçæå¡ã
ãã
ããclass_stop
ããå½æå®ç±»å«çæå¡æ£å¨è¿è¡ï¼åæ¢è¯¥ç±»å«ææçæå¡ã
ãã
ããdomainname
ãã设置ååã
ãã
ããinsmod
ããå è½½è¯¥è·¯å¾ ç模å
ãã
ããmkdir [mode] [owner] [group]
ããå¨ å建ä¸ä¸ªç®å½ , å¯éé项 :mod,owner,group. å¦æ没ææå®ï¼ç®å½ä»¥ æéï¼ owner 为 root,group 为 root å建 .
ãã
ããmount
ãã[ ]
*ããå°è¯ mount å°ç®å½
ãã. å¯ä»¥ç¨ mtd@name æ ¼å¼ä»¥å½åæå®ä¸ä¸ª mtd å设å¤ã å å«"ro","rw","remount","noatime".
ããä¾å¦ï¼
ããmount -t vfat -o fmask=,dmask=,rw,flush,noatime,nodiratime /dev/block/mmcblk1p1 /SD1
ããchown system system /SD1
ããchmod /SD1
ããmount -t vfat -o fmask=,dmask=,rw,flush,noatime,nodiratime /dev/block/mmcblk1p6 /SD3
ããchown system system /SD3
ããchmod /SD3
ããsetkey
ããææ¶æ²¡æ
ãã
ããsetprop
ããè®¾ç½®ç³»ç» property çå¼ .
ãã
ããsetrlimit
ãã设置 resource ç rlimit.
ãã
ããstart
ããå¯å¨ä¸ä¸ªæ²¡æè¿è¡çæå¡ã
ãã
ããstop
ããåæ¢ä¸ä¸ªæ£å¨è¿è¡çæå¡ã
ãã
ããsymlink
ããå建ä¸ä¸ª ç符å·é¾æ¥å°
ãã
ããsysclktz
ãã设置系ç»æ¶åº (GMT 为 0)
ãã
ããtrigger
ãã触åä¸ä¸ªäºä»¶ãç¨äºè°ç¨å ¶å® action ã
ãã
ããwrite [ ]
*ããæå¼ çæ件并åå ¥ä¸ä¸ªæå¤ä¸ªå符串ã
ããProperties
ãã----------
ããInit ä¼æ´æ°ä¸äºç³»ç» property 以æä¾æ¥çå®æ£å¨å¹²åã
ããinit.action
ããå½åæ£å¨æ§è¡ç action, å¦æ没æå为 ""
ãã
ããinit.command
ãã被æ§è¡çå½ä»¤ï¼å¦æ没æå为 ""
ãã
ããinit.svc.
ããå½å为 çæå¡çç¶æ ("stopped", "running", "restarting")
ãã
ãã
ããinit.rc ç¤ºä¾ :
ãã-----------------
ãã
ãã# not complete -- just providing some examples of usage
ãã#
ããon boot
ããexport PATH /sbin:/system/sbin:/system/bin
ããexport LD_LIBRARY_PATH /system/lib
ãã
ããmkdir /dev
ããmkdir /proc
ããmkdir /sys
ãã
ããmount tmpfs tmpfs /dev
ããmkdir /dev/pts
ããmkdir /dev/socket
ããmount devpts devpts /dev/pts
ããmount proc proc /proc
ããmount sysfs sysfs /sys
ãã
ããwrite /proc/cpu/alignment 4
ãã
ããifup lo
ãã
ããhostname localhost
ããdomainname localhost
ãã
ããmount yaffs2 mtd@system /system
ããmount yaffs2 mtd@userdata /data
ãã
ããimport /system/etc/init.conf
ãã
ããclass_start default
ãã
ããservice adbd /sbin/adbd
ããuser adb
ããgroup adb
ãã
ããservice usbd /system/bin/usbd -r
ããuser usbd
ããgroup usbd
ããsocket usbd
ãã
ããservice zygote /system/bin/app_process -Xzygote /system/bin --zygote
ããsocket zygote
ãã
ããservice runtime /system/bin/runtime
ããuser system
ããgroup system
ãã
ããon device-added-/dev/compass
ããstart akmd
ãã
ããon device-removed-/dev/compass
ããstop akmd
ãã
ããservice akmd /sbin/akmd
ããdisabled
ããuser akmd
ããgroup akmd
ãã
ããè°è¯
ãã---------------
ããé»è®¤æ åµä¸ï¼ init æ§è¡çç¨åºè¾åºçä¿¡æ¯åéè¯¯å° /dev/null. ä¸ºäº debug ï¼ä½ å¯ä»¥éè¿ Android ç¨åº logwrapper æ§è¡ä½ çç¨åºãè¿å°å¤ä½åè¾åº / é误è¾åºå° Android logging ç³»ç» ( éè¿ logcat è®¿é® ) ã
ãã
ãã
ãã===============================================================
ããAndroidââinit.rcèæ¬
ãã
ããå¨Androidä¸ä½¿ç¨å¯å¨èæ¬init.rcï¼å¯ä»¥å¨ç³»ç»çåå§åä¸è¿è¡ç®åçæä½ã
ããinit.rcå¯å¨èæ¬è·¯å¾ï¼system/core/rootdir/init.rc
ããå 容ï¼
ããCommands:å½ä»¤
ããActionsï¼å¨ä½
ããTriggersï¼è§¦åæ¡ä»¶
ããServices:æå¡
ããOptionsï¼é项
ããPropertiesï¼å±æ§
ããCommandsæ¯ä¸äºåºæ¬æä½ãå¦ï¼
ããmkdir /system
ããmkdir /data system system
ããmkdir /persist system system
ããdevwait /dev/block/mmcblk0p
ããmount ext3 /dev/block/mmcblk0p
ããAction表示ä¸ç³»åå½ä»¤ï¼é常å¨Triggersä¸è°ç¨ï¼å¦ï¼
ããon init //表示ä¸ä¸ªè§¦åæ¡ä»¶
ããsysclktz 0
ããloglevel 3
ãã# setup the global environment
ããexport PATH /sbin:/system/sbin:/system/bin:/system/xbin
ããexport LD_LIBRARY_PATH /system/lib
ããexport ANDROID_BOOTLOGO 1
ããServicesé常表示å¯å¨ä¸ä¸ªå¯æ§è¡ç¨åºï¼Optionsæ¯æå¡çéå å 容ï¼ç¨äºé åæå¡ä½¿ç¨ã
ããservice vold /system/bin/vold //voldæ¯æå¡å称ï¼/system/bin/voldæ¯æ对åºçå¯æ§è¡ç¨åºã
ããsocket vold stream root mount //socketæ¯é åæå¡ä½¿ç¨çé项
ããioprio be 2
ããservice netd /system/bin/netd
ããsocket netd stream root system
ããé åæå¡ä½¿ç¨çé项æsocketï¼userï¼groupï¼oneshotã
ããoneshot表示该æå¡åªå¯å¨ä¸æ¬¡ï¼èå¦æ没æoneshoté项ï¼è¿ä¸ªå¯æ§è¡ç¨åºå°ä¸ç´åå¨ââå¦æå¯æ§è¡ç¨åºè¢«ææ»ï¼åä¼éæ°å¯å¨ã
ããPropertiesæ¯ç³»ç»ä¸ä½¿ç¨çä¸äºå¼ï¼å¯ä»¥è¿è¡è®¾ç½®å读åã
ããsetprop ro.HIDDEN_APP_MEM //setpropç¨äºè®¾ç½®å±æ§
ããsetprop ro.CONTENT_PROVIDER_MEM
ããsetprop ro.EMPTY_APP_MEM
ãã...
ããon property:ro.kernel.qemu=1 //on propertyç¨äºå¤æå±æ§
ããstart adbd
ããè¿éçå±æ§å¨æ´ä¸ªandroidç³»ç»è¿è¡ä¸é½æ¯ä¸è´çã
ããinitèæ¬çå ³é®åå¯ä»¥åèinitè¿ç¨ä¸çsystem/core/init/keyword.hæ件ãå¦ï¼
ããKEYWORD(chroot, COMMAND, 1, do_chroot) //chrootæ¯å½ä»¤ï¼do_chrootï¼ï¼æ¯è°ç¨çå½æ°ï¼è¿ä¸ªå½æ°å¨initè¿ç¨ä¸çsystem/core/init/builtins.cæ件ä¸å®ä¹ã
ããä¾å¦:
ããservice akmd /system/bin/logwrapper /sbin/akmd
栗子前端技术周刊第 期 - Node.js v.5.0、Deno 1.、博客园求救信...
栗子前端技术周刊第 期 (.7. - .7.):浏览前端一周最新消息,学习国内外优秀文章视频,让我们保持对前端的好奇心。
技术资讯
Node.js v.5.0 版本现已发布,新增功能包括:WebSocket 功能的公开与 Node 内嵌 SQLite,用户可通过 node:sqlite 访问 SQLite 数据库。
Deno 1. 版本发布,改进了 Node.js 兼容性,新增工作空间和多模块支持,便于管理多个模块的代码。
博客园面临第三季度的资金缺口,呼吁开发者成为会员,为开发者提供纯净的服务环境,避免广告干扰。
jQuery 4.0 Beta 2 版本发布,更新包括测试框架的重大重写、删除过时依赖、修复导出问题,确保包在 ESM 和 CommonJS 下使用。
技术文章
深入 CSS Selectors,学习所有元素选择方法,如伪选择器、嵌套选择器和属性选择器,掌握 CSS 样式应用技巧。
了解 React 中 Hook 的五项重要原则,提高代码的可读性和可维护性,为项目开发提供有效指导。
探索复杂 Chrome 扩展的开发过程,从基础到高级,掌握构建强大插件的实践技巧。
全面解读 Pinia,一个 Vue.js 的状态管理库,学习其使用方法和最佳实践,提高应用开发效率。
开发工具
InfiniteGrid 4. 提供 PC 和移动设备兼容的瀑布流布局,与 React、Vue、Angular 等框架无缝集成。
CSS Grid 生成器,一款在线工具,帮助开发者创建自定义 CSS Grid 布局,灵活配置列数、行数和间距。
Eruda 3.1 是一款移动端调试工具,提供 Console、Elements、Network 等面板,以及多种插件,提升开发效率。
React CodeMirror,一个 React 代码编辑器组件,支持 Hook 调用和主题定制,提升代码编辑体验。
MDXEditor 3.8,一个 React Markdown 编辑器组件,简化 Markdown 文档编写,内置 JSX 编辑器,支持丰富语法。
以上资讯和文章内容精选自行业周刊,持续更新优化,欢迎关注微信公众号:栗子前端,获取更多前端技术资源。