init: init

This commit is contained in:
Dustella 2025-06-07 16:38:55 +08:00
commit f4444fedd0
Signed by: Dustella
GPG Key ID: 7DB8F13D7E6023B6
34 changed files with 916 additions and 0 deletions

25
cv.typ Normal file
View File

@ -0,0 +1,25 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cv
#let metadata = toml("./metadata.toml")
#let importModules(modules, lang: metadata.language) = {
for module in modules {
include {
"modules_" + lang + "/" + module + ".typ"
}
}
}
#show: cv.with(
metadata,
profilePhoto: image("./src/avatar.png"),
)
// #set text(size: 9pt)
#importModules((
"education",
"skills",
"professional",
"projects",
"publications",
"certificates",
))

32
letter.typ Normal file
View File

@ -0,0 +1,32 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": letter
#let metadata = toml("./metadata.toml")
#show: letter.with(
metadata,
myAddress: "Your Address Here",
recipientName: "Company Name Here",
recipientAddress: "Company Address Here",
date: datetime.today().display(),
subject: "Subject: Hey!",
signature: image("src/signature.png"),
)
Dear Hiring Manager,
I am excited to submit my application for the Senior Data Analyst position at ABC Company. With over 5 years of experience in data analysis and a demonstrated track record of success, I am confident in my ability to make a valuable contribution to your team.
In my current role as a Data Analyst at XYZ Company, I have gained extensive experience in data mining, quantitative analysis, and data visualization. Through my work, I have developed a deep understanding of statistical concepts and have become adept at using tools such as SQL, Python, and R to extract insights from complex datasets. I have also gained valuable experience in presenting complex data in a visually appealing and easily accessible manner to stakeholders across all levels of an organization.
I believe that my experience in data analysis makes me an ideal candidate for the Senior Data Analyst position at ABC Company. I am particularly excited about the opportunity to apply my skills to support your organization's mission and drive impactful insights. Your focus on driving innovative solutions to complex problems aligns closely with my own passion for using data analysis to drive positive change in organizations.
In my current role, I have been responsible for leading data projects from initiation to completion. I work closely with cross-functional teams to identify business problems and use data to develop solutions that drive business outcomes. I have a proven track record of delivering high-quality work on time and within budget.
Furthermore, I have extensive experience in developing and implementing data-driven solutions that improve business operations. For example, I have implemented predictive models that have improved sales forecasting accuracy by 10%, resulting in significant cost savings. I have also developed dashboards that provide real-time insights into business performance, enabling stakeholders to make more informed decisions.
As a highly motivated and detail-oriented individual, I am confident that I would thrive in the fast-paced and dynamic environment at ABC Company. I am excited about the opportunity to work with a talented team of professionals and to continue developing my skills in data analysis.
Thank you for considering my application. I look forward to the opportunity to discuss my qualifications further.
Sincerely,

99
metadata.toml Normal file
View File

