天天爱学习


  • 首页

  • 标签

  • 分类

  • 归档

  • 英文

  • 搜索
C C++ C/C++ C语言 DevOps Django EFLAGS ERC20 ERC721 English GitHub Pages IOS开发 JavaScript Jenkins Lock MIT NFT OS Objective-C Python RPC RSA SGX __attribute__ algorithm k8s kubernetes leetcode python socket ssh virtualenv virtualenvwrapper web 分布式计算 加密 区块链 寄存器 并发 微信小程序 指针 操作系统 数据库 比特币 汇编语言 爬虫 程序优化 算法 编译器 网络编程 英语口语 虚拟python环境 论文笔记

centos安装和配置Jenkins

发表于 2019-03-21 | 分类于 DevOps | | 阅读次数:
字数统计: | 阅读时长 ≈

centOS 安装配置Jenkins

jenkins

我是在阿里云的ECS上部署Jenkins的,ECS无法提供图形界面的显示,这带来了几个问题:

  1. 文件下载和传输不方便
    采用Xftp等ftp工具。

  2. 配置Jenkins要访问localhost,ECS上没办法使用浏览器

    利用公网IP,在其他机器上访问和控制。

阅读全文 »

leetcode 53 Maximum SubArray

发表于 2019-02-26 | 分类于 算法 , leetcode | | 阅读次数:
字数统计: | 阅读时长 ≈

leetcode 53 Maximum Subarray

最大子序列和问题是用于讲解分治策略的一个经典例题,这个例题可以帮助我们很好的理解分治策略。但对于这个问题,分治策略并不是最高效的算法。

问题描述

给定一个整数数组 nums ,找到其中一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],

输出: 6

解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

阅读全文 »

leetcode 56 Merge Intervals

发表于 2019-02-13 | 分类于 算法 , leetcode | | 阅读次数:
字数统计: | 阅读时长 ≈

leetcode 56 区间合并——Merge Intervals

排序算法有很多应用,区间排序就是一种典型的应用。

问题描述

给定一组区间,合并所有重叠的区间。

例子1:

输入:[[1,3],[2,6],[8,10],[15,18]]

输出:[[1,6],[8,10],[15,18]]

例子2:

输入:[[1,4],[4,5]]

输出:[[1,5]]

阅读全文 »

leetcode 2 AddTwoNumbers

发表于 2019-02-10 | 分类于 算法 , leetcode | | 阅读次数:
字数统计: | 阅读时长 ≈

2. Add Two Numbers

问题描述

给定两个非空链表来表示两个非负整数。整数的数位反向存储,每个链表节点存储一个数字。将两个整数相加并以相同的格式返回结果。

例如:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

输出:7 -> 0 -> 8

其实就是 342 + 465 = 807

阅读全文 »

常见的系统指令

发表于 2019-01-25 | 分类于 编程语言 , 汇编语言 | | 阅读次数:
字数统计: | 阅读时长 ≈

常见的系统指令

系统指令大概可以用于实现下来功能:

  1. 指针参数验证 Verification of pointer parameters
  2. 描述符表寻址 Addressing descriptor tables
  3. 多任务处理 Multitasking
  4. 协同处理和多任务处理 Coprocessing & Multiprocessing
  5. 输入输出 Input&Output
  6. 中断控制 Interrupt control
  7. 调试 Debugging
  8. TLB检查 TLB testing
  9. 系统控制 System control

接下来我们详细介绍:

阅读全文 »

操作系统程序员必须了解的五类寄存器

发表于 2019-01-25 | 分类于 操作系统 , 硬件知识 | | 阅读次数:
字数统计: | 阅读时长 ≈

操作系统程序员必须了解的四类寄存器

供操作系统程序员使用的寄存器可以分为下面这么几类:

  • EFLAGS
  • Memory-Management Registers
  • Control Registers
  • Debug Registers

接下来我们分别介绍一下这几类寄存器。

阅读全文 »

关于gcc编译器的一些内置宏定义

发表于 2019-01-23 | 分类于 编程语言 , C/C++ | | 阅读次数:
字数统计: | 阅读时长 ≈

gcc内置宏

