social模块开发

加速度计解算姿态角 姿态角(欧拉角) 欧拉角主要用于描述刚体在固定三维参考坐标系下由于绕三轴任意旋转而形成的姿态角,具体描述参看欧拉角说明 图中xyz为固定参考系坐标,XYZ为刚体自有坐标系 (假定右手定则,即大拇指指向某一轴正方向,握拳是其余手指的转动方向为姿态角变化的正方向),则定义 绕固定坐标系的z轴旋转:航向角yaw, 转动 y 角度 绕固定坐标系的y轴旋转:俯仰角pitch,转动p 角度 绕固定坐标系的x轴旋转:横滚角roll, 转动r 角度 可以看出欧拉角或者姿态角是相对各个轴的角度偏移,再假定旋转的顺规为Z 阅读详情

1.5 Social 模块开发

Social 功能概述

  1. 交友模块
    • 获取推荐列表
    • 喜欢 / 超级喜欢 / 不喜欢
    • 反悔 (每天允许返回 3 次)
    • 查看喜欢过我的人
  2. 好友模块
    • 查看好友列表
    • 查看好友信息

开发中的难点

  1. 滑动需有大量用户,如何初始化大量用户以供测试?
  2. 推荐算法
  3. 如何从推荐列表中去除已经滑过的用户
  4. 滑动操作,如何避免重复滑动同一人
  5. 如果双方互相喜欢,需如何处理
  6. 好友关系如何记录,数据库表结构如何设计?
  7. 反悔接口
    1. “反悔”都应该执行哪些操作
    2. 每日只允许“反悔” 3 次应如何处理
    3. 后期运营时,如何方便的修改反悔次数
  8. 内部很深的逻辑错误如何比较方便的将错误码返回给最外层接口

关系分析

  1. 滑动者与被滑动者
    • 一个人可以滑动很多人
    • 一个人可以被多人滑动
    • 结论: 同表之内构建起来的逻辑上的多对多关系
  2. 用户与好友
    • 一个用户由多个好友
    • 一个用户也可以被多人加为好友
    • 结论: 同表之内构建起来的逻辑上的多对多关系, Friend 表实际上就是一个关系表

模型设计参考

  1. Swiped (划过的记录)

    FieldDescription
    uid用户自身 id
    sid被滑的陌生人 id
    mark滑动类型
    time滑动的时间
  2. Friend (匹配到的好友)

    FieldDescription
    uid1好友 ID
    uid2好友 ID

类方法与静态方法

  • method
    • 通过实例调用
    • 可以引用类内部的 任何属性和方法
  • classmethod
    • 无需实例化
    • 可以调用类属性和类方法
    • 无法取到普通的成员属性和方法
  • staticmethod
    • 无需实例化
    • 无法取到类内部的任何属性和方法, 完全独立的一个方法

利用 Q 对象进行复杂查询

from django.db.models import Q

# AND
Model.objects.filter(Q(x=1) & Q(y=2))

# OR
Model.objects.filter(Q(x=1) | Q(y=2))

# NOT
Model.objects.filter(~Q(name='kitty'))

设计文档、业务逻辑

系统架构

  1. Django + sqlite / mysql
  2. 典型的 Web application
    1. NginX -> Django -> DB

需求分析

  1. User
    1. 获取短信验证码:1个接口
    2. 验证短信验证码,登录:1个接口
      1. 如果无此用户,直接创建
      2. 同时完成登录和验证
    3. 获取资料:1个接口
    4. 更改资料:1个接口
    5. 上传头像:1个接口

数据模型

  1. User
    1. 手机号:
      1. phonenum : varchar(20)
        1. +8613501234567
        2. 135-0123-4567
    2. 用户名
      1. nickname: varchar(50)
    3. 性别
      1. gender / sex: varchar(20)
        1. male
        2. female
        3. unknown
        4. others
    4. 生日
      1. birth_year: smallint(双字节)
      2. birth_month: tinyint(单字节)
      3. birth_day: tinyint(单字节)
    5. 头像
      1. avatar: (URI: Uniform Resource Identifier): varchar(4096)
    6. 居住地
      1. addr / location: varchar(1024)
      2. 规范:北京:beijing、bj、peking,朝阳,永泰庄
  2. Profile
    1. 目标城市 varchar (10)
      1. 城市的区
      2. 定位:经纬度
        1. 从ip地址
      3. 用地图插件
      4. 用前端获取经纬度:app、html5、小程序
      5. 多个接口接收用户的经纬度位置
    2. min_distance
    3. max_distance
    4. min_age
    5. max_age
    6. dating_sex
    7. vibration
    8. only_match
    9. auto_play
    10. user_id