@ -0,0 +1,99 @@
#:schema https://raw.githubusercontent.com/yunanwg/brilliant-CV/main/metadata.toml.schema.json
# Set the output language
# INFO: value must matches folder suffix; i.e "zh" -> "./modules_zh"
language = "zh"
[layout]
# Optional values: skyblue, red, nephritis, concrete, darknight
# You can also use a custom color by hex code i.e. "#1E90FF"
awesome_color = "#2E5793"
# Skips are for controlling the spacing between sections and entries
before_section_skip = "1pt"
before_entry_skip = "1pt"
before_entry_description_skip = "1pt"
# Optional: sets paper size and margins. Possible values: a4 (default), us-letter
paper_size = "a4"
# Optional: sets the width of the right column of a cvEntry. If not set, values known to work well are used
#date_width = "3.6cm"
[layout.fonts]
regular_fonts = ["MiSans", "MiSans"]
header_font = "MiSans"
[layout.header]
# Optional values: left, center, right
header_align = "left"
# Decide if you want to display profile photo or not
display_profile_photo = true
info_font_size = "10pt"
[layout.entry]
# Decide if you want to put your company in bold or your position in bold
display_entry_society_first = true
# Decide if you want to display organisation logo or not
display_logo = true
[inject]
# Decide if you want to inject AI prompt or not
inject_ai_prompt = false
# Decide if you want to inject keywords or not
inject_keywords = true
injected_keywords_list = ["Data Analyst", "GCP", "Python", "SQL", "Tableau"]
[personal]
first_name = "Hanwen"
last_name = "Yu"
# The order of this section will affect how the entries are displayed
# The custom value is for any additional information you want to add, name it as custom-1, custom-2, etc.
[personal.info]
github = "Dustella"
phone = "+86 18862104157"
email = "dustella@yeah.net"
# linkedin = ""
# gitlab = "yunanwg"
homepage = "https://dustella.net"
# orcid = "0000-0000-0000-0000"
# researchgate = "John-Doe"
# extraInfo = "I am a cool kid"
[personal.info.custom-1]
# image = "" # Example: image("./path/to/image.png")
awesomeIcon = "graduation-cap" # Example: "graduation-cap" see https://typst.app/universe/package/fontawesome/
text = "硕士研究生"
# link = "https://www.dustella.net"
# add a new section if you want to include the language of your choice
# i.e. [[lang.ru]]
# each section must contains the following fields
[lang.en]
header_quote = "Experienced Data Analyst looking for a full time job starting from now"
cv_footer = "Curriculum vitae"
letter_footer = "Cover letter"
[lang.fr]
header_quote = "Analyste de données expérimenté à la recherche d'un emploi à temps plein disponible dès maintenant"
cv_footer = "Résumé"
letter_footer = "Lettre de motivation"
[lang.zh]
header_quote = "对新技术和很热情的前端工程师,随时可以入职"
cv_footer = "简历"
letter_footer = "申请信"
[lang.it]
header_quote = "Senior data analyst attualmente disponibile per una posizione di lavoro full-time"
cv_footer = "Curriculum vitae"
letter_footer = "Lettera di presentazione"
# For languages that are not written in Latin script
# Currently supported non-latin language codes: ("zh", "ja", "ko", "ru")
[lang.non_latin]
name = "余翰文"
font = "MiSans"

View File

@ -0,0 +1,26 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvHonor
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvHonor = cvHonor.with(metadata: metadata)
#cvSection("Certificates")
#cvHonor(
date: [2022],
title: [AWS Certified Security],
issuer: [Amazon Web Services (AWS)],
)
#cvHonor(
date: [2017],
title: [Applied Data Science with Python],
issuer: [Coursera],
)
#cvHonor(
date: [],
title: [SQL Fundamentals Track],
issuer: [Datacamp],
)

32
modules_en/education.typ Normal file
View File

@ -0,0 +1,32 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Education")
#cvEntry(
title: [Master of Data Science],
society: [University of California, Los Angeles],
date: [2018 - 2020],
location: [USA],
logo: image("../src/logos/ucla.png"),
description: list(
[Thesis: Predicting Customer Churn in Telecommunications Industry using Machine Learning Algorithms and Network Analysis],
[Course: Big Data Systems and Technologies #hBar() Data Mining and Exploration #hBar() Natural Language Processing],
),
)
#cvEntry(
title: [Bachelors of Science in Computer Science],
society: [University of California, Los Angeles],
date: [2018 - 2020],
location: [USA],
logo: image("../src/logos/ucla.png"),
description: list(
[Thesis: Exploring the Use of Machine Learning Algorithms for Predicting Stock Prices: A Comparative Study of Regression and Time-Series Models],
[Course: Database Systems #hBar() Computer Networks #hBar() Software Engineering #hBar() Artificial Intelligence],
),
)

View File

