首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10006篇文章
优秀的个人博客,低调大师

Django学习笔记----快速入门

上一篇>Django学习笔记----环境搭建基于Windows 基于以下环境: Windows 10 Python 3.6 Django 1.18 开始第一个Django项目 进入Cmder, 进入想创建工程的文件夹, 键入django-admin startproject 项目名 注意不能选择test这样的项目名称, 会于Python已有的模块名称冲突 Begin! 生成成功后, 可以看到如下项目结构 mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 mysite/_init_.py: 一个空文件,告诉 Python 该目录是一个 Python 包。 mysite/settings.py: 该 Django 项目的设置/配置。 mysite/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。 mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。 建立第一个App 在cmder中键入 django-admin startapp testApp 在settings.py中的INSTALLED_APPS中键入App名称,如此处的testApp # 示例代码 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 键入你的App 'testApp', ] 建立视图与路由的映射 views.py中的函数对应url.py中的urlpatterns(url格式) views.py # 首个参数需要是request def hello(request): return HttpResponse("Hello World") urls.py “urlpatterns”列表将URL路由映射到视图。 指向路径(第一个参数)都由此视图代理 ^头部匹配, $尾部匹配 程序从项目的settings.py中找到ROOT_URLCONF定义的urls.py的路径,在此路径中查找对应的url pattern, 进入相应的视图函数中, 通过HttpResponse返回响应的对象经处理后显示在网页上 urlpatterns = [ url(r'^hello/$', views.hello, name='hello'), ] urlpatterns中可以使用正则表达式进行匹配. 配置完毕后在Cmder中键入python manage.py runserver启动Django 需要注意的是处于开发者状态时, Django显示的是对应的错误信息 正式发布时需要将settings.py的DEBUG=True改为False

优秀的个人博客,低调大师

.Net Micro Framework 快速入门