API接口定义

  1. User

    1. 获取验证码:

      1. 描述:

      2. 方法:GET [ POST / PUT / DELETE ]

      3. 路径 / 路由 / URL : http://www.some.com/user/submit/phone

      4. 参数:

        1. phonenum=13501234567
      5. 返回值:

        {
          "code": 0, 
          "data": {
            "status": "ok"
          }
        }
        
      6. code范围:

        1. 0 正常
        2. 1000 服务器内部错误
        3. 2000 客户端错误
        4. 2001 北京号码不能注册
    2. 校验验证码:

      1. 描述:
      2. 方法:POST
      3. 路由:http://www.some.com/user/submit/vcode
      4. 参数:
        1. phonenum=13512345678&vcode=2345
      5. response:
        1. { “code”: 0, “data”: { “status”: “ok” } }
        2. { “code”: 2001, “data”: { “status”: “code error” } }
    3. 获取资料:

      1. 描述:登录后使用
      2. 方法:GET
      3. URL:api/user/get/profile
      4. 参数:
        1. 不需要提交其他信息
      5. Profile 的 json 数据:
        1. 用户个人资料
        2. 具体哪些字段?
    4. 修改资料:

      1. 描述:登录后修改资料
      2. 方法:POST
      3. URL:api/user/set/profile
      4. 请求:
        1. key=value
      5. response:
        1. 我们修改的结果:成功还是失败
    5. 上传头像:

      1. 描述:登录后使用
      2. 方法:POST
      3. URL:api/user/upload/avatar
      4. request:
        1. file
      5. response:
        1. ok
  2. Social接口

    1. 获取推荐列表
    2. 喜欢、超级喜欢、不喜欢
    3. 反悔
    4. 查看喜欢过我的人

RESTFUL 风格对比

  1. 混乱风格:project 1:
    1. GET http://www.some.com/user/1/edit
    2. GET http://www.some.com/user/1
  2. 混乱风格:project 2:
    1. POST http://www.some.com/edit/user/1
    2. GET http://www.some.com/get/user/1
    3. GET http://www.some.com/user/1/edit
  3. RESTful:
    1. GET http://www.some.com/user?id=1
    2. POST http://www.some.com/user
    3. PUT http://www.some.com/user
      1. body: gender=male

业务描述、业务流程、表结构

  • 请介绍你做过的业务
  • 请描述你的业务核心流程
  • 请介绍你的业务逻辑结构
  • 请画出核心表结构
  • 针对你的业务,如果增加以下功能,该如何设计?
    • 电商:多件商品捆绑优惠促销
    • 游戏:多人对战
    • 社交:好友排行
手把手教你用LangChain4j打造一个“会追问”的AI客服:以航空货运下单为例 本文详细介绍了如何使用LangChain4j构建一个能够主动追问的航空货运AI客服系统。通过对话状态管理、信息缺口识别和渐进式引导等核心技术,实现高效的多轮对话交互。文章包含从交互设计到代码实现的完整指南,特别强调了提示词(Prompt)在优化AI行为中的关键作用,帮助开发者打造更智能的客服解决方案。 阅读详情

相关推荐

映泰TB250-BTC主板魔改BIOS支持8/9代CPU实战与开机故障排查

BIOS(基本输入输出系统)是计算机硬件与操作系统之间的桥梁,负责初始化硬件和提供运行时服务。其工作原理是通过存储在主板芯片中的固件程序,在上电自检(POST)阶段完成对CPU、内存等关键组件的检测与配置。魔改BIOS的技术价值在于突破硬件限制,通过修改微码和电源管理模块,让旧平台支持新处理器,从而以极低成本实现性能跃升,在预算有限或追求极致性价比的DIY、办公和软路由等应用场景中极具吸引力。本文以映泰TB250-BTC矿板为例,详细解析了通过软刷方式刷入魔改BIOS,并重点解决了刷写后常见的“开机风扇转一

weixin_29164185的博客 406

第三方登录用户表、社交帐号表设计思路