@ -0,0 +1,45 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Professional Experience")
#cvEntry(
title: [Director of Data Science],
society: [XYZ Corporation],
logo: image("../src/logos/xyz_corp.png"),
date: [2020 - Present],
location: [San Francisco, CA],
description: list(
[Lead a team of data scientists and analysts to develop and implement data-driven strategies, develop predictive models and algorithms to support decision-making across the organization],
[Collaborate with executive leadership to identify business opportunities and drive growth, implement best practices for data governance, quality, and security],
),
tags: ("Tags Example here", "Dataiku", "Snowflake", "SparkSQL"),
)
#cvEntry(
title: [Data Analyst],
society: [ABC Company],
logo: image("../src/logos/abc_company.png"),
date: [2017 - 2020],
location: [New York, NY],
description: list(
[Analyze large datasets with SQL and Python, collaborate with teams to uncover business insights],
[Create data visualizations and dashboards in Tableau, develop and maintain data pipelines with AWS],
),
)
#cvEntry(
title: [Data Analysis Intern],
society: [PQR Corporation],
logo: image("../src/logos/pqr_corp.png"),
date: list(
[Summer 2017],
[Summer 2016],
),
location: [Chicago, IL],
description: list([Assisted with data cleaning, processing, and analysis using Python and Excel, participated in team meetings and contributed to project planning and execution]),
)

20
modules_en/projects.typ Normal file
View File

@ -0,0 +1,20 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Projects & Associations")
#cvEntry(
title: [Volunteer Data Analyst],
society: [ABC Nonprofit Organization],
date: [2019 - Present],
location: [New York, NY],
description: list(
[Analyze donor and fundraising data to identify trends and opportunities for growth],
[Create data visualizations and dashboards to communicate insights to the board of directors],
[Collaborate with other volunteers to develop and implement data-driven strategies],
),
)

View File

@ -0,0 +1,17 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvPublication
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("Publications")
#cvPublication(
bib: bibliography("../src/publications.bib"),
keyList: (
"smith2020",
"jones2021",
"wilson2022",
),
refStyle: "apa",
)

22
modules_en/skills.typ Normal file
View File

@ -0,0 +1,22 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvSkill, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("Skills")
#cvSkill(
type: [Languages],
info: [English #hBar() French #hBar() Chinese],
)
#cvSkill(
type: [Tech Stack],
info: [Tableau #hBar() Python (Pandas/Numpy) #hBar() PostgreSQL],
)
#cvSkill(
type: [Personal Interests],
info: [Swimming #hBar() Cooking #hBar() Reading],
)

View File

@ -0,0 +1,26 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvHonor
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvHonor = cvHonor.with(metadata: metadata)
#cvSection("Certificates")
#cvHonor(
date: [2022],
title: [AWS Certified Security],
issuer: [Amazon Web Services (AWS)],
)
#cvHonor(
date: [2017],
title: [Applied Data Science with Python],
issuer: [Coursera],
)
#cvHonor(
date: [],
title: [Bases de données et requêtes SQL],
issuer: [OpenClassrooms],
)

32
modules_fr/education.typ Normal file
View File

@ -0,0 +1,32 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Formation")
#cvEntry(
title: [Master en Science des Données],
society: [Université de Californie à Los Angeles],
date: [2018 - 2020],
location: [USA],
logo: image("../src/logos/ucla.png"),
description: list(
[Thèse : Prédiction du taux de désabonnement des clients dans l'industrie des télécommunications en utilisant des algorithmes d'apprentissage automatique et l'analyse de réseau],
[Cours : Systèmes et technologies Big Data #hBar() Exploration et exploitation de données #hBar() Traitement du langage naturel],
),
)
#cvEntry(
title: [Bachelors en Informatique],
society: [Université de Californie à Los Angeles],
date: [2014 - 2018],
location: [USA],
logo: image("../src/logos/ucla.png"),
description: list(
[Thèse : Exploration de l'utilisation des algorithmes d'apprentissage automatique pour la prédiction des prix des actions : une étude comparative des modèles de régression et de séries chronologiques],
[Cours : Systèmes de base de données #hBar() Réseaux informatiques #hBar() Génie logiciel #hBar() Intelligence artificielle],
),
)

View File

@ -0,0 +1,45 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Expérience Professionnelle")
#cvEntry(
title: [Directeur de la Science des Données],
society: [XYZ Corporation],
date: [2020 - Présent],
logo: image("../src/logos/xyz_corp.png"),
location: [San Francisco, CA],
description: list(
[Diriger une équipe de scientifiques et d'analystes de données pour développer et mettre en œuvre des stratégies axées sur les données, développer des modèles prédictifs et des algorithmes pour soutenir la prise de décisions dans toute l'organisation],
[Collaborer avec la direction pour identifier les opportunités d'affaires et stimuler la croissance, mettre en œuvre les meilleures pratiques en matière de gouvernance, de qualité et de sécurité des données],
),
tags: ("Exemple de tags ici", "Dataiku", "Snowflake", "SparkSQL"),
)
#cvEntry(
title: [Analyste de Données],
society: [ABC Company],
date: [2017 - 2020],
location: [New York, NY],
logo: image("../src/logos/abc_company.png"),
description: list(
[Analyser de grands ensembles de données avec SQL et Python, collaborer avec les équipes pour découvrir des insights commerciaux],
[Créer des visualisations de données et des tableaux de bord dans Tableau, développer et maintenir des pipelines de données avec AWS],
),
)
#cvEntry(
title: [Stagiaire en Analyse de Données],
society: [PQR Corporation],
date: list(
[été 2017],
[été 2016],
),
location: [Chicago, IL],
logo: image("../src/logos/pqr_corp.png"),
description: list([Aider à la préparation, au traitement et à l'analyse de données à l'aide de Python et Excel, participer aux réunions d'équipe et contribuer à la planification et à l'exécution de projets]),
)

