问:
How to avoid conflicts with remote after git rebase?
I realize this might be a common problem, but so far I was not able to find a good solution via google/so search.

I have the following git branch setup:

```<code>$ git branch -a
* my_feature
  main
  remotes/origin/HEAD -> origin/main
  remotes/origin/colleagues_feature
  remotes/origin/my_feature
  remotes/origin/main
</code>```

With the PR of my_feature pretty much done, I wanted to rebase it on main (where a colleages feature PR was merged in the meanwhile) and then finally implement some needed additions to let my colleages feature work together with mine.

I guess what I should have done was:

```<code> 1. Commit my changes
 2. git checkout main
 3. git pull
 4. git checkout my_feature
 5. git rebase main
 6. git push
</code>```

But what I did was:

```<code> 1. Commit my changes
 2. git push
 3. git rebase main (with main being up to date with remote/origin)
 4. git push
</code>```

The last step now fails due to merge conflicts, git status prints the following message:

```<code>$ git status
On branch my_feature
Your branch and 'origin/my_feature' have diverged,
and have 17 and 5 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

nothing to commit, working tree clean
</code>```

After rebasing my local branch looks as expected, everything as I want/need it. I understand why there are now merge conflicts with the remote branch, but in my mind I should just have to rebase it as well.

Question is how to do this correctly?

Body:
I realize this might be a common problem, but so far I was not able to find a good solution via google/so search.

I have the following git branch setup:

$ git branch -a
* my_feature
  main
  remotes/origin/HEAD -> origin/main
  remotes/origin/colleagues_feature
  remotes/origin/my_feature
  remotes/origin/main

With the PR of my_feature pretty much done, I wanted to rebase it on main (where a colleages feature PR was merged in the meanwhile) and then finally implement some needed additions to let my colleages feature work together with mine.

I guess what I should have done was:

 1. Commit my changes
 2. git checkout main
 3. git pull
 4. git checkout my_feature
 5. git rebase main
 6. git push

But what I did was:

 1. Commit my changes
 2. git push
 3. git rebase main (with main being up to date with remote/origin)
 4. git push

The last step now fails due to merge conflicts, git status prints the following message:

$ git status
On branch my_feature
Your branch and 'origin/my_feature' have diverged,
and have 17 and 5 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

nothing to commit, working tree clean

After rebasing my local branch looks as expected, everything as I want/need it. I understand why there are now merge conflicts with the remote branch, but in my mind I should just have to rebase it as well.

Question is how to do this correctly?


来源: stackexchange

问:
Beeline - hivevar from file
I provide some hivevars while starting beeline as follows

```<code>beeline -u "jdbc:hive2://....;ssl=true" --hivevar SCHEMA_NAME=my_schema --hivevar SRC_SCHEMA=src_schema
</code>```

So far, so good. But I want to provide the hivevars from a file, instead of --hivevar, e.g

```<code>$ cat hivevars.properties
SCHEMA_NAME=my_schema
SRC_SCHEMA=src_schema
...
</code>```

Would this even be possible? So far, I haven't seen much literature on this, so any help would be great.

ContentLicense: CC BY-SA 4.0

Title: Beeline - hivevar from file

Body:
I provide some hivevars while starting beeline as follows

beeline -u "jdbc:hive2://....;ssl=true" --hivevar SCHEMA_NAME=my_schema --hivevar SRC_SCHEMA=src_schema

So far, so good. But I want to provide the hivevars from a file, instead of --hivevar, e.g

$ cat hivevars.properties
SCHEMA_NAME=my_schema
SRC_SCHEMA=src_schema
...

Would this even be possible? So far, I haven't seen much literature on this, so any help would be great.


问:
I want to link a google chrome extension popup button action with the content of the page
I'm just having a hard day trying to figure out this but still couldn't get anywhere, I have a google chrome extension built with manifest v3 which is the latest version supported by google, Inside this extension i have a popup html file that opens up when you click on the extension icon

What i want is, when i click the "change background" button the background of the active tab/page changes to red

What i tried is doing it without the popup thing and it worked! when you click on the icon it actually changes the background color of the active page here is the code for the files used:

manifest.json

```<code>{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert",
    "default_popup": "./popup.html"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
</code>```

popup.html

```<code><html>
    <header>
    </header>
    <body>
        <input type="button" value="Change background" id="btnChangeBackground" />
    </body>
</html>
</code>```

background.js

```<code>chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
</code>```

content.js

```<code>document.querySelector("body").style = "background-color:red;";
</code>```

Thank you in advance.

Body:
I'm just having a hard day trying to figure out this but still couldn't get anywhere, I have a google chrome extension built with manifest v3 which is the latest version supported by google, Inside this extension i have a popup html file that opens up when you click on the extension icon

What i want is, when i click the "change background" button the background of the active tab/page changes to red

What i tried is doing it without the popup thing and it worked! when you click on the icon it actually changes the background color of the active page here is the code for the files used:

manifest.json

{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert",
    "default_popup": "./popup.html"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}

popup.html

        <input type="button" value="Change background" id="btnChangeBackground" />

background.js

chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});

content.js

document.querySelector("body").style = "background-color:red;";

Thank you in advance.


问:
How to actually USE WinMerge from Github Desktop (Windows)
Is there a way to use WinMerge with Github Desktop (the GUI)?

I've seen how to add winmerge to the .gitconfig tool and have done that. But then the only directions that I've actually seen for using it from the desktop GUI is to use the GUI to open a command prompt and then use it from there. Is that it? I'd have to learn the git commands, type in the filename, the versions to compare, etc? That's not really a GUI...

In SourceTree I was able to do the following:

