自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

INotWant的博客

勤能补拙!!!

  • 博客(39)
  • 资源 (6)
  • 收藏
  • 关注

原创 U Boot

U_boot目标制作一个U启动,使得计算机从U盘引导时,可把U盘指定目录下(boot 目录)的指定文件(kernel)加载至内存,并由此执行。即,实现以下启动流程:把 OS 的 kernel 拷贝至U盘的 boot 文件夹下,并重命名 kernel 文件 为 kernel重启电脑,选择从U盘引导电脑最后将把U盘中的 kernel 加载至内存并运行。如此,可从物理主机上运行自写的 OS准备一些有关U启动的基础知识请参考 -> U启动版的 “HelloWorld”由上述文

2021-04-06 17:02:21 353

原创 U启动版的 “HelloWorld”

U启动版的 “HelloWorld”出发点使用 U启动、大白菜 多次制作过U盘启动盘,终于有一天,好奇U启动的引导过程,所以不如尝试自己动手实现U启动版的“HelloWorld”。目标制作一个U盘,使其支持以下场景:把U盘插入电脑;开机,选择 USB-HDD 模式启动;U盘启动,在屏幕打印 Hello, OS world!实现方法注:本节只介绍怎么实现,具体原理请参考下一节。另,每个扇区 512 字节。1. 一些准备U盘、U盘分区工具(如,Win10自带的 磁盘管理 、DiskG

2021-03-15 23:10:28 459 2

原创 OS & Lisp -- 每位程序员都有自己的 “操作系统”(os) 和 “语言”(lisp) 梦

OS & Lisp每位程序员都有自己的 “操作系统”(os) 和 “语言”(lisp) 梦!简介项目地址实现一个简单的操作系统,只需此操作系统支持 Lisp 语言。开机动画:开机后启动 Lisp 解释器:Lisp 可自举(第一版已实现,即 lisp_c分支):运行环境只针对 i386 架构,需要交叉编译器、模拟器环境。下面以 Mac 为例:安装模拟器 --> brew install qemu安装汇编编译器 --> brew install nas

2021-01-16 23:35:03 810 1

原创 一道经典笔试的多种实现

题目描述实现三个线程的依次打印。比如,第一个线程打印 “阿”,第二个线程打印 “里”,第三个线程打印 “巴巴”。实现一使用 SynchronousQueue!import java.util.concurrent.SynchronousQueue;public class Test1 { private static SynchronousQueue<Boolean> synchronousQueue1 = new SynchronousQueue<>();

2020-07-25 22:30:48 85

原创 Vim 编辑及编译 Latex

0. 一些准备使用 apt 安装一些依赖# latex 编译器sudo apt install latexmk# latex 编译需要的一些字体库sudo apt install texlive-fonts-recommended# latex 对中文的支持sudo apt install latex-cjk-all为 vim 安装插件管理工具 VundleVundle具体...

2019-10-28 13:42:00 1034

原创 为什么fork后在子进程的线程中执行exec前只允许调用异步信号安全函数

Fork-One 模型如表 5–1 所示,pthread fork(2) 函数的行为与 Solaris fork1(2) 函数的行为相同。pthread fork(2) 函数和 Solaris fork1(2) 函数都将创建新的进程,并将完整的地址空间复制到子进程中。但是,这两个函数都只将调用线程复制到子进程中。当子进程直接调用 exec() 时,将调用线程复制到子进程中非常有用,大多数...

2019-08-18 15:44:14 632

原创 使用 CRF 做中文分词

使用 CRF 做中文分词概要简述 CRF问题描述(中文分词任务)构建特征函数CRF 学习算法(改进的迭代尺度法)CRF 预测算法(维特比算法)注:以上实现只针对中文分词任务。1. 简述 CRF注,以下内容需要一定的学习成本,如有不适请跳至下一节(实战中学习)。但,建议先大概学一下理论!学习 CRF 的路线:大概了解 概率图模型(将概率用图的方式表示出来,节点表事件,边代...

2019-06-23 12:56:06 6620 8

转载 Ubuntu 18.04 屏蔽 ctrl + alt + 箭头 快捷键

Ubuntu 18.04 桌面环境默认使用的是 gnome3,我们做开发的通常会使用 JetBrain 家的 IDE,一来功能强,二来颜值高。JetBrain 的 IDE 在追踪代码的时候,常用的快捷键是 Ctrl+Alt+Left 和 Ctrl+Alt+Right,而这两组快捷键正好和 gnome3 切换 WorkSpace 的快捷键冲突,导致在 IDE 中以上快捷键不可用。当然,gnome3...

2019-06-06 09:53:28 3515 3

原创 Implement MQTT's Broker Based on Netty

Implement MQTT’s Broker Based on Netty分享一个Netty入门项目:基于 Netty 实现 Mqtt’s 的服务端。点我概述目标基于 Netty 较完整的实现 MQTT3.1协议。有以下几点说明:有关 MQTT 协议的介绍,请见 官网 或者阅读 docs 文件夹下的相关文件针对 MQTT 协议的版本号:v3.1.1此处只实现 MQTT 的 br...

2019-05-17 10:40:50 357

原创 Java 并发编程[1] -- Java 内存模型

Java 并发编程[1] – Java 内存模型推荐无广告版本:Java 并发编程[1] – Java 内存模型一. 并发的意义处理器性能的提高已经从 主频 的提升转变为 核心 的堆加。而并发编程是我们使用更多核心的基础,并发的合理应用能极大提高应用的性能。在应用中往往使用计算机中的各种资源,而不同类型的资源速度、个数有些许的差异。在某种资源成为应用性能瓶颈的时候,可以让 CPU 做其他...

2019-03-06 11:03:38 142

原创 自己如何实现一个全连接网络

自己如何实现一个全连接网络?1. 目标自己实现一个全连接网络(即,MLP(多层感知机)),并最终能在 MNIST 数据集上取得 95% 左右的准确率;熟悉 BP(反向传播的过程);熟悉 BGD mini-BatchSGD 过程;2. 难点上述的 2 3 处有小坑(如果不细心的话);机器学习的调试不是代码的调试!(后面再解释);3. How to do?Are you o...

2018-11-04 15:47:33 7654

原创 使用 Java 读取 MNIST 数据集

使用 Java 读取 Mnist 数据集0. 前言好久没写 blog 了,没有坚持住,心中满满的负罪感!!!上周一时冲动了,决定自己 code 一下 mlp (多层感知机)。最后的测试部分使用它来识别手写数字,也就是在 MNIST 数据集上训练并测试效果。在读取 MNIST 数据集时本打算使用轮子,可并没找到使用 Java 创造的轮子。于是,根据官网的存储格式说明自己写了一个。遂得此文,望...

2018-11-01 21:48:03 2805 10

原创 如何简单的实现 AOP

AOP1. aop 简介1.1 什么是 aopAOP (Aspect Oriented Programming,面向切面编程),可以在运行时动态地将代码切入到类中指定方法、指定位置上的一种技术。说白了,就是把 横切逻辑 从 业务逻辑 中抽离出来。哪些属于 横切逻辑 呢?比如,性能监控、日志、事务管理、权限控制等等。1.2 aop 综述更详细的介绍请参考(Spri...

2018-05-20 10:52:55 10781

原创 IOC

[IOC]1. ioc 简介1.1 ioc 定义ioc (Inversion of Control, 控制反转)把创建对象的操作交给框架,亦被称为 DI(Dependency Injection, 依赖注入)。为什么叫做 “控制反转” 呢?之前,我们想要一个对象都是 new 出来的,天天需要 new 对象是不是感觉有点麻烦。有人就想到了,把这些简单重复的工作也交给框架做。本...

2018-05-19 11:51:46 2189 1

原创 记第一次读源代码 -- WebMagic

Summary 阅读了好久 webmagic-core 源码,总想写点什么。。。故在今终结之日(18/01/08),写个小结。 其实,此时又是新的开始~从何写起?一开始先介绍一下它的总体框架?我不想这么来,因为作者已经介绍了很清楚。所以,这里直接拿作者的一幅图来概述(更详细的信息可以去参考它的Github主页)。那就先来总结一下我的阅读过程吧!这是我第一次阅读大

2018-01-08 15:54:10 736

原创 归并排序多线程化

Multiple thread for the MergeSortIntroduction to Algorithm

2018-01-03 11:52:03 1918 1

原创 Find in Large File

Find in Large File0. 来源最近有学弟问我如何从一个大文件中查找,借自己的一些经验,立刻就认为有两种选择: - 文件稍微小一点的话,使用 Map 就可以了,把 ++label++ 放到 key 中,而 value 放的是 ++content++; - 文件大一点的话,直接使用数据库吧;为什么会有这样的想法呢?因为我之前就是这样做的~可是,现在我会怎么做呢?于是,我做了几个实验想

2017-12-21 21:48:12 213

原创 Generics

Why Use Generics?概况的说,泛型使得一些类型(类、接口)可在定义 classes interfaces 或 methods 时被参数化。泛型的作用:编译时更强大的类型检查消除部分强制转换书写更通用的代码

2017-10-31 23:49:28 491

原创 基于 webmagic 的知乎爬取[GitHub]

ZhiHuCrawler(基于 webmagic 的知乎爬取)简介GitHub 地址 出于兴趣想要分析一下知乎,所以爬取了一些知乎的数据。爬取的数据主要有三种: - 某种话题(如互联网、软件工程)下的问题 - 知乎大V(如张佳玮、李开复等) - 大V回答模块主要分两个模块:话题问题爬取(ZhiHuTopics package) 该模块主要爬取某话题下的 Question ,比如爬取 软件

2017-10-13 17:17:14 1471

原创 《算法导论》中算法的部分实现[GitHub]

Introduction to Algorithms介绍GitHub地址 阅读《算法导论》过程中实现的部分算法(Java版)。已实现的算法(后续持续更新。。。)chapter 2插入排序归并排序chapter 3最大子数组问题chapter 6堆 数据结构堆排序chapter 7快速排序快速排序(随机增强版)chapter 8计数排序桶排序基数排序chapter 9期望为线性

2017-10-13 15:38:45 1568

转载 编程职业的乐趣

编程职业的乐趣美酒的酿造需要年头,美食的烹饪需要时间;片刻等待,更多美味,更多享受。编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐? 首先是一种创建事物的纯粹快乐。

2017-06-23 22:37:24 296

原创 Java 多线程(1)

1. 概述 了解操作系统后,想学 Java多线程 好久了。一开始我学习了《Think In Java》中的多线程,真心讲的很好。但是,有的过于深刻。需要,自己慢慢体会、总结。所以,我又入手了《Java 多线程编程核心技术》。打算,回头再看《Think In Java》。 我计划以《Java 多线程编程技术》为线,写一下自己对 Java多线程 的理解。

2017-06-02 12:40:16 224

原创 Ubuntu & Win10 双系统(UEFI版)

Ubuntu & Win10 双系统(UEFI版)最近想玩一下 Linux ,一开始在 VM(虚拟机) 上装了 Ubuntu14 ,可是感觉有点卡。于是打算弄双系统,便开始折腾。。。先看一下电脑配置联想小新 v1000原系统为 Win10卸掉了光驱在某东上买了个光驱位托盘,装了 SSD (真的很快,小新的第二春)

2017-05-29 20:57:06 745

原创 设计模式(10)-------装饰者模式

装饰者模式1. 什么是装饰者模式 装饰者模式 好比给原来的相片添加相框。不改变原来的相片,只是在它的外面表上一相框,给相片添加某些特定的功能,比如,用来防潮等等。从类的角度看就是,不改变原有的对象,通过 组合 的方法来添加功能。注意:只要你愿意还可以在有相框的照片上再添加一相框,这里也一样给某对象装饰多个功能。

2017-05-29 11:21:24 285

原创 道路 AND 机器学习 OR 软件工程

道路 AND 机器学习 OR 软件工程? 一年一度的高考就要来临了,我作为一个过来人虽没有什么压力,但却面临的是大学的结束。四年的大学时光,已匆匆过了三年。以后要搞什么,还是一片迷茫。有幸的是大学开始选择志愿的时候选择了计算机专业,符合我的兴趣。哎,现在的高中只授高考,在选择专业的时候只认识专业的名字,却不知道具体的方向。希望大家在选择专业的时候要 慎重考虑 !

2017-05-27 22:57:49 779

原创 NLP入门实验

[1] 什么是 NLP(自然语言处理)[2] 为什么要写博客 入手差不多有一个月,算是有点了解。前期总想着把自己一步步获取的知识写下来,用以作为知识路线为以后的深造指明方向。先,把前期做的几个小实验总结一下 [3] 内容摘要 这里只有简单的几个小实验,如果你想入门 NLP。建议看一下去搜一下,CSDN 中就有好多资料。这里可以帮你在刚刚入门后,自己动动手。当然,有一定基础的可以根

2017-04-09 17:24:56 1080

原创 设计模式(9) ------- 组合模式

设计模式(9) ——- 组合模式利用组合模式来处理树形结构,比如操作系统的目录结构、应用软件的菜单组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构的一部分,亦可以一致性地处理树形结构的叶子节点和容器节点。组合模式概述组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体-部分”关系的层次结构。组合模式对单个对象(即叶子)和组合对象的使用具有

2017-03-05 20:19:29 220

原创 设计模式(8) ------- 桥接模式

设计模式(8) ——- 桥接模式桥接模式是一种很实用的结构性设计模式。桥接模式是一个非常有用的模式,在桥接模式中体现了很多面向对象设计原则的思想,包括“单一职责原则”、“开闭原则”、“合成复用原则”、“里氏代换原则”、“依赖倒转原则”等。熟悉桥接模式有助于我们深入理解这些设计原则,也有助于我们形成正确的设计思想和培养良好的设计风格。概述桥接模式 桥接模式(Bridge Pattern):

2017-02-20 22:25:41 485

原创 面向对象设计原则

面向对象设计原则学习设计模式的基础面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则。7 种常用面向对象设计原则如下表所示各个详细介绍单一职责原则(Single Responsibility Principle) 单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下: 单一职责原则(Sing

2017-02-06 11:49:16 220

原创 设计模式(7) ------- 适配器模式

设计模式(7) ——- 适配器模式适配器模式是指将一个接口转换成希望的另一个接口,该模式使得原来不兼容的类可以一起工作概述适配器模式 适配器模式的作用就是适配,换个词也就是转换作用。这里举个例子。新买的手机自带的耳机是 2.5 接口的,有一天耳机坏了或者丢了,但是在市场上根本就买不到 2.5 接口,基本上都是 3.5 的接口了。没办法,你只好买了个 3.5 接口的耳机。在购买的时候老板推荐

2017-02-05 10:31:49 186

原创 设计模式(6) ------- 原型模式

设计模式(6) ——- 原型模式假期过得好快呀,转眼间已经过了一半了。唉,还有好多东西没做,努力!努力,再努力!这一篇写一写原型模式,这个比较简单。原型模式说白了就是通过复制现在已经存在的对象来创建一个新的对象。概述原型模式 原型模式就像上面所述的那样,就是通过复制现在已经存在的对象来创建一个新的对象,说白了就是 copy。它的难易程度仅仅次于单例模式。

2017-02-03 18:35:45 192

原创 设计模式(5) ------- 建造者模式

设计模式(5) ——- 建造者模式一天天过的好快,玩了好几天该正式看点东西了~\~下面介绍建造者模式,建造者模式与工厂模式有点类似。但是建造者模式更注重建造细节,而工厂模式注重的是结果。一般建造者模式利用在复杂类里面。比如类中有繁琐的建造过程或者有多个参数。这里首先,我们应该在学习时铭记设计模式的一般目的: 封装、可扩展等等,要不在有些时候会感觉可以使用更简单的代码代替而不理解为什么这么写。

2017-02-02 11:59:32 226

原创 设计模式(4) ------- 单例模式

设计模式(4) ——- 单例模式这几条比较忙,都没时间码代码了。 俗话说:三天不打上房揭瓦。今天必须写一写继续设计模式的学习,本篇简单介绍一下单例模式单例模式的由来(作用) 很多时候,我们需要在应用中保存一个唯一的实例。比如,后台服务程序需要一个全局的计数器。通俗的讲,单例模式实现的就是使一个类的实例对象唯一,实例对象都指向的同一个地址。

2017-01-30 18:38:14 354 1

原创 设计模式(3) ------- 抽象方法模式

设计模式(3) ——- 抽象方法模式抽象工厂模式可以说是工厂方法模式的进一步抽象。关于 工厂方法模式概述抽象工厂模式 工厂方法模式是针对一个产品族,而抽象工厂模式是针对多个产品族。

2017-01-28 11:21:47 282

原创 设计模式(2) ------- 工厂方法模式

设计模式(2) ——- 工厂方法模式上一篇关于简单工厂模式的介绍留了点小尾巴,对于简单工厂模式的缺点没有介绍。在这里首先讲一下,然后再利用它来引出 — 工厂方法模式(这算是上次偷懒的好借口吧 O(∩_∩)O~)上一篇 简单工厂模式

2017-01-25 21:55:46 234

原创 设计模式(1) ------- 简单工厂模式

设计模式(1) ——- 简单工厂模式这几天打算开始学习一下设计模式,所以写几篇博文来分享一下也用来督促自己哈对于设计模式不同的高级语言有不同的表达,但总体或者说是思想都是差不多的,这里是基于Java的初次学习难免有很多错误,希望可以和大家一起讨论好了,废话少说开干

2017-01-23 23:36:38 222

原创 阅读笔记[2] ——《Think In Java》 Chapter 14 (1)

阅读笔记[2] ——《Think In Java》 Chapter 14 (1)本章主要问题:运行时识别对象和类的信息。主要有两种方法:传统的RTTI;反射机制。此博文先介绍传统的RTTI。

2016-10-05 23:29:43 309

原创 泛型类中类型参数不能做数组的讨论

泛型类中类型参数不能做数组的讨论想必对于深入研究过 Java 的人来说,一看就知道这是由于泛型实现的机制——擦除造成的。这里只是分享一下,我的思考过程和一下感受。

2016-10-04 23:16:47 502

原创 阅读笔记[1] ——《Think In Java》 Chapter 13

阅读笔记[1] ——《Think In Java》 Chapter 13

2016-10-02 22:00:42 341

crf_data.zip

含《人民日报2014》的语料,以及自己训练的CRF模型。如有兴趣请查看我的博客。

2019-06-23

使用 java 实现一个全连接网络(MLP)

使用 java 实现一个全连接网络(MLP)。 最终能在 MNIST 数据集上取得 95% 左右的准确率。

2018-11-04

最大匹配算法

最大匹配算法,中文分词

2017-04-09

基于LM的检索

基于LM的检索

2017-04-09

小型信息检索

小型信息检索

2017-04-09

中文分词(实验一)

2017-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除