小编jhs*_*701的帖子

在Rails应用程序中安全地提供数据库密码

如您所知,您必须在config/database.yml文件中为数据库提供正确的数据库名称,用户名和密码,否则您的Rails应用程序将拒绝工作.

在默认设置中,您的密码在config/database.yml文件中以纯文本格式显示.如果您的应用程序位于免费的GitHub存储库中,那么您的密码就是公共信息.对于严肃的应用程序,这不是一个可行的选择.(对于教程练习,没关系,只要您不将此密码用于其他任何内容.)

到目前为止,我有一个对我有用的解决方案,但我想知道是否有更好的东西.您可以在https://github.com/jhsu802701/bsf上查看我部署的示例.

我所做的是设置config/database.yml文件,以编程方式提供开发环境的用户名和密码.对于开发环境,我将命令添加到config/database.yml脚本以获取开发环境用户名(这是我使用的Debian Linux安装程序的常规用户名)和空白密码.(我给我的用户名Postgres超级用户权限.)对于生产环境,我在部署脚本中添加一个命令,该命令从我帐户上其他位置的文件中获取用户名和密码,并将此信息写入config/database.yml文件.

有更好的解决方案吗?

是否有一个Ruby宝石涵盖了这个?如果没有,我正在考虑创建一个.

database passwords ruby-on-rails

11
推荐指数
2
解决办法
1万
查看次数

Ruby中可用的网页抓取宝石/工具

我正在尝试在我正在处理的Ruby脚本中抓取网页.该项目的目的是显示哪些ETF和股票共同基金与价值投资理念最相容.

我要抓的页面的一些例子是:

http://finance.yahoo.com/q/pr?s=SPY+Profile
http://finance.yahoo.com/q/hl?s=SPY+Holdings
http://www.marketwatch.com/tools/mutual-fund/list/V
Run Code Online (Sandbox Code Playgroud)

你为Ruby推荐什么网络抓取工具?为什么?请记住,那里有成千上万的股票基金,所以我使用的任何工具都必须相当快.

我是Ruby的新手,但我有使用lxml在Python中抓取网页的经验(https://github.com/jhsu802701/dopplervalueinvesting/blob/master/screen.py).一旦下载了5000多只股票的页面,lxml就可以在几分钟内完成所有这些操作.(我记得尝试过BeautifulSoup但拒绝它,因为它太慢了.)

ruby lxml html-parsing scrape

10
推荐指数
1
解决办法
9183
查看次数

我应该为Android应用开发购买什么Android设备?

我在基本的Android设备市场.我购买一个的主要原因是学习开发移动应用程序.虽然Eclipse IDE提供了一个用于测试应用程序的虚拟Android设备,但它与真正的Android设备不同,并且不会让我与Android设备用户使用相同的波长.(最明显的例子:在明亮的室外环境中,可见度比在室内更差.)

一些问题:

  1. 平板电脑是我应该得到的设备类型吗?我觉得它比其他设备更通用.我不需要智能手机,因为我的哑铃对我来说效果很好,我甚至都没用它.我讨厌陷入特定无线提供商的想法.我对电子书不感兴趣,因为我仍然喜欢纸上书籍.
  2. 我应该购买Android 2.3或4.0的设备吗?一方面,超过90%的当前Android用户使用2.3.3或更早版本.另一方面,4.0更好,并将获得市场份额.(现在购买Android 2.3设备并购买Android 4.0设备是我最好的选择吗?)
  3. 除了wifi,我还应该寻找什么?
  4. 我应该避免哪些品牌/型号?我记得听说Packard Bell PC是最不可靠的.Yugo是一个可怕的价值.(一个旧的Oldsmobile Cutlass clunker是一个更好的价值 - 至少可靠但更便宜的购买.)
  5. 购买使用有什么意义吗?Ebay和Google Shopping上的列表并未显示使用过的平板电脑比新款平板电脑便宜得多,并且新平板电脑的数量超过了现有的平板电脑数量.

Ebay目前(2012年3月23日)上市的200多款Android 2.3平板电脑售价为55-90美元:http://www.ebay.com/sch/iPads-Tablets-eBook-Readers-/171485/i.html?Operating %2520System =的Android%25202%252E3%252Ex%2520Gingerbread&LH_BIN = 1&因特网%2520Connectivity =无线%252DFi%7CWi%252DFi%2520%252B%25203G%7CWi%252DFi%2520%252B%25204G&_nkw =机器人+ 2.3&_dmpt = US_Tablets&RT = NC&LH_ItemCondition = 1000

Ebay目前(2012年3月23日)上市的200多款Android 4.0平板电脑售价为83美元至107美元:http://www.ebay.com/sch/iPads-Tablets-eBook-Readers-/171485/i.html?Operating %2520System =的Android%25204%252Ex%2520Ice%2520Cream%2520Sandwich&LH_BIN = 1&LH_ItemCondition = 1000&类型=平板&_pppn = R1&_dmpt = US_Tablets&因特网%2520Connectivity =无线%252DFi%7CWi%252DFi%2520%252B%25203G%7CWi%252DFi%2520%252B%25204G

你怎么看?

android

7
推荐指数
2
解决办法
9268
查看次数

官方Android开发人员教程中Hello World项目中的NAND错误

我正在http://developer.android.com/resources/tutorials/hello-world.html上研究Hello World项目

当我运行应用程序时出现问题.我得到的消息序列如下:

[2012-04-30 15:13:19 - HelloAndroid] ------------------------------
[2012-04-30 15:13:19 - HelloAndroid] Android Launch!
[2012-04-30 15:13:19 - HelloAndroid] adb is running normally.
[2012-04-30 15:13:19 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch
[2012-04-30 15:13:19 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'my_avd'
[2012-04-30 15:13:19 - HelloAndroid] Launching a new emulator with Virtual Device 'my_avd'
[2012-04-30 15:13:25 - Emulator] NAND: could not write file /tmp/android-jhsu/emulator-7iTL7m, File exists
Run Code Online (Sandbox Code Playgroud)

究竟是什么阻止了这个过程正确执行?我需要做些什么来解决这个问题?

更新1:

好的,我尝试了关于清除avd的建议.

我进入了我的android_sdk_linux目录并输入了"tools/android list avd".输出是:

Available Android Virtual Devices: …
Run Code Online (Sandbox Code Playgroud)

eclipse android adt

2
推荐指数
1
解决办法
4651
查看次数