Click to select the two versions that I want to compare (committed versions or latest uncommited). This gives me the list of changed files. Then I'd select a file. A little view of changes would appear. I'd then use a dropdown to select to view the diff. WinMerge would open, comparing that file between those versions.

What's the equivalent in GitHub Desktop?


问:
sort values and remove duplicates in pandas
I have a data set in which I used to remove duplicates via excel. it has three columns - mobile number, first_order_date, and partner_name. My logic is to sort the users according to first_order_date ASC, and then remove duplicates on mobile_number. Now the rows have increased to 1.4M and I'm doing the same in Pandas. The goal is to get unique users based on by which partner did they place an order first. Output can be in any format (asc,desc).

Which method should I follow to replicate the above process in Pandas same as I did in excel? -

```<code>df = df.sort_values(by = ['first_order_date'], ascending = True)
df = df.drop_duplicates(subset = ['mobile_number'], keep = 'first')
</code>```

Or by this ->

```<code>df = df.sort_values('first_order_date').groupby(['mobile_number']).head(1)
</code>```

I am having doubts about the "Group by" in the above, but my senior suggested this.

"Adding a few lines of code here as this question is being closed due to some stack-overflow duplicity error."

Please help!!

Body:
I have a data set in which I used to remove duplicates via excel. it has three columns - mobile number, first_order_date, and partner_name. My logic is to sort the users according to first_order_date ASC, and then remove duplicates on mobile_number. Now the rows have increased to 1.4M and I'm doing the same in Pandas. The goal is to get unique users based on by which partner did they place an order first. Output can be in any format (asc,desc).

Which method should I follow to replicate the above process in Pandas same as I did in excel? -

df = df.sort_values(by = ['first_order_date'], ascending = True)
df = df.drop_duplicates(subset = ['mobile_number'], keep = 'first')

Or by this ->

df = df.sort_values('first_order_date').groupby(['mobile_number']).head(1)

I am having doubts about the "Group by" in the above, but my senior suggested this.

"Adding a few lines of code here as this question is being closed due to some stack-overflow duplicity error."

Please help!!


问:
React question about routing, server side
I have a question about react routing and i don't understand how it works....

We have an application with some pages that require authentication. React run on client side.

When user ask for login page, is the server sent all application to client ? We can configure access with the token but if the browser has the whole app, it's not really secure, doesn't ?

Thanks


问:
django multiple checkbox values show a template?
```<code>from django import forms

class MyForm(forms.Form):
    checkbox = forms.MultipleChoiceField(
        choices=[('apple', 'apple'), ('orange', 'orange')],
        widget=forms.CheckboxSelectMultiple
    )
</code>```

urls

```<code>from django.urls import path
from . import views

urlpatterns=[
    path('myform/',views.my_form,name='my_form')
]
</code>```
```<code>views

from django.shortcuts import render
from aapp.forms import MyForm

# Create your views here.
def my_form(request):
    if request.method == 'POST':
        selected = request.POST.getlist('checkbox')
        print(selected)
    else:
        form = MyForm()
    return render(request, 'my_form.html', {'form': form})

</code>```

urls

```<code>from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('aapp.urls'))
]

</code>```
```<code><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button id="submit-btn" type="submit">Submit</button>
</form>

</body>
<
</code>```

when i click checkbox apple - i need to show apple? How to fix it?
Any other ways to print checkbox values in a template in Django-models-forms-templates?

Multiple checkbox value shows on templates when i click the value

Body:
from django import forms

class MyForm(forms.Form):
    checkbox = forms.MultipleChoiceField(
        choices=[('apple', 'apple'), ('orange', 'orange')],
        widget=forms.CheckboxSelectMultiple
    )

urls

from django.urls import path
from . import views

urlpatterns=[
    path('myform/',views.my_form,name='my_form')
]

views

from django.shortcuts import render
from aapp.forms import MyForm

# Create your views here.
def my_form(request):
    if request.method == 'POST':
        selected = request.POST.getlist('checkbox')
        print(selected)
    else:
        form = MyForm()
    return render(request, 'my_form.html', {'form': form})

urls

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('aapp.urls'))
]

<!DOCTYPE html>

    <meta charset="UTF-8">
    <title>Title</title>

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button id="submit-btn" type="submit">Submit</button>
</form>

<

when i click checkbox apple - i need to show apple? How to fix it?
Any other ways to print checkbox values in a template in Django-models-forms-templates?

Multiple checkbox value shows on templates when i click the value


问:
How to run System Integration Test in AWS Pipeline
My application is in Spring Boot with build tool gradle. I want to run SIT after the deployment of the application in AWS Code pipeline. Can anyone please provide the documentation or suggestions so that I can do it.

I want to run SIT in my application

https://youtu.be/KJC380Juo2w

I am following this link where it's being told to create lambda function for integration test.

I am new to Lambda function and not able to understand it clearly. Can anyone please help?