一、简介 Microsoft .NET Micro Framework 2001年由微软研究院开始研发,并随后在其MSN Direct项目中使用该技术,2007年9月微软对外发布2.0,2008年10月 V3.0、2009年11月 V4.0、2010年5月 V4.1 beta,2009年并入.NET产品组,Digi、Atmel、飞思卡尔等半导体公司都先后为其推出了开发板,该技术可以应用到远程控制、智能家电、教育类机器、医疗电子、零售终端、Sideshow以及汽车电子等行业应用场景;此外由于.Net MF集成了各种接口,如串口、网口、Wifi、Zigbee、I2C、SPI、SDIO、USB等通信接口,加上其应用开发简便,所以在物联网时代,将大有作为。 <1>.Net Micro Framework 低价开发板 http://blog.csdn.net/yefanqiu/archive/2010/06/03/5645129.aspx <2>.Net Micro Framework 所有博文 http://blog.csdn.net/yefanqiu/category/633947.aspx ----------------------------- Microsoft .NET Micro Framework 将 .NET 的可靠性和效率与 Visual Studio的高生产率结合起来,以针对价格较低、资源受限的小型设备开发应用程序,可帮助人们使用熟悉的 Visual Studio 工具来构建托管的嵌入式应用程序。2009年5月,.Net Micro Framework采用Apache 2.0 license,比Linux等开源软件更为彻底的方式实现了源代码完全开放。 1.哪些领域可以采用.NET Micro Framework技术? .NET Micro Framework技术可以应用到:Sideshow、远程控制、智能家电、教育类机器、医疗电子、零售终端以及汽车电子等行业应用场景;此外由于.Net MF集成了各种接口,如串口、网口、Wifi、Zigbee、I2C、SPI、SDIO、USB等通信接口,加上其应用开发简便,所以在物联网时代,将大有作为。 2.NET Micro Framework与Window CE和Windows XP Embedded的区别? .NET Micro Framework对存储器和处理器的要求更低。开发人员可以在低功耗、低成本的ARM7、ARM9、Blackfin和Cortex-M3处理器上使用该框架(不需要MMU支持),所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。 3.NET Micro Framework与其他.NET平台的区别? 作为.NET家族的一员,.Net Micro Framework是微软专门针对超轻量级平台设计的软件架构。与.Net Framework和.Net Compact Framework不同的地方是,.Net Micro Framework具有自启动的特性,并且在HAL层,微软将操作系统的必要特性引入,如:启动管理、中断处理、线程调度、内存管理等。.Net Micro Framework可以单独使用,不需要依托其它操作系统,因此占用空间很小。 二、应用开发 1、.Net Micro Framework研究—Digi开发板初探http://yfsoft.blog.51cto.com/1635641/323413 2、.Net Micro Framework研究—IO读写http://yfsoft.blog.51cto.com/1635641/323412 3、.Net Micro Framework研究—串口操作http://yfsoft.blog.51cto.com/1635641/323411 4、.Net Micro Framework研究—TCP/IP通信http://yfsoft.blog.51cto.com/1635641/323409 5、.Net Micro Framework研究—模拟器改造http://yfsoft.blog.51cto.com/1635641/3234098 6、.Net Micro Framework研究—中文显示 http://yfsoft.blog.51cto.com/1635641/3234097 7、 .Net Micro Framework研究—绘图http://yfsoft.blog.51cto.com/1635641/323402 8、.Net Micro Framework研究—Shapes命名空间http://yfsoft.blog.51cto.com/1635641/323401 9、.Net Micro Framework研究—窗体控件http://yfsoft.blog.51cto.com/1635641/323400 10、.Net Micro Framework研究—应用实例http://yfsoft.blog.51cto.com/1635641/322945 11、.Net Micro Framework研究—Tinyfnt字体研究http://yfsoft.blog.51cto.com/1635641/322943 12、.Net Micro Framework研究—带IO的模拟器http://yfsoft.blog.51cto.com/1635641/322942 13、 .Net Micro Framework研究—带AD的模拟器http://yfsoft.blog.51cto.com/1635641/322939 14、 .Net Micro Framework研究—带I2C总线的模拟器http://yfsoft.blog.51cto.com/1635641/322937 15、..Net Micro Framework研究—Windows桌面http://yfsoft.blog.51cto.com/1635641/322933 16、.Net Micro Framework研究—模拟器直接运行MF程序http://yfsoft.blog.51cto.com/1635641/322928 17、.Net Micro Framework研究—用MF编写俄罗斯方块http://yfsoft.blog.51cto.com/1635641/322921 18、.Net Micro Framework研究—让MF支持鼠标http://yfsoft.blog.51cto.com/1635641/322917 19、.Net Micro Framework研究—用MF控制机器人http://yfsoft.blog.51cto.com/1635641/323874 20、.Net Micro Framework研究—数据的永久存储http://yfsoft.blog.51cto.com/1635641/322911 21、.Net Micro Framework研究—实现SideShow窗体界面http://yfsoft.blog.51cto.com/1635641/322900 22、.Net Micro Framework研究—让MF支持英文输入法http://yfsoft.blog.51cto.com/1635641/321212 23、.Net Micro Framework研究—MF驱动继电器 http://yfsoft.blog.51cto.com/1635641/321288 24、.Net Micro Framework研究—串口部署的困惑 http://yfsoft.blog.51cto.com/1635641/321286 25、.Net Micro Framework研究—串口部署释疑 http://yfsoft.blog.51cto.com/1635641/321212 26、.Net Micro Framework研究— http://yfsoft.blog.51cto.com/1635641/321282 三、系统移植 1、【.Net Micro Framework PortingKit - 01】移植初步:环境搭建http://yfsoft.blog.51cto.com/1635641/321243 2、【.Net Micro Framework PortingKit - 02】STM3210E平台构建http://yfsoft.blog.51cto.com/1635641/321240 3、【.Net Micro Framework PortingKit - 03】调试初步:点亮LED灯http://yfsoft.blog.51cto.com/1635641/321238 4、【.Net Micro Framework PortingKit - 04】修改启动代码&重写向量表http://yfsoft.blog.51cto.com/1635641/321235 5、【.Net Micro Framework PortingKit - 05】SRAM初始化&设置NVIC中断表偏移http://yfsoft.blog.51cto.com/1635641/321234 6、【.Net Micro Framework PortingKit - 06】设置芯片时钟http://yfsoft.blog.51cto.com/1635641/321233 7、【.Net Micro Framework PortingKit - 07】NVIC中断处理http://yfsoft.blog.51cto.com/1635641/321229 8、【.Net Micro Framework PortingKit - 08】GPIO驱动http://yfsoft.blog.51cto.com/1635641/321228 9、【.Net Micro Framework PortingKit – 09】串口驱动http://yfsoft.blog.51cto.com/1635641/321224 10、【.Net Micro Framework PortingKit – 10】世界首款Cortex-M3内核MFV4诞生http://yfsoft.blog.51cto.com/1635641/323881 11、【.Net Micro Framework PortingKit – 11】NandFlash驱动开发http://yfsoft.blog.51cto.com/1635641/321222 12、【.Net Micro Framework PortingKit – 12】SysTick驱动开发http://yfsoft.blog.51cto.com/1635641/321221 13、【.Net Micro Framework PortingKit – 13】LCD驱动开发http://yfsoft.blog.51cto.com/1635641/321220 14、【.Net Micro Framework PortingKit – 14】TinyCLR编译与测试http://yfsoft.blog.51cto.com/1635641/321219 15、【.Net Micro Framework PortingKit – 15】移植总结(兼谈MF未来发展)http://yfsoft.blog.51cto.com/1635641/321218 四、高级开发 1、【玩转.Net MF – 01】Flash远程读写 http://yfsoft.blog.51cto.com/1635641/321217 2、【玩转.Net MF – 02】让PC成为MF的鼠标键盘 http://yfsoft.blog.51cto.com/1635641/321216 3、【玩转.Net MF – 03】远程文件查看器 http://yfsoft.blog.51cto.com/1635641/321214 4、【玩转.Net MF – 04】远程屏幕截图 http://yfsoft.blog.51cto.com/1635641/321215 5、【玩转.Net MF – 05】加载文件系统中的Pe文件 http://yfsoft.blog.51cto.com/1635641/321213 五、功能扩展 1、支持横竖屏切换的.Net Micro Framework模拟器 http://yfsoft.blog.51cto.com/1635641/321248 2、Micro Framework 3.0模拟器改造 http://yfsoft.blog.51cto.com/1635641/321260 3、开源System.Windows.Forms库,让.Net Micro Framework界面开发和上位机一样简单 http://yfsoft.blog.51cto.com/1635641/321246 六、相关网址 1、官方网址 http://www.microsoft.com/netmf/default.mspx 2、官方博客 http://blogs.msdn.com/netmfteam/ 3、中文博客 http://yfsoft.blog.51cto.com http://www.cnblogs.com/yefanqiu 4、中文讨论组 http://space.cnblogs.com/group/MFSoft 5、SDK下载 http://www.microsoft.com/downloads/details.aspx?FamilyId=77dbfc46-14a1-4dcf-a809-eda7ccfe376b&displaylang=en 6、源码下载 http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=16fa5d31-a583-4c0d-af74-f4d5e235d5bc 更多文章,请随时关注:http://yfsoft.blog.51cto.com 本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/321212,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android2.2快速入门

