首页 文章 精选 留言 我的

精选列表

搜索[智能推荐],共10000篇文章
优秀的个人博客,低调大师

Ubuntu14.04+Nginx+PHP+MySQL+EduSoho[推荐-标准环境-文档]

版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396609 参考原文:http://www.qiqiuyu.com/course/20/task/794/show注意: 本教程基于Ubuntu系统 14.04版本并且需要以root用户操作机器,请在确保您的环境是否符合以上两个条件之后,再进行后续的操作。切记:我们的edusoho访问目录是edusoho/web,只有在nginx或者Apache配置里面把根目录定位到web目录下,才不会出现奇怪的问题,否则就会出现图片不能显示或者文件无法上传的问题。本教程主要分为一下几个步骤:更新系统、安装并配置Nginx、安装MySQL、安装并配置PHP、 安装并配置EduSoho,测试Edusoho。 1、更新系统 sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx sudo apt-get install nginx 2.2 配置Nginx sudo vim /etc/nginx/nginx.conf 然后 在http{} 字段里添加 client_max_body_size 1024M; 3、安装并配置MySQL 3.1 安装mysql apt-get install mysql-server 在这个过程过程中会要求您输入MySQL数据库的root密码,请认真填写。 3.2 创建数据库 mysql -uroot -p 然后你需要输入MySQL数据库的root密码。 进入数据库命令行模式后,创建edusoho数据库,执行: CREATE DATABASE `edusoho` DEFAULT CHARACTER SET utf8 ; GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho'; quit; 注意:这里为edusoho数据库创建了一个用户名,用户名为:esuser,密码为edusoho,在后面安装的第三步需要用到,不建议直接填写root账户。 4、安装PHP 4.1 安装PHP sudo apt-get install php5 php5-cli php5-curl php5-fpm php5-intl php5-mcrypt php5-mysqlnd php5-gd 4.2 修改PHP上传文件的大小限制 sudo vim /etc/php5/fpm/php.ini 添加一下三行配置文字 post_max_size = 1024M memory_limit = 1024M upload_max_filesize = 1024M 4.3 配置PHP-FPM 编辑配置文件: vim /etc/php5/fpm/pool.d/www.conf,找到: ;listen.owner = www-data ;listen.group = www-data ;listen.mode = 0660 去除最前面的分号。 然后重启PHP-FPM: sudo /etc/init.d/php5-fpm restart 5 配置安装EduSoho 5.1 下载/解压程序 mkdir /var/www cd /var/www wget http://download.edusoho.com/edusoho-VERSION.tar.gz (注:将VERSION替换为当前EduSoho最新版本号,可从官网www.edusoho.com查询获取) tar -zxvf edusoho-VERSION.tar.gz chown www-data:www-data edusoho/ -Rf 注:这里的下载地址可以在http://www.edusoho.com/中可以获取到,VERSION为下载来之后压缩包后面的版本号。 5.2 配置nginx的虚拟主机 sudo vim /etc/nginx/sites-enabled/edusoho 输入以下内容: server { listen 80; # [改] 网站的域名 server_name www.example.com example.com; #301跳转可以在nginx中配置 # 程序的安装路径 root /var/www/edusoho/web; # 日志路径 access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { index app.php; try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$1 last; } location ~ ^/udisk { internal; root /var/www/edusoho/app/data/; } location ~ ^/(app|app_dev)\.php(/|$) { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect; fastcgi_param HTTP_X-Accel-Mapping /udisk=/var/www/edusoho/app/data/udisk; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k; } # 配置设置图片格式文件 location ~* \.(jpg|jpeg|gif|png|ico|swf)$ { # 过期时间为3年 expires 3y; # 关闭日志记录 access_log off; # 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。 gzip off; } # 配置css/js文件 location ~* \.(css|js)$ { access_log off; expires 3y; } # 禁止用户上传目录下所有.php文件的访问,提高安全性 location ~ ^/files/.*\.(php|php5)$ { deny all; } # 以下配置允许运行.php的程序,方便于其他第三方系统的集成。 location ~ \.php$ { # [改] 请根据实际php-fpm运行的方式修改 fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; fastcgi_param HTTP_PROXY ""; } } 配置文件中的example.com 为您需要指定的域名,为了确保您的域名能被他人访问得到, 您需要将这个域名和您当前的机器IP地址做DNS解析工作。 5.3 重启nginx sudo /etc/init.d/nginx restart 最后一步: 浏览器中打开:http://YOU_DOMAIN 安装,当然这里的YOU_DOMAIN是您的域名。

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

