野の

文章 评论 浏览 30

野の 2025-02-20 18:54:16

命令是:

open [username@]hostname [port]

因此,在您的情况下:

open [email protected] 1234

您尝试使用的语法是

因此,

psftp example.com -P 1234 -l <user name>

您可以使用:与openssh 相似, 而不是 open ,您可以在命令行上“打开”会话语法)。

The syntax of the psftp open command is:

open [username@]hostname [port]

So in your case:

open [email protected] 1234

The syntax you have tried to use is psftp command-line syntax.

So alternatively, instead of the open, you can "open" the session right on the commandline using:

psftp example.com -P 1234 -l <user name>

It's similar as with OpenSSH ssh (there you also use commandline syntax).

pySFTP打开命令,端口号由于“无效端口”失败。

野の 2025-02-20 15:26:41

您需要专用的打印样式表来制作可靠的PDF。使用媒体查询制作样式表进行打印。在您的标记中,在一个称为.page的容器中,将所有a4的所有内容都包含在一张a4中。然后在您的打印样式表中,使用@page探索以格式化PDF。

在print.css中

.page {
   page-break-inside: avoid;
}

,应该在类=“ page”容器中停止布局的布局在两个页面上破裂。尝试在打印样式表中使用真实尺寸,以使所有内容都适合您所需的一页。您可以通过执行CTRL+P来查看打印预览,或者实际上从Chrome中保存到PDF来查看PDF的外观。

那应该从正确的方向开始。

编辑:其他一些指针

将其删除默认利润率,当打印

@page 
{
    size: auto;   /* auto is the current printer page size */
    margin: 0mm;  /* this affects the margin in the printer settings */
}

将页面容器设置为几乎与要打印的页面大小

.page {
width:209mm;height:296mm;background-color:#fffffe;position:relative;border:1px solid transparent
}

You need a dedicated print style sheet to make reliable PDFs. use a media query to make a style sheet for print. In your markup have everything for one sheet of a4 in a container called something like .page. Then in your print style sheet, explore using @page to format the pdf.

in print.css

.page {
   page-break-inside: avoid;
}

That should stop your layout within your class="page" container from breaking across two pages. Experiment with using real dimensions in your print style sheet to make everything fit on one page as you want. You can see what your pdf is going to look like by doing ctrl+p to see the print preview, or actually saving to pdf from chrome.

That should start you in the right direction.

EDIT: some other pointers

put this to take the default margins off when printing

@page 
{
    size: auto;   /* auto is the current printer page size */
    margin: 0mm;  /* this affects the margin in the printer settings */
}

Set your page container to nearly the size of the page you want to print

.page {
width:209mm;height:296mm;background-color:#fffffe;position:relative;border:1px solid transparent
}

将HTML页面转换为PDF时的视觉错误

野の 2025-02-20 15:22:59

这就是我所关注的:

=LET(split,TEXTSPLIT(A2,","),
counts,COUNTIF(C1:C$1,split),
minCount,MIN(counts),
XLOOKUP(minCount,counts,split))

从OP的参考图像中:

”在此处输入图像描述”

This is what I was on about:

=LET(split,TEXTSPLIT(A2,","),
counts,COUNTIF(C1:C$1,split),
minCount,MIN(counts),
XLOOKUP(minCount,counts,split))

From OP's reference image:

enter image description here

如果有1个以上的值(通过逗号分隔),则均匀拆分数据

野の 2025-02-19 21:23:39

@mathias ,我会考虑在整个过程中运行整个过程 ”

Start-Process -Credential $cred -Filepath powershell -ArgumentList "-noexit -command ( $Command )"

无论如何,您也可以序列化(全部)您的参数,然后将其转换为 base64 base64 base64 当您传递它时,多个解释器:

$text = "This is a test message."
$Cred = get-credential
$Arguments = @{
    Msg  = $Text
    Proc = $PID
    Cred = $Cred
}
$Serialized = [System.Management.Automation.PSSerializer]::Serialize($Arguments)
$Bytes = [System.Text.Encoding]::Unicode.GetBytes($Serialized)
$Base64 =[Convert]::ToBase64String($Bytes)
$cmd = {
    param([String]$Base64)
    $Serialized = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($Base64))
    $Arguments = [System.Management.Automation.PSSerializer]::Deserialize($Serialized)
    Write-Host " $($Arguments.msg) FROM PID: $($Arguments.proc), cred: $( $Arguments.Cred.Username)"
}
$Command = "Invoke-Command -ScriptBlock {$cmd} -ArgumentList $Base64"

