Exceptional Control Flow

introduction to multiprocessing, fork, **wait****pid**, execvp, process ids, inter-process communication, context switches, user versus supervisor mode. protected address spaces, virtual memory, main memory as cache, virtual to physical address mapping. concurrency versus parallelism, multiple cores versus multiple processors, concurrency issues with multiprocessing. interrupts, faults, systems calls, signals, design and implementation of a simple shell. virtualization as a general systems principle, with a discussion of processes, RAID, load balancers, AFS servers and clients.

filesystems

Key Question: How can we design filesystems to store and manipulate files on disk? Linux and C libraries for file manipulation: stat, struct stat, open, close, read, write, readdir, struct dirent, file descriptors, regular files, directories, soft and hard links, programmatic manipulation of them, implementation of ls, cp, cat, etc. naming, abstraction and layering concepts in systems as a means for managing complexity, blocks, inodes, inode pointer structure, inode as abstraction over blocks, direct blocks, indirect blocks, doubly indirect blocks, design and implementation of a file system.

Network Programming

client-server model, peer-to-peer model, protocols, request and response as a way to organize modules and their interactions to support a clear set of responsibilities. stateless versus keep-alive connections, latency and throughput issues, gethostbyname, gethostbyaddr, IPv4 versus IPv6, struct sockaddr hierarchy of **struct**s, network-byte order. ports, socket file descriptors, socket, connect, bind, accept, read, write, simple echo server, time server, concurrency issues, spawning threads to isolate and manage single conversations. C++ layer over raw I/O file descriptors, introduction to sockbuf and sockstream C++ classes.

Principles of Computer Systems

Prerequisites: Programming languages: C, C++ Tools: gcc, g++, gdb, make, Makefiles, valgrind (memory-leak checker), mercury (version control) Default environment: Unix/Linux some experience with basic computer architecture x86-64 Reference https://web.stanford.edu/class/cs110/ https://web.stanford.edu/class/archive/cs/cs110/cs110.1202/static/lectures/ https://web.stanford.edu/class/archive/cs/cs110/cs110.1204/static/lectures/ https://web.stanford.edu/class/archive/cs/cs110/cs110.1224/examples/ http://web.stanford.edu/class/cs110/summer-2021/slides/ https://web.stanford.edu/~hhli/CS110Notes/CS110NotesCollection/ https://web.stanford.edu/class/archive/cs/cs110/cs110.1182/autumn-2017/ https://web.stanford.edu/class/archive/cs/cs110/cs110.1182/autumn-2017/lectures/ https://www.cs.cmu.edu/afs/cs/academic/class/15213-f22/www/schedule.html https://www.cs.cmu.edu/~213/

The Valgrind Quick Start Guide

1. Introduction The Valgrind tool suite provides a number of debugging and profiling tools that help you make your programs faster and more correct. The most popular of these tools is called Memcheck. It can detect many memory-related errors that are common in C and C++ programs and that can lead to crashes and unpredictable behaviour. The rest of this guide gives the minimum information you need to start detecting memory errors in your program with Memcheck.

How to Make a Direct Download Link for Google Drive Files

Right-click the file you want to download and click “Get link”. click the “Change to Anyone with the Link” option at the bottom of this window. Your copied link should look something like the following: 1 https://drive.google.com/file/d/18ig45WYW3uXhCU51SBnGBKwrSEET0wbV/view?usp=share_link From this link, copy the text that’s between d/ and /view . This is the unique file ID for your Google Drive file. Construct download page link. In the following link, replace FILEID with the unique file ID that you copied from above.

Guide to makefiles

An Introduction to Makefiles A simple makefile consists of rules with the following shape: 1 2 3 4 target … : prerequisites … recipe … … A target is usually the name of a file that is generated by a program, A target can also be the name of an action to carry out, such as clean. A prerequisite is a file that is used as input to create the target.

Wireshark

1 $ tshark -r all.pcapng.gz -i http==1 -O http -T fields -e http.request.method -e http.request.uri -e http.request.line -e http.response.line > dump.txt

