AUyen
Computer & Web Security Services

Our advanced data analytics and insights engine offerings: Computer & Web Security Services,Managed IDS/IPS,Host IPS and Hacking Exploits. We don't need much introduction as those familiar with us knowing, we offer best hacking services.

Our experts respond and remediate quickly; Hire us for a safe and secure hacking channel, our team consists of highly experienced hackers specialized in providing reliable and trusted services. We're sure in all that we do. Only with Us can you achieve effectively with full assurance and a 100% success.

Customers on the Taegis Platform, which needs assistance, has multiple ways to access our support team. Taegis XDR, Taegis ManagedXDR, and Taegis VDR.

Drop to Message;

Discord: Taegis VDR-9702

Skype: Taegis XDR

Telegram: .Taegis ManagedXDR

Email: taegisvdr.gmail.com

Viva
WeChat

有人可以加我到微信编程聊天吗?

Viva
UpWork 帐户

大家好。我有一个可以工作的 UpWork 帐户。如果您需要,我可以提供访问权限。我的沟通联系方式:

Telegram: @gvllvg

WeChat ID: wxid_3t6gjbw1qmc822

Skype: live:.cid.1549d28c4d91eeeb

Octocat?
Python100题——test8:从列表中删除元素;
# -*- coding: utf-8 -*-
# Author: wanlin_zhang
# Date: 2024-10-29 21:49:30
# File: t8_remove_elements_from_list.py
# Software: Visual Studio Code 1.85.1

# 从列表1~10中删除odd元素

def remove_odd_elements(list_data):
    for i in list_data:
        if i % 2 != 0:
            list_data.remove(i)
    return list_data    # 返回删除odd元素后的列表, 但是这种方法会导致删除元素后,列表的长度会发生变化,导致后续元素的索引发生变化。

def remove_odd_elements_2(list_data):
    return [i for i in list_data if i % 2 == 0]  # 通过表达式返回删除odd元素后的列表,但是不会改变原列表的长度。

def main():
    list_data = list(range(1, 11))
    print(f"删除odd元素后的列表为:{remove_odd_elements_2(list_data)}")
    print(f"原列表为:{list_data}")
    print(f"删除odd元素后的列表为:{remove_odd_elements(list_data)}")
    

if __name__ == "__main__":
    main()
把AWS变成个人网盘:使用Rust构建的亚马逊云盘客户端

GenUI S3 Cloud Drive

使用Rust Makepad框架以及GenUI内置组件库编写的简单 AWS S3 云盘客户端

Releases: genui_s3_cloud_drive_0.0.1_pre


关于作者

我是Will,Privoce的工程师,Privoce目前是一个以Rust为主的, 面向下一代互联网产品的创新型初创企业。 GenUI是类Vue的声明式前端框架,当前使用Makepad作为底层渲染引擎,将来它也能够使用AI生成UI

产品背景

之前当我在使用云盘时,多数接触到类似百度云盘的产品,这类产品的通病在于唯VIP服务,如果你不是VIP你将"享受"到高达128KB/S的极致享受,无论上传还是下载都会收到极大的限速。有天当我为同事传输一些训练集数据时偶然接触到亚马逊的S3云盘时,让我感受到S3的便利,但由于使用Cli作为传输工具也带来了命令行的通病,我们需要记忆很多的命令并且需要频繁查询地址(云盘Cli无法使用Tab),因此我使用我正在研发的GenUI框架构建了这个产品。


注意事项

warning 中国大陆需要确保能够访问 AWS 服务 目前仅支持Windows系统

准备

有关安装说明,请展开适用于您的操作系统的部分。

下载AWS Cli

AWS Cli

Windows

安装和更新要求

  • 我们支持微软支持 AWS CLI 的 64 位 Windows 版本
  • 安装软件的管理员权限

下载并运行适用于 Windows (64 位) 的 AWS CLI MSI 安装程序:https://awscli.amazonaws.com/AWSCLIV2.msi

或者,您可以运行 msiexec 命令来运行 MSI 安装程序。

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
# For various parameters that can be used with msiexec, see msiexec on the Microsoft Docs website. 
# For example, you can use the /qn flag for a silent installation.
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /qn

