`
zeeeitch
  • 浏览: 85532 次
  • 性别: Icon_minigender_1
  • 来自: 九江
社区版块
存档分类
最新评论

ruby+sourceinsight+gmake搭建unix开发环境

    博客分类:
  • c++
阅读更多
最近做了个小程序,从网上抓取一些数据,并进行处理,

流程大致是这样的,

java写个spider,通过hibernate写入postgresql,maven运行,并且把maven放在crond。在网上出现需要的数据的大致时间点自动运行;

用shell 和psql 还有sed命令从数据库中取出网上抓来的数据,放入data.ini文件;

c++ stl写一个小程序咀嚼data.ini,输出到stdout;

再用sed命令和psql写回数据库。

搞着么复杂是因为综合了以前很多小程序,完成此次流程。

其中那个c++stl程序原是在vc2005下的,把它移植到freebsd下。在sourceinsight编辑,调用脚本语言发送到服务器,gmake后读取反馈信息(编译错误等),定位到行。

开始装了perl,搞了半天,一个小小的ssh登录搞不定,什么Expect不支持等。

后来用了ruby,挺直接的   ,make_remote.rb:

require 'net/ssh'
require 'net/sftp'
require 'find'

local_path = "#{ARGV[1]}"
puts "local path:#{local_path}"
remote_repo =  "/usr/home/zh/project"
remote_path = "#{remote_repo}/#{ARGV[0]}"
puts "remote path:#{remote_path}"
file_perm = 0600
dir_perm = 0700


def do_cmd( session ,cmd)
  session.open_channel do |channel|
     channel.on_data do |ch, data|
      puts "#{data}"
    end
    channel.exec "#{cmd}",true
  end
end


puts 'Connecting to remote server......'

Net::SSH.start('218.193.237.11', 'zh', '') do |ssh|

ssh.sftp.connect do |sftp|
 puts 'Checking for files which need updating'
 Find.find(local_path) do |file|
   next if File.stat(file).directory?
   local_file = "#{file}"
   remote_file = remote_path + local_file.sub(local_path, '')

   begin
     remote_dir = File.dirname(remote_file)
     sftp.stat(remote_dir)
   rescue Net::SFTP::Operations::StatusException => e 
     raise unless e.code == 2
     sftp.mkdir(remote_dir, :permissions => dir_perm)
   end

   begin
     rstat = sftp.stat(remote_file)
   rescue Net::SFTP::Operations::StatusException => e
     raise unless e.code == 2
      puts "Copying #{local_file} to #{remote_file}"
    sftp.put_file(local_file, remote_file)
     sftp.setstat(remote_file, :permissions => file_perm)
     next
   end

   if File.stat(local_file).mtime > Time.at(rstat.mtime)
     puts "Copying #{local_file} to #{remote_file}"
     sftp.put_file(local_file, remote_file)
   end
 end
end

puts 'making project......'

shell = ssh.shell.sync
out=shell.send_command( "cd #{remote_path}&&gmake #{ARGV[2]}")
puts out.stderr

if ARGV[2]=='run'
 puts out.stdout
end

puts 'Disconnecting from remote server......'
end


(好像密码都不用填,会去读取putty配置?)



总结一下使用的东西:sourceinsight、shell、c++、java、maven2、postgres、ruby、freebsd、boost serialization

现在这个东西完全自动了,抓取web数据,自动计算,到时看结果就行了



分享到:
评论

相关推荐

    pc-lint用于sourceinsight上静态代码检测

    **正文** 在软件开发过程中,静态代码分析是一种重要的质量保证手段,它能够在代码执行...总之,PC-lint与Source Insight的结合使用,为开发者提供了一个强大且直观的静态代码分析环境,有助于实现高质量的C/C++编程。

    source Insight语言包(ruby+tcl)

    为Source Insight添加语言支持1. 下载语言支持文件。2. 选择 Options > Preferences。点击Languages 标签。3. 点击 Import 按钮。选择和加载定制的语言文件 (.CLF)。4. 现在你可以看见新的语言出现在语言列表中。5. ...

    PC-lint在Source Insight中的设置和使用详解[PDF]

    ### PC-lint在Source Insight中的设置与使用详解 #### 一、环境配置 在开始介绍如何在Source ...通过以上步骤,我们可以有效地在Source Insight中集成PC-lint,实现代码的自动化检查和优化,提高代码质量和开发效率。

    Understand+sourceinsight.zip

    understand代码分析工具+破解器+中文文档+souceInsight代码浏览工具(绝对好用!!!)

    source insight 3.5 UTF-8中文乱码插件_sourceinsight3.5_utf-8_插件补丁_中文乱码_

    然而,在处理UTF-8编码的中文文件时,Source Insight 3.5可能会出现中文乱码的问题,这对于中文开发环境来说是个不小困扰。 "source insight 3.5 UTF-8中文乱码插件"是为了解决这个问题而设计的。这个插件或补丁...

    source insight导出主题设置+Source Code Pro-Medium字体2017.08.25.zip

    本文将重点介绍如何通过导入特定的主题设置和采用Source Code Pro-Medium字体,将Source Insight打造成一个更符合个人审美的开发环境,使其在视觉体验上接近VSCode的配色风格。 首先,我们需要理解主题设置在Source...

    SourceInsight+序列号

    "SourceInsight+序列号"可能是指软件的激活过程。在安装SourceInsight后,通常需要输入有效的序列号进行激活,以解锁完整功能。序列号是软件授权的重要组成部分,确保用户遵守软件的使用协议。 在使用Source...

    source insight导出主题设置+Source Code Pro-Medium

    此主题(配置文件)基于Source insight 4.0 40086导出,界面及代码配色完全模仿Atom主题,图片请看此处http://blog.csdn.net/huyuan7494/article/details/77477851

    sourceinsight4086+序列号+注册方法

    SourceInsight是一款广受程序员喜爱的源代码分析和编辑工具,以其强大的代码浏览、语法高亮、智能提示等功能,为软件开发者提供了高效的工作环境。本文将详细介绍SourceInsight 4.0.0086版本的安装、序列号激活以及...

    Source Insight 3及其序列号

    Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文...

    sourceInsight4096.7z

    sourceInsight4096,sourceInsight4096, sourceInsight4096,sourceInsight4096, sourceInsight4096,sourceInsight4096, sourceInsight4096,sourceInsight4096, sourceInsight4096,sourceInsight4096, ...

    SourceInsight 4.0 主题

    SourceInsight是一款强大的源代码分析和编辑工具,尤其在软件开发领域中广泛应用。它支持多种编程语言,包括C、C++、Java等,提供了高效的代码浏览、搜索和编辑功能。SourceInsight 4.0是其最新版本,引入了更多改进...

    Source Insight 4.0 + 仿Sublime主题

    对于开发人员来说,Source Insight 4.0的绿色版本特别方便,因为它可以在没有管理员权限的环境中运行,比如在公司的共享电脑或者公共计算机上。此外,由于它不依赖于特定的系统设置,因此在多台机器间同步工作环境变...

    source insight 4.0安装包

    Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。 Source Insight...

    Keil和SourceInsight关联

    "Keil和SourceInsight关联"这个主题涉及到的是如何将两个著名的软件——Keil μVision(一个强大的嵌入式系统开发工具)和SourceInsight(一款先进的源代码阅读、分析和编辑器)进行集成,以实现更流畅的开发流程。...

    SourceInsight3.5序列号+汉化

    《SourceInsight3.5:序列号与汉化详解》 SourceInsight是一款广受程序员喜爱的源代码分析和编辑工具,尤其在C/C++、Java等编程语言中表现出色。其强大的代码浏览、语法高亮、智能提示等功能,极大地提高了开发效率...

    Source Insight 配色方案,sourceinsight颜色配置,UNIX

    **源码编辑器Source Insight的配色方案详解** Source Insight是一款强大的源代码浏览和编辑工具,尤其在编程和代码分析方面表现出色。它支持多种编程语言,并允许用户自定义界面配色,以适应不同的工作环境和个人...

    Source Insight 4.0 带license 可用

    无论你是初学者还是经验丰富的专业人士,Source Insight 4.0都能够提供高效、便捷的开发环境。如果你曾经在寻找可用版本的过程中遇到困扰,那么这个带license的Source Insight 4.0无疑是你的理想选择。

    完美解决source insight 3.5中文显示乱码问题

    Source Insight是一款广受欢迎的源代码阅读和分析工具,尤其在软件开发领域中,它以其强大的代码导航、搜索和分析功能而备受青睐。然而,对于中文支持的问题,Source Insight 3.5的原始版本存在一定的局限性,即在...

    用source insight 阅读matlab文件

    在软件开发和代码分析中,Source Insight是一款备受推崇的源代码查看和编辑工具。它以其强大的代码导航、语法高亮和智能搜索功能而闻名,广泛应用于C/C++、Java、Python等多种编程语言。然而,MATLAB作为一种专门...

Global site tag (gtag.js) - Google Analytics