在开始繁重编码之前,开发人员应该为基于社区的网站设计和实现API知道什么?有许多API,如Twitter API,Facebook API,Flickr API等,这些都是很好的例子.但是,您将如何构建自己的API?
你会用什么技术?我认为使用类似REST的接口是个好主意,这样可以从不同的平台/客户端/浏览器/命令行工具(如curl)访问API .我对吗?我知道应该满足Web开发的所有原则,如缓存,可用性,可伸缩性,安全性,防止潜在DOS攻击,验证等.当涉及到API时,一些最重要的事情是向后兼容性和文档.我错过了什么吗?
另一方面,从用户的角度思考(我的意思是将要使用您的API的开发人员),您会在API中寻找什么?好的文件?大量的代码示例?
这个问题的灵感来自Joel Coehoorn的问题"开发人员在建立公共网站之前应该知道什么?" .
这个问题是一个社区wiki,所以我希望你能帮助我在为一个基于社区的网站构建API时应该解决的所有问题.
如果我在Mac OS X或iPhone OS上的Core Graphics中编写绘图代码,我可以通过调用以下方法将活动填充颜色设置为红色:
CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0); // RGB(1,0,0)
Run Code Online (Sandbox Code Playgroud)
如果我想要50%灰色,我可以打电话:
CGContextSetRGBFillColor(context, 0.5, 0.5, 0.5, 1.0); // RGB(0.5,0.5,0.5)
Run Code Online (Sandbox Code Playgroud)
但是对于灰色阴影,很容易做出一条较短的线并且打电话:
CGContextSetGrayFillColor(context, 0.5, 1.0);
Run Code Online (Sandbox Code Playgroud)
但是,这个函数不是简单地调用RGB方法,强度值被复制三次; 相反,它正在将上下文的颜色空间从DeviceRGB更改为DeviceGray.下一次调用RGB方法会将其切换回来.
我很想知道:
我要求技术上的好奇心,而不是过早优化的愿望,所以请将你的告诫保持在最低限度.
我通过AlarmManager设置了一些警报来做一些定期的工作.当用户第一次打开应用程序时以及每次boot_complete事件时,我都会设置/重置它们.但是当通过ADB重新安装应用程序时,我的警报不会再发生了.看起来操作系统会在重新安装应用程序时删除警报.我认为如果用户也从市场更新应用程序,就会发生这种情况.
如果我可以在我的应用程序重新安装/升级等情况下收到广播或某种回调,我可以再次设置警报.但我不知道它是否可能或如何?有人可以帮帮我吗.
如何将此代码段虚拟化?
<ScrollViewer Grid.Column="1" Name="LogScroller">
<r:NoInheritanceContentControl>
<ListBox Background="Black" ItemsSource="{Binding Path=ActiveLog}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="Black">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Foreground="White">
<TextBlock >Date:</TextBlock>
<TextBlock Text="{Binding Path=LogDate}"/>
</TextBlock>
<TextBlock Grid.Column="1" Grid.Row="0" Foreground="White">
<TextBlock >Severity:</TextBlock>
<TextBlock Text="{Binding Path=Severity}"/>
</TextBlock>
<TextBlock Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Foreground="LightGray" Text="{Binding Path=Message}"></TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Template>
<ControlTemplate>
<StackPanel Background="Black" IsItemsHost="True" >
</StackPanel>
</ControlTemplate>
</ListBox.Template>
</ListBox>
</r:NoInheritanceContentControl>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)假设我有一个视频文件:
http://mydomain.com/thevideofile.mp4
如何获取此文件的标题和内容类型?用Python.但是,我不想下载整个文件.我希望它返回:
video/mp4
Run Code Online (Sandbox Code Playgroud)
编辑:这就是我所做的.你怎么看?
f = urllib2.urlopen(url)
params['mime'] = f.headers['content-type']
Run Code Online (Sandbox Code Playgroud) 我有一个带有一堆逐字文字的乳胶文件.我想缩进这些的每个实例.
例如:
This is regular text.
\begin{verbatim}
This is verbatim text.
\end{verbatim}
Run Code Online (Sandbox Code Playgroud)
我希望"这是逐字文本"缩进一厘米或两厘米.我该怎么做呢?
我正在开发一款游戏,我希望在网格上的一系列精灵下创建阴影.阴影大于精灵本身,精灵是动画的(即移动和旋转).
我不能简单地将它们渲染到精灵png中,否则阴影会与相邻的精灵重叠.
我也不能简单地将阴影放在较低的层上,因为当它们重叠时,它们会在它们的交叉处产生暗带.
这些精灵是动画的,因此不可能整体渲染这些精灵.
基本上,我希望精灵的阴影能够融合在一起,使它们在设定的不透明度下最大化.例:
我相信这相当于一个openGL混合(Rs,Gs,Bs,Max(As,Ds)),我并不真正关心R,G和B,因为它在src中始终是相同的颜色和dst.
但是,这不是有效的openGL混合模式.有没有一种简单的方法来实现这一点,尤其是在cocos2d-iphone中?
我可以通过使阴影精灵不透明,然后将它们应用于父精灵,并使父精灵40%不透明度来近似.但是,cocos2d的工作方式,这只会将每个子项的不透明度设置为40%,而不是组合的精灵图像,这会产生相同的条带.
您好我在python中编写一个网络爬虫来从nytimes.com等新闻网站中提取新闻文章.我想知道什么是一个好的数据库用作这个项目的后端?
提前致谢!
当使用javascript时间线小部件明喻时,我看到有小时,天,周,月,年间隔.反正有间隔是一年四分之一?
我试图将事件分组到2010年的第1季度,第2季度,第3季度,第4季度.
我的数组编号= {2,3,4,5,6}
现在我必须从表"dtlRecord"中选择行,其中这个数字是一列.
Number count 2 10 3 23 4 20
所以我需要的是
select sum(count) from dtlRecord where number in (2,3,4,5,6) group by number
Run Code Online (Sandbox Code Playgroud)
我需要在LINQ to SQL中进行上述查询
iphone ×2
python ×2
.net ×1
android ×1
api ×1
c# ×1
cgcolorspace ×1
content-type ×1
database ×1
graphics ×1
http ×1
javascript ×1
latex ×1
linq ×1
linq-to-sql ×1
listbox ×1
macos ×1
opengl-es ×1
rest ×1
simile ×1
timeline ×1
url ×1
web-crawler ×1
wpf ×1