RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
Yulia
Asked: 2025-02-08 23:40:57 +0000 UTC

Docker、虚拟化和使用操作系统内核?

  • 8

我被以下陈述误导了:“虚拟化(在您的情况下是 Docker)使用主机操作系统内核。”

出现了一个合理的问题:如何在基于Windows NT内核的主机操作系统上运行容器?那么运行容器是否依赖于 WSL(以及在这种情况下模拟的 Linux 内核)?例如,在Linux主机操作系统上运行时,是否会使用其内核?

就上下文而言,我试图定义容器化和模拟的“边界”。它们的区别(更多细节请参见上面的问题)。

linux
  • 1 个回答
  • 46 Views
Martin Hope
Denzor
Asked: 2025-02-08 23:13:23 +0000 UTC

Nginx 中的多个映射条件

  • 5

我需要从访问日志中排除所有具有指定地址的记录,为此我写道:

    map $remote_addr $no_log_by_ip {
    "xx.xx.xx.xx" 0;
    default 1;
    }

access_log /path_to_log/access.log combined if=$no_log_by_ip;

还需要从访问日志中排除所有代码为 403 的记录,我写道:

    map $status $no_log_by_status {
    403 0;
    default 1;
    }

access_log /path_to_log/access.log combined if=$no_log_by_status;

它是单独工作的。我们如何才能使这两种条件同时发挥作用,即这样日志中就没有指定 IP 的条目和来自任何 IP 的 403 条目了吗?

尝试过:

access_log /path_to_log/access.log combined if=$no_log_by_status if=$no_log_by_ip;

但只有最后一个 if 有效,即在这种情况下,if=$no_log_by_ip。

nginx
  • 1 个回答
  • 32 Views
Martin Hope
Андрей
Asked: 2025-02-08 18:05:20 +0000 UTC

Postgresql 锁定顺序与触发器之前

  • 5

场景:有一张表,其中发生行的更新。该表还具有一个BEFORE UPDATE 行触发器,它在工作开始时使用 pg_advisory_xact_lock。

问题:先使用哪把锁?因为 UPDATE 操作本身没有密钥更新而阻塞?或者 pg_advisory_xact_lock?

根据Postgresql 文档,“语句级 BEFORE 触发器在语句开始执行任何操作之前触发”。这让人觉得应该首先应用 pg_advisory_xact_lock 锁。

但是在进行实验之后:在并行事务中,我首先手动应用 pg_advisory_xact_lock,然后进行无键更新,然后尝试使用触发器触发来更新行。我得到的结果是第二个事务由于无法获取表记录锁而被取消,而不是由于无法获取咨询锁。表示先获取行锁,再执行触发器。

但我在文档中没有找到任何证实我的实验结果的证据。有人知道我可以在哪里阅读此场景中的操作顺序吗?

postgresql
  • 1 个回答
  • 39 Views
Martin Hope
Юрий
Asked: 2025-02-08 15:51:58 +0000 UTC

如何从 Java 类调用另一个类中用 Kotlin 实现的函数?

  • 5

如何从 Java 类中的另一个包调用 Kotlin 函数?

有一个包fcmpushnotificationshttpv1,其中有一个用 Kotlin 实现的类ChatViewModel.kt。
还有一个dem.corp.androidmessenger包含类的包NewChatFragment。我想从类中另一个包中的类中NewChatFragment调用一个函数。sendMessageChatViewModel

为此我编写了以下代码:

//ymy NEW test
new  fcmpushnotificationshttpv1.ChatViewModel.ChatViewModel();
fcmpushnotificationshttpv1.sendMessage(true);

但是我收到一个编译错误:

C:\androidSDK\AndroidStudioProjects\AndroidMessenger-main\app\src\main\java\dem\corp\androidmessenger\bottomnav\new_chat\NewChatFragment.java:56: error: package fcmpushnotificationshttpv1.ChatViewModel does not exist
new fcmpushnotificationshttpv1.ChatViewModel.ChatViewModel();

项目结构及包清单如下: 在此处输入图片描述

为什么看不到这个包?
它甚至没有帮助//import com.plcoding.fcmpushnotificationshttpv1.ChatViewModel;

也没有看到SDK包。

我按照 Nowhere Man 所说的写了,但是出现了错误:

C:\androidSDK\AndroidStudioProjects\AndroidMessenger-main\app\src\main\java\dem\corp\androidmessenger\bottomnav\new_chat\NewChatFragment.java:30: error: package fcmpushnotificationshttpv1 does not exist
import fcmpushnotificationshttpv1.ChatViewModel;
^

以下是该文件的内容NewChatFragment.java:

package dem.corp.androidmessenger.bottomnav.new_chat;

import static androidx.fragment.app.FragmentManager.TAG;

import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
//import fcmpushnotificationshttpv1.ChatViewModel;
//import fcmpushnotificationshttpv1.ChatViewModel;

import java.util.ArrayList;

