Skip to content

Instantly share code, notes, and snippets.

View DargonLee's full-sized avatar
🎯
Focusing

Harlans DargonLee

🎯
Focusing
View GitHub Profile
@DargonLee
DargonLee / README.md
Created February 3, 2026 05:49 — forked from emschwartz/README.md
The Most Popular Blogs of Hacker News in 2025

This is an OPML version of the HN Popularity Contest results for 2025, for importing into RSS feed readers.

Plug: if you want to find content related to your interests from thousands of obscure blogs and noisy sources like HN Newest, check out Scour. It's a free, personalized content feed I work on where you define your interests in your own words and it ranks content based on how closely related it is to those topics.

你是一名精通 UI 设计和产品规划的全栈工程师,你的目标是完成一个"健身普拉提"iOS App 的开发。

你的核心任务是输出一套完整的APP原型图(HTML页面形式)来辅助后续的开发任务。

核心执行点:

  • 明确功能与页面: 请你构思并确定"健身普拉提"App的核心功能模块。基于这些模块,规划出需要设计的HTML页面清单。
  • 产品与UI/UX设计:
    • 以产品经理的视角规划APP的关键功能、页面流程和交互逻辑。
  • 以设计师的视角输出符合现代iOS App风格的、美观且用户友好的UI/UX。
NSString* getLocalIP() { // 获取wifi ipv4
NSString* result = nil;
struct ifaddrs* interfaces = 0;
struct ifaddrs* temp_addr = 0;
if (0 == getifaddrs(&interfaces)) {
temp_addr = interfaces;
while(temp_addr != NULL) {
if(temp_addr->ifa_addr->sa_family == AF_INET) {
if(!strcmp(temp_addr->ifa_name, "en0")) {
char* ip = inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr);
import threading
import frida
import codecs
import os
from esign.exec_tool import Logger
# 根目录
root_dir = os.path.dirname(os.path.realpath(__file__))
# js脚本目录
script_dir = os.path.join(root_dir, "js/")
static const char kNameKey;
@implementation Person (Test)
- (void)setName:(NSString *)name
{
objc_setAssociatedObject(self, &kNameKey, name, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (void)getName
# 定义ANSI转义码颜色常量
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
CYAN='\033[0;36m'
NC='\033[0m' # 恢复默认颜色
# 显示带颜色的文本菜单选项
echo "${GREEN}请选择以下选项:${NC}"
name: build-mac-actions
on: [push]
run-name: ${{ github.actor }} is package mac app actions
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
name: Flutter_iOS
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build_ios:
func rtfDataToHtmlData(data: Data) -> Data? {
let attributedString = NSAttributedString(rtf: data, documentAttributes: nil)!
do {
let htmlData = try attributedString.data(from: NSRange(location: 0, length: attributedString.length), documentAttributes: [NSAttributedString.DocumentAttributeKey.documentType:NSAttributedString.DocumentType.html])
return htmlData
} catch {
}
return nil
}
- (void)addVolumeObserver
{
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *error = nil;
[audioSession setActive:YES error:&error];
if (error) {
NSLog(@"%@", error);
}
[audioSession addObserver:self forKeyPath:@"outputVolume" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL];