首页 文章 精选 留言 我的

精选列表

搜索[零点击],共10003篇文章
优秀的个人博客,低调大师

Android从零开始

Android开发环境的安装 1 IDE Android可以使用开发的IDE有Eclipse 或者 Android Studio。Android Studio还处于v 0.1.x版本,是early access preview。所以我还是选择Eclipse + ADT的方法开发。 其实没有什么复杂,官网已经为开发者做了一个开发环境集成包(ADT Bundle)。ADT是Android Develop Tools。这个集成包包含了eclipse,SDK,SDK Manager。 http://developer.android.com/sdk/index.html 具体使用只需要下载Android ADT Bundle的zip,解压,然后启动eclipse就可以了。 2 安装不同版本的sdk Bundle默认是安装了最新版本的SDK(4.2.2)。当然现在市面上的各种Android版本都存在,我们需要安装不同版本的SDK来开发。SDK Manager就是管理SDK的工具。 在bundle下运行SDK Manager 勾选对应版本的SDK,从这里基本可以知道一个Android版本对应着一个版本的API。 其中每个包都有这么几个文件: Documentation for Android SDK:安卓SDK的文档 SDK Platform:Android的SDK套件,必须要安装的 Samples for SDK:SDK的使用例子,在安装后的adt-bundle-XXXX\sdk\samples 目录中会看到对应文件 Sources for Android SDK:SDK的源码,在安装后的adt-bundle-windows-x86-20130522\sdk\sources 目录中会看到对应文件 Google APIs:谷歌地图提供的一套API,如果你的应用不使用谷歌地图,是可以不用装的,但是建议还是要装 ARM EABI v7a System Image Intel x86 Atom System Image MIPS System Image 这三个是给模拟器用的,模拟器在不同CPU平台下的系统印象文件。必须安装,否则模拟器打不开。 在安装后的adt-bundle-windows-x86-20130522\sdk\system-images目录中会看到对应文件 3 安装Eclipse的ADT插件 官方的Bundle上已经有了一些ADT插件,如果没有的话,我们可以按照: http://developer.android.com/sdk/installing/installing-adt.html 安装ADT插件。 4 创建模拟器 在Eclipse中的Android Virtual Devices中New一个虚拟机(AVD) AVD Name:模拟器的名字 Device:设备名字,包括屏幕尺寸的设置 Target:要运行的Android版本 CPU/ABI:模拟器要运行的系统印象文件 Keyboard:是否支持外部键盘 Skin:模拟器外观 Front Camera Back Camera 前置和后置摄像头 Memory Options: RAM:模拟器的内存空间 VM Heap:Android系统是运行在Dalvik虚拟机上的,VM Heap就是指的虚拟机最大占用内存,也就是单个应用的最大占用内存。 Internal Storage:内部存储大小。内部存储就是将数据保存在设备的内部存储器中。 SD Card:SD 卡的大小。 5 创建HelloWorld Eclipse中New--Andriod Project -- 创建个HelloWorld项目。 这步基本都是使用默认选项 6 HelloWorld项目挂载AVD Eclipse -- Run -- Run Configurations 右键Android Application -- New Project中选择HelloWorld项目 -- Target中选择刚刚创建的AVD -- Apply 这样,运行项目就自动开启了虚拟机运行 本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/p/3177272.html,如需转载请自行联系原作者

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

从零学LINUX

一、操作系统提代一个开发接口给硬件开发商,让他们可以根据这个接口设计可以驱动他们硬件的驱动程序。 二、应用程序是参考操作系统提供开发接口所开发出来的软件 三、核心功能:系统呼叫接口、程序管理、内存管理、文件系统管理、装置驱动 四、CPU每次能够处理数据量称为“字组大小”,字组大小(word size)依据CPU的设计而有32位与64位 现在称计算机32位或多或64位主要是依据CPU解析的字组大小而来 五、硬盘组成:圆形磁盘、机械手臂、磁盘读取头与主轴成达组成。其中磁盘组成:扇区,磁道、磁柱 linux 就是核心与系统呼叫接口那层 GPL通用公共许可证 GNU计划:建立一个自由,开放的LINUX操作系统 GNU包含:EMAC(程序编辑器)、GNUC、GNUC library(glibc)、Bash shell GUI(graphical user interface )有鉴于图形用户接口 POSIX(portable operating system inteterface)可携式操作系统接口,规范核心与应用程序之间接口,美国电器与电子工程学会(IEEE)所发布一项标准! LINUX核心版本:主次版本为奇数:发展中版本(developmen)。如2.5XX 主次版本为偶数:稳定版(stable)。如2.6XX 如果装在个人计算机上面作为桌面计算机用的,建议使用“社群版”包括:fedora、ubuntu、opensuse 用在服务器上面的,建议用“商业版本”包括RedHat、Suee 套件管理主要分为:Debian的dpkg及Red Hat系统RPM方式 unix-like可以说目前服务器类型操作系统的统称,不论是Fressbsd BSD、Sunnix、HPunix、Redhatlinux、mandrake linux等,都是同一个祖先Thompson所写Unix来的。 LINUX具有:硬件需要求低、架构开放、系统稳定性强及保密性功能够强、完全免费。 1、稳定的系统 2、免费或少许费用 3、安全性,漏洞的快速修补 4、多任务、多使用者 5、使用者与群组的规划 6、相对比较不耗资源的系统 7、适合需要小核心程序的嵌入式系统 8、整合度佳且多样的图形用户接口 学习linux最基础的档案架构,指令模式与脚本(shell and shell scripts)软件管理方式和资源与帐号管理等 我们要让Linux解决什么问题,而不是单纯的只是去学习架站。 LINUX最强项的地方在于网络,而WINDOWS是赢在用户接口较为和善。 本文转自 zouqingyun 51CTO博客,原文链接:http://blog.51cto.com/zouqingyun/1404701,如需转载请自行联系原作者

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

Android基础:listview的item点击事件会使里面的Button也出现按压的效果

给listview里面的button设置selector后,当给listview设置listview.setOnitemClickedListener()的时候,里面的button会有press的效果,有两个方案 1:放弃listview的onItemClickedListener() listview.setOnItemClickedListener(null); 2:使用自定义的Button,判断他的父控件是否press,如果是就把这个事件消耗掉,不向下传递即可, 可用代码如下: package com.audiocn.kalaok.widget; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.Button; public class FixedListButton extends Button { public FixedListButton(Context context) { super (context); } public FixedListButton(Context context, AttributeSet attrs) { super (context, attrs); } public FixedListButton(Context context, AttributeSet attrs, int defStyle) { super (context, attrs, defStyle); } @Override public void setPressed( boolean pressed) { if (pressed && getParent() instanceof View && ((View) getParent()).isPressed()) { return ; } super .setPressed(pressed); } } 本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/archive/2012/11/02/2751731.html如需转载请自行联系原作者 demoblog

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

Docker零碎笔记