Config

下载完成后需要登录AWS并获取分配的账号进行配置 查阅 Config the AWS Cli

aws configure

AWS Access Key ID [None]: YOUR ACCESS KEY ID
AWS Secret Access Key [None]: YOUR SECRET ACCESS KEY
Default region name [None]: REGION NAME
Default output format [None]: json

Features

  • [x] 检查S3配置
  • [x] 连接S3 Cli
  • [x] 获取云盘文件,文件夹
  • [x] 上传文件到云盘
  • [x] 删除文件,文件夹
  • [x] 分享文件,文件夹
  • [x] 使用亚马逊S3 Cli
  • [ ] 上传文件夹到云盘
  • [ ] 创建文件
  • [ ] 使用亚马逊S3 SDK

欢迎👏大家使用本产品并提出宝贵的建议帮助我进行优化,如果您对我正在构建的GenUI框架感兴趣请随时与我们进行联系。

Expector
C/C++ 以及 Rust 中的 getch 实现

getch 是一个在 C 语言编程中常用的函数,用于从键盘读取一个字符,但不回显到屏幕上。

在 Windows 环境下,getch 实现通常包含在 <conio.h> 头文件中。需要注意的是,getch 这个符号并非标准,标准的符号是 _getch,虽然 getch 一般会被指向 _getch,但你应当使用 _getch 而非 getch

在 Unix/Linux 环境下,没有系统提供的 getch 实现,我们可以通过以下方法实现:

#include <termio.h>

int getch(void) {
    struct termios tm, tm_old;
    int fd = 0, ch;

    if (tcgetattr(fd, &tm) < 0) { // 保存现在的终端设置
        return -1;
    }

    tm_old = tm;
    cfmakeraw(&tm); // 更改终端为原始模式,该模式下所有的输入数据以字节处理
    if (tcsetattr(fd, TCSANOW, &tm) < 0) { // 设置上更改之后的设置
        return -1;
    }

    ch = getchar();
    if (tcsetattr(fd, TCSANOW, &tm_old) < 0) { // 更改设置为最初的样子
        return -1;
    }

    return ch;
}

其中 struct termiostcgetattrtcsetattrcfmakeraw 以及 getchar 的定义为:

typedef unsigned char	cc_t;
typedef unsigned int	speed_t;
typedef unsigned int	tcflag_t;
#define NCCS 32
struct termios{
    tcflag_t c_iflag;		/* input mode flags */
    tcflag_t c_oflag;		/* output mode flags */
    tcflag_t c_cflag;		/* control mode flags */
    tcflag_t c_lflag;		/* local mode flags */
    cc_t c_line;			/* line discipline */
    cc_t c_cc[NCCS];		/* control characters */
    speed_t c_ispeed;		/* input speed */
    speed_t c_ospeed;		/* output speed */
};

int tcgetattr(int __fd, struct termios *__termios_p);
void cfmakeraw(struct termios *__termios_p);
int tcsetattr(int __fd, int __optional_actions, const struct termios *__termios_p);
int getchar(void);

据此,我们可以通过 Rust 的 FFI 为 rust 实现一个 getch

#[cfg(target_os = "windows")]
mod conio {
    use std::os::raw::c_int;

    extern "C" {
        pub fn _getch() -> c_int;
    }
}

#[cfg(target_os = "linux")]
#[allow(non_camel_case_types)]
mod conio {
    use std::os::raw::c_int;
    type tcflag_t = ::std::os::raw::c_uint;
    type speed_t = ::std::os::raw::c_uint;
    type cc_t = ::std::os::raw::c_uchar;

    const NCCS: usize = 32;
    const TCSANOW: i32 = 0;

    #[repr(C)]
    #[derive(Default, Copy, Clone)]
    struct termios {
        c_iflag: tcflag_t,
        c_oflag: tcflag_t,
        c_cflag: tcflag_t,
        c_lflag: tcflag_t,
        c_line: cc_t,
        c_cc: [cc_t; NCCS],
        c_ispeed: speed_t,
        c_ospeed: speed_t,
    }