正文 一、环境配置和安装(Android2.2) 参考文章:这里 1.1JDK 1.2SDK 下载地址:http://dl.google.com/android/android-sdk_r06-windows.zip 1.3Eclipse 3.5 (Galileo) 下载地址: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip 1.4ADT 0.9.7 下载地址:http://dl.google.com/android/ADT-0.9.7.zip 1.5安装 依次下载,按照文章步骤安装即可,注意安装SDK时,需要如下设置下: 不然更新不下来,那个链接地址被墙了。 二、Android系统架构 2.1 Linux内核(Linux Kernel) * Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。 * Linux内核是硬件和软件层之间的抽象层。 2.2中间件 *中间件包括两部分:核心库和运行时(libraries & Android runtime) *核心库包括,SurfaceManager显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit浏览器引擎等。 * Dalvik虚拟机:区别于Java虚拟机的是,每一个Android应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。 2.3应用程序框架(Application Framework) *丰富而又可扩展性的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),可嵌入的web浏览器。 *内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。 *资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。 *通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自定义的提示信息。 *活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。 2.4应用程序(Applications) * Android系统会内置一些应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。 三、Android系统包说明 android.app :提供高层的程序模型、提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容提供者浏览和操作数据库 android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上. android.location :定位和相关服务的类 android.media :提供一些类管理多种音频、视频的媒体接口 android.net :提供帮助网络访问的类,超过通常的Java.net.* 接口 android.os :提供了系统服务、消息传输、IPC 机制 android.opengl :提供OpenGL 的工具 android.provider :提供类访问Android 的内容提供者 android.telephony :提供与拨打电话相关的API 交互 android.view :提供基础的用户界面接口框架 android.util :涉及工具性的方法,例如时间日期的操作 android.webkit :默认浏览器操作接口 android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用 四、Android项目工程说明 src:存放java源代码。 gen:存放编译器自动生成的java代码,这个目录下的文件是系统自动维护的。 assets:存放在这个目录下的文件,无论是mp3还是图片,都会被打包到发布包中。 res:资源文件目录,添加到这个目录下的文件都会在gen下的R.ava文件中显示出来;如果res下存放的资源在应用中没有使用到,那么在gen下的R.java的文件中就不会显示,那么打包的时候就不会将这部分资源打包,减少了应用的发布文件大小。 drawable:存放图片文件,注意图片名称必须是[a-z0-9_.]组成;drawable目录下不能分子级目录,只能通过命名方法来加以区分。 layout:存放与UI相关的布局文件,都是xml文件。 raw:直接复制到设备中的任意文件,不会被编译,可以放数据库文件。 values:存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:color.xml、strings.xml、array.xml、styles.xml、dimens.xml(定义尺寸值:dimension value) xml:任意的XML文件,在运行时可以通过调用Resources.getXML()读取。 参见http://www.inandroid.cn/bbs/thread-1401-1-1.html。 五、基本控件 5.1文本框(TextView)、自动完成(AutoCompleteTextView) 自动完成的效果和代码:http://android.yaohuiji.com/archives/390 AutoCompleteTextView : 5.2编辑框(EditText) android:hint内容为空时提醒的信息,如“请输入” 5.3下拉列表(Spinner) android:entries可以通过在strings.xml中指定string-array来设置选项。 5.4进度条(ProgressBar) 效果和代码:http://www.eoeandroid.com/viewthread.php?tid=1081 5.5拖动条(SeekBar) 5.6评分条(RatingBar) 5.7按钮(Button)、图片按钮(ImageButton) Button: ImageButton: 5.8图片框(ImageView)、画廊(Gallery) ImageView Gallery 画廊效果:http://android.yaohuiji.com/archives/565 5.9日期和时间(DatePicker、TimePicker) AnalogClock DigitalClock Chronometer(计时器) DatePicker DatePickerDialog TimePicker TimePickerDialog 5.10单项选择(RadioGroup、RadioButton)、多项选择(CheckBox) CheckBox RadioButton ToggleButton 5.11表格(GridView)、列表(ListView) GridView ListView GridView:http://blog.csdn.net/hellogv/archive/2009/09/18/4567095.aspx ListView:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html 5.12对话框(AlertDialog)、对话框中的进度条(ProgressDialog) AlertDialog AlertDialog:http://android.yaohuiji.com/archives/655 ProgressDialog:http://aina-hk55hk.javaeye.com/blog/679134 5.13菜单(Menu) 5.14提示(Toast) 类似于MessageBox,非模式窗口。如: Toast.makeText(this, "信息", Toast.LENGTH_SHORT).show(); 5.15GestureOverLayView 文章1、文章2 5.16HorizontalScrollView 5.17MapView 5.18VideoView 5.19WebView 5.20ZoomControls 六、布局和容器 6.1帧布局(FrameLayout) 放入其中的所有元素都被放置最左上的区域,无法为这些元素指定一个确切的位置。如果有多个子元素,那么后边的子元素的显示会重叠在前一个元素上。 6.2线性布局(LinearLayout) 常用布局,子元素按行或列依次排列。 android:layout_gravity是本元素对父元素的重力方向。 android:gravity是本元素所有子元素的重力方向。 6.3绝对布局(AbsoluteLayout) 可以让子元素指定准确的x/y坐标值,(0, 0)为左上角,没有页边框,允许元素之间互相重叠。 6.4相对布局(RelativeLayout) 允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定) 6.5表格布局(TableLayout) 将子元素的位置分配到行(TableRow)中,注意不会显示边框线也不能够跨行合并单元格。 例子:http://hi.baidu.com/hoyah/blog/item/d9db34275d6f361a8b82a171.html 6.6选项卡(TabWidget) 例子:http://fatkun.com/2010/06/android-tabwidget.html 七、常用代码 7.1在当前Activity中启动另外一个Activity startActivity(new Intent(this,目标Activity.class)); 7.2从当前ContentView从查找控件 (Button)findViewById(R.id.btnAbout) R.id.btnAbout指控件id。 7.3获取屏幕宽高 DisplayMetrics dm = new DisplayMetrics(); //获取窗口属性 getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth =dm.widthPixels;//320 int screenHeight = dm.heightPixels;//480 7.4无标题栏、全屏 //无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 注意在setContentView()之前调用,否则无效。 7.5注册activity 所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。如:<activity android:name="com.common.TestView">,注意是包名+类名。 八、Adb命令行 8.1 DOS进入android-sdk-windows\tools目录 8.2 Linux 登录linux命令:adb shell 列出当前文件:ls 删除文件:rm文件名 8.3 Sqlite 登录sqlite命令:sqlite3 8.4 Adb命令 列出当前有哪些活动的模拟器:adb devices 上传文件:adb push 安装apk文件:adb install android123.apk 九、Apk文件破解 9.1获取apk的资源图片 直接用WinRAR打开,res/drawable直接拖拽出来即可。 9.2获取xml文件信息 虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,下载地址:https://code.google.com/p/android-apktool/。 下载apktool-1.3.1.tar.bz2和apktool-install-windows-2.2_r01-2.tar.bz2解压到同一个目录,然后把待破解的apk文件拷贝到同一目录,DOS进入该目录,输入:aapt d 91callinfo.apk 91callinfo,这里第四个参数为破解完存放的路径。 9.3反编译dex获取Java源代码 Apktool工具只能反编译成smali的中间代码文件,这里需要借助另外一个开源工具:dex2jar,下载地址:http://code.google.com/p/dex2jar/。这个工具不能直接翻译成java文件,但是可以把dex文件转换成jar文件,然后可以通过jad工具把jar文件反编译成Java源文件,如果只是看看源码的话可以用jd-gui,下载地址: http://java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip。 dex文件(classes.dex)可以用WinRAR从apk文件中解压出来。 十、小技巧 10.1使用系统的图标 例如调用系统打电话的图标: <ImageView android:src="@android:drawable/ic_menu_call" 图标名称和效果(Android1.5和1.6): http://since2006.com/android/1.5-drawables.php http://since2006.com/android/1.6-drawables.php 10.2让控件透明,如ImageButton 设置android:background="@null" 10.3在layout中直接指定onclick方法 不用手动绑定,在layout中设置android:onClick=”methodName”,methodName为对应Activity中的方法,如下格式:public voidmethodName(View view){}(适应1.6以上版本) 10.4用PC键盘控制模拟器 PC键盘 模拟器按键 说明 Home Home 主页 F2 Menu 菜单 Esc Back 后退 F3 Call 打电话 F4 Hangup 挂断 F5 Search 搜索 Ctrl+F12 横竖屏切换 10.5进入界面就显示/隐藏软键盘 在AndroidManifest.xml中设置activity的 android:windowSoftInputMode="stateHidden" 10.6界面可视化布局工具 系统提供可视化布局并不好用,这里推荐一款,布局完后点生成代码即可: DroidDraw:http://www.droiddraw.org/ 10.7在Eclipse中看Android的源码 将源代码拷贝至android-sdk-windows\platforms\android-4\sources下即可。注意源码版本对应android-4文件夹,这里指Android1.6的源码。 十一、Q & A 11.1用模拟器调试频繁连不上,或者报emulator-5554 disconnected的错误? Window(窗口) -> Show Views(显示视图) -> device -> view menu(视图菜单) -> Reset adb 11.2匿名类中如何使用this? classname(类名).this 11.3程序出错后模拟器上仅显示应用程序遇到问题将关闭怎么办? 可以从LogCat中检查错误,默认LogCat在DDMS视图中,可以通过以下方法调整到Java视图与控制台并列显示:点击Eclipse左下角,点开后在其他里面找到Android目录下的LogCat拖拽出来即可。 十二、后期维护 12.1 2010-10-1 补充了许多控件的截图,导出PDF下载:http://download.csdn.net/source/2729442 12.2 2010-10-18 补充了GestureOverLayView的文章链接,文章1是英语的,文章2为中文的。 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582221,如需转载请自行联系原作者