19
modules_fr/projects.typ Normal file
View File

@ -0,0 +1,19 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Projets & Associations")
#cvEntry(
title: [Analyste de Données Bénévole],
society: [ABC Organisation à But Non Lucratif],
date: [2019 - Présent],
location: [New York, NY],
description: list(
[Analyser les données de donateurs et de collecte de fonds pour identifier les tendances et les opportunités de croissance],
[Créer des visualisations de données et des tableaux de bord pour communiquer des insights au conseil d'administration],
),
)

View File

@ -0,0 +1,17 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvPublication
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("Publications")
#cvPublication(
bib: bibliography("../src/publications.bib"),
keyList: (
"smith2020",
"jones2021",
"wilson2022",
),
refStyle: "apa",
)

22
modules_fr/skills.typ Normal file
View File

@ -0,0 +1,22 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvSkill, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("Compétences")
#cvSkill(
type: [Langues],
info: [Anglais #hBar() Français #hBar() Chinois],
)
#cvSkill(
type: [Tech Stack],
info: [Tableau #hBar() Python (Pandas/Numpy) #hBar() PostgreSQL],
)
#cvSkill(
type: [Centres d'intérêt],
info: [Natation #hBar() Cuisine #hBar() Lecture],
)

View File

@ -0,0 +1,26 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvHonor
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvHonor = cvHonor.with(metadata: metadata)
#cvSection("Certificazioni")
#cvHonor(
date: [2022],
title: [AWS Certified Security],
issuer: [Amazon Web Services (AWS)],
)
#cvHonor(
date: [2017],
title: [Applied Data Science with Python],
issuer: [Coursera],
)
#cvHonor(
date: [],
title: [Fondamenti di SQL],
issuer: [Datacamp],
)

32
modules_it/education.typ Normal file
View File

@ -0,0 +1,32 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Istruzione")
#cvEntry(
title: [Master in Data Science],
society: [Università della California, Los Angeles],
date: [2018 - 2020],
location: [USA],
logo: image("../src/logos/ucla.png"),
description: list(
[Tesi: Previsione del tasso di abbandono dei clienti nel settore delle telecomunicazioni mediante algoritmi di apprendimento automatico e analisi delle reti],
[Corsi: Sistemi e tecnologie basati su Big Data #hBar() Data Mining #hBar() Natural language processing],
),
)
#cvEntry(
title: [Laurea in informatica],
society: [Università della California, Los Angeles],
date: [2018 - 2020],
location: [USA],
logo: image("../src/logos/ucla.png"),
description: list(
[Tesi: Esplorazione di algoritmi di apprendimento automatico per prevedere i prezzi delle azioni: uno studio comparativo di modelli di regressione e serie temporali],
[Corsi: Sistemi di database #hBar() Reti di calcolatori #hBar() Ingegneria del software #hBar() Intelligenza artificiale],
),
)

View File