    extern "C" {
        fn tcgetattr(__fd: c_int, __termios_p: *mut termios) -> c_int;
        fn tcsetattr(__fd: c_int, __optional_actions: c_int, __termios_p: *const termios) -> c_int;
        fn cfmakeraw(__termios_p: *mut termios);
        fn getchar() -> c_int;
    }

    #[allow(unused_mut, unused_assignments)]
    pub fn _getch() -> c_int {
        unsafe {
            let mut tm: termios = Default::default();
            let mut tm_old: termios = Default::default();
            let fd = 0;
            let mut ch: c_int;
            if tcgetattr(fd, &mut tm) < 0 {
                return -1;
            }

            tm_old = tm;
            cfmakeraw(&mut tm);
            if tcsetattr(fd, TCSANOW, &mut tm) < 0 {
                return -1;
            }

            ch = getchar();
            if tcsetattr(fd, TCSANOW, &mut tm_old) < 0 {
                return -1;
            }

            ch
        }
    }
}

#[allow(unused_unsafe)]
fn getch() -> char {
    unsafe { conio::_getch() as u8 as char }
}
渡劫
为什么相同的循环体次数,for循环明显更快执行完毕?

#include <reg51.h>

void delay(void) { //while循环方式 unsigned char i=200; unsigned char j=200; while (i--) while(j--); /* //for循环方式 unsigned char i = 200; unsigned char j = 200; for (i=200 ;i>0;i--) for(j=200; j>0 ;j--); */ }

void main(void) { while(1) { unsigned char p = 0x01; unsigned char q; for ( q = 0 ; q < 8 ; q++) { P0 = ~(p << q); delay(); }

}

}

Bear Billys
您的道德和有效的社會工程夥伴

社會工程需要技巧和精確度。專業角支持您安全、合乎道德地開展業務。

我們的客製化服務:

深入調查:我們收集相關信息,讓您搶佔先機。 建立引人注目的個人資料:我們開發可信賴的數位身分來加強您的方法。 優化您的流程:我們自動執行重複性任務以提高效率。 專家建議:受益於我們的專業知識來完善您的策略。 為什麼選擇我們?

絕對保密:您的專案將得到最大程度的謹慎處理。 具體結果:我們為您提供詳細的報告,幫助您做出最佳決策。 個人化解決方案:我們的服務適應您的特定需求。 準備好探索新的視角了嗎?

聯絡我們

https://t.me/Matricule02

https://mitalk.lat/proteus/

Expector
根据视频生成可以头尾衔接的循环视频

最近手头有一个视频,基本上是一个部分重复循环的,我想把循环的一段提取出来造成动态壁纸,但怎奈何不会用 pr,只能用 ffmpeg 配合 pillow 搞了……

实现的关键在于找到可以首位相接的两帧画面,这就要求两个画面有极高的相似度。判断画面相似度首先需要对图像进行量化,一般有两种方案,一种是提取特征向量,一种是计算哈希。考虑到我手头视频的特征,我选择了比较简单的哈希。

开始之前,需要安装必要的包以及 ffmpeg,执行

pip install ffmpeg-python Pillow numpy imagehash

!Notice 简略起见,以下代码不重要部分折叠,具体实现参照文末链接

首先需要把视频分离成帧,存入数组:

def extract_frames(input_video) -> Generator[np.ndarray, None, None]:
    # 一个生成器,生成每一帧的数据存入 numpy 数组
    ...

图像的哈希算法有多种,比如均值哈希(aHash)、感知哈希(pHash)以及差异哈希(dHash),各有优劣,但选择哪一种对接下来的算法影响不大,我这里以 pHash 为例。以上图像哈希算法在 imagehash 中均有提供,由于本篇主要讨论循环视频生成,哈希算法的具体原理就不研究了(肯定不是因为我不会)。

def generate_hashes(input_video: str) -> Generator[int, None, None]:
    for frame in extract_frames(input_video):
        # 将 numpy 数组转换为 PIL 图像
        pil_image: ImageHash = Image.fromarray(frame)

        # 生成 pHash 值
        phash_value = int(str(phash(pil_image)), 16)

        yield phash_value

图像哈希越相似,图像就越相似。两个哈希值的相似度可以用汉明距离表示,汉明距离表两个二进制数差异的位数,可以通过异或和中 math 的个数计算。

def hamming_distance(hash1: int, hash2: int) -> int:
    return bin(hash1 ^ hash2).count('1')

接下来遍历每一帧的哈希找到距离最近的两帧即可。遍历过程如果有确定起始或结束帧可以直接遍历,复杂度 math;如果没有固定起始帧,根据汉明权重(也就是与 math 的汉明距离)排序后遍历即可,复杂度 math

最后完整代码在github gist

Expector
分享一下自己常用的矩阵快速幂优化dp模板

适合竞赛用,应该是相关模板最简洁的之一吧,不需要的部分(参数传递、命名空间、类型别名什么的)自己根据实际情况改一改就可以了。

namespace MTX {
using i64 = int64_t;
constexpr i64 MTX_SIZE = 3;
using vec = std::array<i64, MTX_SIZE>;
using mtx = std::array<vec, MTX_SIZE>;

mtx &mul(mtx &a, const mtx &b, const i64 m = INT64_MAX) {
    mtx r{};
    for (int i = 0; i < MTX_SIZE; ++i)
        for (int j = 0; j < MTX_SIZE; ++j)
            for (int k = 0; k < MTX_SIZE; ++k)
                r[i][j] = (r[i][j] + a[i][k] * b[k][j] % m) % m;
    a = std::move(r);
    return a;
}

mtx &dp(mtx &s, mtx& f, i64 n, const i64 m = INT64_MAX) {
    while (n) {
        if (n & 1) mul(s, f, m);
        n >>= 1, mul(f, f, m);
    }
    return s;
}
} // namespace MTX

使用样例(斐波那契数列):

#include <bits/stdc++.h>

namespace MTX {
using i64 = int64_t;
constexpr i64 MTX_SIZE = 3;
using vec = std::array<i64, MTX_SIZE>;
using mtx = std::array<vec, MTX_SIZE>;

mtx &mul(mtx &a, const mtx &b, const i64 m = INT64_MAX) {
    mtx r{};
    for (int i = 0; i < MTX_SIZE; ++i)
        for (int j = 0; j < MTX_SIZE; ++j)
            for (int k = 0; k < MTX_SIZE; ++k)
                r[i][j] = (r[i][j] + a[i][k] * b[k][j] % m) % m;
    a = std::move(r);
    return a;
}

mtx &dp(mtx &s, mtx& f, i64 n, const i64 m = INT64_MAX) {
    while (n) {
        if (n & 1) mul(s, f, m);
        n >>= 1, mul(f, f, m);
    }
    return s;
}
} // namespace MTX

int main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(nullptr);
    MTX::mtx s{(MTX::vec)
        {1, 1},
        {0, 0}
    }, f{(MTX::vec)
        {0, 1},
        {1, 1}
    };
    MTX::i64 n;
    std::cin >> n;
    std::cout << MTX::dp(s, f, n - 1, 1e9 + 7)[0][0] << std::endl;
    return 0;
}
雏雁计划有人可以提供一个方向吗,实在想不出来qwq