问:
How to convert Audio Mp3 File to Text in javascript?
I am extracting text with voice (mic input) which is working fine. But i want to convert audio file into text. So, where i will add code for get audio file and convert into text auto. below is my code, i just want to browse mp3 or .wav file and by submitting it should return me text which is in audio.</p>
```<code>try {
  var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
  var recognition = new SpeechRecognition();
}
catch(e) {
  console.error(e);
  $('.no-browser-support').show();
  $('.app').hide();
}

var noteTextarea = $('#note-textarea');
var instructions = $('#recording-instructions');
var notesList = $('ul#notes');

var noteContent = '';

// Get all notes from previous sessions and display them.
var notes = getAllNotes();
renderNotes(notes);

/*-----------------------------
      Voice Recognition
------------------------------*/

// If false, the recording will stop after a few seconds of silence.
// When true, the silence period is longer (about 15 seconds),
// allowing us to keep recording even when the user pauses.
recognition.continuous = true;

// This block is called every time the Speech APi captures a line.
recognition.onresult = function(event) {

  // event is a SpeechRecognitionEvent object.
  // It holds all the lines we have captured so far.
  // We only need the current one.
  var current = event.resultIndex;

  // Get a transcript of what was said.
  var transcript = event.results[current][0].transcript;

  // Add the current transcript to the contents of our Note.
  // There is a weird bug on mobile, where everything is repeated twice.
  // There is no official solution so far so we have to handle an edge case.
  var mobileRepeatBug = (current == 1 && transcript == event.results[0][0].transcript);

  if(!mobileRepeatBug) {
    noteContent += transcript;
    noteTextarea.val(noteContent);
  }
};

recognition.onstart = function() {
  instructions.text('Voice recognition activated. Try speaking into the microphone.');
}

recognition.onspeechend = function() {
  instructions.text('You were quiet for a while so voice recognition turned itself off.');
}

recognition.onerror = function(event) {
  if(event.error == 'no-speech') {
    instructions.text('No speech was detected. Try again.');
  };
}

/*-----------------------------
      App buttons and input
------------------------------*/

$('#click-button').on('click', function(e) {
  if (noteContent.length) {
    noteContent += ' ';
  }
  recognition.start();
});

$('#pause-record-btn').on('click', function(e) {
  recognition.stop();
  instructions.text('Voice recognition paused.');
});

// Sync the text inside the text area with the noteContent variable.
noteTextarea.on('input', function() {
  noteContent = $(this).val();
})

$('#save-note-btn').on('click', function(e) {
  recognition.stop();

  if(!noteContent.length) {
    instructions.text('Could not save empty note. Please add a message to your note.');
  }
  else {
    // Save note to localStorage.
    // The key is the dateTime with seconds, the value is the content of the note.
    saveNote(new Date().toLocaleString(), noteContent);

    // Reset variables and update UI.
    noteContent = '';
    renderNotes(getAllNotes());
    noteTextarea.val('');
    instructions.text('Note saved successfully.');
  }

})

notesList.on('click', function(e) {
  e.preventDefault();
  var target = $(e.target);

  // Listen to the selected note.
  if(target.hasClass('listen-note')) {
    var content = target.closest('.note').find('.content').text();
    readOutLoud(content);
  }

  // Delete note.
  if(target.hasClass('delete-note')) {
    var dateTime = target.siblings('.date').text();
    deleteNote(dateTime);
    target.closest('.note').remove();
  }
});

/*-----------------------------
      Speech Synthesis
------------------------------*/

function readOutLoud(message) {
    var speech = new SpeechSynthesisUtterance();

  // Set the text and voice attributes.
    speech.text = message;
    speech.volume = 1;
    speech.rate = 1;
    speech.pitch = 1;

    window.speechSynthesis.speak(speech);
}

/*-----------------------------
      Helper Functions
------------------------------*/

function renderNotes(notes) {
  var html = '';
  if(notes.length) {
    notes.forEach(function(note) {
      html+= `<li class="note">
        <p class="header">
          <span class="date">${note.date}</span>
          <a href="#" class="listen-note" title="Listen to Note">Listen to Note</a>
          <a href="#" class="delete-note" title="Delete">Delete</a>
        </p>
        <p class="content">${note.content}</p>
      </li>`;
    });
  }
  else {
    html = '<li><p class="content">You don\'t have any notes yet.</p></li>';
  }
  notesList.html(html);
}

function saveNote(dateTime, content) {
  localStorage.setItem('note-' + dateTime, content);
}

function getAllNotes() {
  var notes = [];
  var key;
  for (var i = 0; i < localStorage.length; i++) {
    key = localStorage.key(i);

    if(key.substring(0,5) == 'note-') {
      notes.push({
        date: key.replace('note-',''),
        content: localStorage.getItem(localStorage.key(i))
      });
    }
  }
  return notes;
}

function deleteNote(dateTime) {
  localStorage.removeItem('note-' + dateTime);
}

```
`
</code>```

Body:
I am extracting text with voice (mic input) which is working fine. But i want to convert audio file into text. So, where i will add code for get audio file and convert into text auto. below is my code, i just want to browse mp3 or .wav file and by submitting it should return me text which is in audio.

try {
  var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
  var recognition = new SpeechRecognition();
}
catch(e) {
  console.error(e);
  $('.no-browser-support').show();
  $('.app').hide();
}

var noteTextarea = $('#note-textarea');
var instructions = $('#recording-instructions');
var notesList = $('ul#notes');

var noteContent = '';

// Get all notes from previous sessions and display them.
var notes = getAllNotes();
renderNotes(notes);

/*-----------------------------
      Voice Recognition
------------------------------*/

// If false, the recording will stop after a few seconds of silence.
// When true, the silence period is longer (about 15 seconds),
// allowing us to keep recording even when the user pauses.
recognition.continuous = true;

// This block is called every time the Speech APi captures a line.
recognition.onresult = function(event) {

  // event is a SpeechRecognitionEvent object.
  // It holds all the lines we have captured so far.
  // We only need the current one.
  var current = event.resultIndex;

  // Get a transcript of what was said.
  var transcript = event.results[current][0].transcript;

  // Add the current transcript to the contents of our Note.
  // There is a weird bug on mobile, where everything is repeated twice.
  // There is no official solution so far so we have to handle an edge case.
  var mobileRepeatBug = (current == 1 && transcript == event.results[0][0].transcript);

  if(!mobileRepeatBug) {
    noteContent += transcript;
    noteTextarea.val(noteContent);
  }
};

