我想为UIView现有视图添加一个小尺寸作为子视图.
我UIViewController推了一个nib名称,这是主视图,我正在尝试创建一个对象UIView并使用以下代码在viewDidLoad视图控制器的方法中分配它
UIView *view = [[UIView alloc] init];
Run Code Online (Sandbox Code Playgroud)
但是UIView如果我强行键入并运行,这个想法并不是建议分配和抛出错误
这个你能帮我吗
我在Postgres数据库中启用了日志记录(在Ubuntu 32位上运行),我只想记录用户应用程序执行的查询.我配置了postgres如下:
log_destination = 'syslog'
syslog_facility = 'L*emphasized text*OCAL0'
syslog_ident = 'postgres'
log_min_messages = notice
log_min_duration_statement = 0
log_duration = off
log_line_prefix = 'user=%u,db=%d '
log_statement = 'none'
Run Code Online (Sandbox Code Playgroud)
在syslog.conf我已经配置为每个日志local0被重定向到/var/log/pgsql.
但是,Postgres记录了很多我不关心的查询,例如:
WHEN typbasetype=0 THEN oid else typbasetype END AS
Sep 16 12:22:28 or-ubuntu postgres[14086]: [11-2] basetype
Sep 16 12:22:28 or-ubuntu postgres[14086]: [11-3] ^I FROM pg_type WHERE oid=1043
Sep 16 12:22:28 or-ubuntu postgres[14086]: [12-1] user=postgres,db=prueba LOG: duración: 0.361 ms sentencia: SELECT format_type(oid,-1) as typname FROM pg_type …Run Code Online (Sandbox Code Playgroud) 我目前正在试验Haskell的C-> Haskell(C2HS)接口生成器.在第一次,这真是太棒了,我extern C在几个小时内连接了一个相当复杂的C++库(使用一个小型的包装器).(之前我从未做过任何FFI.)
只有一个问题:如何释放在C/C++库中分配的内存?我{#pointer ... foreign #}在C2HS文档中找到了,它看起来与我追求的完全一样.由于我的C-wrapper将C++库转换为具有参考透明度和功能接口的库,Haskell Storage Manager应该能够为我做好工作:-).不幸的是,我无法让这个工作.为了更好地解释我的问题,我在GitHub上设置了一个小的演示项目,它具有与C/C++库+包装器相同的属性,但没有开销.如您所见,该库与pure unsafeFFI 一起使用是完全安全的.
在GitHub上,我创建了一个小型演示项目,其组织如下:
C库非常简单和无用:你可以传递一个整数,你可以[0..n]从库中获取尽可能多的整数(当前).记住:图书馆没用,只是一个演示.界面也很简单:函数LTIData lti_new_data(int n)将(在传递一个整数之后)返回一些包含C库分配数据的不透明对象.图书馆还拥有两个存取函数int lti_element_count(LTIData data)和int lti_get_element(LTIData data, int n),前者将返回元素的数量,而后者将返回元素n.嗯,最后但并非最不重要的,该库的用户应该使用它后释放不透明的LTIData使用void lti_free_data(LTIData data).
使用C2HS设置低级Haskell绑定,您可以在其中找到它
为了好玩,我还使用低级API绑定和使用高级API的简单驱动程序设置了一种高级Haskell API.使用驱动程序和例如valgrind,可以很容易地看到泄漏的内存(对于库执行分配的每个参数;可以轻松观察如下):p_1, p_2, ..., p_n\sum_{i …
目标是使用具有以下类型签名的管道
protobufConduit :: MonadResource m => (ByteString -> a) -> Conduit ByteString m a
Run Code Online (Sandbox Code Playgroud)
管道应重复解析ByteString -> a通过TCP/IP(使用network-conduit包)接收的协议缓冲区(使用该功能).
有线消息格式是
{length (32 bits big endian)}{protobuf 1}{length}{protobuf 2}...
Run Code Online (Sandbox Code Playgroud)
(花括号不是协议的一方,仅用于分隔实体).
第一个想法是使用sequenceSink重复应用Sink能够解析一个ProtoBuf:
[...]
import qualified Data.Binary as B
import qualified Data.Conduit.Binary as CB
import qualified Data.Conduit.Util as CU
protobufConduit :: MonadResource m => (ByteString -> a) -> Conduit ByteString m a
protobufConduit protobufDecode =
CU.sequenceSink () $ \() ->
do lenBytes <- CB.take 4 -- read protobuf …Run Code Online (Sandbox Code Playgroud) 我有两个RACSignal,其中一个是计时器,另一个表明有工作要做.由于工作指示有时不可靠,因此有计时器,如果精确通知不起作用,则需要注意定期完成工作.
一般设置是:
RACSignal *signal = [RACSignal merge:@[
[[RACSignal interval:0.5 onScheduler:[RACScheduler scheduler]]
filter:^BOOL(__unused id _x) {
return isThereAProblemInDeliveringWork();
}],
incomingWorkSubject
]];
Run Code Online (Sandbox Code Playgroud)
现在我想signal尽快incomingWorkSubject完成.因此,通常:一旦完成任何输入信号,就完成合并信号.不幸的是,[RACSignal merge:...]没有做我想要的,显然等待所有输入信号完成.
ReactiveCocoa实现这一目标的方式是什么?
作为真实语言解析器的简化子问题,我试图为虚构语言的表达式实现一个解析器,它看起来类似于标准命令式语言(如Python,JavaScript等).其语法具有以下构造:
[a-zA-Z]+)+和*和括号的算术表达式.(例如foo.bar.buz)(1, foo, bar.buz))(删除歧义一元组写成(x,))foo(1, bar, buz()))foo()(),因为foo()可能返回函数是合法的)所以这个语言中的一个相当复杂的程序是
(1+2*3, f(4,5,6)(bar) + qux.quux()().quuux)
Run Code Online (Sandbox Code Playgroud)
相关性应该是
( (1+(2*3)), ( ((f(4,5,6))(bar)) + ((((qux.quux)())()).quuux) ) )
Run Code Online (Sandbox Code Playgroud)
我目前正在使用非常好的uu-parsinglib应用解析器组合器库.
第一个问题显然是直观的表达式语法(expr -> identifier | number | expr * expr | expr + expr | (expr)左递归.但我可以使用pChainl组合器解决这个问题(参见parseExpr下面的例子).
剩下的问题(因此这个问题)是函数应用程序,其函数返回其他函数(f()()).同样,语法是递归的expr -> fun-call | ...; fun-call -> …
我正在寻找文件描述符的类型,而不会在内核中阻塞。我知道我可以使用,fstat(2)但fstat也会获得各种元数据信息(访问时间等),这些信息可能会阻塞任意时间(尤其是在联网文件系统上)。
编辑:我正在寻找一个系统调用来执行此操作,生成一个单独的进程是不可接受的,因为生成一个进程并读取其结果肯定不是即时的。
唯一一点我需要知道的信息是真的,如果该文件描述符是一个磁盘上的“文件”( ,S_IFREG,S_IFLNK),S_IFDIR或者没有。另外,如果我能说出它是套接字(S_IFSOCK),fifo(S_IFIFO)还是字符设备(S_IFCHR),也可以。
我非常确定任何内核都可以随时获得此信息,并且我很感兴趣是否可以在不阻塞的情况下将其显示到用户空间。
便携式解决方案(至少为macOS和Linux)将不胜感激。
谢谢!
随意跳过这一部分,这里没有真正的信息
由于vimEclipse(3.4)中缺少一个好的,免费的(如语音)-Mode,因此我正在考虑编写一个.可用的解决方案是:
vim text-objects,如daW)(但是请随意提及除上述解决方案之外的其他解决方案.)
在我看来,编写一个全新的编辑器的方法是错误的TextEditor,因为你将放弃标准JavaEditor免费提供的很酷的功能(例如'组织导入','重构菜单',......).
我正在考虑普通JavaEditor的"皮肤",其行为类似vim,其他一切都应该保持不变.
IWorkbenchPart给定的IPartListener.partActivated()是否是JavaEditor?KeyListener; 类似的ITextViewerExtension.prependVerifyKeyListener需要?我要进行JIT代码生成,并且我想在流中插入无效的操作码以执行一些元调试.一切都很好,直到它达到指令,此时东西进入无限循环的非法指令信号处理程序和返回.
有什么方法可以设置简单地跳过错误的指令吗?
我正在尝试通过电子邮件发送结果文件.我收到导入错误:
Traceback (most recent call last):
File "email_results.py", line 5, in ?
from email import encoders
ImportError: cannot import name encoders
Run Code Online (Sandbox Code Playgroud)
我也不确定如何连接到服务器.有人可以帮忙吗?谢谢
#!/home/build/test/Python-2.6.4
import smtplib
import zipfile
import tempfile
from email import encoders
from email.message import Message
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
def send_file_zipped(the_file, recipients, sender='myname@myname.com'):
zf = tempfile.TemporaryFile(prefix='mail', suffix='.zip')
zip = zipfile.ZipFile(zf, 'w')
zip.write(the_file)
zip.close()
zf.seek(0)
# Create the message
themsg = MIMEMultipart()
themsg['Subject'] = 'File %s' % the_file
themsg['To'] = ', '.join(recipients)
themsg['From'] = sender …Run Code Online (Sandbox Code Playgroud)