背景 电商app中有自身的站内账号和第三方账号(如微信、支付宝)相互绑定进行登录操作 思路 1、站内账号不做改变,继续保持原有字段 2、新建一个社交帐号表进行第三方账号绑定管理 表名social_account : id openid user_id social_type 3、使用第三方账号登陆时强制绑定手机号(站内账号),如果还没有站内账号则进行注册+绑定,把social_account表所需数据获取到然后存入表中,如果放弃绑定手机号则同时放弃登录操作。 4、如果使用站内账号登录,登陆后可自行

microcosm1994的博客 2326

傅里叶红外(FT-IR):Origin数据处理、光谱绘图、曲线优化、图形美化

双击 X 轴,选择“轴线和刻度线”,设置粗细为“2”(较常用的粗细度),主刻度和次刻度为“朝内”,然后在此对话框内选择左轴,设置粗细为“2”,主刻度和次刻度为“无”,上轴和右轴同左轴。(4)在第二个图层基础上新建第三个图层,针对第二组数据重复上述中(1)和(2)的操作,再添加第三组数据的折线图,并重复上述中(3)的操作。FTIR 光谱上的峰只有相对的强弱,因此只分析一个光谱上的一个峰的强度大小并无意义,一般分析两个光谱在同一位置的峰强相对大小,或者分析同一光谱不同位置的峰强相对大小并与另一光谱进行比较。

qiushireader的博客 3932

django社交类程序笔记(16)social模块开发

我们继续social模块的编写: 先在settings.py中注册app:social 我这里把social所有代码贴出来, admin.py,apps.py,tests.py,views.py都没动过。 models.py中如下: 这里使用了Q用作表示“或”, from django.db import models # Create your models here. from django...

qq_36710311的博客 253

【计算机科学导论实验】加法图灵机模拟 题解

本文提供计算机科学导论课程“图灵机加法器”实验的个人思路,仅供参考。

Chavapa's blog 2578

Windows下MMdetection3D保姆级安装指南(含CUDA和PyTorch版本避坑)

本文提供Windows平台下MMdetection3D的完整安装指南,重点解决CUDA与PyTorch版本匹配问题。从环境准备到关键组件安装,详细介绍了CUDA Toolkit选择策略、PyTorch精准安装步骤,以及MM系列组件的安装顺序和常见错误解决方案,帮助用户顺利完成3D目标检测环境的配置。

weixin_42628941的博客 491

Social模块开发(下)

2.1 会员、权限、日志 VIP、权限模块功能 VIP 分类 非会员 一级会员 二级会员 三级会员 权限分类 超级喜欢 每日反悔 3 次 查看喜欢过我的人 权限分配 非会员: 无任何权限 一级会员: 超级喜欢 二级会员: 超级喜欢 + 反悔3次 三级会员: 超级喜欢 + 反悔3次 + 查看喜欢过我的人 开发难点 User 与 VIP 的关系 一种 VIP 对应多个...

pythoncsdn111的博客 279

PROFINET非周期数据通信实战:从报文解析到参数读写

本文详细解析了PROFINET非周期数据通信的实战应用,从报文结构到参数读写全流程。通过西门子PLC与驱动器的配置案例,深入讲解非周期通信在工业自动化中的关键作用,包括硬件选型、软件配置及常见问题排查,帮助工程师高效实现设备参数配置与诊断。

weixin_42522953的博客 514

Social模块开发(3)

2.2 缓存、排行榜、积分接口 开发任务 为获取个人资料接口添加缓存处理 统一为所有数据模型增加缓存处理 任何 model 对象创建时,自动为该对象添加缓存 任何 model 对象创建时,自动更新缓存数据 开发全服人气排行功能 被左滑 -5 分 被右滑 +5 分 被上滑 +7 分 统计全服人气最高的 10 位用户 缓存处理 缓存一般处理流程 data = get_fr...

pythoncsdn111的博客 229

TDSQL-单机安装

根据腾讯云官方要求,TDSQL安装至少需要三台机器。本人想要学习TDSQL但是没有足够的机器资源,经过仔细分析研究TDSQL安装过程,尝试发现单台机器也可以成功安装TDSQL,现将本人单台机器安装TDSQL的过程以及安装过程中遇到的问题在此分享。具体安装过程可参考腾讯官方文档,本文仅分享与官方文档不一致的步骤。

