Fork me on GitHub 打赏
摘要:【初识编程】 记得第一次接触编程是上高一的时候,那时的我懵懂无知,但对周围充满着好奇,尤其是科技。当时学校的机器人兴趣小组招人,我稀里糊涂的就进去玩。当时我以为是焊板子连线路,谁知道刚一进教室就让我们开始学习C语言,用Turbo C写程序。当时白天上课,中午在实验室内做俯卧撑(因为一道题做错要做一百 阅读全文
posted @ 2018-07-07 23:28 Zoctopus_Zhang 阅读 (970) 评论 (0) 编辑
摘要:2017年9月17日14点20分,我写下了这段话,同时距离2017年全国大学生数学建模竞赛截止还剩不到十个小时的时间。这次建模的结束,也将标志着我本科阶段的建模生涯画上了句号。 记得第一次参加建模时,与全国各地的大学生在同一时间开始竞赛,心中充满着激动与紧张。 每年建模竞赛时期,总会涌现出许多个建模 阅读全文
posted @ 2017-09-17 22:00 Zoctopus_Zhang 阅读 (751) 评论 (3) 编辑
摘要:此文写于我建立新的个人博客站点的第五天 一、缘起 记得那时候我大二,突然想学着和那些经常写博客的人一样,写一些个人的学习收获,读书笔记,整理好发布到网上。 当时我在抉择去CSDN,掘金还是博客园去创作,因为毕竟这样的选择至少要伴随后面好几年的时间。经过两天时间分析了这三个网站的特点,我最终在朋友的建 阅读全文
posted @ 2019-01-18 21:00 Zoctopus_Zhang 阅读 (689) 评论 (1) 编辑
摘要:我在南方的艳阳里大雪纷飞,你在北方的寒夜里四季如春。 听天气预报说今天成都要下雪了,许多人巴在窗户跟前去看期待已久的雪花飘落。然而,对于我这个已经习惯生活在北方冬天里,靠着堆雪人和打雪仗带给我无限童年乐趣的人来说,这点雪花的效果约等于零。 这是我在地球上度过的第二十二个冬天,与以前不一样的是,这次是 阅读全文
posted @ 2018-12-28 19:43 Zoctopus_Zhang 阅读 (118) 评论 (0) 编辑
摘要:同步至 Github-WeeklyARTS-Algorithm 一、题目描述 有个老父亲,有17头羊,临终前把三个儿子叫来。分给大儿子一半的羊,二儿子1/3的羊,小儿子1/9的羊。三个儿子不知道怎么分,只好请教邻居。聪明的邻居借给了他们一头羊,这样总共就有18头。大儿子领走一半9头羊,二儿子领走1/ 阅读全文
posted @ 2018-12-19 19:50 Zoctopus_Zhang 阅读 (135) 评论 (0) 编辑
摘要:WeeklyARTS-Share 一、概述 框架的功能:定时读取指定路径下的配置文件,扫描配置文件中的节点,然后拼出一个新的路径,在该路径下判断任务文件夹是否该删除,如果该路径下的任务文件夹为0,同时删除该路径。 二、所需要的关键技能点 技能概述 Go语言基本语法 channel机制:通道负责传输数 阅读全文
posted @ 2018-12-16 17:38 Zoctopus_Zhang 阅读 (100) 评论 (0) 编辑
摘要:一、写作初衷&简单自我介绍 本科专业为计算机科学与技术,今年六月毕业后入职一家上市游戏公司从事游戏服务器端开发,九月中旬离开游戏行业,目前在一家互联网公司从事图形图像音视频算法岗,偶尔兼顾服务器开发。 为什么要写这样一篇文章,主要原因有两点: 1,根本原因:大学四年的学习 + 工作半年的实践与领悟, 阅读全文
posted @ 2018-12-11 17:16 Zoctopus_Zhang 阅读 (708) 评论 (1) 编辑
摘要:一、进程、线程、协程 1,进程 经典定义:一个执行中程序的实例。系统中的每个程序都运行在某个进程的上下文中。(-摘自 CSAPP) 进程是系统资源分配的最小单位 2,线程(thread) 线程就是运行在进程上下文中的逻辑流。 线程是操作系统能够进行运算调度的最小单位。 3,协程 相对子例程而言,协程 阅读全文
posted @ 2018-12-08 18:09 Zoctopus_Zhang 阅读 (190) 评论 (0) 编辑
摘要:一、概述 学会使用git命令对项目进行创建分支,并在创建结束后合并到主分支上。 问:为什么要创建分支? 答:在原来的分支上创建一个自己的分支进行开发,在开发完毕后一次性合并到原先的分支,这样既保证安全又不会影响其他人的开发。 二、步骤 命令操作 完整样例 三、参考资料 创建与合并分支_廖雪峰 阅读全文
posted @ 2018-11-23 12:33 Zoctopus_Zhang 阅读 (100) 评论 (0) 编辑
摘要:之前尝试将一个GLSL version 110的版本写成GLSL version 330的,在此将学习过程和收获记录下来。 参考链接 GLSL Versions 介绍 你可以使用#version命令作为着色器的第一行来指定GLSL版本: GLSL版本与GL版本一起发布。 请参阅以下图表以确定要定位的 阅读全文
posted @ 2018-11-18 20:29 Zoctopus_Zhang 阅读 (1305) 评论 (0) 编辑
摘要:之前部门老大叫我查找有关Direct3D使用软件渲染的方法,于是我找到了D3D驱动的类型,并整理如下 一、D3D驱动类型的句法 二、常量介绍 1,D3D_DRIVER_TYPE_UNKNOWN 这个驱动类型不知道。 (怎么用,用在什么地方,都不知道) 2,D3D_DRIVER_TYPE_HARDWA 阅读全文
posted @ 2018-11-17 19:30 Zoctopus_Zhang 阅读 (135) 评论 (0) 编辑
摘要:一、概述 MMIX用途:高德纳写的《计算机程序设计艺术》,使用 MMIXAL 来编写代码,解释算法。 环境:Ubuntu 桌面版18.04。 二、操作步骤 1,创建MMIX文件夹并切入该文件夹中 2,下载MMIX安装包 或者去网站直接下载下来解压,我是去网站下载的。 3,解压 4,安装 中间可能会报 阅读全文
posted @ 2018-11-09 20:21 Zoctopus_Zhang 阅读 (237) 评论 (0) 编辑
摘要:一.概述 由于要实现Ubuntu主机中的一些文件与Windows虚拟机共享,因此要创建一个共享文件夹映射到虚拟机中. 网上许多都是Windows主机+Linux虚拟机的配置,在此分享主机是Linux的. 主机:Ubuntu 桌面版18.04 虚拟机:Virtual Box,Windows7 二.操作 阅读全文
posted @ 2018-11-09 12:23 Zoctopus_Zhang 阅读 (402) 评论 (2) 编辑
摘要:操作系统:Ubuntu 18.04 LTS 一、概述 之前在Ubuntu下我一直坚持将软件下载包下载到指定文件夹下进行解压安装的习惯,在部门同事的建议下,我开始使用apt命令下载管理包。 由于网上已经有许多优秀的文章解析了apt命令,在此就不赘述,文章末尾有链接。我将阐述说明使用apt下载管理包的优 阅读全文
posted @ 2018-11-06 19:05 Zoctopus_Zhang 阅读 (236) 评论 (0) 编辑
摘要:环境:Ubuntu 18.04 开启SSH目的 方便远程传输文件,且速度快。 SSH服务开启步骤 使用apt install 安装SSH的服务端和客户端 如果你只是想登录别的机器,SSH只需要安装client端,如果你要使本机开启SSH服务需要安装server端。 开启SSH服务 如果有sshd这个 阅读全文
posted @ 2018-11-05 17:08 Zoctopus_Zhang 阅读 (6325) 评论 (0) 编辑
摘要:概述 在上一个教程中,我们为项目引入了照明。 现在我们将通过向我们的立方体添加纹理来构建它。 此外,我们将介绍常量缓冲区的概念,并解释如何使用缓冲区通过最小化带宽使用来加速处理。 本教程的目的是修改中心立方体以将纹理映射到其上。 资源目录 (SDK root)\Samples\C++\Direct3 阅读全文
posted @ 2018-11-03 15:24 Zoctopus_Zhang 阅读 (177) 评论 (0) 编辑
摘要:概述 在之前的教程中,世界看起来很无聊,因为所有对象都以相同的方式点亮。 本教程将介绍简单照明的概念及其应用方法。 使用的技术将是朗伯照明。 本教程的结果将修改前面的示例以包含光源。 该光源将附在轨道上的立方体上。 可以在中心立方体上看到光的影响。 资源目录 (SDK root)\Samples\C 阅读全文
posted @ 2018-11-03 14:39 Zoctopus_Zhang 阅读 (136) 评论 (0) 编辑
摘要:一、概述 在Linux系统下使用gcc编译用C语言写的mesa的示例程序。 环境:Ubuntu Server 18.04.1 二、问题的出现 在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译。 以上截取的是用gcc编译目标文件和传参的介绍: gcc:源程序将用g 阅读全文
posted @ 2018-10-29 18:34 Zoctopus_Zhang 阅读 (614) 评论 (0) 编辑
摘要:概述 在上一个教程中,我们从模型空间到屏幕渲染了一个立方体。 在本教程中,我们将扩展转换的概念并演示可以通过这些转换实现的简单动画。 本教程的结果将是围绕另一个轨道运行的对象。 展示转换以及如何将它们组合以实现期望的效果将是有用的。 在我们介绍新概念时,未来的教程将在此基础上构建。 资源目录 (SD 阅读全文
posted @ 2018-10-27 19:00 Zoctopus_Zhang 阅读 (211) 评论 (1) 编辑
摘要:之前一直在windows下写Go,现在工作环境切换至Linux下,因此写下此文,记录安装Go环境的过程。 操作系统:CentOS7.5 一、安装步骤 1,下载Go语言安装包 2,检查下载的Go语言版本 3,在 etc/profile 配置文件中添加GOROOT和GOPATH 使配置文件生效 4,创建 阅读全文
posted @ 2018-10-19 18:33 Zoctopus_Zhang 阅读 (292) 评论 (0) 编辑
摘要:因为要在Linux系统上装NVIDIA显卡驱动,默认重启必须是字符界面,因此把这块所需命令记录下来。 1,先查看当前系统默认启动的界面 2,修改默认启动界面为图形界面 3,修改默认启动界面为字符(命令行)界面 阅读全文
posted @ 2018-10-18 19:40 Zoctopus_Zhang 阅读 (1768) 评论 (0) 编辑
摘要:注:此经验写于工作半个月后,主要为想从事图形图像算法岗的应届毕业生提供一些面试经验参考。 面试公司:成都华栖云科技有限公司(chinamcloud) 面试岗位:图形图像视音频算法 面试时间:2018年9月19日 面试地点:成都市天府软件园 面试过程: 第一轮面试_HR面(简单沟通) 第二轮面试_技术 阅读全文
posted @ 2018-10-16 12:42 Zoctopus_Zhang 阅读 (445) 评论 (0) 编辑
摘要:问题来源 在研究HLSL时编译一个demo出现了error X3539的问题 解决方案 将代码中的ps_1_1 改为ps_2_0 或者是在D3DXCompileShaderFromFile函数中将对应的ps_1_1改为ps_2_0 最后渲染出来的结果 demo源码地址 参考资料 DX C++ err 阅读全文
posted @ 2018-10-13 15:35 Zoctopus_Zhang 阅读 (129) 评论 (0) 编辑
摘要:概述 在上一个教程中,我们在应用程序窗口的中心成功渲染了一个三角形。 我们没有太注意我们在顶点缓冲区中拾取的顶点位置。 在本教程中,我们将深入研究3D位置和转换的细节。 本教程的结果将是渲染到屏幕的3D对象。 虽然之前的教程侧重于将2D对象渲染到3D世界,但在这里我们展示了一个3D对象。 资源目录 阅读全文
posted @ 2018-10-07 19:53 Zoctopus_Zhang 阅读 (242) 评论 (0) 编辑
摘要:概述 在上一个教程中,我们设置了一个顶点缓冲区并将一个三角形传递给GPU。 现在,我们将逐步完成图形管道并查看每个阶段的工作原理。 将解释着色器和效果系统的概念。 请注意,本教程与前一个源代码共享相同的源代码,但将强调不同的部分。 资源目录 (SDK root)\Samples\C++\Direct 阅读全文
posted @ 2018-10-06 19:15 Zoctopus_Zhang 阅读 (242) 评论 (0) 编辑
摘要:概要 在之前的教程中,我们建立了一个最小的Direct3D 11的应用程序,它用来在窗口上输出一个单一颜色。在本次教程中,我们将扩展这个应用程序,在屏幕上渲染出一个单一颜色的三角形。我们将通过设置数据机构的过程关联到三角形。 这个教程的输出结果是在窗口中央渲染出一个三角形。 资源目录 (SDK ro 阅读全文
posted @ 2018-10-06 15:39 Zoctopus_Zhang 阅读 (319) 评论 (0) 编辑
摘要:Github-LearnDirectX-DX3D11 tutorial01 概述 在这第一篇教程中,我们将通过介绍创建最小Direct3D应用程序所必需的元素。每一个Direct3D应用程序必需拥有这些元素才能正常地工作。这些元素包括设置窗口和设备对象,以及在窗口上显示颜色。 资源目录 (SDK r 阅读全文
posted @ 2018-09-30 15:52 Zoctopus_Zhang 阅读 (693) 评论 (0) 编辑
摘要:一、问题的起因 今天用公司电脑在github上push时出现了以下问题: 用户名为unknown; 贡献记录为0; 二、解决方案 1,检查一遍自己的账号密码是否正确,如果正确,执行第二步骤操作; 2,,忽略SSL 问题解决了! 阅读全文
posted @ 2018-09-26 22:58 Zoctopus_Zhang 阅读 (216) 评论 (0) 编辑
摘要:给出的一些常见的数据结构与算法的笔试面试题,特整理如下,后期遇到新的再更新。 笔试面试题 常见时空复杂度有 常数级复杂度:O(1) 对数级复杂度:O(logN) 线性级复杂度:O(N) 线性对数级复杂度:O(NlogN) 平方级复杂度:O(N2) 冒泡排序算法(重点) (1)算法流程 a.比较两个相 阅读全文
posted @ 2018-09-19 00:23 Zoctopus_Zhang 阅读 (4560) 评论 (0) 编辑
摘要:给出的一些常见的计算机网络笔试面试题,特整理如下,后期遇到新的再更新 笔试面试题 TCP首部格式 UDP首部格式 首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和临时添加的。 TCP/UDP特点/区别: 用户数据报协议 UDP(User Datagra 阅读全文
posted @ 2018-09-18 23:58 Zoctopus_Zhang 阅读 (279) 评论 (0) 编辑
摘要:朋友给出的一些常见的C++面试题,特整理如下,后期遇到新的再更新。 面试题 列举并解释C++中的四种运算符转化,说明它们的不同点: static_cast: 在功能上基本上与C风格的类型转换一样强大,含义也一样。它也有功能上限制。例如,你不能用static_cast象用C风格的类型转换一样把stru 阅读全文
posted @ 2018-09-18 22:56 Zoctopus_Zhang 阅读 (874) 评论 (0) 编辑
摘要:环境:windows + git bash。 一、问题来源 由于之前用Goland建立Golang工程时,生成了.idea文件,不小心上传至Github: 所以尝试用.gitignore进行忽略不上传。 二、步骤 1,在本地新建一个.gitignore文件 2,在vi环境下选择插入模式,写入/.id 阅读全文
posted @ 2018-09-16 22:49 Zoctopus_Zhang 阅读 (1366) 评论 (0) 编辑
摘要:由于在写游戏服逻辑时踩了一些坑,在此记录如下 Github地址 一、理论知识储备 服务端属于后端开发,因此比较注重底层架构。 把《深入理解计算机系统》好好看看,以后做开发接触到越底层的东西这个就越有用,知其然并知其所以然,这样提升空间会很大,也很快; 把《UNIX网络编程卷一二》好好看看,因为涉及通 阅读全文
posted @ 2018-09-14 16:48 Zoctopus_Zhang 阅读 (378) 评论 (1) 编辑
摘要:写以此文,记录我这三个月工作的收获与感悟 一、试用期总结,转正答辩 上周五下午收到了通知转正答辩的邮件,叫我做好ppt这周一发给人事部。 周二上午,也就是昨天,通知我参加转正答辩,评审的共有五人,分别是经理、技术总监、项目负责人、带我技术的导师和一HR。 答辩开始了,我先介绍了我这三个月内学到的东西 阅读全文
posted @ 2018-09-12 13:13 Zoctopus_Zhang 阅读 (722) 评论 (0) 编辑
摘要:注:本文内容已更新至ARTS-Share栏。 这周服务器主程安排给了我一个任务(其实是我在用Go做完了一些小demo后,向主程请示下一步的安排),让我将他用Lua语言写的球球大作战的服务端代码转成Go语言形式。 于是,我开搞了! 此内容以上传至github,感兴趣的可以看一下github地址 框架主 阅读全文
posted @ 2018-09-01 21:20 Zoctopus_Zhang 阅读 (1164) 评论 (0) 编辑
摘要:之前在做注册登录服务器逻辑时,遇到的一些要点难点,记录于此。 一、基础必备技能 1,掌握至少一门用于后端开发的编程语言,如C/C++、Java、Go等; 2,理解TCP/UDP的机制,Socket编程,分包粘包实现的原理; 3,Protobuf协议,RPC协议; 4,数据库操作,例如MySQL,Re 阅读全文
posted @ 2018-08-30 21:16 Zoctopus_Zhang 阅读 (811) 评论 (0) 编辑
摘要:软件环境:Goland Github地址 一、目的 之前用纯逻辑垒完了一个可登入登出的在线多人聊天室(代码仓库地址),这次学习了Protobuf协议,于是想试着更新下聊天室的版本。 主要目的是为了掌握Protobuf的使用。 二、设计思路 通过Protobuf中内置好的编码函数,将要发送的数据进行编 阅读全文
posted @ 2018-08-28 21:39 Zoctopus_Zhang 阅读 (629) 评论 (1) 编辑
摘要:最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。 软件环境:Goland、Navicat for MySQL。 一、实现思路 1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑,再建立四 阅读全文
posted @ 2018-08-27 21:54 Zoctopus_Zhang 阅读 (753) 评论 (0) 编辑
摘要:本文整理了网络/游戏/编程相关的专业术语,作为游戏开发中的辅助参考资料,后期如果遇到其他的术语还会更新。 16毫秒 / 帧速率 Frame Rate。 电子游戏使用的光栅显示器是普通电视时,图像一般每秒更新60次。图像更新的时间叫做帧,1秒60次即1次16毫秒(0.0167秒 = 16.7毫秒)。 阅读全文
posted @ 2018-08-19 20:10 Zoctopus_Zhang 阅读 (1560) 评论 (0) 编辑
摘要:本文内容源自腾讯游戏学院程序公开课_服务器第四节 一、数据存储基础 什么是数据存储? 运行数据保存到硬盘上形成持久化数据。 data——>file(database)——>file system——>hard driver 数据变为文件,存入文件系统,文件系统通过OS这一层落到硬盘上面。 数据库 - 阅读全文
posted @ 2018-08-16 00:37 Zoctopus_Zhang 阅读 (1377) 评论 (0) 编辑
摘要:代码仓库地址 一、介绍 Protobuf是Google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用做数据存储和作为不同应用,不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一proto文件被编译成不同的语言版本,加入到各自的工程中去,这样不同语言就可以解析其他 阅读全文
posted @ 2018-08-13 21:52 Zoctopus_Zhang 阅读 (1662) 评论 (0) 编辑
摘要:本文共34道题目 一、判断题 此题考查编码规范。 反射最常见的使用场景是做对象的序列化(serialization,有时候也叫Marshal & Unmarshal)。 例如:Go语言标准库的encoding/json、encoding/xml、encoding/gob、encoding/binar 阅读全文
posted @ 2018-08-06 17:36 Zoctopus_Zhang 阅读 (217) 评论 (0) 编辑
// function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);