import dem.corp.androidmessenger.databinding.FragmentNewChatBinding;
import dem.corp.androidmessenger.users.User;
import dem.corp.androidmessenger.users.UsersAdapter;
//import fcmpushnotificationshttpv1.ChatViewModel;
//import fcmpushnotificationshttpv1.ChatViewModel;
//import fcmpushnotificationshttpv1.ChatViewModel;
//import fcmpushnotificationshttpv1.ChatViewModel;
//import fcmpushnotificationshttpv1.ChatViewModel;

public class NewChatFragment extends Fragment {
    private FragmentNewChatBinding binding;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        binding = FragmentNewChatBinding.inflate(inflater, container, false);

        loadUsers();

        return binding.getRoot();
    }

    private void loadUsers(){
        ArrayList<User> users = new ArrayList<User>();
        FirebaseDatabase.getInstance().getReference().child("Users").addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot snapshot) {
                for (DataSnapshot userSnapshot : snapshot.getChildren()){
                    if (userSnapshot.getKey().equals(FirebaseAuth.getInstance().getCurrentUser().getUid())){
                        continue;
                    }


                    //ymy NEW test
// вызов конструктора класса ChatViewModel
                    // вызов конструктора класса ChatViewModel
                    ChatViewModel chatViewModel = new fcmpushnotificationshttpv1.ChatViewModel();

// вызов package-level функции 
                    fcmpushnotificationshttpv1.ChatViewModel.sendMessage(true);

// вызов package-level функции
                    fcmpushnotificationshttpv1.ChatViewModel.sendMessage(true);
                   // ChatViewModel.sendMessage(true);
                 //   new fcmpushnotificationshttpv1.ChatViewModel();
                  //  fcmpushnotificationshttpv1.ChatViewModel.class.

                    //my test OK
                   //показывает flase у всех юзеров String username = String.valueOf(userSnapshot.getKey().equals(FirebaseAuth.getInstance().getCurrentUser().getUid()));
                    String username = userSnapshot.child("username").getValue().toString();
                    Log.w(TAG, "Error getting documents. 2222 username=" + username);


                    String uid = userSnapshot.getKey();
                    Log.w(TAG, "Error getting documents. 2222 uid=" + uid);

                    //String username = Objects.requireNonNull(userSnapshot.child("username").getValue()).toString();
                    String profileImage = String.valueOf(userSnapshot.child("profileImage").getValue());

                    users.add(new User(uid, username, profileImage));
                }

                binding.usersRv.setLayoutManager(new LinearLayoutManager(getContext()));
                binding.usersRv.addItemDecoration(new DividerItemDecoration(getContext(), DividerItemDecoration.VERTICAL));
                binding.usersRv.setAdapter(new UsersAdapter(users));
            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) {

            }
        });
    }
}

以下是该文件的内容ChatViewModel.kt:

@file:JvmName("ChatViewModel")
package fcmpushnotificationshttpv1

import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.firebase.ktx.Firebase
import com.google.firebase.messaging.ktx.messaging
import kotlinx.coroutines.launch
import kotlinx.coroutines.tasks.await
import retrofit2.HttpException
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
import retrofit2.create
import java.io.IOException


class ChatViewModel: ViewModel() {

    var state by mutableStateOf(ChatState())
        private set

    private val api: FcmApi = Retrofit.Builder()
      //  .baseUrl("http://10.0.2.2:8084/")
        .baseUrl("http://109.195.103.21:8084/")
        .addConverterFactory(MoshiConverterFactory.create())
        .build()
        .create()

    init {
        viewModelScope.launch {
            Firebase.messaging.subscribeToTopic("chat").await()
        }
    }

    fun onRemoteTokenChange(newToken: String) {
        state = state.copy(
            remoteToken = newToken
        )
    }

    fun onSubmitRemoteToken() {
        state = state.copy(
            isEnteringToken = false
        )
    }

    fun onMessageChange(message: String) {
        state = state.copy(
            messageText = message
        )
    }

    fun sendMessage(isBroadcast: Boolean) {
        viewModelScope.launch {
            val messageDto = SendMessageDto(
                to = if(isBroadcast) null else state.remoteToken,
                notification = NotificationBody(
                    title = "New message!",
                    body = state.messageText
                )
            )

            try {
                if(isBroadcast) {
                    api.broadcast(messageDto)
                } else {
                    api.sendMessage(messageDto)
                }

                state = state.copy(
                    messageText = ""
                )
            } catch(e: HttpException) {
                e.printStackTrace()
            } catch(e: IOException) {
                e.printStackTrace()
            }
        }
    }
}
java
  • 1 个回答
  • 90 Views
Martin Hope
Zheka NNov
Asked: 2025-02-08 08:49:59 +0000 UTC

Django 如何在保存到数据库之前将 <input> 中 HTML 表单中的“值”从文本更改为 id

  • 5

任务是这样的:表单有一个只读字段,其中显示学生的姓名(为了方便可视化)。

<input id="student" name="student" value="{{ student.full_name }}" readonly>

但是 Django 当然拒绝在库中保存这个表格,因为...需要学生 ID。问题:是否可以在只读字段中显示一件事(姓名,文本等),并在填写其他字段后,单击提交时,此字段的值将替换为student.id并发送到数据库?是的,如果您将其显示在 student.id 字段中 - 一切正常,但看起来不太好。

html
  • 1 个回答
  • 33 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5