recognition.onstart = function() {
  instructions.text('Voice recognition activated. Try speaking into the microphone.');
}

recognition.onspeechend = function() {
  instructions.text('You were quiet for a while so voice recognition turned itself off.');
}

recognition.onerror = function(event) {
  if(event.error == 'no-speech') {
    instructions.text('No speech was detected. Try again.');
  };
}

/*-----------------------------
      App buttons and input
------------------------------*/

$('#click-button').on('click', function(e) {
  if (noteContent.length) {
    noteContent += ' ';
  }
  recognition.start();
});

$('#pause-record-btn').on('click', function(e) {
  recognition.stop();
  instructions.text('Voice recognition paused.');
});

// Sync the text inside the text area with the noteContent variable.
noteTextarea.on('input', function() {
  noteContent = $(this).val();
})

$('#save-note-btn').on('click', function(e) {
  recognition.stop();

  if(!noteContent.length) {
    instructions.text('Could not save empty note. Please add a message to your note.');
  }
  else {
    // Save note to localStorage.
    // The key is the dateTime with seconds, the value is the content of the note.
    saveNote(new Date().toLocaleString(), noteContent);

    // Reset variables and update UI.
    noteContent = '';
    renderNotes(getAllNotes());
    noteTextarea.val('');
    instructions.text('Note saved successfully.');
  }

})

notesList.on('click', function(e) {
  e.preventDefault();
  var target = $(e.target);

  // Listen to the selected note.
  if(target.hasClass('listen-note')) {
    var content = target.closest('.note').find('.content').text();
    readOutLoud(content);
  }

  // Delete note.
  if(target.hasClass('delete-note')) {
    var dateTime = target.siblings('.date').text();
    deleteNote(dateTime);
    target.closest('.note').remove();
  }
});

/*-----------------------------
      Speech Synthesis
------------------------------*/

function readOutLoud(message) {
    var speech = new SpeechSynthesisUtterance();

  // Set the text and voice attributes.
    speech.text = message;
    speech.volume = 1;
    speech.rate = 1;
    speech.pitch = 1;

    window.speechSynthesis.speak(speech);
}

/*-----------------------------
      Helper Functions
------------------------------*/

function renderNotes(notes) {
  var html = '';
  if(notes.length) {
    notes.forEach(function(note) {
      html+= `

          ${note.date}
          Listen to Note
          Delete

${note.content}

`;
    });
  }
  else {
    html = '

You don\'t have any notes yet.

';
  }
  notesList.html(html);
}

function saveNote(dateTime, content) {
  localStorage.setItem('note-' + dateTime, content);
}

function getAllNotes() {
  var notes = [];
  var key;
  for (var i = 0; i < localStorage.length; i++) {
    key = localStorage.key(i);

    if(key.substring(0,5) == 'note-') {
      notes.push({
        date: key.replace('note-',''),
        content: localStorage.getItem(localStorage.key(i))
      });
    }
  }
  return notes;
}

function deleteNote(dateTime) {
  localStorage.removeItem('note-' + dateTime);
}

```
`


问:
AWS : Application Load Balancer
I am setting up my 1st server.
I am stuck at one point, during my server set-up.
I am creating my AWS server for current application. I stuck at following step.
I created 3 ec2-instances with same configuration and with same codebase.
I need one load-balancer to distribute my application's trafficking within the instances.
I want to know all steps i need to follow to configure and run my application with load balancing.
Please help me in this server configuration.
Thank You.

I tried following steps

launch 3 EC2 instances

create 3 target groups

Title: AWS : Application Load Balancer


问:
exception occurs when iterating through futures
Can someone please explain to me what this piece of code does and how it can enter on the second catch clause, inside finally (without entering the first catch) and log this message "log.error("error while running closure", ee)" ?

```<code>try {
            batches.each { batch -> futures << executorService.submit(['call':runClosure.curry(batch)] as Callable) }
        } catch (Exception e) {
            log.error("error: ", e)
        } finally {
            futures.each {
                try {
                    it.get()
                } catch (Exception ee) {
                    log.error("error while running closure", ee)
                }
            }
        }

</code>```

I have this piece of code that calls the method processBatch:

```<code>    def runClosure = { batch ->
        processBatch(batch)
    }
</code>```

Body:
Can someone please explain to me what this piece of code does and how it can enter on the second catch clause, inside finally (without entering the first catch) and log this message "log.error("error while running closure", ee)" ?

try {
            batches.each { batch -> futures << executorService.submit(['call':runClosure.curry(batch)] as Callable) }
        } catch (Exception e) {
            log.error("error: ", e)
        } finally {
            futures.each {
                try {
                    it.get()
                } catch (Exception ee) {
                    log.error("error while running closure", ee)
                }
            }
        }

I have this piece of code that calls the method processBatch:

    def runClosure = { batch ->
        processBatch(batch)
    }


问:
Unable to set max_allowed_packet in mariaDB
I need to increase the max_allowed_packet value for my mariaDB 10.5 instance on Ubuntu. So, I uncommented the value in /etc/mysql/mariadb.conf.d/50-server.cnf and changed it to:

```<code>max_allowed_packet = 32M
</code>```

I then restarted the mariaDB service, but when I call SHOW VARIABLES I still see the default value of 16M (16777216).

When I call

```<code>SET GLOBAL max_allowed_packet=33554432
</code>```

SHOW VARIABLES shows the new value. But after restarting the service the change is gone.

What can I do to permanently apply the change?

Body:
I need to increase the max_allowed_packet value for my mariaDB 10.5 instance on Ubuntu. So, I uncommented the value in /etc/mysql/mariadb.conf.d/50-server.cnf and changed it to:

max_allowed_packet = 32M