Start-Process -Filepath powershell -ArgumentList "-noexit -command ( $Command )"

注意: 默认使用Windows Data Protection API,并且用于加密密码的密钥是特定于用户和机器的代码正在运行。

As suggested by @Mathias, I would consider to run the whole process under the specific credentials

Start-Process -Credential $cred -Filepath powershell -ArgumentList "-noexit -command ( $Command )"

Anyways, you might also serialize (all) your arguments and convert it to Base64 as you passing it trough multiple interpreters:

$text = "This is a test message."
$Cred = get-credential
$Arguments = @{
    Msg  = $Text
    Proc = $PID
    Cred = $Cred
}
$Serialized = [System.Management.Automation.PSSerializer]::Serialize($Arguments)
$Bytes = [System.Text.Encoding]::Unicode.GetBytes($Serialized)
$Base64 =[Convert]::ToBase64String($Bytes)
$cmd = {
    param([String]$Base64)
    $Serialized = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($Base64))
    $Arguments = [System.Management.Automation.PSSerializer]::Deserialize($Serialized)
    Write-Host " $($Arguments.msg) FROM PID: $($Arguments.proc), cred: $( $Arguments.Cred.Username)"
}
$Command = "Invoke-Command -ScriptBlock {$cmd} -ArgumentList $Base64"

Start-Process -Filepath powershell -ArgumentList "-noexit -command ( $Command )"

Note: that Get-Credential by default uses the Windows data protection API, and the key used to encrypt the password is specific to both the user and the machine that the code is running under.

将带有复杂参数的ScriptBlock传递给新的PowerShell实例

野の 2025-02-19 16:00:16

初始化 swipereFreshlayout &amp;在您的 ongreate()中分配刷新听众:

val swipeRefreshLayout: SwipeRefreshLayout = findViewById(R.id.swipeRefreshLayout)

// load data on swipe refresh.
swipeRefreshLayout.setOnRefreshListener { loadData() }

// Disable the refreshing after data load
swipeRefreshLayout.isRefreshing = false

Initialize the SwipeRefreshLayout & assign a refresh listener in your onCreate() like this:

val swipeRefreshLayout: SwipeRefreshLayout = findViewById(R.id.swipeRefreshLayout)

// load data on swipe refresh.
swipeRefreshLayout.setOnRefreshListener { loadData() }

// Disable the refreshing after data load
swipeRefreshLayout.isRefreshing = false

将SwipetoreFresh添加到回收Android中

野の 2025-02-19 07:05:17

我猜这与版本18的加密行为的更改有关,特别是默认情况下需要加密。建议的修复程序是在服务器上安装受信任的证书[1],但是如果您不想处理DB Admins,则可以通过将否(或可选)指定为 Encrypt 在您的连接字符串中。[2]

服务器设置为强制加密的可能性无法正常工作,但听起来更改就在客户端端。理想情况下,您希望加密一直在运行,因此,如果使用自签名证书,将SQL Server的公共密钥添加到客户端机器上的可信证书。

[1]: https://techcommunity.microsoft.com/t5/sql-server-blog/odbc-driver-18-0-for-sql-sql-server-relash/ba-p/3192228
[2]: https://learn.microsoft.com/en-us/sql/connect/odbc/dsn-connection-string-attring-attribute?view = sql-server-ver16#encrypt

I'm guessing it has to do with the changes to the encryption behavior with version 18, specifically that encryption is required by default. The recommended fix is to install a trusted certificate on your server[1], but if you don't want to deal with the DB Admins you might be able to still connect by specifying No (or optional) to Encrypt in your connection string.[2]

There is a chance that won't work the server is set to Force Encryption, but it sounds like the change is all on the client end. Ideally you would want the encryption working all the time, so if you are using a self-signed certificate add the public key from the SQL server to trusted certificates on the client machines.