给java程序员的10条建议,吐血推荐!

想清楚,再动手写代码 刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌! 不交流,就会头破血流 不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班返工。 文档没人看,但还是要写 文档的作用大部分时候不是用来沟通的,是用来做记录的,大部分需求还是通过口头沟通,但是不写文档做记录,后续就容易扯皮。 一定要写注释 时间久了,你会连自己的代码都看不懂。 别指望需求会稳定 产品需求是根据商业需求不断调整的,改需求是再正常不过的事,别抱怨。 业务高于技术 如果技术不为公司商业做服务,那将毫无价值,公司赚钱才是硬道理。 不要心存侥幸 你隐约感觉会出bug的地方,就一定会出bug。 自己先测几遍 不要写完就扔给测试人员去测,经自己手的东西,要保证质量。 尽可能自己解决问题 遇到不懂的问题,要先尽力解决,别动不动就截个图扔在别人求帮忙,上司和同事不是来给你擦屁股的,但是真的搞砸了就要尽快求助。 慎用新技术 新技术是好东西,但没有百分百把握,自作主张用了,多半是作死。

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

众多Android 开源项目推荐,给力工作给力学习

FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。 项目地址: http://www.fbreader.org/FBReaderJ/ Angle Angle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现。 项目地址:http://code.google.com/p/angle/ android-shuffle android-shuffle是一个GTD(Getting Things Done)个人备忘记事本。 项目地址: http://code.google.com/p/android-shuffle/ Open GPS Tracker GPSTracker是一个能够使用Android地图记录你的驾车或旅行路线的项目,出发前打开软件选择开始记录,你所经过的路线就会实时显示在地图上,同时还会显示当前的行驶速度。程序会按用户自己设置的标题自动存路线留做日后查看,也可以把路线分享给朋友。GPSTracker项目是一个Map方面的完整应用,包括两个主要组成部分,第一部分是一个收集和存储GPS追踪数据的系统服务,第二部分是Map Activity控制跟踪数据并在地图上显示提供接口。GPSTracker项目用到了osmdroid项目的部分功能,其中OpenStreetMap是一个可供自由编辑的世界地图,允许您查看,编辑或者使用世界各地的地理数据来帮助您。 项目地址: http://code.google.com/p/open-gpstracker/ Rokon Rokon是一个强大、可扩展、灵活的Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,有人将它称为Cocos2d-iPhone引擎的Android版(因为业务逻辑和编码风格上也确实很像)。 )。 项目地址:http://code.google.com/p/rokon/ LGame LGame是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本。其底 层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中,两版本 间主要代码能够相互移植。Android版内置有Admob接口,可以不必配置XML直接硬编码Admob广告信息。该引擎除了基本的音效、图形、物理、精灵等常用组件以外,也内置有Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞大,PC版 已突破1.2MB,Android版有所简化也在500KB左右。此外,该引擎还内置有按照1:1实现的J2ME精灵类及相关组件,可以将绝大多数 J2ME游戏平移到Android或PC版中。 项目地址: http://code.google.com/p/loon-simple/ OpenIntents 通过"Intents",Android给连接软件和动态替换组件提供了优秀的基础。Google定义了一批intents(如:打电话啊,联系人清单上选择一个联系人,打开浏览器,电池更换的时候提供提示,等等,详细清单请看:available intents和intent class) 但是任何程序可以自由定义额外的intents和content-providers。我们可以很容易的联想到独立开发的程序(比如在这次的比赛中)极少有可能会和新定义的intents和接口良好的一起工作。 我们这个项目的目标是收集很可能在多个项目中都有用的想法(而且很可能已经被其他独立程序员实现了),定义一批比较合理且扩展性比较好的一批intents和接口,提供基础但稳定有效的实现,可以被其他Android程序所应用的,特别是其他参加比赛的程序员们。OpenIntents本身也会参加这次的比赛。我们提供小的样品程序来演示OpenIntents的用法和特性。 因为我们专注于经常被使用到的那些intents,Google也很可能在不久的将来提供他们自己的标准intents(比如关于日历的。。。)当那个发生的时候,我们会提供透明的接口来直接呼叫Google的实现方法,而你已有的程序可以直接使用Google的新功能而不需要改变任何东西。而且,由于你的程序在设计初期就是已经支持intents的了,当Google的intents出来的时候,你可以很方便的直接他们的intents。还有可能的是Google可能会借用一些OpenIntents开发的intents。无论如何,如果你的程序使用OpenIntents,在和其他使用OpenIntents程序提供互相支持的同时,你会得到额外的附加值,从而全面增强用户体验。 项目地址: http://code.google.com/p/openintents/ android-bluetooth 非常官方Android Bluetooth API支持远程设备扫描、远程设备配对,服务发现(SDP)和客户端RFCOMM串行连接。 项目地址:http://code.google.com/p/android-bluetooth/ Android apktool Android apktool是一个用来处理APK文件的工具,可以对APK进行反编译生成程序的源代码和图片、XML配置、语言资源等文件,也可以添加新的功能到APK文件中。用该工具来汉化Android软件然后重新打包发布是相当简单的。 项目地址: http://code.google.com/p/android-apktool/ quake2android quake2android是一个将《雷神之锤2》(Quake2)游戏移植到Android平台上的开源项目。支持谷歌Nexus One,三星Galaxy S,摩托罗拉Droid X等手机。 项目地址: http://code.google.com/p/quake2android/ AndEngine AndEngine是一个开源的,基于OpenGL实现的Android 2D游戏引擎。 这里提供一些基于AndEngine实现的示例。 项目地址: http://code.google.com/p/andengine/ android-opencv android-opencv是一个将OpenCV移到Android手机平台的开源项目,该项目使用OpenCV最新的一个分枝并利用一个改良过的Android NDK进行构建。 项目地址:http://code.google.com/p/android-opencv/ android-dalvik-vm-on-java android-dalvik-vm-on-java该项目的目标是开发一个采用Java实现的Android Dalvik虚拟机。目的是为了学习Dalvik VM的思想和架构。当前支持Dalvik可执行文件格式(.dex),完整的Dalvik指令系统,J2ME CLDC API,多线程(包括同步阻塞,等待和通知)。 项目地址:http://code.google.com/p/android-dalvik-vm-on-java/ Android PC_BCR Android PC_BCR让你能够使用你的Android手机做为PC机的外围条形码扫描仪。扫描的条形码将通过WiFi网络连接传PC机中。这个开源项目由多个组件组成,在手机设备上PC_BCR使用ZXing扫描仪器来扫描条形码,然后程序通过网络传到PC中,PC中有专门的PC_BCR程序接收。 项目地址:http://code.google.com/p/android-pcbcr/ android-sms android-sms能够将Android SMS短信备份到Gmail中的Android开源程序。 项目地址:http://code.google.com/p/android-sms/ jPCT-AE jPCT-AE是一个将jPCT移植至Android平台上3D图形引擎。 项目地址:http://www.jpct.net/jpct-ae/ AndTweet AndTweet是一个轻量级Twitter客户端,支持利用触摸和键盘进行快速操作。 项目地址:http://code.google.com/p/andtweet/ android-smspopup android-smspopup这个Android应用程序能够拦截收到的短消息并在一个弹出框中显示消息内容和联系人头像。此外还可以自定义LED颜色,振动模式,当第一次提醒显示没有看到时会重复提醒用户哪些信息没有看过。 项目地址:http://code.google.com/p/android-smspopup/ MyTracks My Tracks能够记录你在户外活动的GPS轨迹并实时显示时间,速度,距离和海拔等信息。还可以将这些信息上传至Google Spreadsheets并在Google My Maps中显示。 项目地址:http://code.google.com/p/mytracks/ i-jetty i-jetty是一个将开源Web容器Jetty移植到Google Android手机平台上的开源项目。让你可以在手机上运行现有的Web应用。 项目地址:http://code.google.com/p/i-jetty/ webOdroid webOdroid这个开源项目提供了一组完整的工具,能够根据现有网站创建一个Android应用程序。它提供的特性包括: 一个功能齐全的RSS浏览器 能够显示文章列表的ListView或GridView控件。 提供易于定制的模板 在网站上执行远程搜索 根据文章标题提供搜索建议 异步下载和缓存RSS供稿和图片 动态抽取和裁剪文章的图片 通过一个专用的Joomla组件能够集成Joomla网站的搜索功能 项目地址:http://www.webodroid.com/ android-json-rpc android-json-rpc是一个在android程序中使用的JSON-RPC客户端类库。它提供了一个简单的API来执行JSON-RPC服务调用。 项目地址:http://code.google.com/p/android-json-rpc/ BikeRoute BikeRoute是一个Android应用程序提供基于GPS线路计划和定位功能。支持A到B路径规划,附近的单车停放处的位置,一步一步的指示,路线图,卫星导航等功能。 项目地址: http://code.google.com/p/bikeroute/ Andorid PDF Viewer Andorid PDF Viewer是一个运行在ANDROID手机上的PDF文件查看器。它是pdf-rendere: https://pdf-renderer.dev.java.net/的一个移植实现。 项目地址:http://andpdf.sourceforge.net/ Spring Android Spring Android 是Spring框架的扩展,用于简化 Android 本地应用程序的开发。 项目地址:http://www.springsource.org/spring-android AchartEngine AChartEngine是一个针对Android程序开发的开源图表生成类库。支持以下几种图表类型: 折线图 区域图 散点图 time chart 柱状图 饼状图 bubble chart doughnut chart range (high-low) bar chart 项目地址:http://code.google.com/p/achartengine/ Opencore Opencore是google联合packetvideo推出的多媒体开源框架,其中的h.264解码器在目前所有的开源h.264解码器中最好的,在win32和armv4上测试通过,性能好很多,大概提升20%! OpenCore的另外一个常用的称呼是PacketVideo,它是Android的多媒体核心。在防站的过程中,PacketVideo是一家公司的 名称,而OpenCore是这套多媒体框架的软件层的名称。在Android的开发者中间,二者的含义基本相同。对比Android的其它程序 库,OpenCore的代码非常庞大,它是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多 使用继承等方式。 OpenCore是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容: * PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能 * PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流的以及静态图像捕获功能 项目地址:http://www.opencore.net/ Android Tools Android Tools是一个轻量级IDE用于创建、构建、安装和测试Android应用程序。可方便的通过点击访问Android的命令、目录和文件。它还提供一个内置的文本编辑器。Android Tools能够让学习和使用Android变得更加简便。 项目地址:http://fieldbird.sourceforge.net/AndroidTools/ android-binding android-binding这个开源项目提供了一个框架用于将android view widgets与数据模型相绑定。帮助您在android应用程序中实现MVC或MVVM模式。 项目地址:http://code.google.com/p/android-binding/ Robotium Robotium是一个测试框架能够方便你为Android应用程序编写强大、健壮的自动黑盒测试用例。利用Robotium的支持,用例开发人员能够编写功能、系统和验收测试方案Robotium支持Activities、Dialogs、Toasts、Menus和Context Menus。 项目地址:http://code.google.com/p/robotium/ QuiteSleep QuiteSleep是一个Android2.0+应用程序,可以设置免打扰时间段。这个时间段内,打进来的电话将会被阻止并通过SMS或E-Mail发送预定义好的信息给打电话者告知他你正忙或正在睡觉等。 项目地址: http://code.google.com/p/quitesleep/ fanfoudroid 安能饭否是一款开源的饭否Android客户端 。目前支持功能: 消息/私信收发,后台提醒,回复/转发/收藏,查看/关注用户,拍照/图片上传。即将支持功能: 关注管理,随便看看。 项目地址:http://code.google.com/p/fanfoudroid/ Skylight1 Skylight1是一个开源的Java手机应用程序开发框架和一些Android应用程序与示例。 这个开源项目包含了以下子项目: SkylightOpenGL- OpenGL wrapper DSL to the Java binding for OpenGL ES - JSR 239 for Android and Java ME Skylight1 DI- 一个依赖注入框架 Skylight1 Mocks- 一组Android电话的模拟对象,包括回放。 Skylight1 Utils- 工具类如:FPS计数器,远程异常堆栈处理。 Skylight1 UI - 公共可定制UI类 Skylight1 XML - XML解析类。 Skylight1 Server- corresponding server side projects and utils MarketConsoleScraper- Android Market console scraper contributed byWorksmart Labs Skylight1 Demos- api and sample demos including: Tanked, a 2D OpenGL demo Barnstormer, a 3D OpenGL demo Flick Test, a flick example showing borders of adjacent views Skylight1 Wallpaper, a live wallpaper example featuring selectable backgrounds and a fingerprint. Current Android Applications: Skylight1 TDC- a test data capture application for Android phones - available here for download Skylight1 Gamethe initial app, a game for Android phones called"Balance the Beer"- available on the market. NYC Events- an app that lists NYC Parks, Art and Music events. - available on the market Toast- an app that helps you make a toast with your phone! - available on the market 项目地址:http://code.google.com/p/skylight1/ Android团队提供的示例项目如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。 地址:http://code.google.com/p/apps-for-android/ Remote DroidRemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触 摸屏手指运动等很好的样例。 地址:http://code.google.com/p/remotedroid/ TorProxy和ShadowTorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以 掌握socket连接、管理cookie等方法。 地址:http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/ Android SMSPopupSMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。 地址:http://code.google.com/p/android-smspopup/ Standup TimerStandup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何 使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。 地址:http://github.com/jwood/standup-timer Foursquare是 Foursquare.com的一个客户端应用,该应用主要分为两个模块:API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中,可以学会如何同步、多线程、HTTP连接等技术。 地址:http://code.google.com/p/foursquared/ PedometerPedometer应用用于记录你每天走路步[]数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服 务等。 地址:http://code.google.com/p/pedometer/ OpenSudoku-androidOpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数据,以及如何和一个网站交互等技术。 地址:http://code.google.com/p/opensudoku-android ConnectBotConnectBot是Android平台的一个客户端安全壳应用。从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用 时经常需要考虑的安全问题。 地址:http://code.google.com/p/connectbot/ WordPress的Android应用当然在最后不能不提Wordpress的Android应用了,这是Wordpress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调 用(当然还有更多的优秀内容)。 地址:http://android.svn.wordpress.org/trunk/ 学习Android 或者做Android 项目的可以参考这些。 本文转自 terry_龙 51CTO博客,原文链接:http://blog.51cto.com/terryblog/547777,如需转载请自行联系原作者

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