I then restarted the mariaDB service, but when I call SHOW VARIABLES I still see the default value of 16M (16777216).

When I call

SET GLOBAL max_allowed_packet=33554432

SHOW VARIABLES shows the new value. But after restarting the service the change is gone.

What can I do to permanently apply the change?


问:
How to put one image under other image and make them look them same in mobile and desktop
Hello guys I got 2 images in html. I want to put one Image down to the other so they fit together and make them look the same for desktop and mobile version.

my Code look like this:

```<code> <div class="col-lg-5 col-md-6 ">
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>
                <br>

                    <img id = "offset2" src="img/about/dogTv.png" style="max-width:100%; min-width:50px;  height:auto;" alt="">
            </div>

                <img id = "offset1"  src="img/about/background.png" style="max-width:100%; min-width:50px;  height:auto;" alt="">
</code>```
```<code>#offset1{
  margin-top:-110px;

}

#offset2{
  float: right;

}
</code>```

With the above code when I go to mobile version it fits well but on desktop it looks like this. I want the tv to be inside the red wave in both versions desktop and mobile

Body:
Hello guys I got 2 images in html. I want to put one Image down to the other so they fit together and make them look the same for desktop and mobile version.

my Code look like this:

#offset1{
  margin-top:-110px;

}

#offset2{
  float: right;

}

With the above code when I go to mobile version it fits well but on desktop it looks like this. I want the tv to be inside the red wave in both versions desktop and mobile


问:
Is there a way to update a submodule in git without changing the original repository of the submodule?
I have this repository (GPU_Playground) in github and I have the GPU_subproject_dummy submodule in it. I want to know if there is a way to update the contents of the submodule and pushing the updates only in GPU_Playground and the contents of GPU_subproject_dummy to remain the same in the GPU_subproject_dummy repository.

Maybe submodules isn't the best thing for what I am trying to do.
I want to be able to have multiple links to other repositories and in the first place to update the files only in my GPU_Playground repository and when I'm sure that everything is fine I will update the files in the original repositories that I've linked in my repo.

The steps I want to do:

Clone GPU_playground (with all submodules)

cd GPU_subproject_dummy

make changes in GPU_subproject_dummy

push changes done but only update the GPU_subproject_dummy from GPU_playground

when I'm sure I want the original GPU_subproject_dummy  to be updated, I want to be able to do that.

Is there a way to do that with submodules or I should be trying something else? Maybe fork?


问:
Debug React Native cli Android app on emulator with WebStorm [error]
I want to debug a React Native cli app in WebStorm using an Android emulator. I already created a new emulator in Android Studio and created a referance in WebStorm for it as an external tool. If I start it I get:

```<code>C:\Users\aerith\AppData\Local\Android\Sdk\emulator\emulator.exe -avd Pixel4TestDevice
INFO    | Android emulator version 31.3.10.0 (build_id 8807927) (CL:N/A)
emulator: INFO: Found systemPath C:\Users\aerith\AppData\Local\Android\Sdk\system-images\android-33\google_apis\x86_64\
INFO    | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag.
INFO    | IPv4 server found: 172.17.0.11
INFO    | added library vulkan-1.dll
INFO    | configAndStartRenderer: setting vsync to 60 hz
INFO    | Sending adb public key
INFO    | injectedQemuChannel!
INFO    | Informing listeners of injection.
INFO    | Rootcanal has  been activated.
WHPX on Windows 10.0.19044 detected.
Windows Hypervisor Platform accelerator is operational
INFO    | Started GRPC server at 127.0.0.1:8554, security: Local, auth: none
INFO    | Advertising in: C:\Users\aerith\AppData\Local\Temp\avd\running\pid_13836.ini
WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***
INFO    | setDisplayConfigs w 1080 h 2400 dpiX 420 dpiY 420
</code>```

I also created a new run configuration for React Native in WebStorm and executed it. If i then run react-native run-android in the project terminal i get this error and it wont start the app on the emulator:

```<code>info JS server already running.
info Launching emulator...
error Failed to launch emulator. Reason: Emulator exited before boot..
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.
info Installing the app...
> Task :app:installDebug FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.5.1/userguide/command_line_interface.html#sec:command_line_warnings
38 actionable tasks: 2 executed, 36 up-to-date

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No connected devices!

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s

error Failed to install the app. Make sure you have an Android emulator running or a device connected.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No connected devices!

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s

    at makeError (/home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:174:9)
    at /home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:278:16
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async runOnAllDevices (/home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:109:5)
    at async Command.handleAction (/home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli/build/index.js:142:9)
info Run CLI with --verbose flag for more details.
</code>```

Could anyone help me how to debug my React Native project? I currently need to build and apk and install it every time i want to test it.

Alternative: Is there a way to debug on WebStorm with a real device and if yes how (current Android version is 6)?

Body:
I want to debug a React Native cli app in WebStorm using an Android emulator. I already created a new emulator in Android Studio and created a referance in WebStorm for it as an external tool. If I start it I get:

C:\Users\aerith\AppData\Local\Android\Sdk\emulator\emulator.exe -avd Pixel4TestDevice
INFO    | Android emulator version 31.3.10.0 (build_id 8807927) (CL:N/A)
emulator: INFO: Found systemPath C:\Users\aerith\AppData\Local\Android\Sdk\system-images\android-33\google_apis\x86_64\
INFO    | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag.
INFO    | IPv4 server found: 172.17.0.11
INFO    | added library vulkan-1.dll
INFO    | configAndStartRenderer: setting vsync to 60 hz
INFO    | Sending adb public key
INFO    | injectedQemuChannel!
INFO    | Informing listeners of injection.
INFO    | Rootcanal has  been activated.
WHPX on Windows 10.0.19044 detected.
Windows Hypervisor Platform accelerator is operational
INFO    | Started GRPC server at 127.0.0.1:8554, security: Local, auth: none
INFO    | Advertising in: C:\Users\aerith\AppData\Local\Temp\avd\running\pid_13836.ini
WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***
INFO    | setDisplayConfigs w 1080 h 2400 dpiX 420 dpiY 420