[1]: https://techcommunity.microsoft.com/t5/sql-server-blog/odbc-driver-18-0-for-sql-server-released/ba-p/3169228)
[2]: https://learn.microsoft.com/en-us/sql/connect/odbc/dsn-connection-string-attribute?view=sql-server-ver16#encrypt

ODBC 18与Windows数据源管理器中的ODBC 17

野の 2025-02-19 06:35:50

您可能会瞥见此错误和解决方案, and https://cwiki.apache.org/confluence/display/kafka/kip-447%3a+producer+scalability+scalability+exactly+exactly+exactly+exactly+semantics

强>

  • 此误差可能是由于多个生产商具有相同的交易。ID在此应用程序之后开始。旁注:您需要确保禁用对消费者的自动提交(默认情况下) - 不确定是否正在这样做。

  • 增加默认的TransActionTimout设置可以帮助解决此问题。

You may get some glimpse about this error and solution from the post https://github.com/confluentinc/confluent-kafka-dotnet/issues/1496 and https://cwiki.apache.org/confluence/display/KAFKA/KIP-447%3A+Producer+scalability+for+exactly+once+semantics

Key points from the post

  • This error could occur due to multiple producer with the same transactional.id started after this application. side note: you need to make sure you disable auto commit on the consumer (which is on by default) - not sure if you're doing that.

  • Increasing default TransactionTimout setting could help resolving this issue.

无法将随后的交易推向Kafka生产商

野の 2025-02-18 20:15:42

您可以在没有Shell变量 stack 的情况下执行,除非您想在Shell脚本的以后在不同的位置使用它。

email=$(jq -r '.central[.generic.category].email' profiles.json)
echo $email
password=$(jq -r '.central[.generic.category].password' profiles.json)
echo $password

You can do without the shell variable stack, unless you want to use it in different places later in your shell script.

email=$(jq -r '.central[.generic.category].email' profiles.json)
echo $email
password=$(jq -r '.central[.generic.category].password' profiles.json)
echo $password

如何在JQ中添加变量

野の 2025-02-18 16:53:51

我还在awscli2/default. nix 调用 python3.override {packageoverrides =…;}

  py = python3.override {
    packageOverrides = self: super: {
      …
    };
  };

不幸的是,这覆盖了我自己的 .override {packageoverrides =…;} 。不幸的是,您无法撰写(Python.override {packageOverRides =…;})。覆盖{packageoverrides =…;}

我通过检查nixpkgs并编辑AWSCli2 Nix来解决此问题。 packageoverrides 带有 packageoverrides 从参数:

  py = python3.override (oldargs: {
    packageOverrides = self: super: {
      …
    } // (if oldargs?packageOverrides then (oldargs.packageOverrides self super) else super);
  });

I also asked this on Element. The problem is that awscli2/default.nix calls python3.override {packageOverrides = …;}:

  py = python3.override {
    packageOverrides = self: super: {
      …
    };
  };

This unfortunately overwrites my own .override {packageOverrides = …;}. Unfortunately you can’t compose (python.override {packageOverrides = …;}).override {packageOverrides = …;}

I worked around this by checking out nixpkgs and editing the awscli2 nix to combine the python application’s packageOverrides with packageOverrides from the arguments:

  py = python3.override (oldargs: {
    packageOverrides = self: super: {
      …
    } // (if oldargs?packageOverrides then (oldargs.packageOverrides self super) else super);
  });

nixpkgs.overlays and nixpkgs.config.packageoverrides不反映在环境中。Systempackages

野の 2025-02-18 13:34:50

AX 2009不支持连接器。

您可以通过” noreflow noreferrer“>连接器使用数据网关。

您可以使用a :它可以适用于大多数CRUD操作。

您还可以创建自己的自定义连接器: https ://learn.microsoft.com/en-us/powerapps/maker/canvas-apps/register-custom-api-api

Microsoft Dataverse to azure dataLake-

将数据从Dataverse复制到数据为数据Lake Storage gen2遵循此 link

参考 -

AX 2009 is not supported as a connector.

You can connect to on-premises data over the connectors that use data gateway.

You can connect to on-premise databases using a gateway connector: It can work for most CRUD operations.

You can also create your own custom connector: https://learn.microsoft.com/en-us/powerapps/maker/canvas-apps/register-custom-api

Microsoft Dataverse to Azure Datalake -

To copy data from Dataverse to Data Lake Storage Gen2 follow this link