精品软件推荐 VMware Workstation Pro 12 中文版

VMware Workstation Pro 12 中文版已完美支持微软最新的Windows 10操作系统,支持官方简体中文语言。现在不仅可将 Windows 物理 PC 转变为虚拟机,而且性能也更加强大,譬如支持16核CPU,8TB SATA硬盘,64GB内存;支持构建虚拟网络;支持 USB3.0 以及3D加速。无论你是使用笔记本电脑、平板电脑还是台式电脑,VMware Workstation Pro 虚拟机的速度和功能都能让你满意! 下载地址:请见官方www.vmvare.com.cn 以下摘自官方www.vmvare.com.cn VMware Workstation 12 Pro 功能特性一览: 支持Windows 10、Win8 / Win7 / XP 等全系列微软 Windows 操作系统; 支持Ubuntu、RHEL(RedHat)、CentOS、Deepin、Debian、Fedora等 Linux 发行版 支持 32 与 64位,支持 Intel Broadwell / Haswell 微架构 支持3D加速 - DirectX 10 和 OpenGL 3.3 针对高 DPI 显示器进行了改进,支持4K分辨率 支持随时创建或恢复系统快照、支持虚拟机克隆 与 VMware vCloud Air 集成(上载、查看、运行) 支持平板电脑以及虚拟加速计、陀螺仪、指南针和环境光线传感器结合使用 支持USB3.0、蓝牙连接 可方便构建虚拟网络 本文转自成杭 51CTO博客,原文链接:http://blog.51cto.com/hangtc/1703661,如需转载请自行联系原作者

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

