重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
工作0~1年后通常会成为Web前端初级软件工程师,年薪可以达到8-15万以上;
创新互联建站服务项目包括海门网站建设、海门网站制作、海门网页制作以及海门网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,海门网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到海门省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
工作1~2年后通常会成为Web前端高级软件工程师,年薪可以达到15万以上;
工作3-5年后通常可以成为Web前端技术主管或者经理,年薪在15-50万之间;
工作年限5年以上,通常会成为互联网公司的技术总监或产品经理,年薪将达到50万-100万之间。
如果想要在PostgreSQL中存储二进制数据,例如存储Word、Excel文档,图片文件等,可以使用bytea类型的列。bytea类型是PostgreSQL特有的存储二进制数据的字段类型,与SQL标准中的BLOB和BINARY LARGE OBJECT类型异曲同工。这在PostgreSQL文档的bytea类型介绍中有所说明。
接下来先说说如何向表中插入、更新bytea数据。
PostgreSQL允许在SQL命令中包含bytea类型的数据,以便能够使用INSERT向表中插入含有二进制数据的记录,使用UPDATE和调用与bytea类型相关的函数更新和操作bytea类型数据。二进制数据是一个字节序列,然而SQL命令是文本字符串,怎样在SQL中写入二进制数据呢?答案很简单,把每一个字节转换成对应的三位十进制数字的八进制数字符串表示,以双斜线做为前缀,即0x00表示为\\000、0x2C表示为\\02C、0xFF表示为\\377,并按照bytea类型的要求在字符串前端的单引号外注明E。举例如下:
INSERT INTO table1 (fileid, filename, content) VALUES (1, 'filename.doc', E'\\000\\001\\002');
INSERT INTO table1 (fileid, filename, content) VALUES (2, 'anotherfile.jpg', E'\\000\\377');
UPDATE table1 SET content = E'\\000\\000\\000' WHERE fileid = 1;
UPDATE table1 SET content = content || E'\\377\\377\\377' WHERE fileid = 2;
可以在INSERT INTO中包含整个文件的bytea类型字符串,也可以像上面第四行那样,分块追加。对于短小的二进制数据,在命令控制台中编辑SQL命令也未尝不可。但是如果要存储一个图片文件或者Word文档之类的大型二进制数据的时候,就需要借助数据访问借口,或者自己写一个字节转换程序,直接操作SQL语句。
插入bytea数据后可以使用SELECT语句获取它。如下所示:
SELECT content FROM table1;
在命令控制台中,我们会看到以输入时的字符串格式输出二进制数据,这是PostgreSQL做的转换。在Python中使用psycopg2模块,执行上述SELECT语句后能够获得原始的二进制字节字符串,可以直接写入二进制文件。
顺便说明一下。对于字节的转换,PostgreSQL的文档说的非常详细,按照零字节、单引号、斜线,以及字符的可打印性分别作了讨论。原因是需要逃逸单引号和斜线字符,另外可打印字符可以不作转换,直接出现。
这个就非常多了,下面我以常见的编程开发软件和数据库管理软件为例,简单介绍几种,感兴趣的朋友可以尝试一下:
01 编程开发软件
这个要看具体编程语言了,不同语言开发工具自然不同,这里以常见的C/C++、Java和Python为例,简单介绍3种比较常用的软件:
这是Windows平台下一个非常专业的集成开发工具,号称宇宙第一IDE环境,不仅仅只是C/C++,常见的C#、VB等编程语言,这个软件都能很好支持,智能补全、代码高亮、语法检查等功能非常不错,除此之外,还支持单元测试、代码重构和分析等高级功能,因此非常适合大型项目开发和维护:
这是一个非常专业智能的Java开发工具,在企业和个人桌面中,有着非常高的使用率和欢迎度,自动补全、语法提示、代码高亮等功能非常不错,除此之外,还支持JUnit、CVS整合、代码重构等高级功能,自带有Maven和Gradle构建工具,因此更适合Java项目开发和维护,个人使用起来非常不错:
这是一个非常专业的Python开发软件,和IntelliJ IDEA一样,Jetbrains公司的产品,在业界非常流行、受欢迎,智能补全、代码高亮、语法提示等功能非常不错,除此之外,还支持代码重构和分析、单元测试等高级功能,因此更适合大型项目,个人使用来说,也非常简单,很容易上手和掌握:
02 数据库管理软件
这个就非常多了,不同数据库都有专门的管理软件和工具,这里简单介绍3个比较通用的数据库管理软件,分别是HeidiSQL、DBeaver和DataGrip,对于日常使用来说,非常不错:
这是Windows平台下一个非常轻巧灵活的数据库管理软件,基于Delphi开发而来,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流数据库,常见的建库建表、视图索引、触发器等基本功能,这个软件都能很好兼容,除此之外,还支持SQL脚本导入导出、数据备份恢复等功能,对于日常数据库管理来说,非常不错:
这是一个基于Java开发的数据库管理软件,免费、开源、跨平台,目前支持Oracle、MySQL、PostgreSQL、SQL Server等十几种主流数据库开发,建库建表、视图索引、触发器、存储过程等基本功能 都 可轻松查看和设计,数据库导入导出、数据 恢复 备份等功能也都非常不错,对于日常数据库管理和维护来说,是一个非常不错的工具:
这也是一个通用的数据库管理软件,Jetbrains公司的产品,支持跨平台,但原则上针对个人不免费,常见的PostgreSQL、MySQL、Oracle等数据库,这个软件都能很好支持, 数据导入导出( 恢复备份 )、 智能代码填充、版本 集成 控制等功能非常不错,对于日常数据库管理来说,也是一个不错的工具:
每天常用开发工具:
0.Git:分布式版本控制系统;
1.IntelliJ IDEA:java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一;
2.Sublime Text:不只是代码编辑器;
3.Postman:Http请求模拟工具和功能强大的网页调试工具;
4.DataGrip:支持几乎所有主流的关系数据库、多功能的数据库操作工具;
5.Vagrant:用于创建和部署虚拟化开发环境,配合虚拟机使用;
6.Gradle:自动化构建工具;
7.JIRA:项目与事务跟踪工具;
8.iTerm2:Mac上的终端工具;
9.Jenkins:持续集成工具。
做了一个写代码用了十几年的人,很多编程的习惯已经养成了,现在就罗列下每天必用的软件:
直接安装的linux系统,因为几乎所有的代码都是在linux下完成
java开发环境
C/C++代码编辑工具
linux下虚拟windows系统virtualBox
软件提交工具git
不同的开发语言,每天要用到的软件可能不一样。
我是开发java web的,电脑安装了很多工具,但是说每天要用到的好像就几个。
作为程序员使用最多的软件,莫过于编程开发所用到的软件编辑器,但是编辑器的种类有很多。我们需要做到的是,找到你最喜欢的编辑器然后熟练的使用它。
同时掌握常见的一些快捷键的操作方式,从而来提升我们的工作效率,而不是以软件而论软件,什么都去接触使用。毕竟软件是工具是帮助我们提升开发效率。
下面我就列举我们PHP经常使用的软件
IDE工具类软件
这一类是开发软件编写代码用的。这一类的软件非常多,我就推荐一个经常使用的PHPStorm,因为太多的话大家也用不到,也没有那么多的精力去熟练每一个编辑器。
PHPStorm是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可以说是PHP开发程序员必备的神器。
常用快捷键如下:
1.复制快捷方式
F5 复制文件/文件夹
CTRL+C 复制
CTRL+V 粘贴
CTRL+X 剪 切,删除行
CTRL+D 复制行
CTRL+SHIFT+V 可以复制多个文本
2.自动代码
ALT+回车 导入包,自动修正
CTRL+ALT+L 格式化代
码CTRL+ALT+I 自动缩进
CTRL+ALT+O 优化导入的类和包
CTRL+SHIFT+SPACE 切换窗口
CTRL+SPACE空格 代码自动完成,代码提示,一般与输入法冲突
CTRL+ALT+SPACE 类 名或接口名提示(与系统冲突)
CTRL+P 方法参数提示,显示默认参数
CTRL+J 自动代码提示,自动补全
CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
3.运行
Alt + Shift + F10 选择的配置和运行
Alt + Shift + F9 选择配置和调试
Shift + F10 运行
Shift + F9调试
Ctrl + Shift + F10运行范围内配置编辑器
Ctrl + Shift + X运行命令行
4.其他快捷方式
CTRL+Z 倒退(代码后悔)
CTRL+SHIFT+Z 向前
CTRL+H 显 示类结构图
Ctrl +F12 文件结构弹出
CTRL+O 魔术方法
CTRL+/ 注释//取消注释
CTRL+SHIFT+/ 注释/*...*/
ctrl + '.': 折叠选中的代码的代码
ALT+ / 切换代码视图,标签切换
5.其他快捷方式
CTRL+Z 倒退(代码后悔)
CTRL+SHIFT+Z 向前
CTRL+H 显 示类结构图
Ctrl +F12 文件结构弹出
CTRL+O 魔术方法CTRL+/ 注释//取消注释
CTRL+SHIFT+/ 注释/*...*/
ctrl + '.': 折叠选中的代码的代码
ALT+ / 切换代码视图,
数据库相关常用的工具
Navicat for MySQL是管理数据库的操作工具,都是可以连接远程的云数据库。方便简化开发,还可以手动备份、可视化的sql分析。
常用快捷键:
ctrl+q 打开查询窗口
ctrl+/ 注释sql语句
ctrl+shift +/ 解除注释
ctrl+r 运行查询窗口的sql语句
ctrl+shift+r 只运行选中的sql语句
F6 打开一个mysql命令行窗口
ctrl+d (1):查看表结构详情,包括索引 触发器,存储过程,外键,唯一键;(2):复制一行
ctrl+l 删除一行
ctrl+n 打开一个新的查询窗口
ctrl+w 关闭一个查询窗口
ctrl+tab 多窗口切换
服务器连接软件
XShell6是非常强大的SSH远程终端客户端,帮助我们连接远程的Linux服务器来进行操作。
粘贴:Shift+Insert
历史 命令编辑ctrl + p 返回上一次输入命令字符
alt + 返回上一次执行命令
其它
ctrl + s 锁住终端
ctrl + q 解锁终端
ctrl + l 清屏相当于命令clear
Tab键,快速补全命令
轻量级文本编辑器
Notepad++。这个很轻量,打开一下文本非常的方便。
常用快捷键
Ctrl+C 复制
Ctrl+X 剪切
Ctrl+V 粘贴
Ctrl+Z 撤消
Ctrl+Y 恢复
Ctrl+A 全选
Ctrl+F 键查找对话框启动
Ctrl+H 查找/替换对话框
Ctrl+D 复制并粘贴当行
Ctrl+F2 切换书签
F2 转到下一个书签Shift+F2 转到上一个书签
F11 全屏模式
综上所述,软件只是一个工具,我们需要找到自己喜欢使用的,然后熟练一些常用的快捷方式即可,而并不是在于数量多。
前端 :
visual studio code
后端:
pycharm
IDEA
安卓:
android studio
浏览器:
谷歌
火狐
数据库管理:
navicat
远端链接:
fileZilla
xshell
electerm(mac上使用)
流程图设计:
xmind
processOn
笔记:
为知笔记(付费一年60)
有道云笔记
虚拟机(容器)
VMware Fusion(mac上)
docker
其他:
postman
jmeter
作为一个12年开发经验的前端程序员,我来聊聊每天必用的几个软件。
写代码自然离不开 编辑器 。目前我主要使用的是微软的 Visual Studio Code 。VS Code比较轻量,功能足够应付日常开发所需,跨平台,而且完全免费 。因为之前长期使用Visual Studio在Windows平台上做开发,后来技术栈变化,经常需要在Linux和MacOS上做开发,VS Code就成了我顺理成章的选择。后来干脆在Windows上也用VS Code了。目前整个团队都已经被VS Code圈粉了。其它类似的如Sublime Text(需要付费)和Atom也有不少人使用。
因为是团队开发, 源代码管理工具 自然必不可少,而 git 是目前最热门的一个。我们公司也不例外,几年前从Perforce迁移到了 GitHub企业版 (和公众版本UI完全相同)。平时的代码审查也都是在GitHub企业版上完成的,不再使用单独的代码审查工具。有些不习惯使用命令行方式的同事使用 SourceTree 完成日常的代码分支管理和提交,而我则比较热衷于命令行方式。VS Code也提供了比较完善的git集成,但因为习惯的原因,除了直观比较不同代码版本的差异,我一般也不用VS Code执行git操作。
作为一个Web前端, 浏览器及前端调试工具 自然不可或缺, Google Chrome + Developer Tools (F12) 自然是首选。使用Developer Tools,可以对JavaScript进行调试,监控HTTP请求/响应,分析CSS计算问题和JS性能问题。 Chrome下还有很多功能强大的插件,个人比较常用的包括React Developer Tools、PostMan、Proxy SwitchOmega和AdBlock。当然,因为经常面对浏览器兼容性问题,Firefox、IE、Edge、Apple Safari以及各自的Developer Tools都是免不了要用的。
团队目前使用Scrum模型,自然需要一个做 任务规划和质量管理 的工具。我们采用了 JIRA , 每天的站会(daily standup meeting)都会对scrum看板(board)进行更新。
遇到技术问题,自然免不了要上网查找资料。 Google 的使用频率非常高(需要科学上网)。大部分问题都能在 StackOveflow 上找到线索,但有时候也不得不跑到大名鼎鼎的同性交友网站 GitHub 上看源码。 MDN (Mozilla Developer Network)对于前端开发也是不可或缺(此处鄙视一下w3cschool,上面到处是错误知识)。
其它如node.js/npm、docker等,因为和具体的技术栈相关,就不具体展开讲了。
作为一个开发人员,你每天使用什么软件呢,欢迎说说看。
尽管我是后端出身的,不过也经常写前端代码,甚至还用C#/C++参与过一些客户端开发,自认为也算是一个Web全栈工程师。随着前端技术的不断进步,现在的前端已经不再是写写页面这么简单了,很多逻辑在前端就写了,我建议每一个出色的开发者应该尽可能对前后端都能有不错的掌握。
今天给大家推荐一些我认为前端和后端开发都需要经常用到的一些软件,这里面包括了查询资料工具、原型工具、文本编辑器、版本管理工具。
原型工具
不管前端还是后端,尤其是前端程序员,在跟产品经历沟通之后肯定会要查看原型的,方便自己在开发过程中使用,基本上大公司输出的原型都比较规范,除非你遇到张小龙这种级别的大神,哥们儿直接盯着你做了。
目前主流的原型工具主要有Axure、MockPlus、墨刀等,其中Axure依然是应用最为广泛的原型工具,大多数开发者也都应该用来看原型。
文本编辑器
不管是前端还是后端程序员,当然前端程序员就不说了,在WebStorm出现之前,没有一款真正可以叫做IDE的前端开发工具,那么基本上文本编辑器就是前端程序员最重要的编程工具。同样后端程序员即使不需要写前端代码,文本编辑器也是必备的,您不需要每次看代码都打开庞大的集成开发环境,像IDEA这种比较耗费资源的,平时查看代码啥的完全没有必要,何况你还经常要看一些前端代码。
当然你比较习惯Linux/Unix下开发,Emacs/Vim可能是你用得比较多的文本编辑器,还有UltraEdit、Sublime Text、EditPlus、Atom这些老牌的文本编辑器,不过现在我觉得每个程序员都应该下载一个Visual Studio Code,支持的语言比较多,而且插件非常丰富,是微软官方支持的开发者工具,开源免费而且颜值非常高。
查询资料、版本管理工具
不用多说,每个程序员都要学会很好的使用Google、Stack Overflow两个工具,可以说你日常开发当中可能遇到的问题,通过这两个工具你全都能找到解决方案。
另外一个是Dash文档管理工具,Dash是一个非常好的开发者帮助文档工具,这个工具的好处是给所有的开发文档做了一个整合,C/C++、Java、PHP、Python、Latex、Emacs Lisp、Haskell、JavaScript、Go语言等文档都能够在这个工具当中下载使用。
最后一个就是版本管理了,SVN和Git依然是目前使用最为广泛的版本管理工具,不过就使用来说我还是推荐Git版本控制系统,可以说这个时代Git就是最好的版本管理工具了,尤其是开源时代、互联网时代,Git已经成为了最重要的版本管理工具,不管是命令行管理还是使用Github等客户端工具,堪称完美。
入行十一年,现在主要做一些管理和架构方面的工作,也会做一些Coding,主要是一些新技术的研究和“踩坑”。
编辑器
首先是EditPlus,这是一个文本编辑器。最常用的两个功能:正则表达式查询和文件夹内所有文件内容搜索。
平时经常需要看一些系统日志,甚至要从好几天几十个日志文件中找到内容,这个软件很好用。(原谅我们没有上日志平台)
然后就是IDE啦,我还是喜欢用Eclipse,有时候会用STS(Spring Tool Suite),它也是一个被包装过的Eclipse,方便做一些Spring框架的研究。
数据库工具
一个是DbVisualizer,凡是具有JDBC数据库接口的数据库都可以管理,什么数据库都能连。
还有一个是SQLyog,这是一个快速而简洁的图形化管理MYSQL数据库的工具,我只用里面一个功能,就是数据的导入导出,效率非常高!
接口测试工具
大部分项目只对外提供接口服务,所以接口测试工具少不了,我一般使用SoapUI,WebService/Rest都可以进行测试。
其他
每天肯定会用的肯定不止上面几个,还有版本控制工具svn和git,都会用到是因为单位svn现在开始往git迁移。
因为用的Scrum敏捷开发流程,所以JIRA、Sonar、Fisheye这些也是都会用到的。
Maven也不用说了,几个项目基本都是基于Maven构建的。
必用的基本就是这些,只要电脑开着,这几个软件基本都是打开状态。
热力图,在空间数据可视化场景中是一个非常常见的需求。首先看下一个完整的热力图效果。
前端实现热力图的原理可以看该 博文 。本文不是探究热力图前端实现原理的,是来探讨由于热力图一次性加载的点过多,产生卡顿的问题。
前面的 博文 也提出了自己的解决办法。但是若数据居多(10w+),光数据传输就头疼。现有的热力图的前端组件有很多,可以用openlayer、高德地图js、百度地图js、mapbox等。但是大多数的数据结构的都是下面这种形式。
所以需要在后台将下面策略实现,给前台页面传输合适的数据就行。
借助postgresql的width_bucket和postgis,仅用0.4s将20W的数据压缩到2500,这就大大降低了数据传输和渲染的压力。同时也不需要对已有的GIS前端热力图组件进行修改。
德哥的文章
数据可视化:浅谈热力图如何在前端实现
在北美,人们对于
PostgreSQL
的热情不断升温。随着
PostgreSQL
的发展,
PostgreSQL
8.x
已经从技术上超越
MySQL
5.x
,而市场的超越相信只是时间问题。而最终,用户也许有机会享受到可媲美
Oracle
的开源数据库也未尝没有可能。
我供职的互联网公司,服务约
50
万商务用户,经过多次的升级移植,目前公司已经全部将后台数据库从
MySQL
移植到
PostgreSQL
,而个人完成了其中一半的数据库移植工作,所以对数据库从
MySQL
移植到
PostgreSQL
积累了一些经验。在此整理成文,希望能对大家使用
PostgreSQL
有一些启发。
1)
准备:
使用
MySQL
数据备份工具对数据库进行全备份:
mysqldump
-h
[hostname]
-u
[username]
-p
[password]
--extended-insert=false
[dbname]
mysql-db.sql
注意
disable
extended-insert
,
PostgreSQL
不支持
MySQL
的
extended-insert
2)
转化:
将
mysql-db.sql
转为
PostgreSQL
可以导入的
SQL
Script.
MySQL
和
PostgreSQL
在
SQL
语义上存在一定差异,比如
MySQL
不支持
sequence
,触发器等功能,但为此又提供了一些自有的语法规则,而对比一些系统函数,
MySQL
和
PostgreSQL
又存在比较大的差别。为此,我编写了一段语义分析和转化的程序
mysql2psql
mysql2psql
mysql-db.sql
postgres-db.sql
3)
导入:
使用
PostgreSQL
提供的
pgAdmin
将数据文件导入数据库。
4)
SQL
语句的修改:
在实际的应用中,前端的系统往往会嵌入一些具有数据库特性的
SQL
语句,而随着后台数据库的改变,前端的系统程序也同样需要做出相应的修改。
MySQL
和
PostgreSQL
最常见的不同之处包括:Group
by,Join的使用差异,系统函数的命名和调用的差异等等。
1,首先要确定你这是一个 ajax 接口,还是一个 jsonp 接口。
2,然后用 sql 语句将数据从数据库中读取出来。
3,将数据全部都放到一个集合或者数组里
4,将这个集合或者数组转换成 json 字符串。
5,如果是 ajax 接口,直接把这个 json 字符串返回给前端,如果是 jsonp 接口,则需要先从 GET 请求中提取出 回调函数是名称,然后拼接一个 函数调用的字符串,类似 'callback({...})'
你,搞明白了吧。