Reference - https://powerusers.microsoft.com/t5/Building-Power-Apps/power-apps-connecting-with-ax-2009/td-p/694811

如何将Microsoft AX 2009(本地)集成到Microsoft Dataverse并转储到Azure DataLake?

野の 2025-02-18 13:30:15

功能分别处理每行

library(dplyr)

df |> rowwise() |> 
mutate(Outcome = case_when(any(c_across(Y1:Y4) == 1) ~ "1" ,
 all(is.na(c_across(Y1:Y4))) ~ NA_character_ , TRUE ~ "0"))

  • 您可以使用 dplyr rowwise 函数进行尝试,该
# A tibble: 3 × 6
# Rowwise: 
     ID    Y1    Y2    Y3    Y4 Outcome
  <int> <int> <int> <int> <int> <chr>  
1     1     0     0     1     1 1      
2     2     0     0     0     0 0      
3     3    NA    NA    NA    NA NA     

You can try this using dplyr rowwise function which treat each row separately

library(dplyr)

df |> rowwise() |> 
mutate(Outcome = case_when(any(c_across(Y1:Y4) == 1) ~ "1" ,
 all(is.na(c_across(Y1:Y4))) ~ NA_character_ , TRUE ~ "0"))

  • output
# A tibble: 3 × 6
# Rowwise: 
     ID    Y1    Y2    Y3    Y4 Outcome
  <int> <int> <int> <int> <int> <chr>  
1     1     0     0     1     1 1      
2     2     0     0     0     0 0      
3     3    NA    NA    NA    NA NA     

基于从不同列获得的值创建一个新列,使用突变()和case_当r中的case_

野の 2025-02-18 10:05:02

调用 sessionstorage.getItem() useffect 在同步获取计数器的初始状态:

const [count, setCount] = useState(parseInt(sessionStorage.getItem("count") || 0, 10))

Call sessionStorage.getItem() outside of useEffect to get the initial state of your counter synchronously:

const [count, setCount] = useState(parseInt(sessionStorage.getItem("count") || 0, 10))

浏览器重新加载的持续状态不在react中工作

野の 2025-02-18 08:14:39

在html/css和一些JS中使用这样的缩略图滑块,但您可以使用swiper js

 

const carouselContainer = document.querySelector('.carousel-container');
const listImageArea = carouselContainer.querySelector('.next-list');
const listOfImages = listImageArea.querySelectorAll('img');
const currentImage = carouselContainer.querySelector('.current-image');
const arrowLeft = carouselContainer.querySelector('.arrow-left');
const arrowRight = carouselContainer.querySelector('.arrow-right');

function styleList() {
    if (listImageArea.scrollWidth == listImageArea.offsetWidth){
        listImageArea.style.justifyContent = 'center'
    } else {
        listImageArea.style.justifyContent = 'flex-start'
    }

};

function goToRight() {
    var current = listImageArea.querySelector('.current-image-list');
    current.parentElement.nextElementSibling.children[0].classList.add('current-image-list');
    current.classList.remove('current-image-list');
    current = listImageArea.querySelector('.current-image-list');
    listImageArea.scrollLeft = current.offsetLeft;
    currentImage.attributes.src.value = current.attributes.src.value;
    currentImage.classList.add('slideInFromRight');
    setTimeout(function () {
        currentImage.classList.remove('slideInFromRight');
    }, 500);
};

function goToLeft() {
    var current = listImageArea.querySelector('.current-image-list');
    current.parentElement.previousElementSibling.children[0].classList.add('current-image-list');
    current.classList.remove('current-image-list');
    current = listImageArea.querySelector('.current-image-list');
    listImageArea.scrollLeft = current.offsetLeft;
    currentImage.attributes.src.value = current.attributes.src.value;
    currentImage.classList.add('slideInFromLeft');
    setTimeout(function () {
        currentImage.classList.remove('slideInFromLeft');
    }, 500);
};

function changeCurrentImage (newImage) {
    currentImage.classList.add('fadeIn');
    setTimeout(function () {
        currentImage.classList.remove('fadeIn');
    }, 500);
    currentImage.attributes.src.value = this.attributes.src.value;
    //listOfImages.forEach(image => image.classList.remove('current-image-list'));
    listOfImages.forEach(function (image) {
        image.classList.remove('current-image-list');
    })
    this.classList.add('current-image-list');
}