001.查看镜像、容器、数据卷所占用的空间 docker system df 002.具体查看镜像内的历史记录 docker history nginx:v2 003.使用Dockerfile构建镜像(注意后面有个点) docker build -t myip . 004.使用compose对docker容器进行编排管理时,需要编写docker-compose.yml文件需要注意缩进 yml文件换行后的缩进,不允许使用tab键字符,只能使用空格,而空格的数量要一致 005.docker-compose 负责实现对 Docker 容器集群的快速编排 006.docker-machine 负责在多种平台上快速安装docker环境 007.swarm mode 负责将多个docker主机封装为单个大型的虚拟dockerd主机,快速打造一套容器云平台 008.安装virtualbox sudo apt-get purge virtualbox sudo apt-get install linux-generic linux-image-generic linux-headers-generic linux-signed-generic sudo apt-get install virtualbox 009.docker镜像加速器下载速度对比 加速器 地址 Httpd,177MB下载镜像耗时 MySQL,407MB下载镜像耗时 Nginx,109MB下载镜像耗时 官方 https://registry.docker-cn.com 52 s 42 s 20 s 阿里 https://2lqq34jg.mirror.aliyuncs.com 36 s 38 s 20 s 网易 http://hub-mirror.c.163.com 67 s 73 s 475 s 官方错误 http://registry.docker-cn.com 1770 s 不忍测试 闲时再测 不使用 --- 一个字慢! 不忍测试 闲时再测 结论:1、使用加速器后,下载速度飞快,家庭100Mb宽带环境下,镜像下载速度能达到3-5MB/s以上。2、由于Docker采用分层文件系统,不同镜像公用一些相同的层文件,在下载后续镜像时下载速度更快,比如阿里加速器下载MySQL镜像,“达到”了10.7MB/s;3、加速器地址一定要写对,官方加速器的不能写成http,一定要写https,否则无加速效果;4、加速器的加速效果差不多?官方的、阿里的、网易163的加速器效果如下:阿里 >官方 > 网易 > 不加速5、Docker支持同时配置多个加速器,建议依上面的次序同时配置多个加速器。6、代码: { "registry-mirrors": [ "https://2lqq34jg.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com" ] } 010.docker的run命令 docker run -it -v /usr/java/:/mnt/software/ myubuntu /bin/bash docker run <相关参数> <镜像ID 或者 仓库名:标签名> <初始命令> 相关参数包括: -i:表示以“交互模式”运行容器 -t:表示容器启动后会进入其命令行 -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录> 初始命令表示一旦容器启动,需要运行的命令,若此处命令使用"/bin/bash",则表示什么也不做,只需进入命令行即可 退出容器使用Ctrl+d或输入exit 再次启动已启动过但现在是关闭的容器 docker start 容器ID或容器名 这个命令只会启动容器,不会进入容器。要进入容器得用命令 docker attach 容器ID或容器名 011.docker如何查看已存在的容器所挂载的目录 docker inspect container_name | grep Mounts -A 20 012.docker启动mysql容器 初次启动需要指定root用户密码, 也可在docker-compose中指定, 直接用docker-compose启动 docker run -e MYSQL_ROOT_PASSWORD=root -p 33066:3306 --name mysql-5.7 -d mysql:5.7 -v /data/mysql/my.cnf:/etc/mysql/mysql.conf.d -v /data/mysql/logs:/usr/local/mysql/logs -v /data/mysql/data:/var/lib/mysql 013.docker进入mysql容器 docker exec -it mysql-5.7 bash # 然后进入mysql服务 mysql -uroot -p 014.docker启动tomcat docker run --mount source=tomcat-8.5-xyj,target=/usr/local/tomcat/webapps -p 8081:8080 --name tomcat-8.5 -d tomcat:8.5 015.DockerCompose通过compose工程名以及服务名从dockerEngine获取当前所有含有此标记的容器以检查当前工程所包含的服务状态,根据当前状态为每个服务制定接下来的动作 若容器不存在,则服务动作设置为创建(create) 若容器存在但设置不允许重建,则服务动作设置为启动(start) 若容器配置发生变化(config-hash)或者设置强制重建标志,则服务动作设置为重建(recreate) 若容器状态为停止,则服务动作设置为启动(start) 若容器状态为运行但其依赖容器需要重建,则服务状态设置为重建(recreate) 若容器状态为运行其无配置改变则不作操作 016.docker查看某个容器大小 进入docker容器默认位置:/var/lib/docker/containers, 文件夹名称即为容器名,文件夹大小即为容器大小 17. Docker参考网站 Docker Hub官方网站(用于查找各种镜像): https://hub.docker.com/docker-compose.yml文件各个参数的官方说明: https://docs.docker.com/compose/compose-file/ 18. Docker的各种docker-compose.yml文件 (1) MySQL version: "3.5" services: mysql: image: mysql:5.7 restart: always container_name: mysql environment: MYSQL_ROOT_PASSWORD: root ports: - "3306:3306" networks: mysql: ipv4_address: 172.20.0.2 volumes: - type: volume source: data target: /var/lib/mysql - type: volume source: config target: /etc/mysql/mysql.conf.d - type: volume source: logs target: /usr/local/mysql/logs volumes: data: config: logs: networks: mysql: driver: bridge name: mysql ipam: driver: default config: - subnet: 172.20.0.0/24 (2) Redis version: "3.5" services: redis: image: redis:4.0.9 restart: always container_name: redis volumes: - type: volume source: config target: /usr/local/etc/redis - type: volume source: data target: /data command: redis-server /usr/local/etc/redis/redis.conf ports: - "6379:6379" networks: redis: ipv4_address: 172.20.0.2 volumes: config: data: networks: redis: driver: bridge name: redis ipam: driver: default config: - subnet: 172.20.0.0/24 (3) Tomcat version: "3.5" services: blog: image: tomcat:8.5 restart: always container_name: blog ports: - "8083:8080" networks: - mysql volumes: - type: volume source: blog target: /usr/local/tomcat/webapps volumes: blog: name: blog networks: mysql: external: true name: mysql (4) Java示例(执行了java -jar /opt/blogback.jar命令, 方便启动容器后自动运行Java程序, 也可用于SpringBoot项目的部署) version: "3.5" services: blogback: image: java:8 restart: always container_name: blogback ports: - "8082:8080" working_dir: /opt command: java -jar /opt/blogback.jar networks: - mysql volumes: - type: volume source: blogback target: /opt volumes: blogback: name: blogback networks: mysql: external: true name: mysql (5) GitLab version: "3.5" services: gitlab: image: gitlab/gitlab-ce:10.5.4-ce.0 restart: always container_name: gitlab ports: - "8085:80" - "2222:22" hostname: "gitlab.ywz.com" environment: GITLAB_OMNIBUS_CONFIG: | gitlab_rails['gitlab_shell_ssh_port'] = 2222 volumes: - type: volume source: config target: /etc/gitlab - type: volume source: logs target: /var/log/gitlab - type: volume source: data target: /var/opt/gitlab volumes: config: name: gitlab_config logs: name: gitlab_logs data: name: gitlab_data (6) Jenkins version: "3.5" services: jenkins: image: jenkins:2.60.3 restart: always container_name: jenkins ports: - "8080:8080" volumes: - type: bind source: /home/paul/docker/myvolume/jenkins/home target: /var/jenkins_home (7) Nexus version: "3.5" services: nexus: image: sonatype/nexus3:3.8.0 restart: always container_name: nexus ports: - "8081:8081" volumes: - type: volume source: data target: /nexus-data volumes: data: (8) Nginx version: "3.5" services: nginx: image: nginx:1.13 restart: always container_name: nginx ports: - "80:80" volumes: - type: volume source: config target: /etc/nginx volumes: config: (9) Python version: "3.5" services: python: image: python:3.5 restart: always container_name: python tty: true command: bash volumes: - type: volume source: workspace target: /home - type: volume source: lib target: /usr/local/lib volumes: workspace: name: python_workspace lib: name: python_lib (10) 多个Tomcat项目共用MySQL, Redis示例 version: "3.5" services: jn: image: tomcat:8.5 restart: always container_name: tomcat_oa_jn ports: - "8082:8080" networks: - mysql_oa - redis_oa volumes: - type: bind source: /home/paul/docker/myvolume/tomcat_oa_jn/webapps target: /usr/local/tomcat/webapps depends_on: - mysql_oa - redis_oa xq: image: tomcat:8.5 restart: always container_name: tomcat_oa_xq ports: - "8083:8080" networks: - mysql_oa - redis_oa volumes: - type: bind source: /home/paul/docker/myvolume/tomcat_oa_xq/webapps target: /usr/local/tomcat/webapps depends_on: - mysql_oa - redis_oa test: image: tomcat:8.5 restart: always container_name: tomcat_oa_test ports: - "8084:8080" networks: - mysql_oa - redis_oa volumes: - type: bind source: /home/paul/docker/myvolume/tomcat_oa_test/webapps target: /usr/local/tomcat/webapps depends_on: - mysql_oa - redis_oa mysql_oa: image: mysql:5.7 restart: always container_name: mysql_oa environment: MYSQL_ROOT_PASSWORD: root ports: - "3307:3306" networks: mysql_oa: ipv4_address: 172.20.0.2 volumes: - type: volume source: mysql_data target: /var/lib/mysql - type: volume source: mysql_config target: /etc/mysql/mysql.conf.d - type: volume source: mysql_logs target: /usr/local/mysql/logs redis_oa: image: redis:4.0.9 restart: always container_name: redis_oa command: redis-server /usr/local/etc/redis/redis.conf ports: - "6379:6379" networks: redis: ipv4_address: 172.21.0.2 volumes: - type: volume source: redis_config target: /usr/local/etc/redis - type: volume source: redis_data target: /data volumes: mysql_data: name: mysql_oa_data mysql_config: name: mysql_oa_config mysql_logs: name: mysql_oa_logs redis_config: name: redis_oa_config redis_data: name: redis_oa_data networks: mysql_oa: driver: bridge name: mysql_oa ipam: driver: default config: - subnet: 172.20.0.0/24 redis_oa: driver: bridge name: redis_oa ipam: driver: default config: - subnet: 172.21.0.0/24 19. Dockerfile实现在centos7-jdk8容器中安装应用(以libreoffice为例) (1) Dockerfile文件 FROM bpatterson/centos7-jdk8 RUN yum update -y RUN yum install -y libreoffice-headless libreoffice-writer libreoffice-calc libreoffice- libreoffice-impress libreoffice-langpack-zh-Hans libreoffice-langpack-zh-Hant libreoffice-langpack-ja ImageMagick curl RUN yum clean all WORKDIR / (2) 在Dockerfile文件所在目录下执行如下命令生成镜像 docker build -t libreoffice:1.0 . (3) 镜像生成后就可以通过compose文件或者直接使用命令启动容器了 version: "3.3" services: libreoffice: image: libreoffice:1.0 restart: always tty: true command: /bin/bash container_name: libreoffice ports: - "8192:8080" volumes: - type: bind source: /home/libreoffice/data target: /home/libreoffice/data (4) 启动容器后运行容器内应用 docker exec -t libreoffice libreoffice --headless --convert-to pdf /home/libreoffice/data/source/test.xls --outdir /home/libreoffice/data/target (5) libreoffice功能实现附件格式转换, 如: xls文件转换为doc文件, doc文件转换为pdf文件等等.

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

