通常,当我需要存储管理信息,版本等系统属性时,我使用平面文件(database.properties,init.properties等).这在我每天看到和使用的其他程序中似乎很常见.
由于多种原因,有时平面文件并不理想.将Web应用程序部署到众多客户端通常会带来一些限制.在这些情况下,我使用数据库表来保存信息.例如,假设我有一些我希望保存的管理数据,也许还有一些关于我的环境的细节.我可能会这样做:
property_entry_table
[id, scope, refId, propertyName, propertyValue, propertyType]
1, 0, 1, "DB_VER", "2.3.0", "FLOAT"
2, 0, 1, "LICENCE", "88475", "INT"
3, 0, 1, "TOP_PROJECT", "1", "INT"
4, 0, 1, "SHOW_WELCOME", "F", "BOOL"
5, 0, 1, "SMTP_AUTH", "SSH", "STRING"
6, 1, 1, "ADMIN_ALERTS", "T", "BOOL"
Run Code Online (Sandbox Code Playgroud)
我意识到这打破了SQL的输入,并允许我将各种类型存储为字符串.这是一种好的做法,还是我一直在以错误的方式解决这个问题?
如果没有,我应该以什么方式存储此类信息?
我正在从Java转向C++并且非常喜欢它.我不喜欢的一件事是根本不了解内存,因为Java过去常常为我做这件事.
我已经购买了一本书:内存作为C和C++中的编程概念 - Frantisek Franek
我是否有一些很好的网站可以交互式地学习C/C++和内存使用(教程,论坛,用户组)?
例如:
<input name="abutton" type="button" value="This is not a button" />
Run Code Online (Sandbox Code Playgroud)
我知道这给了我一个按钮.但我也知道有人必须弄清楚我的文字有多宽,画一个正确尺寸的按钮,把我的文字放在那里......等等.
我们以Mozilla为例.我做了一些谷歌搜索,发现了这一点,所以我觉得我走在正确的轨道上.不过,第一句话说的都是:
页面重组:Mozilla中使用的布局引擎(众所周知)以Mozilla编写新布局引擎的项目开始,并成为Mozilla的布局引擎,并成为1998年末几乎完全重写的基础.
混乱.
这是我知道存在的部分列表(来自该Mozilla页面):
有人可以用外行的方式解释Mozilla浏览器模型如何显示按钮吗?
我被要求为Salesforce中的当前应用程序演示一些ExtJS UI增强功能.这只是一个概念证明,ExtJS将作为我们大多数VisualForce页面使用的默认UI的良好UI替代品.
一切都很好,也就是说,除了CSS的几个零碎之外."... visual.force.com/sCSS/21.0/sprites/13013.../Theme3/default"里面有很多样式,它们正在搞乱ExtJS元素.特别是commmon.css和extended.css.这是一个例子:
Extended.css
body .x-date-middle, .x-date-left, .x-date-right {
background: none repeat scroll 0 0 transparent;
}
Run Code Online (Sandbox Code Playgroud)
有没有一种优雅的方式,或者ExtJS是不是在Salesforce内部发挥不好?
例如:有没有办法告诉我的VisualForce页面忽略commmon.css和extended.css?
我将需要将我编写的Java应用程序与使用串行端口进行通信的医疗设备集成.该设备相当昂贵,并且也不那么便携.
我希望能够在任何地方测试代码,但在您需要插入串行设备并开始测试之前,您只能做很多事情.
所以,我正在寻找一种便宜的便携式电子设备,它使用串行端口进行通信.它只需要以一种方式通信(即我只需要从中收集数据).通过这种方式,我可以坐在我当地的咖啡店,将我的串口插入USB连接器,连接这个神秘设备,并开始接收数据.
编辑:
对于那些对我奇怪的困境感兴趣的人,我正在连接到Tanita规模的TBF-300A
网站
通信标准:EIA RS-232C兼容
通信方法:异步
波特率:2400bps
数据长度7bits
奇偶校验:偶数
停止位:1bit
有人扫描条形码,按比例进行操作,我的程序将信息输入到这样的数据库:
adobe air - > blazeds - > java - > hibernate/spring - > HSQL db file
我的猜测是我要编写一个java应用程序,它接收串口信息并将其重定向到我的air app可以收听的TCP端口.这是我的猜测,现在.
我遇到过这个问题,我需要一个简单的医疗设备来输出一串逗号分隔的数字到我的Adobe Air应用程序.我很高兴与网络服务之外的其他事情交谈!
所以,我有一个USB转串口适配器,插入我的电脑,并使用一个名为Cornflake的程序从机器上读取:
0,1,71.0,234.2,453,31.1,72.8,161.4,118.2,30,32.7,9336
成功!所以我做了一些谷歌搜索,似乎serproxy是一个方便的工具,Arduino buff正在使用它来完成我所需要的:串行到闪存.所以我下载,安装和配置如下:
newlines_to_nils=false
serial_device1=/dev/cu.usbserial
comm_ports=1,2,3,4
comm_baud=2400
comm_databits=7
comm_stopbits=1
comm_parity=even
timeout=300
net_port1=5331
...
Run Code Online (Sandbox Code Playgroud)
这些与我在Cornflake中使用的设置相同.我插入一些简单的actionscript来监听事件,当我捕获数据事件时,我这样做:
private function onSocketData(event:Event):void {
var data:String = socket.readUTFBytes(socket.bytesAvailable);
trace(data);
}
Run Code Online (Sandbox Code Playgroud)
这输出了胡言乱语:
¬±¬·±.0¬²3'0-0'53¬3±.±¬·¸.¸±6±.±¬¸ω30¬3².6¬933±
所以我假设我没有阅读正确的编码.好像它应该是ascii,所以我这样做:
var data:String = socket.readMultiByte(bytes.bytesAvailable, "us-ascii");
Run Code Online (Sandbox Code Playgroud)
没有骰子.所以我开始尝试一堆不同的编码并得到同样的胡言乱语.我将串口改为tty.usbserial,尝试翻转换行标志,所有都具有相同的结果.所以,很沮丧,我读了前几个字节,看看我从serproxy中得到了什么:
trace(socket.readByte().toString());
Run Code Online (Sandbox Code Playgroud)
看起来我得到的是负数:
48 -84 -79 -84 -73 -79 46 48 -84 -78 51 -76 46 -78 -84 -76 53 48 -84 51 48 46 57 -84 -73 -78 46 -76 -84 -79 54 - 79 46 -72 -84 -79 -79 …
我有兴趣了解有关机器翻译的更多信息.虽然我有一些关于此事的非常有趣的书籍,但我希望看到MT理论的一些现实世界的应用.
我只是通过搜索找到了几个开源项目:
那么,有没有人有其他任何例子?我正在寻找积极的项目; 没有被遗弃的东西.
我正在为一个项目构建 Yocto 图像,但这是一个漫长的过程。在我强大的开发机器上,它需要大约 3 个小时,最多可以消耗 100 GB 的空间。
问题是最终图像“不一定”是最终目标;重要的是我的应用程序运行在它之上。因此,yocto 的食谱变化不大,但我的应用程序变化很大。
我想为我的应用程序运行持续集成 (CI) 甚至持续交付 (CD)。但是由于 yocto 构建的大小,现在两者都非常困难。
由于构建没有太大变化,我想以某种方式“缓存”它并将其用于我的应用程序的 CI/CD 和我的 Docker。这将非常有趣,因为我可以维护该图像并与需要处理该项目并在 CI/CD 中使用它的同事共享它。
谢谢!
阅读一本关于 Yocto 的书。到了下面的页面,上面写着:
BitBake 提供了一种非常易于使用的方式来编写条件元数据。它是通过一种称为覆盖的机制完成的。
OVERRIDES 变量包含以冒号 (:) 分隔的值,每个值都是我们想要满足条件的一项。因此,如果我们有一个以 arm 为条件的变量,并且 arm 在 OVERRIDES 中,那么将使用特定于 arm 的变量版本而不是非条件版本,如下所示:
Run Code Online (Sandbox Code Playgroud)OVERRIDES = "architecture:os:machine" TEST = "defaultvalue" TEST_os = "osspecificvalue" TEST_other = "othercondvalue"在这个例子中,
TEST将是osspecificvalue由于 os 处于OVERRIDES.
我不清楚从这个解释是如何TEST变得等于osspecificvalue. 有人能解释一下吗?
让我们看一个简单的例子,狗和猫是朋友。这并非罕见。它还具有比我的业务案例有趣得多的好处。
我们需要一个名为“ saveFriends”的函数,该函数需要一个狗名和一个猫名。我们先救狗,再救猫。为了使本示例正常工作,猫将具有对狗的引用。我知道这不是一个理想的示例,但它很可爱,可以满足我们的目的。
FriendService.java
public int saveFriends(String dogName, String catName) {
Dog fido = new Dog();
Cat felix = new Cat();
fido.name = dogName;
fido = animalDao.saveDog(fido);
felix.name = catName;
[ex.A]felix.friend = fido;
[ex.B]felix.friend = animalDao.getDogByName(dogName);
animalDao.saveCat(felix);
}
Run Code Online (Sandbox Code Playgroud)
AnimalDao.java (扩展了HibernateDaoSupport)
public Dog saveDog(Dog dog) {
getHibernateTemplate().saveOrUpdate(dog);
return dog
}
public Cat saveCat(Cat cat) {
getHibernateTemplate().saveOrUpdate(cat);
return cat;
}
public Dog getDogByName(String name) {
return (Dog) getHibernateTemplate().find("from Dog where name=?", name).get(0);
}
Run Code Online (Sandbox Code Playgroud)
现在,假设一分钟,我想使用示例A或示例B来保存我的朋友。使用一个比另一个好吗?
此外,示例B不会让您听到臭名昭著的“非null属性引用null或瞬时值”错误吗?我只是在这里猜测,但我认为这是因为Dog仍在会议中。
我将了解这些示例均无法正常工作,但请解释原因。
java ×2
serial-port ×2
yocto ×2
air ×1
architecture ×1
bitbake ×1
byte ×1
c ×1
c++ ×1
css ×1
docker ×1
extjs ×1
hibernate ×1
html ×1
mozilla ×1
nlp ×1
open-source ×1
properties ×1
salesforce ×1
testing ×1
visualforce ×1