如题,本人擅长 Java 后端 ,同学都是萌新,找到方向之后再找人heart

nexmoe
需要便宜的短期 GPU 租赁吗? 我们正在做这个事情!

⚡️ 灵动算力:为AI工作者提供短期、经济的算力

💰 比市场价低40%

⏱️ 按需租用,灵活便捷

👓 我们也在对长期租赁进行技术攻克中,做到无感迁移

了解更多:https://agile.nexmm.com

#GPU租赁 #AI计算 #省钱利器

nexmoe
[福利] 共绩算力共建者计划 - 免费获得价值 15,000+ 元的 4090 算力卡

大家好!我们最近推出了一个非常棒的共建者计划,想和朋友们分享一下。

计划亮点

  • 免费获得: 一张为期一年的 4090 算力卡(市场价值 15,000+ 元)

  • 适合人群: AI 产品开发者或科研计算领域从业者

  • 简单门槛: 提供反馈、协助测试和适度推广

如何参与

前往详情页了解

https://www.gongjiyun.com/seed.html

注意事项

  • 审核在 1-3 个工作日内完成

  • 资源以平台积分形式分批发放

  • 需在您的网站/应用底部添加我们的 LOGO 和链接

有任何问题,欢迎在评论区讨论。

从事 AI 开发的朋友们,不要错过这个机会哦!

