javascript

git

java

python

git-remote

reactjs

c++

github

django

c#

.net

.net-framework-version

operators

git-fetch

typescript

user-experience

chmod

css

content-type

variables

c#-在普通的旧Dictionary <string,object>上使用MemoryCache的令人信服的原因是什么

我刚刚遇到了.NET 4中新增的MemoryCache。

我了解到,如果您想这样做,它将很有用:

  • 限制缓存的总内存使用量
  • 对放入缓存中的对象有一个对象到期时间(生存时间)

是否还有其他令人信服的理由在标准Dictionary<string,object>上使用MemoryCache

我有几本关于C#和.NET的书,并且在任何地方都没有参考。

trans by 2020-08-05T23:41:11Z

sql-如何确定工作状态?

我有一个计划工作的存储过程。 该作业需要大量时间才能完成(大约30至40分钟)。 我需要了解这份工作的状态。以下详细信息对我有帮助

1)如何查看已计划在将来某个时间开始但尚未开始的所有作业的列表

2)如何查看正在运行的作业列表以及运行时间

3)如何查看作业是否已成功完成或由于任何错误而在两者之间停止。

trans by 2020-08-05T23:34:43Z

iPhone-iOS应用程序的“下一个”键不会转到下一个文本字段

我有一个带有用户名和密码文本框的简单场景(在IB中使用情节提要)。 当您在“密码”文本字段中时,我已将键盘设置为关闭,但无法使下一个(返回)按钮在用户名上起作用,无法将焦点(或“第一响应者”)切换到“密码”文本框中。

我在“密码”文本字段中关闭键盘,如下所示:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
if (theTextField == self.textPassword) {
    [theTextField resignFirstResponder];
}
return YES;
}

我知道这与此相似,但无法确定。

trans by 2020-08-05T23:29:05Z

php-Magento addFieldToFilter:两个字段,匹配为OR,而不是AND

在过去的几个小时中,我一直坚持这一点。 我通过在Db.php中入侵了几行代码来使其工作,但是我宁愿使用适当的解决方案,也不要动我的核心。

我需要做的就是获取一个集合,并按两个或多个字段对其进行过滤。 说Db.phpremote_ip。这是我的代码(无需入侵Db.php即可工作):

$collection = Mage::getModel('sales/order')->getCollection()->
addAttributeToSelect("*")->
addFieldToFilter(array(array('remote_ip', array('eq'=>'127.0.0.1')),
array('customer_firstname', array('eq'=>'gabe'))), array('eq'=>array(1,2,3)));