@ -0,0 +1,42 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Esperienze di lavoro")
#cvEntry(
title: [Direttore di Data Science],
society: [XYZ Corporation],
logo: image("../src/logos/xyz_corp.png"),
date: [2020 - Presente],
location: [San Francisco, CA],
description: list(
[Guido un team di data scientist e analisti per sviluppare e implementare strategie basate sui dati, sviluppo modelli predittivi e algoritmi per supportare il processo decisionale in tutta l'organizzazione],
[Collaboro con la dirigenza esecutiva per identificare opportunità di business e guidare la crescita, implemento le migliori pratiche per la governance dei dati, la qualità e la sicurezza],
),
tags: ("Tag d'esempio qui", "Dataiku", "Snowflake", "SparkSQL"),
)
#cvEntry(
title: [Data Analyst],
society: [ABC Company],
logo: image("../src/logos/abc_company.png"),
date: [2017 - 2020],
location: [New York, NY],
description: list(
[Analizzo dataset di grandi dimensioni con SQL e Python, collaboro con i team per avere informazioni utili a livello di business],
[Creo visualizzazioni di dati e dashboard con Tableau, sviluppo e gestisco pipeline di dati con AWS],
),
)
#cvEntry(
title: [Tirocinio in Data Analysis],
society: [PQR Corporation],
logo: image("../src/logos/pqr_corp.png"),
date: [Summer 2017],
location: [Chicago, IL],
description: list([Ho collaborato alla pulizia, all'elaborazione e all'analisi dei dati utilizzando Python ed Excel, ho partecipato alle riunioni del team e ho contribuito alla pianificazione e all'esecuzione del progetto]),
)

20
modules_it/projects.typ Normal file
View File

@ -0,0 +1,20 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("Progetti")
#cvEntry(
title: [Data Analyst volontario],
society: [ABC Nonprofit Organization],
date: [2019 - Present],
location: [New York, NY],
description: list(
[Analizzo i dati sui donatori e sulla raccolta fondi per identificare tendenze e opportunità di crescita],
[Creo visualizzazioni di dati e dashboard per comunicare informazioni al consiglio di amministrazione],
[Collaboro con altri volontari per sviluppare e implementare strategie basate sui dati],
),
)

View File

@ -0,0 +1,17 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvPublication
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("Pubblicazioni")
#cvPublication(
bib: bibliography("../src/publications.bib"),
keyList: (
"smith2020",
"jones2021",
"wilson2022",
),
refStyle: "apa",
)

22
modules_it/skills.typ Normal file
View File

@ -0,0 +1,22 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvSkill, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("Competenze")
#cvSkill(
type: [Lingue],
info: [Inglese #hBar() Francese #hBar() Cinese],
)
#cvSkill(
type: [Tecnologie],
info: [Tableau #hBar() Python (Pandas/Numpy) #hBar() PostgreSQL],
)
#cvSkill(
type: [Interessi personali],
info: [Nuoto #hBar() Cucina #hBar() Lettura],
)

View File

@ -0,0 +1,35 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvHonor
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvHonor = cvHonor.with(metadata: metadata)
#cvSection("证书")
#cvHonor(
date: [2022],
title: [AWS 安全认证],
issuer: [亚马逊网络服务 (AWS)],
)
#cvHonor(
date: [2017],
title: [应用数据科学与 Python],
issuer: [Coursera],
)
#cvHonor(
date: [],
title: [SQL 基础课程],
issuer: [Datacamp],
)
2024 AdventureX 黑客松 四个赛道和一个主题的第一名 With GuiiAI
2024 深圳 AI\#DEA AI 创新应用大赛 第一名 With GuiiAI\
第十七届 中国大学生计算机设计大赛 全国二等奖
软件著作权一份
江苏省“联通软研杯”优胜奖
全国“盘古石杯”优胜奖
雅思 7.0

32
modules_zh/education.typ Normal file
View File