干货来袭,推荐几款开源的Kotlin的Android项目

Google IO大会,谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言。刷新Android的各大论坛,朋友圈,微信群。是时候总结一波Kotlin的Android项目了! 废话不多说,直接上项目,别忘了star一波! 1 阅读精选Kotlin版 https://github.com/LeeeYou/RsKotlin/ 阅读精选Kotlin版是一个由Kotlin开发的简易App,主要用于学习Kotlin语言以及和最新的框架结合使用。 引入Kotlin1.1.0版开发 引入Dagger2.4结合Kotlin 引入Retrofit2.0结合Kotlin,抽取ServiceFactory 引入RxAndroid和RxKotlin 引入Toolbar并抽取基类 引入SmartTabLayout重构IndexActivity 利用WebView展示详情 引入Glide加载图片 引入ultra-ptr:1.0实现上拉加载更多 2 Android-mvp-kotlin-starter https://github.com/ravidsrk/android-mvp-kotlin-starter Kotlin + MVP + Dagger2 + RxJava2 + Robolectric + Espresso + Mockito + JaCoCo [图片上传中。。。(2)] 3 Notelin https://github.com/ImangazalievM/Notelin Note-taking app Android Kotlin写的 4 GankClient-Kotlin https://github.com/githubwing/GankClient-Kotlin gank.io kotlin实现的干货集中营客户端 风格采用了Material Design. 多数控件都是design包里面的。 MVP架构 Rxjava + Retrofit + okhttp3 +Dagger2+Kotlin [图片上传中。。。(5)] 5 FanfouHandpick 饭否精选 https://github.com/TonnyL/FanfouHandpick 本项目采用 Kotlin 开发,如果你使用的是 Java 进行Android开发,那么,在编译次项目时,需要在Android Studio中安装插件,并进行相关的配置。 6 PoiShuhui-Kotlin https://github.com/wuapnjie/PoiShuhui-Kotlin [图片上传中。。。(10)] 7 bodyweight-fitness-android https://github.com/mazurio/bodyweight-fitness-android 8 PassAndroid https://github.com/ligi/PassAndroid [图片上传中。。。(17)] 9 SearchFilter https://github.com/Yalantis/SearchFilter [图片上传中。。。(18)] END

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