我尝试使用库存Db.php进行此操作:(示例摘自[http://magentoexpert.blogspot.com/2009/12/retrieve-products-with-specific.html))

$collection->addFieldToFilter(array(
    array('name'=>'orig_price','eq'=>'Widget A'),
    array('name'=>'orig_price','eq'=>'Widget B'),           
));

但这给了我这个错误:

Warning: Illegal offset type in isset or empty  in magento/lib/Varien/Data/Collection/Db.php on line 369

如果我用try / catch包装它,那么它将移到_getConditionSql()中并给出此错误:

Warning: Invalid argument supplied for foreach()  in magento/lib/Varien/Data/Collection/Db.php on line 412

有人有任何有效的功能代码来执行此操作吗? 我正在运行Magento 1.9(企业版)。 谢谢!

trans by 2020-08-05T23:24:01Z

Android-尝试在null对象引用上调用虚拟方法'void android.view.View.getBoundsOnScreen(android.graphics.Rect)'

我有一个简单的地址表单,如下所示:

Java:

public class NewAddressActivity extends AppCompatActivity {

private TextInputLayout mStreetLayout;
private TextInputLayout mNumberLayout;
private TextInputLayout mNeighborhoodLayout;
private TextInputLayout mCityLayout;
private TextInputLayout mStateLayout;
private TextInputLayout mCepLayout;
private TextInputLayout mPhoneLayout;
private EditText mStreetText;
private EditText mNumberText;
private EditText mComplementText;
private EditText mNeighborhoodText;
private EditText mCityText;
private EditText mStateText;
private EditText mCepText;
private EditText mPhoneText;

private Address mAddressEditing;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new_address);

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }

    mStreetLayout = findViewById(R.id.street_layout);
    mNumberLayout = findViewById(R.id.number_layout);
    mNeighborhoodLayout = findViewById(R.id.neighborhood_layout);
    mCityLayout = findViewById(R.id.city_layout);
    mStateLayout = findViewById(R.id.state_layout);
    mCepLayout = findViewById(R.id.cep_layout);
    mPhoneLayout = findViewById(R.id.phone_layout);
    mStreetText = findViewById(R.id.street_text);
    mNumberText = findViewById(R.id.number_text);
    mComplementText = findViewById(R.id.complement_text);
    mNeighborhoodText = findViewById(R.id.neighborhood_text);
    mCityText = findViewById(R.id.city_text);
    mStateText = findViewById(R.id.state_text);
    mCepText = findViewById(R.id.cep_text);
    mPhoneText = findViewById(R.id.phone_text);

    mAddressEditing = getIntent().getParcelableExtra(AppConstants.ADDRESS_EXTRA);

    if (mAddressEditing != null) {
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        if (actionBar != null) {
            actionBar.setTitle(R.string.edit_address);
        }
        mStreetText.setText(mAddressEditing.getStreet());
        mNumberText.setText(mAddressEditing.getNumber());
        mComplementText.setText(mAddressEditing.getComplement());
        mNeighborhoodText.setText(mAddressEditing.getNeighborhood());
        mCityText.setText(mAddressEditing.getCity());
        mStateText.setText(mAddressEditing.getState());
        mCepText.setText(mAddressEditing.getCep());
        mPhoneText.setText(mAddressEditing.getPhone());
        mStreetText.setSelection(mAddressEditing.getStreet().length());
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_new_address, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            finish();
            return true;
        case R.id.action_save:
            save();
            return true;
    }
    return super.onOptionsItemSelected(item);
}

@SuppressLint("StaticFieldLeak")
private void save() {
    String street = mStreetText.getText().toString().trim();
    String number = mNumberText.getText().toString().trim();
    String complement = mComplementText.getText().toString().trim();
    String neighborhood = mNeighborhoodText.getText().toString().trim();
    String city = mCityText.getText().toString().trim();
    String state = mStateText.getText().toString().trim();
    String cep = mCepText.getText().toString().trim();
    String phone = mPhoneText.getText().toString().trim();

    boolean hasError = false;

    if (TextUtils.isEmpty(street)) {
        hasError = true;
        mStreetLayout.setErrorEnabled(true);
        mStreetLayout.setError(getString(R.string.fill_the_field));
    }
    if (TextUtils.isEmpty(number)) {
        hasError = true;
        mNumberLayout.setErrorEnabled(true);
        mNumberLayout.setError(getString(R.string.fill_the_field));
    }
    if (TextUtils.isEmpty(neighborhood)) {
        hasError = true;
        mNeighborhoodLayout.setErrorEnabled(true);
        mNeighborhoodLayout.setError(getString(R.string.fill_the_field));
    }
    if (TextUtils.isEmpty(city)) {
        hasError = true;
        mCityLayout.setErrorEnabled(true);
        mCityLayout.setError(getString(R.string.fill_the_field));
    }
    if (TextUtils.isEmpty(state)) {
        hasError = true;
        mStateLayout.setErrorEnabled(true);
        mStateLayout.setError(getString(R.string.fill_the_field));
    }
    if (TextUtils.isEmpty(cep)) {
        hasError = true;
        mCepLayout.setErrorEnabled(true);
        mCepLayout.setError(getString(R.string.fill_the_field));
    }
    if (TextUtils.isEmpty(phone)) {
        hasError = true;
        mPhoneLayout.setErrorEnabled(true);
        mPhoneLayout.setError(getString(R.string.fill_the_field));
    }

    if (hasError) {
        return;
    }

    final Address address = new Address();
    if (mAddressEditing != null) {
        mAddressEditing.setStreet(street);
        mAddressEditing.setNumber(number);
        mAddressEditing.setComplement(complement);
        mAddressEditing.setNeighborhood(neighborhood);
        mAddressEditing.setCity(city);
        mAddressEditing.setState(state);
        mAddressEditing.setCep(cep);
        mAddressEditing.setPhone(phone);
    } else {
        address.setStreet(street);
        address.setNumber(number);
        address.setComplement(complement);
        address.setNeighborhood(neighborhood);
        address.setCity(city);
        address.setState(state);
        address.setCep(cep);
        address.setPhone(phone);
    }

    new AsyncTask<Void, Void, Void>() {
        @Override
        protected Void doInBackground(Void... voids) {
            if (mAddressEditing != null) {
                MainApplication.getInstance().getAddressDao().update(mAddressEditing);
            } else {
                MainApplication.getInstance().getAddressDao().insert(address);
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            Toast.makeText(NewAddressActivity.this,
                    mAddressEditing != null ? R.string.address_edited_successfully :
                            R.string.address_created_successfully, Toast.LENGTH_SHORT).show();
            setResult(Activity.RESULT_OK);
            finish();
        }
    }.execute();
}
}

xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.design.widget.TextInputLayout
        android:id="@+id/street_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toTopOf="parent">


        <EditText
            android:id="@+id/street_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/street"
            android:imeOptions="actionNext"
            android:inputType="textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/number_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/street_layout">

        <EditText
            android:id="@+id/number_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/number"
            android:imeOptions="actionNext"
            android:inputType="textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/complement_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/number_layout">

        <EditText
            android:id="@+id/complement_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/complement"
            android:imeOptions="actionNext"
            android:inputType="textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/neighborhood_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/complement_layout">

        <EditText
            android:id="@+id/neighborhood_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/neighborhood"
            android:imeOptions="actionNext"
            android:inputType="textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/city_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/neighborhood_layout">

        <EditText
            android:id="@+id/city_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/city"
            android:imeOptions="actionNext"
            android:inputType="textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/state_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/city_layout">

        <EditText
            android:id="@+id/state_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/state"
            android:imeOptions="actionNext"
            android:inputType="textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/cep_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/state_layout">

        <EditText
            android:id="@+id/cep_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/cep"
            android:imeOptions="actionNext"
            android:inputType="number"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/phone_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toBottomOf="@id/cep_layout">

        <EditText
            android:id="@+id/phone_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/phone"
            android:imeOptions="actionDone"
            android:inputType="phone|textCapSentences"
            android:maxLines="1"
            android:singleLine="true" />
    </android.support.design.widget.TextInputLayout>
</android.support.constraint.ConstraintLayout>
</ScrollView>

您如何在Java上看到mAddressEditing是从intent接收到的变量,当它不为null时,表示用户要编辑其地址。

所有字段均按预期填充,但是当我点击编辑文本以更改其值时,它崩溃了……

崩溃:

FATAL EXCEPTION: main 
Process: br.com.fornaro.armariovirtual, PID: 5540
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.getBoundsOnScreen(android.graphics.Rect)' on a null object reference at android.app.assist.AssistStructure$WindowNode.<init>(AssistStructure.java:484)
at android.app.assist.AssistStructure.<init>(AssistStructure.java:1908)
at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3035)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1807)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

我不知道为什么它崩溃了。

重现步骤:1.编辑上一个屏幕中的地址,将Address对象作为intent参数传递2.单击编辑文本以更改其值3.崩溃!

trans by 2020-08-05T23:22:08Z

目标c-使用[NSBundle mainBundle] pathForResource:ofType:inDirectory访问文件:

我在名为TextFiles的文件夹中添加了文件paylines.txt,该文件位于Xcode我的iOS项目的Resources文件夹中。

这是我用来访问文件的代码:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"paylines" ofType:@"txt" inDirectory:@"TextFiles"];
NSLog(@"\n\nthe string %@",filePath);

代码显示:

2011-06-07 14:47:16.251 slots2[708:207] 

the string  (null)
trans by 2020-08-05T23:17:19Z

jsf 2-在JSF页面上显示当前日期

是否可以在JSF中显示当前日期(今天)而不使用备用bean?

我有以下代码片段,但没有成功。