在看一些c语言代码时经常突然冒出一些宏,比如__FILE__、__TIME__等。前面也没有出现相关的定义,一直都没想着弄清楚是什么。这次又看到了这些宏,花了一点时间看了下是什么。

发现这些其实都是编译器内置的宏定义,所以代码中没有给出定义就能直接使用。这样的宏还不少,列出几个常见的,例如:

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>

int main()
{
printf("__FILE__ is %s \n",__FILE__);
printf("__LINE__ is %d \n",__LINE__);
printf("__FUNCTION__ is %s \n",__FUNCTION__);
printf("__DATE__ is %s \n",__DATE__);
printf("__TIME__ is %s \n",__TIME__);
printf("__TIMESTAMP__ is %s \n",__TIMESTAMP__);
return 0;
}

输出结果是:

阅读全文 »

GNU利用关键字__attribute__设置变量属性

发表于 2019-01-23 | 分类于 编程语言 , C/C++ | | 阅读次数:
字数统计: | 阅读时长 ≈

GNU利用关键字attribute设置变量的属性

关键字__attribute__可以用来声明变量、函数参数、结构体、共用体或者C++中类成员的特殊属性。使用方法是在关键字__attribute__后跟着用两个小括号包起来的属性声明。例如:

1
2
3
4
struct a {
int a1;
int a2;
} __attribute__((packed));

这个例子中声明结构体a的特殊属性——字节对齐,((packed))这个属性声明是指最小的对齐方式,即1Byte对齐。

1
2
3
4
5
#define PGSIZE 1024
struct a {
int a1;
int a2;
} __attribute__((__aligned__(PGSIZE)));

这个例子也是字节对齐,但是这次是我们自定义的对其方式:按照1024Byte进行字节对齐。

阅读全文 »

leetcode 162 Find Peak Element

发表于 2019-01-23 | 分类于 算法 , leetcode | | 阅读次数:
字数统计: | 阅读时长 ≈

leetcode 162 Find Peak Element

这个题目是MIT 6.006算法课中提到的第一个问题,也就是一维数组的Peak Finder问题。如果感兴趣看一看一下我的MIT 6.006 Lecture 1-b 笔记。

在对比不同解题思路的同时,我还对比了不同语言(c、C++、Python)。能够非常明显的看出在效率方面:c > C++ > Python;时间复杂度最高的简单算法用c语言写的效率也要大于C++写的低时间复杂度的算法,更不用说Python。当然如果看简洁程度,Python还是更优。详细情况请看具体实现。

问题描述

A peak element is an element that is greater than its neighbors.

峰值元素是指比相邻元素大的元素

Given an input array nums, where nums[i] $\neq$ nums[i+1], find a peak element and return its index.

给定输入数组nums,规定nums[i]$\neq$nums[i+1]。从该数组中找到一个峰值元素并返回它的索引值。

The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.

给定的数组中可能含有多个峰值,只需找到其中任意一个即可。

You may imagine that nums[-1] = nums[n] = $-\infty$.

你可以假设nums[-1] = nums[n] = $-\infty$。

阅读全文 »

使用virtualenv和virtualenvwrapper建立多个独立python环境

发表于 2019-01-22 | 分类于 编程语言 , Python , 环境配置 | | 阅读次数:
字数统计: | 阅读时长 ≈

Python丰富的库是它的优势之一,但是对于我这样的强迫症来说却多少有些不太友好。安装的库越来越多,加上各种库之间的依赖关系。即使能够方便地查看,也会觉得混乱。更不要说还有安装失败的时候,强迫症心里表示很不舒服。
如果你在使用Python,也像我一样是个强迫症,那么救星来了。

Python

阅读全文 »
上一页1…345下一页
七夕先生

七夕先生

我像猫,但我喜欢狗

47 日志
26 分类
53 标签
E-Mail 知乎 StackOverflow
近期文章
  • NFT之ERC721接口简介
  • C语言:多重指针和多重数组
  • ssh免密登录
  • 斯坦福大学IOS7开发课程5
  • 斯坦福大学IOS7开发课程4
© 2018 — 2022 七夕先生 | Site words total count:
Hosted by GitHub Pages