【博文推荐】测试openstack neutron的网络连通性

测试openstack网络连通性,方式如下: 1.openstack控制端执行nova list 查看VM对应的名称和VM_UUID。 2.openstack控制端执行nova show $VM_UUID,查看VM所在的openstack compute node信息和instance name. 3.登录到openstack compute node,执行virsh list 查看VM状态,执行virsh dumpxml instance-XXXX查找文件中的关于“Bridge”信息,查找tap的ID和网桥 qbrXXXX. VM系统里面的信息如下: 结合图片可以看出: eth0连接的目的设备是:tap162f6bda-36,别名为net0. eth1连接的目的设备是:tap8d14e7bd-35,别名为net1. ethX和tapXXX是TAP设备。 TAP设备桥接到网桥qbrXX上。qbr设备是因为不能在TAP设备上配置network ACL rules而增加的设备。 eth0对应的tap162f6bda-36,桥接到的网桥为qbr162f6bda-36. eth1对应的tap8d14e7bd-35,桥接到的网桥为qbr8d14e7bd-35. 4.执行brctl show查看网桥qbr上的接口信息,找到tap设备和qvbXXXX接口。 这里可以看到网桥qbr162f6bda-36,上面有接口qvb162f6bda-36和tap162f6bda-36. 网桥qbr8d14e7bd-35,上面有接口qvb8d14e7bd-35和tap8d14e7bd-35. 这里出现的qvbXXX和qvoXXX是一对veth pair devices,是一对虚拟的网卡设备,用来连接bridge device和switch。连接Linux bridge网桥和Open vSwitch的虚拟网卡设备。名字的涵义是q-quantum,v-veth,b-bridge,o-open vswitch.(quantum年代的遗留)。 5.lshw -class network|more 查看qvb设备的驱动是否是veth类型。 6.ethtool -S 查看qvb接口的对端peer_ifindex:number。 7.ip link找到number对应的接口qvoXXX。 qvbXXX和qvoXXX是一对veth设备,成对出现的。可以根据ethtool -S 查看对端的number,并且根据ip link|more查看到对应的veth设备名称。 qvb是quamtum veth bridge. qvo是quamtum veth open vswitch. qvoXXX设备连接到了Open vSwitch设备br-int. 8.通过Open vSwitch 中的命令ovs-vsctl port-to-br qvoXXX查看qvoXXX设备所属的bridge。 这个ovs-vsctl port-to-br qvoXXX是列出所有挂载到qvoXXX的网桥。 9.可以通过ovs-vsctl list-br查看所有的网桥: 10.可以通过ovs-vsctl list-ports br-XX查看brXXX上面的端口。 ovs-vsctl list-ports br-int和ovs-vsctl list-port br-ethXXX. int-br-ethX和phy-br-ethX是用来连接Open Vswitch设备br-int和br-ethX的。另外,VLAN ID的转换是发生在br-int和br-ethX的端口int-br-ethX和phy-br-ethX上面的。从int-br-ethX进来的数据包,其VLAN ID 会被转换为内部VLAN 的ID。同理,从网络出去的数据包,经过phy-br-ethX,VLAN ID会从内部VLAN ID 转化为外部VLAN ID。 11.通过ethtool -S 命令查看int-br-ethX的对端设备number,并且通过ip link |more |grep number查看int-br-ethX的对端设备。 12.查看phy-br-ethX连接到的虚拟网桥br-ethX. 13.看到虚拟网桥br-ethX上的端口: 关于本例子中的br-ethX和物理网口ethX的关系是:最后数据包要到物理网络中,必须依靠真正的物理网卡。所以必须ovs-vsctl add-port br-ethX ethX。 本例子中是ovs-vsctl add-port br-eth2 eth3。这样,整个链路才能完全打通。 这样,我看到从VM的端口到qvoXXX接口的信息及网桥和端口的连接情况,结合tcpdump -i 命令查看网络流量。这种网络的连接架构,能够作为网络故障分析的依据。 作者:林夕 来源:51CTO

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册