小编Dam*_*ick的帖子

从图像的宽度和高度获取宽高比(PHP或JS)

我无法相信我找不到这个公式.我正在使用一个名为SLIR的PHP脚本来调整图像大小.该脚本要求指定裁剪的宽高比.我想根据我允许用户输入这些值的形式指定图像的宽度和高度来获得宽高比.例如,如果用户输入1024x768图像,我会得到宽高比4:3.对于我的生活,我找不到PHP或Javascript中的公式示例我可以用来获得基于知道w,h的宽高比值并将宽高比插入变量.

javascript php aspect-ratio

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

从C中的二进制文件调用函数(main())

我有简单的c程序,比如my_bin.c:

#include <stdio.h>

int main()
{
    printf("Success!\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用gcc编译它并得到了可执行文件:my_bin.

现在我想使用另一个C程序调用main(或运行此my_bin).我用mmap和函数指针做了这样的事情:

#include <stdio.h>
#include <fcntl.h>
#include <sys/mman.h>
int main()
{
   void (*fun)();
   int fd;
   int *map;
   fd = open("./my_bin", O_RDONLY);
   map = mmap(0, 8378, PROT_READ, MAP_SHARED, fd, 0);
   fun = map;
   fun();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

编辑1:添加PROT_EXEC从响应中更清楚......我想在第二个程序中调用外部二进制程序.

我不知道如何使用main(其他程序)的地址初始化函数指针.任何的想法?

编辑2:

为什么seg故障,谷歌搜索后,想通了,因为我的大小和mmap的偏移量参数.它应该是pagesize的倍数.[参考:Segfault在C中使用mmap读取二进制文件

现在代码看起来像:

#include <stdio.h>
#include <fcntl.h>
#include <sys/mman.h>
int main()
{
   void (*fun)();
   int fd;
   int *map;
   int offset = 8378;
   int pageoffset = offset % getpagesize();
   fd = open("./my_bin", O_RDONLY); …
Run Code Online (Sandbox Code Playgroud)

c mmap binary-data

4
推荐指数
1
解决办法
3196
查看次数

使用加,减和减半计算三角形根

特定游戏中的规则是角色的力量与角色体验的三角根成正比.例如,15-20经验提供5个权力,21-27经验提供6个权力,28-35经验提供7个权力等.已知一些玩家已经获得了数千亿的经验.

我试图在只有三个算术指令的8位机器上实现这个游戏:加,减和除以2.例如,要将数乘以4,程序会将它自己添加两次.一般乘法要慢得多; 我已经编写了一个软件子程序来使用四分之一平方表来完成它.

我曾考虑T(p)通过二分法搜索三角形根来计算从上方和下方划定经验数的连续三角形数字.我的计划是使用重复身份,T(2*p)直到它超过经验,然后使用它作为二分搜索的上限.但是我很难找到T((x+y)/2)不使用任何一个x*y或两个的二分的身份(x+y)^2.

是否有一种有效的算法来计算数字的三角形根,只需加,减,减半?或者我最终必须执行O(log n)乘法,一个用于计算二分搜索中的每个中点?或者考虑实施长除法以使用牛顿方法会更好吗?

定义T(x):

T(x) = (n * (n + 1))/2
Run Code Online (Sandbox Code Playgroud)

我得出的身份:

T(2*x) = 4*T(x) - x
# e.g. T(5) = 15, T(10) = 4*15 - 5 = 55

T(x/2) = (T(x) + x/2)/4
# e.g. T(10) = 55, T(5) = (55 + 5)/4 = 15

T(x + y) = T(x) + T(y) + x*y
# e.g. T(3) = 6, T(7) …
Run Code Online (Sandbox Code Playgroud)

algorithm math optimization

4
推荐指数
1
解决办法
521
查看次数

计算硬盘容量

考虑具有以下特征的磁盘:
表面
数16 扇区数/圆柱
数4096 每个表面的磁道数2048
每个扇区的字节数512

1)磁盘有多少个模式?
我得到:曲面数/ 2 = 8

2)每钉多少个部门?
我得到:每个圆柱的轨道数=每个表面的轨道*曲面
= 2048 * 16 = 32,768
每个轨道的扇区数=每个圆柱的轨道数/每个圆柱的扇区数

        = 32, 768 / 4096 
        = 8  
Run Code Online (Sandbox Code Playgroud)

3)
我得到的此磁盘的总大小是多少:总大小=圆柱体*表面*每磁道扇区* 512字节

    = 32,768 * 16 * 8 * 512  
    = 2, 147, 483, 648 bytes  
    = 2, 097, 152 Mb  
    = 2, 048 Gb  
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道这是否是正确的解决方案

diskspace disk

3
推荐指数
1
解决办法
4万
查看次数

无法加载字体:更新到新的Google+ SDK后Roboto-Regular

更新到新的Google+ sdk后收到错误NSBundle(GPP3PAdditions)gpp_registerFonts] _block_invoke()无法加载字体:Roboto-Regular

如果有人得到了相同的?谢谢

google-plus

3
推荐指数
1
解决办法
1522
查看次数

与服务器通信没有INTERNET权限

我打算开发一个与我运营的服务器通信的Android应用程序.答案机器人,HttpURLConnection的错误状态类,如HttpURLConnectionHttpsURLConnection要求授予"全网络访问权限"( android.permission.INTERNET)的应用程序.论坛上的某个人告诉我,对于绝大多数应用程序来说,android.permission.INTERNET对用户的隐私是不可接受的侵入,并且应用程序存在其他方式与其开发人员操作的服务器进行通信,而不需要这样的侵入性许可.从这篇文章:

并且相同的应用程序将要求完全网络访问,即使您查看流量,几乎所有人都使用HTTP与他们的服务交谈,并且他们没有合法需要完全网络访问.但是,它可以让他们查看您的所有网络连接.

[...]

此外,不,您不需要"完全网络访问"来访问Web浏览器之外的任何内容.你只需要它从端口80 HTTP.您仍然可以使用远程应用API的子域.你正在混淆两种不同的权限.

当我要求进一步澄清如何在Android中实现这一目标时,我可以在developer.android.com上查看,回复是"你的无知并没有表现出任何东西."

那么应用程序应该如何与其开发人员运营的服务器进行通信android.permission.INTERNET呢?或者有一个可靠的消息来源说这在Android中是不可能的吗?

android network-programming privacy httpurlconnection android-permissions

3
推荐指数
1
解决办法
1051
查看次数

当准备好的语句的占位符在子查询中时,"字段列表中的未知列"

我在Ubuntu 14.04 LTS上使用PHP 5.5.9和MySQL 5.5.44以及mysqlnd 5.0.11-dev.以下声明未能准备:

$db->prepare("SELECT nr.x FROM (SELECT ? AS x) AS nr")
Run Code Online (Sandbox Code Playgroud)

尽管以下声明成功准备,但这是事实:

$db->prepare("SELECT nr.x FROM (SELECT '1337' AS x) AS nr")
Run Code Online (Sandbox Code Playgroud)

是什么导致这种差异?手册说"参数标记只能在数据值出现的地方使用,而不能用于SQL关键字,标识符等等." 但这是一个数据值.

不是PDO的错

在独立客户端中也会发生同样的事情:

mysql -uredacted -predacted redacted
-- Type 'help;' or '\h' for help.
SELECT nr.x FROM (SELECT '1337' AS x) AS nr;
-- x
-- 1337
-- 1 row in set (0.00 sec)
PREPARE workingstmt FROM 'SELECT nr.x FROM (SELECT ''1337'' AS x) AS nr';
-- Query OK, 0 rows affected …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo prepared-statement

3
推荐指数
1
解决办法
768
查看次数

就地编辑更新文本

我正在尝试在我的网站中进行就地编辑方式.现在我设置了我需要的所有东西.当用户点击提交后,它会发送id的的div元素(什么样的内容)和新的数值进行更新.

这是我的代码:

if($pedit = $mysqli->prepare("UPDATE `accounts` SET ? = ? WHERE `id`= ? ")){
   $pedit->bind_param("sss", $id, $value, $_SESSION["user_id"]);
   $pedit->execute();
   $pedit->free_result();
   $pedit->close();
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它不更新信息. $id=更改的行:description,fullname,email etc. $value=有关的新信息$id.用户可以更新其个人资料信息.

代码不会向我显示任何类型的错误,但仍然不会更新.

php mysql mysqli

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

两个矩阵之间的余弦相似度计算

我有一个代码来计算两个矩阵之间的余弦相似度:

def cos_cdist_1(matrix, vector):
    v = vector.reshape(1, -1)
    return sp.distance.cdist(matrix, v, 'cosine').reshape(-1)


def cos_cdist_2(matrix1, matrix2):
    return sp.distance.cdist(matrix1, matrix2, 'cosine').reshape(-1)

list1 = [[1,1,1],[1,2,1]]
list2 = [[1,1,1],[1,2,1]]

matrix1 = np.asarray(list1)
matrix2 = np.asarray(list2)

results = []
for vector in matrix2:
    distance = cos_cdist_1(matrix1,vector)
    distance = np.asarray(distance)
    similarity = (1-distance).tolist()
    results.append(similarity)


dist_all = cos_cdist_2(matrix1, matrix2)
results2 = []
for item in dist_all:
    distance_result = np.asarray(item)
    similarity_result = (1-distance_result).tolist()
    results2.append(similarity_result)
Run Code Online (Sandbox Code Playgroud)

results

[[1.0000000000000002, 0.9428090415820635],
                     [0.9428090415820635, 1.0000000000000002]]
Run Code Online (Sandbox Code Playgroud)

但是,results2[1.0000000000000002, 0.9428090415820635, 0.9428090415820635, 1.0000000000000002]

我理想的结果是 …

python matrix cosine-similarity

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

将Windows时区转换为PHP设置的等效时区

我正在开发一个应用程序,包括一个使用PHP和MySQL运行的Web服务器,用户通过设置的Web浏览器访问http://localhost.但我希望它可以在美国所有时区工作,包括亚利桑那州大部分没有遵守夏令时的时区.要配置此脚本,我需要使PHP使用与Windows相同的时区.

我有一个PHP脚本,从Windows上的命令行获取时区.然后需要将结果转换为PHP列表中的等效时区.

不幸的是,我没有看到一种直截了当的方式来做到这一点.这是脚本:


       $comp_timezone = exec('systeminfo | findstr  /C:"Time Zone"');
// results are: "Time Zone: (UTC-07:00) Arizona"
date_default_timezone_set($comp_timezone);
我需要做的是将字符串结果转换为$comp_timezone函数date_default_timezone_set可以使用的东西,但正如上面的示例所示,亚利桑那州不存在作为php的时区,最接近的是America/Phoenix.

那么如何将systeminfo时区转换为PHP?

php windows timezone datetime command-line-parsing

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