我看到哈希和加密算法之间存在很多混淆,我希望听到一些更专业的建议:
何时使用哈希与加密
什么使哈希或加密算法不同(从理论/数学水平),即什么使哈希不可逆(没有彩虹树的帮助)
以下是一些类似的 SO问题,没有像我想要的那样详细说明:
我在C中编写LinkedList,下面的代码表示我的Node定义.
typedef struct {
int value;
struct Node* next;
struct Node* prev;
} Node;
Run Code Online (Sandbox Code Playgroud)
我理解(或者认为我这样做)struct Node不一样typedef struct Node.当然,我的代码编译并按照预期运行,但是,在分配时会收到很多警告,next并且prev(警告:从不兼容的指针类型分配).我猜这与我在Node结构中定义它们的方式有关.我在这里上传了完整的资源
所以,如果这确实是问题,我应该如何定义next和prev内部typedef struct Node?
我担心这可能是一个转贴,但无法找到我想要的东西.谢谢.
我已经在Stack Overflow上看到了类似的帖子,但不太满意.
假设我提供Web服务.http://foo.com/SERVICEID
SERVICEID是用于引用服务的唯一字符串ID(基本64,大写/大写+数字),类似于URL缩短器服务为URL生成ID的方式.
我理解比较字符串与整数有固有的性能问题.
但我很好奇如何最大限度地优化String类型的主键.
我正在使用MySQL,(目前正在使用MyISAM引擎,但我承认并不了解所有引擎的差异).
谢谢.
为了我的目的更新,字符串实际上只是一个base62编码的整数,所以主键是一个整数,因为你不可能超过bigint的大小,所以使用其他任何东西都没有多大意义(对我而言)特殊用例)
我在此之前阅读了各种帖子.但它们似乎都不适合我.
正如标题所示,我正在尝试从另一个表中的列更新一列.我不记得以前有这个问题..
1.表:user_settings.contact_id,我想用contacts.id更新where (user_settings.account_id == contacts_account_id)
2.以前通过account_id将联系人链接到用户帐户.但是,现在我们要将联系人链接到user_settingsviacontacts.id
以下是我尝试过的一些例子,尽管它们都没有奏效.我会感兴趣的是A.)为什么他们不工作和B.)我该怎么办呢.
例A:
UPDATE user_settings
SET user_settings.contact_id = contacts.id
FROM user_settings
INNER JOIN contacts ON user_settings.account_id = contacts.account_id
Run Code Online (Sandbox Code Playgroud)
例B:
UPDATE (SELECT A.contact_id id1, B.id id2
FROM user_settings A, contacts B
WHERE user_settings.account_id = contacts.account_id)
SET id1 = id2
Run Code Online (Sandbox Code Playgroud)
例C:
UPDATE user_settings
SET user_settings.contact_id = (SELECT id
FROM contacts
WHERE (user_settings.account_id = contacts.account_id)
WHERE EXISTS ( user_settings.account_id = contacts.account_id )
Run Code Online (Sandbox Code Playgroud)
我觉得我的大脑只是关闭了我,并希望重新启动它的任何颠簸.谢谢 :)
我以为我在Haskell研究中一帆风顺,直到......
我有一个[[Int]]
tiles = [[1,0,0]
,[0,1,0]
,[0,1,0]
]
Run Code Online (Sandbox Code Playgroud)
和数据类型:
data Coord = Coord
{ x :: Int
, y :: Int
} deriving (Eq)
Run Code Online (Sandbox Code Playgroud)
基于输入tiles,我一直在尝试输出a [Coord],这样Coord只有当值为tiles1 时才生成a ,并且Coord它将在2d列表中存储它的位置:
blackBox :: [[Int]] -> [Coord]
blackBox tiles = <magic>
-- given the above example I would expect:
-- [(Coord 0 0),(Coord 1 1),(Coord 1 2)]
Run Code Online (Sandbox Code Playgroud)
我尝试过第一次将[[Int]]转换为[Int],通过:
foldTiles :: [[Int]] -> [Int]
foldTiles tiles = foldr (++) [] tiles
Run Code Online (Sandbox Code Playgroud)
但在那之后,我不确定如何传递指数.我想如果我可以映射"折叠的瓷砖",输出一个元组(值,索引),我可以很容易地找出其余部分.
更新如果有人感兴趣,我得到它的工作,这里是它的演示(源代码和GitHub的链接)!我将不得不花更多的时间来理解每个答案,因为这是我第一次使用FP编写游戏.非常感谢!
http://kennycason.com/posts/2013-10-10-haskell-sdl-gameboy-boxxle.html
所以对于初学者来说我有一个LinkedList<String>,
我可以轻松地将它转换为数组通过toArray().即
LinkedList<String> strList = new LinkedList<String>();
String[] strArray = strList.toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)
但是让我说我有一个LinkedList<T>
然后我以下代码:
LinkedList<T> tList = new LinkedList<T>();
T[] strArray = tList.toArray(new T[0]);
Run Code Online (Sandbox Code Playgroud)
我得到了无法创建T错误消息的通用数组.
我怎么能绕过这个?
特别是在我的课程中LinkedList<AbstractNode<T>> nodes,我正在尝试实现一个getAll()方法,该方法将所有节点作为Array返回.
谢谢!
注意 PéterTörök的答案为我的问题提供了正确的答案,但对于我来说,简单地返回一个ArrayList而不是像Bar所提到的那样,最终平滑了我的代码.
注意2看了我的代码之后我甚至不确定是否需要进行任何转换,LinkedList对于我试图做的事情很好......: - /
我在MySQL数据库中有以下数据:
Autonum ID Name MetaValue
1 1 Rose Drinker
2 1 Rose Nice Person
3 1 Rose Runner
4 2 Gary Player
5 2 Gary Funny
Run Code Online (Sandbox Code Playgroud)
我现在正在使用PHP,但是我使用C#,Java和其他语言多次遇到过这个问题.
现在我过去和现在的目标是以下列格式显示数据:
<table>
<thead>
<th>Name</th>
<th>MetaValue1</th>
</thead>
<tbody>
<tr>
<td>Rose</td>
<td>
<ul>
<li>Drinker</li>
<li>Nice Person</li>
<li>Runner</li>
</ul>
</td>
</tr>
<tr>
<td>Gary</td>
<td>
<ul>
<li>Player</li>
<li>Funny</li>
</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我之前通过创建一个代表我的SQL表的类来解决这个问题.然后我创建了一个Dictionary持有EmployeeId和类.
Dictionary<string,MyTable> MyData = new <string,MyTable>();
Table MyMetaData = new Table();
MyMetaData SomeMetaData=getMetaValueList();//imagine a web service that does that
MyData.add(EmployeeId,SomeMetaData);
Run Code Online (Sandbox Code Playgroud)
我正在跳过步骤,但我希望你明白我的观点.我可能只需要关键字来称呼这类问题.完成此任务的首选方法是什么?
这就是我所拥有的:
static AccessToken accessToken = new DefaultFacebookClient().obtainExtendedAccessToken("<my app id>", "<my app secret>");
static FacebookClient client = new DefaultFacebookClient();
public static void main(String args[]) {
System.out.print("Enter Your Status: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String status= null;
try {
userName = br.readLine();
System.out.println("..........");
} catch (IOException ioe) {
System.out.println("!");
System.exit(1);
}
FacebookType publishMessageResponse =
client.publish("me/feed", FacebookType.class,
Parameter.with("message", status));
Run Code Online (Sandbox Code Playgroud)
所以第一行获取令牌并将其存储为类型AccessToken,但这对我有什么好处,因为下一行我需要提供访问令牌作为字符串,我无法转换它.任何帮助?
我已阅读其他相关帖子,但仍不太确定如何,或者是否可以在Java中动态转换(实现接口).我的印象是我必须使用反射这样做.
我正在处理的特定项目需要使用许多instanceof检查,而且 - 在我看来 - 有点失控,所以会很感激任何想法/解决方案.
下面是我写的一个小例子,只是为了澄清我想要做的事情.如果您需要更多信息,请与我们联系:
接口:
public interface IRobot {
String getName();
}
Run Code Online (Sandbox Code Playgroud)
实现:
public class RoboCop implements IRobot {
String name = this.getClass()+this.getClass().getName();
public RoboCop() {}
public String getName() { return name; }
}
public class T1000 implements IRobot {
String name = this.getClass()+this.getClass().getName();
public T1000() {}
public String getName() { return name; }
}
Run Code Online (Sandbox Code Playgroud)
处理实现的类:
import java.util.LinkedList;
import java.util.List;
public class RobotFactory {
public static void main(String[] args) {
new RobotFactory();
}
public RobotFactory() …Run Code Online (Sandbox Code Playgroud) 我使用VARCHAR作为我的主键.我想自动递增它(基数62,小写/大写,数字),但是,下面的代码失败(出于显而易见的原因):
CREATE TABLE IF NOT EXISTS `campaign` (
`account_id` BIGINT(20) NOT NULL,
`type` SMALLINT(5) NOT NULL,
`id` VARCHAR(16) NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
但是,这有效:
CREATE TABLE IF NOT EXISTS `campaign` (
`account_id` BIGINT(20) NOT NULL,
`type` SMALLINT(5) NOT NULL,
`id` VARCHAR(16) NOT NULL PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
自己跟踪'id'增量的最佳方法是什么?(因为auto_increment不起作用).我是否需要创建另一个包含ID当前迭代的表?或者有更好的方法吗?
编辑:我想澄清一点,我知道使用INT是一个auto_increment主键是合乎逻辑的方法.这个问题是对我之前看到的一些对话的回应.谢谢
java ×3
mysql ×3
c ×1
c# ×1
casting ×1
cryptography ×1
dynamic ×1
encryption ×1
facebook ×1
generics ×1
hash ×1
haskell ×1
html ×1
join ×1
optimization ×1
php ×1
primary-key ×1
reflection ×1
restfb ×1
security ×1
sql ×1
sql-update ×1
struct ×1
typedef ×1