styleList();

arrowLeft.addEventListener('click', goToLeft);
arrowRight.addEventListener('click', goToRight);

window.addEventListener('resize', function (e) {
    styleList();
});

(function () {
    if ( typeof NodeList.prototype.forEach === "function" ) return false;
    NodeList.prototype.forEach = Array.prototype.forEach;
})();

//listOfImages.forEach(image => image.addEventListener('click', changeCurrentImage));
listOfImages.forEach(function(image) {
    image.addEventListener('click', changeCurrentImage);
});
html, body {
    padding: 0;
    margin: 0;
}

.project-page-main {
    margin-left: 70px;
}

.carousel-container {
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    background-color: #333;
    overflow: hidden;
}

.current-image {
    width: auto;
    height: 100%;
}

.next-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100px;
    position: absolute;
    top: 10px;
    left: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    transition: all .5s;
}

.next-list li {
    display: inline-block;
    padding: 0;
    margin: 0;
    width: 100px;
    min-width: 100px;
    height: 51px;
    margin: 0 5px;
    text-align: center;
    line-height: 50px;
    cursor: pointer;
    transition: all .5s;
}
.next-list li:first-of-type {
    padding-left: 15px;
}
.next-list li:last-of-type {
    padding-right: 15px;
}

.image-of-list {
    width: 100%;
    height: 100%;
    opacity: 0.5;
    box-shadow: 0 0 20px #000;
    transition: all .5s;
}

.current-image-list {
    opacity: 1;
    transition: all .5s;
}

.arrow {
    display: flex;
    position: absolute;
    width: 50px;
    height: 100px;
    top: 10px;
    flex: 1;
    text-align: center;
    line-height: 50px;
    color: #FFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}


.arrow-left {
    left: 10px;
}
.arrow-right {
    right: 10px;
}

 /*
 * Animations
 */

 @keyframes fadeIn {
     0% {opacity: 0}
     100% {opacity: 1}
 }

 @keyframes slideInFromLeft {
     0% {
        opacity: 0;
        transform: translateX(-100%);
        }
     100% {
        opacity: 1;
        transform: translateX(0px);
     }
 }

 @keyframes slideInFromRight {
     0% {
        opacity: 0;
        transform: translateX(100%);
        }
     100% {
        opacity: 1;
        transform: translateX(0px);
     }
 }

 .slideInFromLeft {
    animation: slideInFromLeft .5s ease-in-out;
 }

 .slideInFromRight {
    animation: slideInFromRight .5s ease-in-out;
 }

 .fadeIn {
    animation: fadeIn .5s ease-in-out;
 }
<section class="carousel-container">
        <img src="http://www.planwallpaper.com/static/images/desktop-year-of-the-tiger-images-wallpaper.jpg" alt="" class="current-image">
        <span class="arrow arrow-left"> Prev </span>
        <ul class="next-list">
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list current-image-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
        </ul>
        <span class="arrow arrow-right"> Next </span>
    </section>

您可以使用 swiper slider,使用 thumbs画廊环路并将缩略图移动到CSS中。

slider with thumbnail like this in HTML/CSS and some Js but you can use swiper js

 

const carouselContainer = document.querySelector('.carousel-container');
const listImageArea = carouselContainer.querySelector('.next-list');
const listOfImages = listImageArea.querySelectorAll('img');
const currentImage = carouselContainer.querySelector('.current-image');
const arrowLeft = carouselContainer.querySelector('.arrow-left');
const arrowRight = carouselContainer.querySelector('.arrow-right');

function styleList() {
    if (listImageArea.scrollWidth == listImageArea.offsetWidth){
        listImageArea.style.justifyContent = 'center'
    } else {
        listImageArea.style.justifyContent = 'flex-start'
    }

};

function goToRight() {
    var current = listImageArea.querySelector('.current-image-list');
    current.parentElement.nextElementSibling.children[0].classList.add('current-image-list');
    current.classList.remove('current-image-list');
    current = listImageArea.querySelector('.current-image-list');
    listImageArea.scrollLeft = current.offsetLeft;
    currentImage.attributes.src.value = current.attributes.src.value;
    currentImage.classList.add('slideInFromRight');
    setTimeout(function () {
        currentImage.classList.remove('slideInFromRight');
    }, 500);
};

function goToLeft() {
    var current = listImageArea.querySelector('.current-image-list');
    current.parentElement.previousElementSibling.children[0].classList.add('current-image-list');
    current.classList.remove('current-image-list');
    current = listImageArea.querySelector('.current-image-list');
    listImageArea.scrollLeft = current.offsetLeft;
    currentImage.attributes.src.value = current.attributes.src.value;
    currentImage.classList.add('slideInFromLeft');
    setTimeout(function () {
        currentImage.classList.remove('slideInFromLeft');
    }, 500);
};

function changeCurrentImage (newImage) {
    currentImage.classList.add('fadeIn');
    setTimeout(function () {
        currentImage.classList.remove('fadeIn');
    }, 500);
    currentImage.attributes.src.value = this.attributes.src.value;
    //listOfImages.forEach(image => image.classList.remove('current-image-list'));
    listOfImages.forEach(function (image) {
        image.classList.remove('current-image-list');
    })
    this.classList.add('current-image-list');
}

styleList();

arrowLeft.addEventListener('click', goToLeft);
arrowRight.addEventListener('click', goToRight);

window.addEventListener('resize', function (e) {
    styleList();
});

(function () {
    if ( typeof NodeList.prototype.forEach === "function" ) return false;
    NodeList.prototype.forEach = Array.prototype.forEach;
})();

//listOfImages.forEach(image => image.addEventListener('click', changeCurrentImage));
listOfImages.forEach(function(image) {
    image.addEventListener('click', changeCurrentImage);
});
html, body {
    padding: 0;
    margin: 0;
}

.project-page-main {
    margin-left: 70px;
}

.carousel-container {
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    background-color: #333;
    overflow: hidden;
}

.current-image {
    width: auto;
    height: 100%;
}

.next-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100px;
    position: absolute;
    top: 10px;
    left: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    transition: all .5s;
}