优秀的个人博客,低调大师

30 分钟快速入门 Docker 教程

原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 一、欢迎来到 Docker 世界 1. Docker 与虚拟化 在没有 Docker 的时代,我们会使用硬件虚拟化(虚拟机)以提供隔离。这里,虚拟机通过在操作系统上建立了一个中间虚拟软件层 Hypervisor ,并利用物理机器的资源虚拟出多个虚拟硬件环境来共享宿主机的资源,其中的应用运行在虚拟机内核上。但是,虚拟机对硬件的利用率存在瓶颈,因为虚拟机很难根据当前业务量动态调整其占用的硬件资源,因此容器化技术得以流行。其中,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。 Docker 容器不使

优秀的个人博客,低调大师

Aliyun LOG Java Producer 快速入门

背景 Aliyun LOG Java Producer 是为运行在大数据、高并发场景下的 Java 应用量身打造的高性能写 LogHub 类库。相对于原始的 API 或 SDK,使用 producer 写数据能为您带来诸多优势,包括高性能、计算与 I/O 逻辑分离、资源可控制等。想要更深入地了解 producer 的功能和原理可参考文章日志上云利器 - Aliyun LOG Java Producer,本文将聚焦于 producer 的使用上。 使用步骤 使用 producer 可归结为如下图所示的三个步骤,下面分别为您介绍。 创建 producer Producer 的创建过程主要涉及到以下对象。 ProjectConfig ProjectConfig 包含目标 project 的服务入口信息以及表征调用者身份的访问凭证。 服务入口 最终访问地址