摸鱼未遂
改版了哦,看起来更加高大上了

RT

HD Superman
用 Remix 重构了 HackerTalk

nextjs 的 beta 版本一直不满意没发布 frowning ,React Server Component 虽然能优化首次加载,但页面路由都会引入 _rsc 请求,导致卡顿(取决于网络质量),不能充分利用客户端缓存数据。

Remix 的 clientLoader 可以很好解决这个问题,兼顾 SEO 和路由体验,同时可以和 mswjs 配合,极大提高开发效率。

sakishum
【福利】业余时间练手写了个键鼠录播+点击器的 mac app

app store链接🔗 业余时间练手写了个键鼠录播+点击器的 mac app。 放几个促销码供 各位黑客说的水友,错过就错过了哦! grin WHLN4ANKHP3E FNX6TF347MH6 R7XTPHMXAX3Y

j2go
手撸经典版魔塔

梦回 2005,当年第一个电子词典,为了通关魔塔,专门用个小本本计算怪的数值,

去年突然想玩,微信上搜了一圈,没有一个能玩下去,要么移动太慢,要么挂羊头卖狗肉,于是就想自己撸一个,

没想到撸了三个多月才出来稍微算完整的第一版,11 月提交审核了,

没没没想到,一审审了 5 个月!!! 离谱,都快忘了这件事了,月初看审过了,但是还是上不了,kao kao kao, 还要备案,那也没办法,都这么久了,还是得上,

前天终于上线了,为了能搜索到还交了 30 块保护费,oh shit

有想玩玩的朋友可以微信搜 mota, 小程序那一栏里看到 motagame 就是了

中文名 魔塔 搜不到,因为这个名字我用不了, triumph

崔崔不会胖
学生作业求助

编写函数,返回一个数的逆序后组成的数。在main函数中输入一个数x,通过函数调用输出它逆序后组成的数。

请问怎么才能实现在main函数中成功调用devert函数呢?我现在写完之后不知道return后面应该跟什么了。请求各位帮忙看一下,谢谢。

storytellerF
分享在docker 里面开发Android 项目

同理,flutter reactNative 也是一样的

devcontainer.json

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
	"name": "Fei-Dev",
	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
	"dockerComposeFile": "../docker-dev-build/docker-compose.yml",
	"service": "devcontainer",
	"workspaceFolder": "/workspace",
	"features": {
		"ghcr.io/devcontainers/features/java:1": {},
		"ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {}
	},
	"customizations": {
		"vscode": {
			"extensions": [
				"DavidAnson.vscode-markdownlint",
				"isudox.vscode-jetbrains-keybindings",
				"vscjava.vscode-gradle",
				"totalcross.android-xml-editor",
				"ms-azuretools.vscode-docker",
				"adelphes.android-dev-ext",
				"fwcd.kotlin"
			]
		}
	},
	"shutdownAction": "stopCompose",

	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	// "forwardPorts": [],
	// Use 'postCreateCommand' to run commands after the container is created.
	"postCreateCommand": "adb start-server && sh gradlew build",
	// "postAttachCommand": "adb connect emulator:5555"
	// Configure tool-specific properties.
	// "customizations": {},
	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
	//fixme 尝试使用vscode 用户可以访问volume
	"remoteUser": "root"
}

docker-compose.yml

services:
  devcontainer:
    image: mcr.microsoft.com/devcontainers/base:ubuntu
    command: /bin/sh -c "while sleep 1000; do :; done"
    ports: 
      - "8080-8090"
    volumes:
      - ..:/workspace:cached
      - gradle-cache:/root/.gradle
      - top-cache:/root/.cache

  emulator:
    image: budtmo/docker-android:emulator_11.0
    ports:
      - "6080"
    environment:
      - EMULATOR_DEVICE=Samsung Galaxy S10
      - WEB_VNC=true
    devices:
      - /dev/kvm

volumes:
  gradle-cache:
  top-cache:
John
有谁会写毕设
有谁会写毕设