<div class="leftSide">Today's date #{currentDate}</div>

要么

<f:facet name="header">  
<h:outputText value="Today's date" />  
</f:facet>
<h:outputText value="#currentDate">
    <f:convertDateTime pattern="MM/dd/yyyy" type="date" />
</h:outputText>
trans by 2020-08-05T23:14:39Z

java-使用Spring 3注释实现简单的工厂模式

我想知道如何用Spring 3注释实现简单的工厂模式。 我在文档中看到,您可以创建调用工厂类并运行工厂方法的bean。 我想知道仅使用注释是否有可能。

我有一个当前正在调用的控制器

MyService myService = myServiceFactory.getMyService(test);
result = myService.checkStatus();

MyService是具有一个称为checkStatus()的方法的接口。

我的工厂班级看起来像这样:

@Component
public class MyServiceFactory {

    public static MyService getMyService(String service) {
        MyService myService;

        service = service.toLowerCase();

        if (service.equals("one")) {
            myService = new MyServiceOne();
        } else if (service.equals("two")) {
            myService = new MyServiceTwo();
        } else if (service.equals("three")) {
            myService = new MyServiceThree();
        } else {
            myService = new MyServiceDefault();
        }

        return myService;
    }
}

MyServiceOne类如下所示:

@Autowired
private LocationService locationService;

public boolean checkStatus() {
      //do stuff
}

当我运行此代码时,locationService变量始终为null。 我相信这是因为我是在工厂内部自己创建对象,并且不会自动装配。 有没有添加注释以使其正常工作的方法?

谢谢

trans by 2020-08-05T20:04:00Z

sed-用单引号替换所有双引号

我正在尝试用单引号替换字符串中的所有双引号。这是我的表情:

echo "<a href=\"#\" id=\"resendActivationMailLink\">here</a>" | sed "s/\"/'/"

不幸的是,只有第一个双引号被替换了:S

<a href='#" id="resendActivationMailLink">here</a> 

有任何想法吗?

trans by 2020-08-05T20:02:09Z

红宝石-如何在没有模板的情况下使用Rails发送邮件?

在我的Rails 3项目中,我想发送一些简单的通知电子邮件。 我不需要为它们制作模板或执行任何逻辑。 我只想从系统中的各个位置解雇他们。

如果我在任意的红宝石脚本中执行此操作,则将使用pony。 但是,我仍然想使用Rails邮件功能和配置,以便获得与系统中其余邮件相同的可靠性和设置。

最简单的方法是什么? 理想情况下,应该有一些类似的方法

ActionMailer.send(:to => 'foo@example.com', :subject =>"the subject", :body =>"this is the body")
trans by 2020-08-05T19:59:37Z

php-美元($)登录密码字符串被视为variab

花了一些时间对问题进行故障排除,从而使PHP / MySQL Web应用程序无法连接数据库。 可以使用完全相同的凭据从shell和phpMyAdmin访问数据库,这没有任何意义。

原来密码中带有$符号:

$_DB["password"] = "mypas$word";

发送的密码是“ mypas”,这显然是错误的。

解决此问题的最佳方法是什么? 我用\逃脱了$

$_DB["password"] = "mypas\$word";

而且有效。

我通常将$string = 'test'用于字符串,这可能是我之前避免遇到的方式。

这是正确的行为吗? 如果此密码存储在数据库中并且PHP将其拔出怎么办-会发生同样的问题吗? 我在这里想念什么...

trans by 2020-08-05T19:55:51Z

在Linux上从命令队列进行并行处理(bash,python,ruby等)

我有200条命令的列表/队列,我需要在Linux服务器上的Shell中运行。

我只希望一次最多运行10个进程(从队列中)。 一些过程将花费几秒钟来完成,而其他过程将花费更长的时间。

当进程完成时,我希望从队列中“弹出”下一条命令并执行。

有没有人有代码来解决这个问题?

进一步阐述:

在某种队列中,需要完成200项工作。 我希望一次最多进行10项工作。 当线程完成一项工作时,应向队列询问下一项工作。 如果队列中没有其他工作,则该线程应终止。 当所有线程都死掉时,这意味着所有工作都已经完成。

