ABAP基础之选择屏幕
PARAMETERS
1 | 语法: PARAMETERS {para[(len)]}|{para [LENGTH len]} [type_options] [screen_options] [value_options]. |
1 | 语法: PARAMETERS {para[(len)]}|{para [LENGTH len]} [type_options] [screen_options] [value_options]. |
1 | SELECT SINGLE * FROM TABLE INTO WA WHERE ID=?. IF SY-SUBRC = 0. ...do something SELECT SINGLE MATNR ERSDA INTO (GV_MATNR, GV_ERSDA) FROM MARA WHERE ERSDA = '20150701'. |
1 | DATA: GS_1 TYPE ZTPX001. TABLES: ZTPX001. DATA: BEGIN OF GS_2, ZNUMBER LIKE ZTPX001-ZNUMBER, ZNAME LIKE ZTPX001-ZNAME, END OF GS_2. DATA: BEGIN OF GS_3. DATA: ZX TYPE C. INCLUDE STRUCTURE ZVPX001. DATA: END OF GS_3. |
1.函数式编程
1 | var isType = function(type) { |
1.异步I/O与非阻塞I/O
轮询
获取数据
1.uname -a
,可显示电脑以及操作系统的相关信息。
2.cat /proc/version
,说明正在运行的内核版本。
3.cat /etc/issue
, 显示的是发行版本信息
4.lsb_release -a
, (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)
5.uname -r
,输出版本号
6.ls -l |grep "^-"|wc -l
,统计某文件夹下文件的个数
7.ls -l |grep "^d"|wc -l
,统计某文件夹下目录的个数
8.ls -lR|grep "^-"|wc -l
,统计文件夹下文件的个数,包括子文件夹里的
sudo chown -R vagrant:vagrant ~/repo/
,改变拥有者和群组
cat scm_visit.log | grep -e "E00" > /tmp/log.log
, 分析日志并导出
vim替换文本::%s/AA/BB/gc
,即将AA
替换为BB
1.GitHub:不介绍了
2.GitLab:支持无限的公有项目和私有项目
3.Bitbucket:免费支持5个开发成员的团队创建无限私有代码托管库
4.(国内)开源中国代码托管:一个账号最多可以创建1000个项目,包含公有和私有,同时具备团队协作开发平台,支持任务的创建、讨论、便签等
5.(国内)coding.net:速度快,功能与开源中国相似,同样一个账号最多可以创建1000个项目,也支持任务的创建等,同时还有WebIDE
1.AMD规范:define(id?, dependencies?, factory);
1 | define(['dep1', 'dep2'], function(dep1, dep2){ |
2.CMD规范:define(factory)
1
2
3define(function(require, exports, module){
//模块代码
});
这是别人解释的module.exports和exports的区别
我的理解比较简单,2点:
1.exports
是对module.exports
的引用
2.而require
引入的是module.exports
1.核心模块分为C/C++编写的和JavaScript编写的两部分,C/C++文件存放在src目录下,js文件存放在lib目录下,C\C++编写的部分称为内建模块,JavaScript编写的称为核心模块
2.核心模块的编译过程
js2c.py
工具编译js模块文件为C/C++代码,并以字符串的形式存储到node命名空间,不可直接执行3.核心模块的引入流程,已os模块为例:require('os')-->NativeModule.require("os")-->process.binding("os")-->get_builtin_module("node_os")-->NODE_MODULE(node_os, reg_gunc)