.next-list li {
    display: inline-block;
    padding: 0;
    margin: 0;
    width: 100px;
    min-width: 100px;
    height: 51px;
    margin: 0 5px;
    text-align: center;
    line-height: 50px;
    cursor: pointer;
    transition: all .5s;
}
.next-list li:first-of-type {
    padding-left: 15px;
}
.next-list li:last-of-type {
    padding-right: 15px;
}

.image-of-list {
    width: 100%;
    height: 100%;
    opacity: 0.5;
    box-shadow: 0 0 20px #000;
    transition: all .5s;
}

.current-image-list {
    opacity: 1;
    transition: all .5s;
}

.arrow {
    display: flex;
    position: absolute;
    width: 50px;
    height: 100px;
    top: 10px;
    flex: 1;
    text-align: center;
    line-height: 50px;
    color: #FFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}


.arrow-left {
    left: 10px;
}
.arrow-right {
    right: 10px;
}

 /*
 * Animations
 */

 @keyframes fadeIn {
     0% {opacity: 0}
     100% {opacity: 1}
 }

 @keyframes slideInFromLeft {
     0% {
        opacity: 0;
        transform: translateX(-100%);
        }
     100% {
        opacity: 1;
        transform: translateX(0px);
     }
 }

 @keyframes slideInFromRight {
     0% {
        opacity: 0;
        transform: translateX(100%);
        }
     100% {
        opacity: 1;
        transform: translateX(0px);
     }
 }

 .slideInFromLeft {
    animation: slideInFromLeft .5s ease-in-out;
 }

 .slideInFromRight {
    animation: slideInFromRight .5s ease-in-out;
 }

 .fadeIn {
    animation: fadeIn .5s ease-in-out;
 }
<section class="carousel-container">
        <img src="http://www.planwallpaper.com/static/images/desktop-year-of-the-tiger-images-wallpaper.jpg" alt="" class="current-image">
        <span class="arrow arrow-left"> Prev </span>
        <ul class="next-list">
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list current-image-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
            <li><img src="https://picsum.photos/500/500/?random" alt="" class="image-of-list"></li>
        </ul>
        <span class="arrow arrow-right"> Next </span>
    </section>

you can use Swiper slider , use Thumbs gallery loop and move thumbnail image up in css .

如何用4张图片制作卡产品的幻灯片显示?

野の 2025-02-18 05:10:17

在存在命名空间的情况下,另一个问题是,您正在尝试从软件包 foo 中运行一个未出现的功能。

例如(我知道,但是):

> mod <- prcomp(USArrests, scale = TRUE)
> plot.prcomp(mod)
Error: could not find function "plot.prcomp"

首先,您不应该直接调用S3方法,而是假设 plot.prcomp 实际上是包装中的一些有用的内部功能 foo 。如果您知道自己在做什么,则需要使用 ::: 。您还需要知道找到功能的命名空间。使用 getAnywhere()我们发现该函数在package stats

> getAnywhere(plot.prcomp)
A single object matching ‘plot.prcomp’ was found
It was found in the following places
  registered S3 method for plot from namespace stats
  namespace:stats
with value

function (x, main = deparse(substitute(x)), ...) 
screeplot.default(x, main = main, ...)
<environment: namespace:stats>

因此我们现在可以直接使用:

> stats:::plot.prcomp(mod)

我使用 plot.prcomp 作为说明目的的示例。在正常使用中,您不应该调用这样的S3方法。但是正如我所说,如果您要调用的函数存在(例如,它可能是隐藏的实用程序功能),但是在 namespace 中,R将报告它找不到该功能,除非您告诉它要查看哪个名称空间。

将其与以下内容进行比较:
stats :: plot.prcomp
以上失败是因为 stats 使用 plot.prcomp ,它并未从 stats 中导出,因为该错误正确地告诉我们:

错误:'plot.prcomp'不是从'namespace:stats'

导出的对象

如下所示:

pkg ::名称返回名称空间中的导出变量名称的值,而pkg :::名称返回内部变量名称的值。

Another problem, in the presence of a NAMESPACE, is that you are trying to run an unexported function from package foo.

For example (contrived, I know, but):

> mod <- prcomp(USArrests, scale = TRUE)
> plot.prcomp(mod)
Error: could not find function "plot.prcomp"

Firstly, you shouldn't be calling S3 methods directly, but lets assume plot.prcomp was actually some useful internal function in package foo. To call such function if you know what you are doing requires the use of :::. You also need to know the namespace in which the function is found. Using getAnywhere() we find that the function is in package stats:

> getAnywhere(plot.prcomp)
A single object matching ‘plot.prcomp’ was found
It was found in the following places
  registered S3 method for plot from namespace stats
  namespace:stats
with value

function (x, main = deparse(substitute(x)), ...) 
screeplot.default(x, main = main, ...)
<environment: namespace:stats>

So we can now call it directly using:

> stats:::plot.prcomp(mod)

I've used plot.prcomp just as an example to illustrate the purpose. In normal use you shouldn't be calling S3 methods like this. But as I said, if the function you want to call exists (it might be a hidden utility function for example), but is in a namespace, R will report that it can't find the function unless you tell it which namespace to look in.

Compare this to the following:
stats::plot.prcomp
The above fails because while stats uses plot.prcomp, it is not exported from stats as the error rightly tells us:

Error: 'plot.prcomp' is not an exported object from 'namespace:stats'

This is documented as follows:

pkg::name returns the value of the exported variable name in namespace pkg, whereas pkg:::name returns the value of the internal variable name.

错误:找不到功能...在R中

野の 2025-02-18 03:24:29

最后,我得到了这个错误的解决方案。因此,首先确保您在路径变量下添加了Oracle bin路径和JDK bin路径。然后在系统变量下创建新的变量类路径,然后将Oracle Jar路径和JDK bin路径添加到该变量。

Variable Name: CLASSPATH
Variable Value: D:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar;C:\Program Files\Java\jdk-18.0.1.1\bin;

Finally, I got the solution for this error. So, first make sure that you have added oracle bin path and jdk bin path under path variable. Then under system variables create new variable CLASSPATH and add oracle jar path and jdk bin path to that variable.

Variable Name: CLASSPATH
Variable Value: D:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar;C:\Program Files\Java\jdk-18.0.1.1\bin;

在系统变量下添加了ojdbc6.jar文件路径,但获取classNotFoundException:oracle.jdbc.driver.oracledriver for Java 18,Oracle 11G

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文