我要解决的实际问题是使用imapsync将200个邮箱从旧邮件服务器同步到新邮件服务器。 有些用户的邮箱很大,需要很长时间才能同步,而其他用户的邮箱很小,可以很快同步。

trans by 2020-08-05T19:49:33Z

maven-将外部库.jar添加到Spring boot .jar内部/ lib

我有一个外部.jar,无法使用pom.xml从公共存储库导入,它是sqljdbc41.jar

我可以从IDE在本地运行项目,并且一切正常。 像这样下载后,我引用了该库:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc41</artifactId>
    <version>4.1</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/sqljdbc41.jar</systemPath>
</dependency>

当我运行sqljdbc41.jar创建我的.jar文件并尝试运行创建的.jar时,将弹出一个错误,提示SQL Server引用无效。 然后,我解压缩了我的.jar文件,并且足够真实,可以正确下载并添加pom.xml文件中引用的所有内容,但是,我的SQL Server却没有。

我可以以一种非常怪异的方式*将sqljdbc41.jar编译为.jar后,手动将其sqljdbc41.jar添加到我的/ lib文件夹中,并且它可以工作,但是,这似乎不是最佳选择。 有什么更好的方法?


*使用Winrar打开.jar文件,转到/ lib文件夹,手动选择我的sqljdbc41.jar文件,然后确保选择左下角的No Compression选项,其中Winrar为您提供压缩选项,以防万一您被Google找到了 回答。

trans by 2020-08-05T19:46:21Z

CSS-角材料-如何在md-toolb中将元素定位到右侧

我正在工具栏中使用FAB快速拨号。 但是,我无法使其浮动在工具栏的右侧。 我尝试过样式:“ float:right”,但没有运气。 还尝试了flex offset =“ 55”,但是在调整窗口大小时不起作用。 本质上,无论窗口大小如何,我都希望按钮位于蓝色工具栏容器的最右边。 在这方面的任何帮助将不胜感激。 请参见下面的照片和代码:

toolbar

<md-toolbar layout-fill layout-padding layout="row" style="background-color: #3F51B5;color:white;text-align:text-center;">
    <div layout="row">
        <i class="fa fa-users fa-2x" flex></i>
        <h1 class="md-title" style="color:white">Org Chart</h1>                                 
    </div>  
    <div class="lock-size" flex offset="55">
        <md-fab-speed-dial md-direction="left" ng-class="md-fling">
            <md-fab-trigger>
                <md-button aria-label="menu" class="md-fab md-accent">
                    <md-tooltip>
                      Actions
                    </md-tooltip>
                    <md-icon md-svg-src="img/icons/ic_view_module_48px.svg"></md-icon>
                </md-button>
            </md-fab-trigger>
            <md-fab-actions>
                <md-button aria-label="view" class="md-fab md-raised md-mini" >
                    <md-tooltip>
                      View Chart
                    </md-tooltip>                               
                    <md-icon md-svg-src="" style="color:black" ng-show="cDP.read" ng-click="paneShowFn('read')"></md-icon>
                </md-button>
                <md-button aria-label="add" class="md-fab md-raised md-mini" >
                    <md-tooltip>
                      Add Chart
                    </md-tooltip>                               
                    <md-icon md-svg-src="img/icons/ic_add_48px.svg" style="color:black" ng-show="cDP.insert" ng-click="paneShowFn('insert')"></md-icon>
                </md-button>
                <md-button aria-label="Settings" class="md-fab md-raised md-mini" >
                    <md-tooltip>
                      Security Access
                    </md-tooltip>                               
                    <md-icon md-svg-src="img/icons/ic_add_48px.svg" style="color:black" ng-show="cDP.permission" ng-click="paneShowFn('permission')"></md-icon>
                </md-button>                                
                <md-button aria-label="edit" class="md-fab md-raised md-mini" style="color:black" ng-show="cDP.update" ng-click="paneShowFn('update')">
                    <md-tooltip>
                      Edit Chart
                    </md-tooltip>                               
                    <md-icon md-svg-src="img/icons/ic_edit_48px.svg" style="color:black"></md-icon>
                </md-button>                                
            </md-fab-actions>
        </md-fab-speed-dial>
    </div>  
</md-toolbar>
trans by 2020-08-05T19:44:38Z

javascript-chrome扩展程序中的popup.js和background.js之间如何通信?

来自popup.js的消息被两次发布到background.js,但是我从background.js中什么也得不到。

background.js

function login(username,password){

    console.log(username);
var xhr = new XMLHttpRequest();

xhr.open("POST", "http://localhost:3000/login/", true);
xhr.setRequestHeader('Content-type','application/json; charset=utf-8');
data = {"username":username,"password":password};
console.log(JSON.stringify(data));
xhr.send(JSON.stringify(data));
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    // JSON.parse does not evaluate the attacker's scripts.
    var resp = JSON.parse(xhr.responseText);
    console.log(resp);
    var lStorage = localStorage;
    localStorage.setItem("username",resp["username"]);
    localStorage.setItem("apiKey",resp["apiKey"]);
    localStorage.setItem("password",resp["password"]);
    console.log(localStorage.getItem("username"));



  }
};


}


chrome.extension.onRequest.addListener(
    function(request, sender, sendResponse){
        console.log("hello");
        if(request.msg == "login") {
            //alert(request.password);
            login(request.username,request.password);}
    }
);

  chrome.extension.onConnect.addListener(function(port) {
  console.log("Connected .....");
  port.onMessage.addListener(function(msg) {
        console.log("message recieved "+ msg);
        port.postMessage("Hi Popup.js");
  });
});

popup.js:

function login(){
alert(document.login.username.value);
chrome.extension.sendRequest({ msg: "login",username:document.login.username.value,password:document.login.password.value});
document.getElementById('openBackgroundWindow').visbility = "hidden";

}

$(document).ready(function (){

checkUserAuth();
console.log("Inside");
$("#openBackgroundWindow").click(login);

});


function checkUserAuth(){
console.log(localStorage.getItem("apiKey"));
if(localStorage.getItem("apiKey") != null)
    {
        $("#openBackgroundWindow").visbility ="hidden";
    }
}


var port = chrome.extension.connect({name: "Sample Communication"});
port.postMessage("Hi BackGround");
port.onMessage.addListener(function(msg) {
        console.log("message recieved"+ msg);
});
trans by 2020-08-05T19:41:36Z

在Mercuri中生成补丁

我已经在手册中找到了,但是我无法为上一次提交生成补丁。我试过了

hg qnew patch_name

但它只与

# HG changeset patch
# Parent a6a8e225d16ff5970a8926ee8d24272a1c099f9c

我也试过

hg export tip

但它什么也没做。 我确实提交了更改。

如何生成最后一次提交的补丁文件?

trans by 2020-08-05T19:38:24Z

java-中的方法可见性

默认情况下,接口中的所有方法是否都具有“公共可见性”模式?

trans by 2020-08-05T19:35:30Z

c#-在Visual Studio 2013中更改项目端口号

如何在Visual Studio 2013中更改项目端口号?
我正在使用ASP.Net,在Visual Studio 2013中进行调试时需要更改端口号。

trans by 2020-08-05T19:29:19Z

Java-Spring 3.1,Hibernate 4,SessionFactory

这正在工作:

<bean id="sessionFactory"  
      class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
...

但是升级到上述版本会破坏它。 使用Spring 3.1.Release和Hibernate 4.0.0.FINAL创建SessionFactory bean的正确方法是什么?

部署时的错误是:

嵌套的异常是java.lang.NoClassDefFoundError: Lorg / hibernate / cache / CacheProvider;


编辑
添加了我自己的答案,这对我来说已经解决了。

trans by 2020-08-05T19:25:17Z

如何使用googletest捕获stdout / stderr?

使用googletest框架时是否可以捕获stdout和stderr?

例如,我想调用一个将错误写入控制台的函数(stderr)。现在,在测试中调用该函数时,我想断言那里没有输出。

或者,也许我想测试错误行为并想断言当我(故意)产生错误时打印了某个字符串。

trans by 2020-08-05T19:21:33Z