优秀的个人博客,低调大师

SQLite学习快速入门-- 基础介绍

一、介绍:SQLite是目前最流行的开源嵌入式数据库,主要特征有: 1). 管理简单。 2). 移植性好,SQLite生成的数据库文件可以在各个平台无缝移植。 3). 可以非常方便的以多种形式嵌入到其他应用程序中,如静态库、动态库等。 4). 易于维护。 二、用途 本地轻量级数据库的最佳选择之一,android系统的标配数据库就是这个,还有配置文件也是一方面,它更多的用于中间数据、实时数据以及小数据量个人信息的存储。 三、工具的使用 SQLite Database Browser 如下图 四、与其它数据库的区别 于access的区别,sqlite的便携性和平台无关性要远远好于access,只是在可视化操作方面确实不如access。 本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/02/20/2358955.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Spark 1.6.0 新手快速入门

本文简单介绍了Spark的使用方式。首先介绍Spark的交互界面的API使用,然后介绍如何使用Java、Scala以及Python编写Spark应用。详细的介绍请阅读Spark Programming Guide。 在按照本文进行操作之前,请确保已安装Spark。本文中的所有操作没有使用HDFS,所以您可以安装任何版本的Hadoop。 Spark交互式Shell的使用 基础 Spark的交互式Shell提供了一个简单的方式来学习Spark的API,同时也提供了强大的交互式数据处理能力。Spark Shell支持Scala和Python两种语言。启动支持Scala的Spark Shell方式为 ./bin/spark-shell Spark最重要的一个抽象概念是弹性分布式数据集(Resilient Distributed Dataset)简称RDD。RDDs可以通过Hadoop InputFormats(例如HDFS文件)创建,也可以由其它RDDs转换而来。下面的例子是通过加载Spark目录下的README.md文件生成 RDD的例子: scala> val textFile = sc.textFile("README.md") textFile: spark.RDD[String] = spark.MappedRDD@2ee9b6e3 RDDs有两种操作: actions:返回计算值 transformations:返回一个新RDDs的引用 actions示例如下: scala> textFile.count() // Number of items in this RDD res0: Long = 126 scala> textFile.first() // First item in this RDD res1: String = # Apache Spark 如下transformations示例,使用filter操作返回了一个新的RDD,该RDD为文件中数据项的子集,该子集符合过滤条件: scala> val linesWithSpark = textFile.filter(line => line.contains("Spark")) linesWithSpark: spark.RDD[String] = spark.FilteredRDD@7dd4af09 Spark也支持将actions和transformations一起使用: scala> textFile.filter(line => line.contains("Spark")).count() // How many lines contain "Spark"? res3: Long = 15 更多RDD操作(More on RDD Operations) RDD的actions和transformations操作可以用于更加复杂的计算。下面是查找README.md文件中单词数最多的行的单词数目: scala> textFile.map(line => line.split(" ").size).reduce((a, b) => if (a > b) a else b) res4: Long = 15 上面代码中,第一个map操作将一行文本按空格分隔,并计算单词数目,将line映射为一个integer值,并创建了一个新的RDD保存这些 integer值。RDD调用reduce计算最大的单词数。示例中map和reduce操作的参数是Scala的函数式编程风格,Spark支持 Scala、Java、Python的编程风格,并支持Scala/Java库。例如,使用Scala中的Math.max()函数让程序变得更加简洁易读: scala> import java.lang.Math import java.lang.Math scala> textFile.map(line => line.split(" ").size).reduce((a, b) => Math.max(a, b)) res5: Int = 15 随着Hadoop的流行,MapReduce变为一种常见的数据流模式。Spark可以轻松的实现MapReduce,使用Spark编写MapReduce程序更加简单: scala> val wordCounts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b) wordCounts: spark.RDD[(String, Int)] = spark.ShuffledAggregatedRDD@71f027b8 上面示例中,使用flatMap、map和reduceByKey操作来计算每个单词在文件中出现的次数,并生成一个结构为的RDD。可以使用collect操作完成单词统计结果的收集整合: scala> wordCounts.collect() res6: Array[(String, Int)] = Array((means,1), (under,2), (this,3), (Because,1), (Python,2), (agree,1), (cluster.,1), ...) 缓存 Spark支持将数据缓存到集群的分布式内存中。在数据会被重复访问的情况下,将数据缓存到内存能减少数据访问时间,从而提高运行效率。尤其是在数据分布在几十或几百个节点上时,效果更加明显。下面为将数据linesWithSpark缓存到内存的示例: scala> linesWithSpark.cache() res7: spark.RDD[String] = spark.FilteredRDD@17e51082 scala> linesWithSpark.count() res8: Long = 19 scala> linesWithSpark.count() res9: Long = 19 独立应用 假设我们想使用Spark API编写独立应用程序。我们可以使用Scala、Java和Python轻松的编写Spark应用。下面示例为一个简单的应用示例: Scala /* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf object SimpleApp { def main(args: Array[String]) { val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system val conf = new SparkConf().setAppName("Simple Application") val sc = new SparkContext(conf) val logData = sc.textFile(logFile, 2).cache() val numAs = logData.filter(line => line.contains("a")).count() val numBs = logData.filter(line => line.contains("b")).count() println("Lines with a: %s, Lines with b: %s".format(numAs, numBs)) } } 上面程序分别统计了README中包含字符‘a’以及‘b’的行数。与前面Spark shell例子不同的是,我们需要初始化SparkContext。 我们通过SparkContext创建了一个SparkConf对象,SparkConf对象包含应用的基本信息。 我们基于Spark API编写应用,所以我们需要编写一个名为“simple.sbt”的sbt配置文件,用于指明Spark为该应用的一个依赖。下面的sbt配置文件示例中,还增加了Spark的一个依赖库“spark-core”: name := "Simple Project" version := "1.0" scalaVersion := "2.10.5" libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.0" 为了让sbt正确执行,我们需要对SimpleApp.scala和simple.sbt根据sbt要求的目录结构布局。如果布局正确,就可以生成该应用的JAR包,使用spark-submit命令即可运行该程序。 Javaga /* SimpleApp.java */ import org.apache.spark.api.java.*; import org.apache.spark.SparkConf; import org.apache.spark.api.java.function.Function; public class SimpleApp { public static void main(String[] args) { String logFile = "YOUR_SPARK_HOME/README.md"; // Should be some file on your system SparkConf conf = new SparkConf().setAppName("Simple Application"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD logData = sc.textFile(logFile).cache(); long numAs = logData.filter(new Function 该示例的代码逻辑同上一段Scala示例代码。与Scala示例类似,首先初始化了SparkContext,通过SparkContext创建了JavaSparkContext对象。并创建了RDDs以及执行transformations操作。最后,通过继承了spark.api.java.function.Function的类将函数传给Spark。 在这里,使用Maven进行编译,Maven的pom.xml如下: <project> <groupId>edu.berkeley</groupId> <artifactId>simple-project</artifactId> <modelVersion>4.0.0</modelVersion> <name>SimpleProject</name> <packaging>jar</packaging> <version>1.0</version> <dependencies> <dependency><!--Sparkdependency--> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.6.0</version> </dependency> </dependencies> </project> 按照Maven的要求架构配置文件位置: $ find . ./pom.xml ./src ./src/main ./src/main/java ./src/main/java/SimpleApp.java 现在,就可以使用Maven打包应用,以及使用命令./bin/spark-submit.执行该应用程序。示例如下: # Package a JAR containing your application $ mvn package ... [INFO] Building jar: {..}/{..}/target/simple-project-1.0.jar # Use spark-submit to run your application $ YOUR_SPARK_HOME/bin/spark-submit \ --class "SimpleApp" \ --master local[4] \ target/simple-project-1.0.jar ... Lines with a: 46, Lines with b: 23 本文作者:BYRans 来源:51CTO

优秀的个人博客,低调大师

HarmonyOS NEXT 应用开发快速入门案例

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-bokeyuan&ha_sourceId=89000444 项目代码gitee地址 (https://gitee.com/li-yangshui-and-jiaolong/HarmonyOS-Next-App/tree/master/MyApplication) 开源协议使用:Apache License 2.0 ,代码包支持免费使用,可进行二次开发后选择开源或闭源。 一、创建项目 1.创建项目,选择Application 2.配置项目 3.在AppScope文件下修改自定义项目配置 在resources>base>element>string.json中修改“app_name”值,该值表示“应用名称”。 在app.json5中修改“vender”值,该值表示“应用程序供应商”。 4.在项目下的resource>base>media下添加图片 二、创建卡片widget 1.创建微、小、中、大卡片 2.依次创建卡片 3.卡片创建完成,修改卡片配置代码 4.卡片代码如下: widget_wk代码: widget代码 widget_zk代码 widget_dk代码: 三、创建应用page 1.修改pages/Index.ets中的代码,代码如下: 2.创建新的page 3.新的page写入代码如下: 四、项目效果 1.预览器效果 Widget: ! Page: 五、更换为OpenHarmony应用 打开entry下的build-profile.json5文件,更换“targets”字段中的“runtimeOS”属性值,点击右上方的Sync Now同步就。 (文章转载自51CTO,作者鸿蒙时代)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。