I also created a new run configuration for React Native in WebStorm and executed it. If i then run react-native run-android in the project terminal i get this error and it wont start the app on the emulator:

info JS server already running.
info Launching emulator...
error Failed to launch emulator. Reason: Emulator exited before boot..
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.
info Installing the app...
> Task :app:installDebug FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.5.1/userguide/command_line_interface.html#sec:command_line_warnings
38 actionable tasks: 2 executed, 36 up-to-date

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No connected devices!

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s

error Failed to install the app. Make sure you have an Android emulator running or a device connected.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No connected devices!

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s

    at makeError (/home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:174:9)
    at /home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:278:16
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async runOnAllDevices (/home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:109:5)
    at async Command.handleAction (/home/aerith/dev/MatterAppPrototype/node_modules/@react-native-community/cli/build/index.js:142:9)
info Run CLI with --verbose flag for more details.

Could anyone help me how to debug my React Native project? I currently need to build and apk and install it every time i want to test it.

Alternative: Is there a way to debug on WebStorm with a real device and if yes how (current Android version is 6)?


问:
Error CREATEing SolrCore: Unable to create core Caused by: /var/solr/data/searchfin/data/snapshot_metadata
I am trying to add a new solr core but it's giving me the following error:

Error CREATEing SolrCore 'searchfin': Unable to create core [searchfin] Caused by: /var/solr/data/searchfin/data/snapshot_metadata

I have already created the folder "searchfin" with subfolder conf and data in it. Also I have tried creating the core with both solr UI and command line.


问:
Net Core Identity without Razor pages, only api
I would need to use all the authentication logic of netcore Identity(Login, Logout, Forgot Password) etc. via an external front-end built in Angular.
I tried to create a netcore project with authentication integration but all controllers are managed to use default template via Razor pages.
Is there a way to use all the authentication methods of netcore identity as simple web-api?

Thank you

Net Core Identity without Razor pages, only api


问:
How to use "where" clause nested n relationships?
There are lot available reference that I went through before asking the question. And it seems all of them were just one to two layer relationship only. While my case is different because it can have n layer of relationship, so it's not really helpful in my end.

I have here nested relationship of Person.

```<code>class Person extends Model
{
    public function children()
    {
        return $this->hasMany(Person::class, 'parent_id', 'id')->with('children');
    }
}
</code>```

This would result to this sample Model structure data. (show snippet below)

[
    {
        name: 'Don Pepe',
        gender: 'male',
        children: [
            {
                name: 'Juan',
                gender: 'male',
                children: [
                    {
                        name: 'Vito',
                        gender: 'male',
                        children: ... and so on, so forth
                    },
                    ...
                ],
            },
            ...
        ],
    },
    ...
]```

I would like to ask how to filter these data. For example like, if I would like to filter the male gender? We could just simply where clause the parent but for children of children, how we gonna where clause it?

I doubt it could not be done in Laravel Eloquent, only in collection. Please let me know your thoughts.

Laravel nested relationships
https://laracasts.com/discuss/channels/laravel/eloquent-nested-relations-with-where-clause

Body:
There are lot available reference that I went through before asking the question. And it seems all of them were just one to two layer relationship only. While my case is different because it can have n layer of relationship, so it's not really helpful in my end.

I have here nested relationship of Person.

class Person extends Model
{
    public function children()
    {
        return $this->hasMany(Person::class, 'parent_id', 'id')->with('children');
    }
}

This would result to this sample Model structure data. (show snippet below)

[
    {
        name: 'Don Pepe',
        gender: 'male',
        children: [
            {
                name: 'Juan',
                gender: 'male',
                children: [
                    {
                        name: 'Vito',
                        gender: 'male',
                        children: ... and so on, so forth
                    },
                    ...
                ],
            },
            ...
        ],
    },
    ...
]

I would like to ask how to filter these data. For example like, if I would like to filter the male gender? We could just simply where clause the parent but for children of children, how we gonna where clause it?

I doubt it could not be done in Laravel Eloquent, only in collection. Please let me know your thoughts.

Laravel nested relationships
https://laracasts.com/discuss/channels/laravel/eloquent-nested-relations-with-where-clause


问:
Why Laravel Jetstream User Profile page is not reflecting any changes?
I am using Laravel Jetstream for building a backend portal. However when I am trying to make any changes in the UI level from the user profile page, nothing is getting reflected. Can anyone help regarding this? I am trying to change any content in "resources/views/navigation-menu.blade.php". However nothing is getting reflected.

web.php

```<code>Route::get('/', function () {
    return view('auth.login');
});

Route::middleware(['auth:sanctum', 'verified'])->group(function (){
    Route::get('/dashboard', [DashboardController::class,'index'])->name('dashboard');
}
</code>```

Body:
I am using Laravel Jetstream for building a backend portal. However when I am trying to make any changes in the UI level from the user profile page, nothing is getting reflected. Can anyone help regarding this? I am trying to change any content in "resources/views/navigation-menu.blade.php". However nothing is getting reflected.

web.php

Route::get('/', function () {
    return view('auth.login');
});

Route::middleware(['auth:sanctum', 'verified'])->group(function (){
    Route::get('/dashboard', [DashboardController::class,'index'])->name('dashboard');
}


问:
At Superset2.0, When I add a clickhouse database, occur error :Could not load database driver: BaseEngineSpec
At Superset2.0,
When I add a clickhouse database, image error occurs.

ERROR: Could not load database driver: BaseEngineSpec

I have installed clickhousedb drive, use

```<code>pip install clickhouse-connect
</code>```

enter image description here

I have installed clickhousedb drive, use

```<code>pip install clickhouse-connect
</code>```

Body:
At Superset2.0,
When I add a clickhouse database, image error occurs.

ERROR: Could not load database driver: BaseEngineSpec

I have installed clickhousedb drive, use

pip install clickhouse-connect

enter image description here

I have installed clickhousedb drive, use

pip install clickhouse-connect


问:
Form container no sliding out?
I have 0 clue why my form container is not sliding out, it just doesn't move, it slides in fine, but sliding out it just doesn't work. I've tried sliding out the phoneInput itself but it just gets stuck at the end of the container. Assuming you connected everything correctly you'll notice my elements slide in, but when i click the button my intention is for them to slide out but only the heading slides out, the form container doesn't slide out, it doesn't even move.

const params = new URLSearchParams();

// remove number formatting then add +1
function formatPhoneNumber(phoneNumberString) {
  var cleaned = ('' + phoneNumberString).replace(/\D/g, '');
  var match = cleaned.match(/^(\d{3})(\d{3})(\d{4})$/);
  if (match) {
    return '+1' + match[1] + match[2] + match[3];
  }
  return null;
}

// login and send input data to server
function login() {

  const input = document.getElementById('phoneInput')
  let number = input.value

  if (isNaN(parseInt(number)) || parseInt(number) === null) {
    console.log('Invalid phone number');
    const divText = document.getElementsByClassName('heading-text')[0];

    divText.innerText = 'Invalid phone number!';
    divText.style.color = 'red';
    setTimeout(() => {
      divText.style.color = "black";
      divText.innerText = 'Please enter a valid phone number! No dashes or spaces!';
    }, 3000);
    return
  } else {
    formattedNumber = formatPhoneNumber(number)
    if (formattedNumber === null || formattedNumber.length > 12) {
      console.log('Invalid phone number');
      const divText = document.getElementsByClassName('heading-text')[0];

      divText.innerText = 'Invalid phone number!';
      divText.style.color = 'red';
      setTimeout(() => {
        divText.style.color = "black";
        divText.innerText = 'Please enter a valid phone number! No dashes or spaces!';
      }, 3000);
    } else {

      let heading = document.getElementsByClassName('heading')[0];
      let phoneForm = document.getElementsByClassName('form-container')[0];

      heading.classList.add('slide-out');
      phoneForm.classList.add('slide-out');

      params.delete("number")
      params.append('number', formattedNumber)
      fetch('http://localhost:3000/login', {
          method: 'POST',
          body: params
        })

        .then(function(response) {
          return response.json()
        })
    }
  }

}```
<pre class="snippet-code-css lang-css prettyprint-override"><code>body,
html {
  padding: 0%;
  margin: 0%;
  font-family: 'Poppins', sans-serif;
}

.heading {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 2em;
  height: 60%;
  width: 100%;
  transition: opacity 0.5s;
  transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  animation: slide-in 0.5s forwards;
  -webkit-animation: slide-in 0.5s forwards;
}

.slide-out {
  transform: translateX(100%);
  -webkit-transform: translateX(100%);
  animation: slide-out 0.5s forwards;
  -webkit-animation: slide-out 0.5s forwards;
}

.heading-title {
  font-size: 2em;
  font-weight: 700;
}

.heading-text {
  text-align: center;
}

.form-container {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 1.5em;
  transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  animation: slide-in 0.5s forwards;
  -webkit-animation: slide-in 0.5s forwards;
}

#phoneForm {
  display: flex;
  flex-direction: column;
  width: 50%;
  gap: 1rem;
}

#phoneInput {
  position: relative;
  flex: 1;
  width: 50%;
  border: solid 2px #d9d9d9;
  border-radius: 3px;
  align-self: center;
  padding: 7px;
  height: 100%;
}

#phoneLabel {
  padding-inline-start: 10em;
  font-weight: bold;
  align-self: flex-start;
}

.form-submit {
  align-self: center;
  background-color: #90E0EF;
  border: none;
  font-weight: bold;
  border-radius: 0.4em;
  padding: 1em 0em 1em 0em;
  width: 24em;
}

svg {
  color: #90E0EF;
}

#phoneInput:focus {
  outline: none;
  border-color: black;
}

@media screen and (max-width: 820px) {
  #phoneInput {
    width: 100%;
  }
}

@media screen and (min-width: 100px) and (max-width: 595px) {
  #phoneForm {
    width: 75%;
  }
}

@keyframes slide-in {
  100% {
    transform: translateX(0%);
  }
}

@-webkit-keyframes slide-in {
  100% {
    -webkit-transform: translateX(0%);
  }
}

@keyframes slide-out {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(100%);
  }
}