u012607648的博客 6808

论文记录:Affine Formation Maneuver Control of Multiagent Systems

多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:

W1H1J1的博客 2108

SET社会工程学工具集的定制化开发

SET的模块开发流程包括了解SET的攻击框架、选择攻击模块类型、编写攻击模块代码、测试攻击模块和提交攻击模块。SET的攻击框架基于模块化设计,每个攻击模块都是一个独立的Python脚本,可以实现特定的攻击功能。使用SET的脚本开发工具可以快速构建自定义的脚本,并将其集成到SET的脚本框架中。如果我们需要自定义脚本,我们可以从SET的脚本库中选择一个与我们需要实现的功能相似的脚本,并在此基础上进行修改。如果我们需要自定义的攻击模块,我们可以从现有的攻击模块中选择一个相似的模块,并根据需要进行修改。

Kali与编程 955

Oracle EBS AP 应付模块核心实现逻辑(极简骨架 + 分层拆解 + 业务流转 + 分录 + 核心表)

Oracle EBS AP应付模块采用四层逻辑架构:1)主数据层统一管控供应商基础信息;2)发票负债层通过三单匹配校验生成应付账款;3)付款核销层实现负债冲减;4)SLA层自动生成财务凭证。核心流程包括发票验证(匹配PO/收货单)、付款核销(全额/部分冲账)、会计分录自动生成(通过SLA引擎)。模块严格遵循"无匹配不负债、无验证不入账"原则,与采购、库存等模块深度集成,实现从供应商创建到付款核销的完整业务闭环,确保应付账款准确性和审计追溯能力。

金牌架构师 440

开源项目 OCA/social 使用教程

开源项目 OCA/social 使用教程 项目介绍 OCA/social 是一个开源项目,专注于社交网络功能的开发和集成。该项目由 Odoo Community Association (OCA) 维护,旨在为 Odoo 企业资源规划 (ERP) 系统提供强大的社交功能模块。通过 OCA/social,用户可以在 Odoo 平台上实现社交网络的集成,包括但不限于消息推送、社交分享、用户互动等功能。...

gitblog_00247的博客 782

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

终极指南:如何参与Social-Engineer Toolkit开源项目开发

Social-Engineer Toolkit(SET)是一个功能强大的开源渗透测试框架,专门用于社会工程学攻击模拟。作为TrustedSec公司推出的专业安全工具,SET提供了多种自定义攻击向量,帮助安全研究人员快速构建可信的攻击场景。🚀 ## 项目架构概览与技术栈 SET项目采用模块化设计,主要包含以下核心模块: - **核心引擎**:[src/core/setcore.py](htt

gitblog_00993的博客 951

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

10分钟快速上手 Social Stream:从 Gemfile 到第一条动态流的安装部署完全指南

Social Stream 是一个用于构建**分布式社交网络网站**的 Ruby on Rails 引擎框架,内置用户与群组(Subjects)、帖子与评论(Activity Objects)、好友关系、私信通知、活动流(Activity Streams)等核心功能。本指南带你走通从 Gemfile 配置、安装生成器、数据库迁移到灌入演示数据、发布第一条动态的完整流程,10 分钟即可跑起一个属于你

gitblog_00485的博客 45

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

推荐文章:探索春之韵律 - 春Social谷歌版,无缝集成Google服务

推荐文章:探索春之韵律 - 春Social谷歌版,无缝集成Google服务 项目介绍 在数字世界的交融中,春Social谷歌版(Spring Social Google)如一座桥梁,将开发者的世界与Google的无限广阔连接起来。作为一个开源项目,它基于强大的Spring框架生态,专为简化与Google服务的交互而生。无论你是致力于构建社交应用、管理日程,还是在云端存储和协作,Spring So...

gitblog_00693的博客 814

探秘Social项目:一款创新的社交应用开发框架

探秘Social项目:一款创新的社交应用开发框架 Social 是一个开源的、高度可定制的社交网络平台开发框架,由开发者 创建并维护。它提供了丰富的功能模块,使开发者能够快速构建自己的社交网络应用。本篇文章将深入探讨该项目的核心特性、技术优势以及可能的应用场景,以期让更多开发者加入到这个充满活力的社区中。 项目简介 Social项目基于现代Web技术和微服务架构,它的核心目标是简化社交网络应用的...