Learn English

How to learn English Learning English is a valuable skill, and there are several effective ways to do so. Here’s a guide to help you learn English: Start with the Basics: Learn the English alphabet and basic pronunciation. Familiarize yourself with common greetings, such as “Hello,” “Good morning,” and “How are you?” Enroll in an English Course: Consider taking an English course at a local language school, community college, or online platform.

Scraping with Scrapy and Django Integration

Installing Dependencies (Optional) 1 $ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 1 2 $ python -m pip install --user virtualenv $ python -m pip install --user virtualenvwrapper 1 $ vim ~/.bashrc 1 2 3 export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 1 $ source ~/.bashrc 1 $ mkvirtualenv stock-screener 1 pip install django djangorestframework markdown django-filter Scrapy scrapyd python-scrapyd-api scrapy-djangoitem proxybroker celery redis django-celery-results django-celery-beat Creating a Django Project 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $ django-admin startproject stock_screener $ cd stock_screener $ mkdir stock_screener/apps/basic_info $ django-admin startapp basic_info stock_screener/apps/basic_info $ mkdir stock_screener/apps/northbound $ django-admin startapp northbound stock_screener/apps/northbound $ mkdir stock_screener/apps/financial_metrics $ django-admin startapp financial_metrics stock_screener/apps/financial_metrics $ mkdir stock_screener/apps/quotes $ django-admin startapp quotes stock_screener/apps/quotes $ mkdir stock_screener/apps/jobs $ django-admin startapp jobs stock_screener/apps/jobs Cannot add backslash suffix when run startapp command.

Web Scraping Without Getting Blocked

You need to make your scraper undetectable to be able to extract data from a webpage, and the main types of techniques for that are imitating a real browser and simulating human behavior. For example, a normal user wouldn’t make 100 requests to a website in one minute. Be a Responsible Scraper: Make sure you check your target’s terms of services. Also, perform scraping during off-peak hours, so it doesn’t affect the system performance for other users.

Data Analysis

The collection, transformation, and organization of data in order to draw conclusions, make predictions, and drive informed decision-making. Data Collection Data Understanding Initial data analysis A descriptive statistic is a summary statistic that quantitatively describes or summarizes features from a collection of information. Univariate analysis Central tendency mean median mode (众数) Dispersion range quartiles (四分位数) variance standard deviation Univariate distributions discrete distributions

Getting Started with Tableau Public

Install the Tableau Public application 1 winget install -e --id Tableau.Public Connect to your data Connectors Text File (*.txt, *.csv) JSON File Other Databases (JDBC) Other Databases (ODBC) Web Data Connector Connector Plugin Create sheets Create charts Create charts in sheets by drag Fields from the Data pane to the Columns or Rows shelves in the workspace. Filters In the Data pane, right-click Fields and select Show Filter. The filters

proxy for crawler

1 2 3 4 5 6 7 8 9 10 from proxybroker import Broker, Checker async def check(proxy): broker = Broker() ip = await broker._resolver.get_real_ext_ip() checker = Checker(judges=None, real_ext_ip=ip) results = [] for proto in ['HTTPS', 'HTTP']: result = await checker._check(proxy, proto) results.append(result) return True if any(results) else False

25 Phone Interview Tips

Phone Interview Questions Tell me about yourself / Tell me about your background Describe yourself Why are you applying for this position? Why do you want this jon? Tell me what you know the role Why do you want to work here? Why are you looking for jobs? What are you passionate about? What are your salary expectations? Are you interviewing with other companies? Phone interview tips 1. Confirm the

big data

数据预处理的方法 什么是大数据(他给我讲了十分钟大数据) Hadoop架构 Hadoop节点组成 客户端上传文件到Hadoop中的过程是怎么样的

coding questions

统计字符串中某字符出现次数 字符串转化大小写 用两种方法去空格 正则匹配不是以4和7结尾的手机号 两面都让写了正则 正则匹配,匹配日期2018-03-