@ -0,0 +1,32 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("教育经历")
#cvEntry(
title: [计算机科学 - 研究性硕士],
society: [西交利物浦大学],
date: [2024 - 2026],
location: [苏州],
logo: image("../src/logos/ucla.png"),
description: list(
[论文: 使用机器学习算法和网络分析预测电信行业的客户流失],
[课程: 大数据系统与技术 #hBar() 数据挖掘与探索 #hBar() 自然语言处理],
),
)
#cvEntry(
title: [计算机科学与技术(腾讯实验班)- 学士],
society: [南京信息工程大学],
date: [2014 - 2018],
location: [美国],
logo: image("../src/logos/ucla.png"),
description: list(
[论文: 探索使用机器学习算法预测股票价格: 回归与时间序列模型的比较研究],
[课程: 数据库系统 #hBar() 计算机网络 #hBar() 软件工程 #hBar() 人工智能],
),
)

View File

@ -0,0 +1,32 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("职业经历")
#cvEntry(
title: [前端工程师],
society: [北京小米],
logo: image("../src/logos/xyz_corp.png"),
date: [2025.4 - 现在],
location: [南京],
description: list(
[参与米家 React Native 的插件开发,保证大家电插件的稳定上线],
[],
),
tags: ("标签示例", "Dataiku", "Snowflake", "SparkSQL"),
)
#cvEntry(
title: [前端工程师],
society: [南京迈趣尔有限公司],
logo: image("../src/logos/abc_company.png"),
date: [2021 - 2023],
location: [南京],
description: list(
[在校期间负责多个应用的前端应用的产品设计、架构设计、软件开发与工程化工作], [负责团队文档搭建、Code Review、指导团队成员展开工作。],
),
)

91
modules_zh/projects.typ Normal file
View File

@ -0,0 +1,91 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvEntry
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("个人项目")
#cvEntry(
title: [AI 赋能的前端开发工具],
society: [GuiiAI Devtools],
date: [2024.8 - 2025.1],
location: [杭州],
description: list(
[
\[项目架构\] GuiiAI Devtools 分为多个包。主要组成部分为Vite Plugin Server、悬浮球叠加层、操作面板。Vite Server 提供修改代码文件、获取源码的能力,悬浮球叠加层和操作面板可以让用户发出 Prompt。
],
[
\[项目基建\] GuiiAI Devtools 的仓库是一个大的 Monorepo分为多个包发布。最开始使用 Vercel ai-sdk 作为 AI 库,但由于其自定义能力不够,我们自己封装了 neuri 库作为替代
],
[
\[编译时 DOM 注入\] 通过 Vite Plugin 的能力,将一个悬浮球注入到用户 Dev 模式的网页,作为用户控制 AI 写代码的操作中心。注入的元素使用另一个 Vue 实例,因此不要求用户使用 Vue 开发。
],
[
\[UI 样式隔离\] 为避免用户页面的全局样式污染悬浮球和面板,我们使用 shadow-dom 隔离了悬浮球和主页面的样式,避免了样式污染,主面板使用 Iframe隔绝上下文。
],
[
\[Vite 到浏览器的 RPC 通信\] 为保证 Vite Plugin Server 前端的双向通信,我封装了一个简易的 RPC 库。浏览器不同上下文之间使用 BroadcastChannel 通信,浏览器与 Vite Plugin Server 复用 dev ws 相互通信。
],
[
\[自定义接入模型\] Devtools 支持自定义 OpenAI API Endpoint。
],
[
\[优化打包体积\] 通过动态导入代码编辑器的 highlight.js将打包体积从 2M 降低至 300k
],
),
)
#cvEntry(
title: "NuistShare 资源分享站",
society: "",
description: "",
location: "南京",
)
#set text(size: 9pt, weight: "light")
一个使用 Nuxt3、NestJs 开发的学习资料共享站。
- [打包体积优化] 优化字体以及部分样式进行懒加载,部分组件使用动态导入加载,将首屏需要加载的资源从 2M 优化到240k大大缩短首屏加载时间。
- [中文字体分块优化] 使用开源项目中文网字计划对字体分包,导出为分片 woff 并在 CDN 处设置强缓存。解决字体过大加载缓慢 的问题。
- [Prerender 支持] 使用 Nuxt 3 的能力,提前预渲染主页样式,缩短首屏加载时间
- [CDN 集成部署优化] 利用 vite-plugin-qiniu, assets 上传至 CDN 并配置强缓存
- [S3、AList 多存储协议支持]
- [Github OAuth、邮箱验证支持]
- [响应式UI设计]
#cvEntry(
title: "",
description: "",
location: "",
date: "Date",
)
该项目是一个游戏化测评类软件,内含大量游戏关卡,用于素质测评、品牌营销等。包含了大量的响应式适配、 动画、事件触发。使用 Uniapp 开发微信小程序、微信 H5 应用。管理平台为用户定制游戏化测评应用的管理平台。
技术栈:用户端 Uniapp、Vue2 | 平台端 Vue3、TypeScript、Pinia、Echarts、文件约定式路由
- [报告图生成] 在产品的不同时期采用 Canvas 绘制 HTML2CANVAS 的方案动态生成报告图用于用户保存和 分享。
- [微信接入] 负责完成小程序、H5 应用的 微信登录、支付的接入。
- [组件封装] 主导组件化工作,负责计时器、判题弹窗、关卡流程控制等游戏通用组件开发,提供给其他成员使用,编写了详 细的组件文档。
- [响应式界面] 设计响应式系统,基于媒体查询设计响应式断点规则,为多种窗口尺寸进行了响应式适配。对 IOS 微信下方导 航栏进行特殊处理。
- [构建流水线与管理工作]使用了 Github Actions 进行自动化构建与部署,推送到相关云服务。负责内部测试、研发 外包的发布、对接工作。