Hadoop零基础入门

转自:http://blog.csdn.net/column/details/13153.html 【Hadoop入门学习系列之一】Ubuntu下安装Hadoop(单机模式+伪分布模式) 【Hadoop入门学习系列之一】Ubuntu下安装Hadoop(完全分布模式) hadoop安装配置中的权限管理 【Hadoop入门学习系列之二】HDFS架构和编程 【Hadoop入门学习系列之三】YARN原理和资源调度 【Hadoop入门学习系列之四】MapReduce 2.0应用场景和原理、基本架构和编程模型 【Hadoop入门学习系列之五】MapReduce 2.0编程实战 【Hadoop入门学习系列之六】HBase基本架构、编程模型和应用案例

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

从零开始建站

如果选择自己建站,那么选择一个优秀的建站系统是非常重要的,目前全球市场占有率最高的建站系统就是Wordpress和Joomla,前者适合做个人博客类网站,后者适合企业类和电子商务类网站。 一定要做网站规划方案 一个网站的成功与否与建站前的网站规划有着极为重要的关系。在建立网站前应明确建设网站的目的,确定网站的功能,确定网站规模、投入费用,进行必要的市场分析等。只有详细的规划,才能避免在网站建设中出现的很多问题,使网站建设能顺利进行。 为网站选择一个好域名 域名是网站的门牌号,好的域名不仅能给网站带来更多流量,还具有升值潜力。直接使用单词当然是好方法,而英语单词与缩写的组合,英语单词与汉语拼音的组合,汉语拼音及缩写,数字,数字单词谐音等等也都是起域名的好办法。 选一个好的建站系统或者建站服务商 除了价格之外,还应该考察建站服务商的网站策划、网页设计和网站开发的能力,主要看提供的案例。另外还要看服务商使用的服务器是否稳定可靠、后期的更新维护、SEO推广等,不要一味贪便宜掉入价格陷阱。 选择一个稳定的网站主机 做过网站的朋友都知道,选择一台合适、稳定的服务器,是建立一个好网站的重要前提,对于后期的网站推广至关重要。对于如何选择虚拟主机、租用服务器、托管服务器、云服务器,下面是一些总结: 虚拟主机:适合是小型公司,动态网站,页面不是特别多,访问量不是特别大的网站;服务器租用:适合中小型公司,电子商务网站或者大型论坛,网站每日流量很大;服务器托管:适合大型公司,自己购买了服务器,需要托管在专业的IDC机房;云主机:适合开发型公司,有大并发、动态调整需求频繁的网站。 在建站时就要考虑后期的网站推广 网站制作出来,是为了给人访问,达到宣传推广或者在线销售等目标,这时候就需要网站自身具备推广的基础。因为网站需要有SEO设置项、有和用户的交互系统,比如留言、在线QQ、地图等,与第三方社交平台分享机制。另外内容营销是目前主流的推广手段,因此文章系统是必备的功能。这有助于你的网站被搜索引擎收录,获得免费流量。 网站要备案 网站ICP相当于网站的户口本身份证,尽管有点小麻烦,但是为了正常推广,尤其是考虑到后期再百度和微信等主流流量平台推广,各种在线合作加盟等,没有备案号就不能开展,相当于被排除在主流市场外,所以还是把备案认真完成。 建一个手机网站 手机网站具有让消费者随时、随地、随身访问的优势和方便快捷的不可取代的特点。建一个手机网站,直接在微信公众号菜单中绑定,化身微网站,配合PC网站,为企业形成PC网站+手机网站+微网站的三合一互联网平台,可以全网拦截流量,同时有利于提升企业的品牌形象。 做SEO要有耐心 SEO能免费获得搜索引擎的精准流量。这其中,做SEO三项(title、keyword、description)设置要认真考虑,不要经常改动,否则有可能会被搜索引擎处罚。 要站在用户的角度来考虑网站优化,要沉下心来打持久战,不要天天去各大SEO论坛找捷径,须知SEO欲速则不达。 要有打持久战的心态 网站建设本身就是一个不小的项目,然后网站不仅仅是架设好网站就摆放不管了,还有后期的更新、推广运营,哪怕是一个博客,都还要更新下日志和友情链接什么的。所以,网站建设是一个繁琐,枯燥的事,是一场持久战,没有坚定的毅力和足够的耐心,很难成功! 作为网站管理人员还需要有灵敏的思维和独到的眼光,能及时发现热门的东西,实用的东西,吸引人的东西并在你的网站体现出来。现在很多网站都处于无人管的抛荒状态,就是以为网站做好了就是一劳永逸的事情,结果网站并没有发挥出他的价值。 懂得协作和项目管理 企业或者个人根据自身定位和需要,制作一个网站一般包括前期的网站定位、内容策划、市场调研,之后还需要注册域名、设计页面、开发网站、主机托管、网站备案、网站优化,这个过程需要编辑策划、美工设计、WEB程序员合作完成。在建站过程中,要学会协作,懂的项目管理的节奏。一个好的网站管理人员,应该是一个很好的各种岗位术语的翻译家,你要了解他们的工作流程和术语,然后才能顺畅地完成这个项目。 阳光下没有秘密,以上十条忠告,也许看上去老生常谈,但是有时候只有经历过之后来看,才会发现原来真的是字字说到了点子上。

资源下载

更多资源
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等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册