@-webkit-keyframes slide-out {
  0% {
    -webkit-transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(100%);
  }
}</code>```

  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="/css/login.css">
  <title>Document</title>

<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" fill="currentColor" class="bi bi-shield-lock-fill" viewBox="0 0 16 16">
            <path  fill-rule="evenodd" d="M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z"/>
          </svg>

Sign In To PrivDono

Please confirm your phone number. No dashes.

    <form onsubmit="return false" id="phoneForm">
      <input type="tel" id="phoneInput" name="phone" required>
      <button onclick="login()" class="form-submit">NEXT</button>
    </form>

```</code>```

Title: Form container no sliding out?

Body:
I have 0 clue why my form container is not sliding out, it just doesn't move, it slides in fine, but sliding out it just doesn't work. I've tried sliding out the phoneInput itself but it just gets stuck at the end of the container. Assuming you connected everything correctly you'll notice my elements slide in, but when i click the button my intention is for them to slide out but only the heading slides out, the form container doesn't slide out, it doesn't even move.

const params = new URLSearchParams();

// remove number formatting then add +1
function formatPhoneNumber(phoneNumberString) {
  var cleaned = ('' + phoneNumberString).replace(/\D/g, '');
  var match = cleaned.match(/^(\d{3})(\d{3})(\d{4})$/);
  if (match) {
    return '+1' + match[1] + match[2] + match[3];
  }
  return null;
}

// login and send input data to server
function login() {

  const input = document.getElementById('phoneInput')
  let number = input.value

  if (isNaN(parseInt(number)) || parseInt(number) === null) {
    console.log('Invalid phone number');
    const divText = document.getElementsByClassName('heading-text')[0];

    divText.innerText = 'Invalid phone number!';
    divText.style.color = 'red';
    setTimeout(() => {
      divText.style.color = "black";
      divText.innerText = 'Please enter a valid phone number! No dashes or spaces!';
    }, 3000);
    return
  } else {
    formattedNumber = formatPhoneNumber(number)
    if (formattedNumber === null || formattedNumber.length > 12) {
      console.log('Invalid phone number');
      const divText = document.getElementsByClassName('heading-text')[0];

      divText.innerText = 'Invalid phone number!';
      divText.style.color = 'red';
      setTimeout(() => {
        divText.style.color = "black";
        divText.innerText = 'Please enter a valid phone number! No dashes or spaces!';
      }, 3000);
    } else {

      let heading = document.getElementsByClassName('heading')[0];
      let phoneForm = document.getElementsByClassName('form-container')[0];

      heading.classList.add('slide-out');
      phoneForm.classList.add('slide-out');

      params.delete("number")
      params.append('number', formattedNumber)
      fetch('http://localhost:3000/login', {
          method: 'POST',
          body: params
        })

        .then(function(response) {
          return response.json()
        })
    }
  }

}

body,
html {
  padding: 0%;
  margin: 0%;
  font-family: 'Poppins', sans-serif;
}

.heading {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 2em;
  height: 60%;
  width: 100%;
  transition: opacity 0.5s;
  transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  animation: slide-in 0.5s forwards;
  -webkit-animation: slide-in 0.5s forwards;
}

.slide-out {
  transform: translateX(100%);
  -webkit-transform: translateX(100%);
  animation: slide-out 0.5s forwards;
  -webkit-animation: slide-out 0.5s forwards;
}

.heading-title {
  font-size: 2em;
  font-weight: 700;
}

.heading-text {
  text-align: center;
}

.form-container {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 1.5em;
  transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  animation: slide-in 0.5s forwards;
  -webkit-animation: slide-in 0.5s forwards;
}

#phoneForm {
  display: flex;
  flex-direction: column;
  width: 50%;
  gap: 1rem;
}

#phoneInput {
  position: relative;
  flex: 1;
  width: 50%;
  border: solid 2px #d9d9d9;
  border-radius: 3px;
  align-self: center;
  padding: 7px;
  height: 100%;
}

#phoneLabel {
  padding-inline-start: 10em;
  font-weight: bold;
  align-self: flex-start;
}

.form-submit {
  align-self: center;
  background-color: #90E0EF;
  border: none;
  font-weight: bold;
  border-radius: 0.4em;
  padding: 1em 0em 1em 0em;
  width: 24em;
}

svg {
  color: #90E0EF;
}

#phoneInput:focus {
  outline: none;
  border-color: black;
}

@media screen and (max-width: 820px) {
  #phoneInput {
    width: 100%;
  }
}

@media screen and (min-width: 100px) and (max-width: 595px) {
  #phoneForm {
    width: 75%;
  }
}

@keyframes slide-in {
  100% {
    transform: translateX(0%);
  }
}

@-webkit-keyframes slide-in {
  100% {
    -webkit-transform: translateX(0%);
  }
}

@keyframes slide-out {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(100%);
  }
}

@-webkit-keyframes slide-out {
  0% {
    -webkit-transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(100%);
  }
}

  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="/css/login.css">
  <title>Document</title>

<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" fill="currentColor" class="bi bi-shield-lock-fill" viewBox="0 0 16 16">
            <path  fill-rule="evenodd" d="M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z"/>
          </svg>

Sign In To PrivDono

Please confirm your phone number. No dashes.

    <form onsubmit="return false" id="phoneForm">
      <input type="tel" id="phoneInput" name="phone" required>
      <button onclick="login()" class="form-submit">NEXT</button>
    </form>

```


问:
I want to make requests to the database not from the pgAdmin gui, but through the linux console. How to do it?
Usually I use pgAdmin to connect to the database with these parameters

#POSTGRES_SERVER=...

#POSTGRES_USER=...

#POSTGRES_PASSWORD=...

#POSTGRES_DB=...

I want to connect and interact with the database via the Linux console. Tell me if this is possible, and if possible, please tell me how to do it?

I see the PSQL Tool in pgAdmin. And I would like it to be possible to run it from under the linux terminal

I tried to find a solution in the Internet


问:
Is there any limitation for uploading image from Figma Plugin to my server?
I want to build a plugin to allow designers to upload image that they added to the frame with the frame specification etc.

I'm seeing some comments/questions on Figma Community pages mentioned that figma doesn't allow that type of network requests or only examples that I could find is getting Unsplash image and putting it on to the canvas.

Before I try to figure out a different solution, wanted to check with other people to see if anyone tried this before?