gitblog_00077的博客 584

开源社交平台:Open Social

开源社交平台:Open Social Open Social 是一个基于 Drupal 的强大安装配置文件,它为构建社区驱动的网站和社交网络提供了一流的解决方案。这个开源项目不仅注重功能的强大,还强调了开发者的参与与合作,以持续改进和创新。 项目介绍 Open Social 提供了一个预配置的环境,让您能够轻松地搭建和管理社交媒体功能齐全的网站。其设计目标是让用户可以创建自定义的社区,实现信息分享...

gitblog_00093的博客 645

React Social Network:构建现代社交网络的利器

React Social Network:构建现代社交网络的利器 项目介绍 React Social Network 是一个开源项目,旨在利用React这一强大的JavaScript库来构建用户界面。该项目以社交网络为例,展示了React及其组件的多种功能。通过这个项目,开发者可以轻松地根据自己的需求和环境,发展出符合自己想法的项目。 项目不仅提供了一个完整的社交网络模板,还通过不同的分支版本,满...

gitblog_00051的博客 1058

Spring Social:连接你的应用与SaaS服务的新时代桥梁

Spring Social:连接你的应用与SaaS服务的新时代桥梁 spring-social项目地址:https://gitcode.com/gh_mirrors/spr/spring-social 项目介绍 Spring Social 是 Spring Framework 的一个扩展,旨在帮助开发者轻松地将他们的应用程序与软件即服务(SaaS)提供商如Facebook和Twitter等连接起...

gitblog_00108的博客 671

social-auto-upload视频号上传器实现:tencent_uploader模块分析

在当今社交媒体快速发展的时代,自动化工具已成为内容创作者提高效率的必备利器。social-auto-upload项目作为一款强大的社交媒体自动化上传工具,支持抖音、小红书、视频号等多个平台的视频发布。本文将深入剖析其中的视频号上传器实现——tencent_uploader模块,为开发者和用户提供全面的技术解析和使用指南。 ## tencent_uploader模块概述 tencent_uplo

gitblog_00017的博客 417

Open Social:构建现代社交平台的开源利器

Open Social:构建现代社交平台的开源利器 项目介绍 Open Social 是一个基于Drupal的安装配置文件,专为构建现代社交平台而设计。它不仅仅是一个简单的内容管理系统,更是一个功能强大的社交网络平台解决方案。通过Open Social,开发者可以快速搭建一个具备社交功能的网站,支持用户注册、内容分享、社区互动等多种功能。 项目技术分析 Open Social 基于Drupal 8...

gitblog_01105的博客 1005

【亲测免费】 React Social Network:构建你的社交网络梦想

React Social Network:构建你的社交网络梦想 项目介绍 React Social Network 是一个开源的社交网络项目,旨在利用React这一强大的JavaScript库来构建用户界面。该项目以社交网络为例,展示了React及其组件的多种功能。其灵活的结构使得开发人员能够根据自己的需求和环境,自由地扩展和定制项目。 项目技术分析 React Social Network 不...

gitblog_00038的博客 379

【亲测免费】 推荐开源项目:Social-SDK - 一体化社交功能解决方案

推荐开源项目:Social-SDK - 一体化社交功能解决方案 在数字时代,集成各种社交媒体功能已成为许多网站和应用的标准配置。 是一个强大的开源项目,它为开发者提供了一个简单易用、高度可定制的一体化社交功能解决方案,涵盖了分享、登录、评论等多种常见需求。 项目简介 Social-SDK 是由 JavaScript 编写的,兼容多种前端框架(如 React, Vue, Angular 等),并且支...

gitblog_00038的博客 639

Social Amnesia工作原理揭秘:社交媒体API如何帮助清理历史

你是否曾想过删除多年前那些尴尬的社交媒体帖子?🤔 **Social Amnesia** 就是这样一个神奇的社交媒体清理工具,它能帮你自动管理Twitter和Reddit的历史内容。这款开源工具通过巧妙利用社交媒体平台的API接口,实现了智能化的历史内容清理,让你的社交媒体账号只展示最近的内容,而不是五年前的"黑历史"。 ## 🔍 Social Amnesia是什么? **Social Am

gitblog_00983的博客 222
上一篇: Django配置
下一篇: Social模块开发(下)
Are you ready
博客等级 码龄8年 312粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值