我想根据 MBP 上的相机使用情况自动化个人工作流程。
基本上我想知道是否有任何相机(内置或 USB)已打开或关闭,以便我可以运行我将创建的程序或脚本。
我认为如果我需要轮询相机状态也可以,但基于事件或回调的解决方案将是理想的
我曾尝试使用AWS论坛获得帮助,但是,哦,男孩,很难在那里得到任何东西.无论如何,原帖还在那里.
这是同一个问题.
我使用Elastic Beanstalk和Python容器部署了一个Python(Flask)应用程序.目录结构或多或少都是这样的(简化到了这一点):
[app root]
- application.py
- requirements.txt
/.ebextensions
- python-container.config
/secrets
- keys.py
- secret_logic.py
/myapp
- __init__.py
/static
- image1.png
- some-other-file.js
/services
- __init__.py
- some-app-logic.py
Run Code Online (Sandbox Code Playgroud)
我发现我的应用中的任何文件都可以通过浏览来检索,如下面的网址所示:
我捅了一下,发现这是由文件/etc/httpd/conf.d/wsgi.conf中的这个配置引起的:
Alias /static /opt/python/current/app/
<Directory /opt/python/current/app/>
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
基本上,这允许通过/ static虚拟路径对我的整个应用程序(部署在/ opt/python/current/app /)进行读访问.
在这一点上,有人可能会建议使用.config ebextension文件覆盖默认的Python容器staticFiles选项(顺便说一下,这是一个可怕的默认值)是一件简单的事情.好吧,如果你看一下我的目录结构,你会看到python-container.config,它有:
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "app/myapp/static/"
Run Code Online (Sandbox Code Playgroud)
但是,在生成Apache配置文件时,将完全忽略此文件.要(我认为)证明,请查看这些文件的AWS EB脚本(只是重要的一行):
/opt/elasticbeanstalk/hooks/configdeploy/pre/01generate.py:
configuration = config.SimplifiedConfigLoader().load_config()
config.generate_apache_config(
configuration, …Run Code Online (Sandbox Code Playgroud) 我在Server 2008上运行我的工作站,在该服务器上运行Hyper-V VM中的一些服务器.我使用来自主操作系统(主机)的VPN连接到我的公司LAN,但我的VM没有看到公司LAN中的服务器.互联网和本地访问我的家庭网络工作正常.每个VM都有一个虚拟网络适配器.
我该怎么做才能让它发挥作用?
也许我需要提供更多细节,如果需要请询问.
更多细节:
据我了解,我应该能够使用RSA来确保真实性或隐私,如我所愿.在我的情况下,我想确保真实性,因此我使用私钥加密数据,并允许任何人使用公钥解密它.数据并不是真正的秘密,但我需要保证它是由公共(和私人)密钥的所有者创建的.
当我尝试使用PyCrypto解密时,我从PyCrypto 得到No private key error.代码是这样的:
def _decrypt_rsa(decrypt_key_file, cipher_text):
from Crypto.PublicKey import RSA
from base64 import b64decode
key = open(decrypt_key_file, "r").read()
rsakey = RSA.importKey(key)
raw_cipher_data = b64decode(cipher_text)
decrypted = rsakey.decrypt(raw_cipher_data)
return decrypted
Run Code Online (Sandbox Code Playgroud)
我用公共密钥文件的路径(OpenSSH格式)调用它.加密数据不是由我生成的,它不是用Python而是用PHP完成的.在PHP中,有一个openssl_public_decrypt可以轻松解密这些数据的函数.
是否有可能使用PyCrypto的公钥解密?
我正在使用带有MySQL的EF Code-First(EFCF)来使用迁移创建我的数据库.我遇到的问题是字符列.
我不是MySQL的专家,但从我读过的东西,在MySQL中你至少可以通过两种方式在表中支持Unicode:
使其成为整个表的默认值: CREATE TABLE mytable (...) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;
使每个特定列支持Unicode :( CREATE TABLE myTable (col1 VARCHAR(10) CHARSET utf8, OtherColNotUnicode VARCHAR(5), ...);注意MySQL没有NVARCHAR)
事实证明,默认情况下,EFCF迁移创建没有Unicode支持的表和列,我找不到覆盖它的方法或注释模型中的属性,基本上强制它使用选项1或2.
我该如何纠正这个问题?我最好逐列设置它,但如果需要,我可能会使用整个表默认值.
如果它有帮助,我使用EF 5.0,MySql.Data和MySql.Data.Entity v 6.6.4.0.
我正在努力解决一个问题,试图只加载我的应用程序需要的模块.该模块列表将有所不同,如下所示.
此代码在动态页面中内联:
<script data-main="js/main" src="js/require.js"></script>
<script>
//APPROACH #1
(function(){
<% foreach(DashBoardItem item in AvailableItems){ %>
require('js/dashboard/<%= item.Name.ToLower() %>').init(<%= CurrentUser.ID %>);
<% } %>
}());
</script>
Run Code Online (Sandbox Code Playgroud)
这个想法是产生这样的东西:
<script>
//APPROACH #1
(function(){
require('js/dashboard/sales').init(123);
require('js/dashboard/inventory').init(123);
require('js/dashboard/deadlines').init(123);
}());
</script>
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可行或是因为上述方法导致错误
尚未为上下文加载模块名称"js/dashboard/sales":_.使用require([])
我尝试生成这个:
<script>
//APPROACH #2
require(['js/dashboard/sales', 'js/dashboard/inventory', 'js/dashboard/deadlines' ],
function(sales, inventory, deadlines){
sales.init(123);
inventory.init(123);
deadlines.init(123);
});
</script>
Run Code Online (Sandbox Code Playgroud)
但这种失败,因为显然RequireJS不会等待模块加载和这三个参数的回调(sales,inventory,deadlines)会undefined在执行时.
我完全错了吗?如何从服务器端向客户端JS传递所需模块的变化列表?
更新 - 修复
我的问题是我的模块(销售,库存,截止日期)被错误地声明了.感谢下面的@anoopelias的评论,我意识到我已经使用了require(...)而不是define(...)在其中.所以他们就像:
//example of WRONG sales.js module
require(['jquery', 'other-module'], …Run Code Online (Sandbox Code Playgroud) 我在mac(OSX mavericks)上使用PyCharm来运行如下所示的简单脚本.它只是打印PATH变量.我在项目目录中有一个virtualenv.我在PyCharm中添加了一个Run Configuration并尝试使用不同的Pythons:
# file mytest.py
import os
print "PATH: ", os.environ['PATH']
Run Code Online (Sandbox Code Playgroud)
当我使用系统默认的python(/ usr/bin/python)运行时,它会为PATH打印正确的值(即我在.bash_profile文件中配置的PATH),它有点长并且包含许多目录.
但是当我选择venv的Python时,路径只减少到: /usr/bin:/bin:/usr/sbin:/sbin:/Users/myname/projects/myproj/venv/bin
如果我从终端窗口运行脚本,则不会发生这种情况.在这种情况下,它显示系统的python和venv python的正确PATH.如果我停用venv并运行,也不会发生这种情况venv/bin/python mytest.py.
任何人都知道如何在从PyCharm运行并使用venv时设置正确的PATH值?
我试图与Apache运行在单独的虚拟目录的两个或更多瓶的应用,如http://localhost/site1用于在/ var / WWW /安装MyApps / APP1和http://localhost/site2用于在/ var / WWW /安装MyApps / APP 2。每个应用程序在env目录下都有自己的虚拟环境。
我首先使用Apache2(v2.4.7)重新安装了Ubuntu 14.04,然后删除了默认站点配置,sudo a2dissite 000-default并为两个应用程序添加了配置。
这是app1的conf文件,位于/etc/apache2/sites-available/app1.conf。为APP2的cofiguration是相同的,替换app2为app1(和site2对site1)。
<VirtualHost *:80>
ServerName localhost
WSGIProcessGroup site1
WSGIDaemonProcess site1 user=myserviceuser group=myserviceuser threads=5 python-path=/var/www/myapps/app1:/var/www/myapps/app1/env/lib/python2.7/site-packages
WSGIScriptAlias /site1 /var/www/myapps/app1/application.wsgi
WSGIScriptReloading On
<Directory /var/www/mysites/app1>
WSGIApplicationGroup site1
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后,我使用sudo a2ensite app1(和app2)启用了每个站点,然后使用重启了服务器sudo apache2ctl restart。
这些应用程序的每个application.wsgi …
python ×3
flask ×2
macos ×2
virtualenv ×2
amd ×1
apache ×1
automation ×1
camera ×1
connectivity ×1
hyper-v ×1
javascript ×1
mysql ×1
networking ×1
peripherals ×1
pycharm ×1
pycrypto ×1
requirejs ×1
rsa ×1
ubuntu ×1
windows ×1