View File

@ -0,0 +1,29 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvSection, cvPublication
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("学生活动")
- 曾担任校科协信息技术部部长,主要负责授课
- 帮助组织学校趣味编程竞赛并担任评委
- 开设前端入门课
- 曾担任 DH 互联网工作室讲师
- 在不同的组织做过四次技术分享
// #cvPublication(
// bib: bibliography("../src/publications.bib"),
// keyList: (
// "smith2020",
// "jones2021",
// "wilson2022",
// ),
// refStyle: "apa",
// )

28
modules_zh/skills.typ Normal file
View File

@ -0,0 +1,28 @@
// Import
#import "@preview/brilliant-cv:2.0.5": cvSection, cvSkill, hBar
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("开发技能")
#set text(font: "MiSans", weight: "extralight")
- 熟悉 HTML、CSS、JavaScript、TypeScript、SASS、UnoCSS 等前端技术;
- 熟练使用 Vue、Vue-Router、Vuex、Pinia Vue 生态库,熟悉使用 Uniapp 开发小程序应用;
- 熟悉 Vite、Rollup、Babel 等前端构建工具,了解 CJS、ESM 等模块化规范,熟悉 ES6 装饰器等新特性; 开发过 Vite Plugin
- 了解 Vue 响应式原理,了解过其内部各数据类型代理实现;
- 了解 RESTful、EventStream、WebSocket 等数据传输协议/规范; 封装过简易 RPC 库;
- 了解多种 Git 分支模式,用过 Git merge Git rebase
- 了解 Scrum 敏捷流程,有主导 Scurm 项目迭代的经历,有搭建 DevOps 自动化流水线的经历。
- 使用过 NestJs、Prisma 等构建后端服务;
有多个从 0 1 独立/主导进行项目开发的经历。

BIN
src/avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 KiB

BIN
src/logos/abc_company.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
src/logos/pqr_corp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
src/logos/ucla.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

BIN
src/logos/xyz_corp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

31
src/publications.bib Normal file
View File

@ -0,0 +1,31 @@
@article{smith2020,
author = {Smith, John},
title = {An Introduction to Data Analysis Techniques},
journal = {Journal of Data Science},
year = {2020},
volume = {15},
number = {2},
pages = {123-145},
}
@inproceedings{jones2021,
author = {Jones, Sarah and Brown, Michael},
title = {Exploratory Data Analysis for Predictive Modeling},
booktitle = {Proceedings of the International Conference on Data Science},
year = {2021},
pages = {256-267},
}
@book{wilson2022,
author = {Wilson, David},
title = {Machine Learning for Data Analysis},
publisher = {Springer},
year = {2022},
}
@techreport{brown2023,
author = {Brown, Emily},
title = {Data Visualization Techniques: A Comparative Study},
institution = {Technical Report},
year = {2023},
}

BIN
src/signature.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB