Skip to content

Instantly share code, notes, and snippets.

Avatar
🌞
𝕷𝖔𝖓𝖌 𝖒𝖆𝖞 𝖙𝖍𝖊 𝖘𝖚𝖓 𝖘𝖍𝖎𝖓𝖊

beary beary

🌞
𝕷𝖔𝖓𝖌 𝖒𝖆𝖞 𝖙𝖍𝖊 𝖘𝖚𝖓 𝖘𝖍𝖎𝖓𝖊
View GitHub Profile
View 设置 powershell 的默认字体为 utf8.md

使用 powershell 的时候,在“属性-字体”中无法选择Consolas字体,因为国内版本的 windows 采用了 gbk 编码,如果将编码改成 utf8 即可解决。

要设置 powershell 默认 utf8 编码,可以在终端中输入

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

但是每次打开终端都要这样设置很麻烦,不过 powershell 也提供了一个类似 .bash_profile 的机制,可以将上面的脚本写在配置文件中,每次打开自动执行即可。

配置 powershell profile

@beary
beary / 给 react-router 添加 onEnter 钩子.md
Last active May 5, 2018
给 react-router 添加 onEnter 钩子
View 给 react-router 添加 onEnter 钩子.md

React-router v4 移除了路由的钩子函数,所以在路由发送改变但组件没有重新 mount 的情况下,是无法通过获取路由信息来更新组件的。

好在 react-router 所使用的 history 提供了对路由的监听,所以我们可以通过这种方式来造一个 onEnter 钩子。

思路:在实际应用中,大多数组件都是无状态的,所以一般只有视图页面需要用到路由钩子,而 componentDidMount 和 componentWillUnmount 在视图页面应该是很少使用的,所以就用它们来实现。

/* WithEnterHook.tsx */

import * as React from 'react'
@beary
beary / 搭建 React 项目.md
Last active May 4, 2018
搭建 React 项目
View 搭建 React 项目.md

前言

用 webpack 来手工搭建其实是可以的,但是其中的工作量不小,如果每个项目都这样干会比较花时间。

好在 React 官方提供了create-react-app这样一个工具,所以现在使用 create-react-app 来搭建一个 React 应用。

安装 create-react-app

安装完Node.js后,在终端执如下命令

$ npm i -g create-react-app
View 1. 包,变量和函数.md

每个 go 程序都是由包组成的,程序从main包开始运行。

package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}
@beary
beary / init.js
Last active Apr 26, 2018
初始化 react-typescript-less APP
View init.js
const { spawnSync } = require('child_process')
const { writeFileSync } = require('fs')
const run = cmd => {
const arr = cmd.split(' ')
.map(i => i.trim())
.filter(i => i !== '')
console.log('Run:', cmd)
if (arr.length > 0) {
const [command, ...args] = arr
@beary
beary / 1. 线程带来的问题.md
Last active Apr 21, 2018
《java 并发编程实战》学习笔记
View 1. 线程带来的问题.md
  1. 安全性问题,多线程的情况下对同一变量的操作会产生竞态条件,需要使用同步来解决
View haskell环境搭建.md

为了保证版本最新,不使用包管理器安装。

其实用 stack 安装也可以,但主要是 stack setup 时下载速度太慢,以为是国内网速问题,然而配置了 tuna 的镜像后依然极慢无比,而且出现神奇的下载进度变少的情况(刚刚是2.x%,过一会儿变成了1.6% 😆

于是采用如下流程安装

  • 先把 [haskell-platform][1] 安装好(下载下来解压跑安装脚本),现在 ghc 和 cabal 都是最新的,不过 stack --version 发现 stack 版本比较老

  • 于是下载 [stack][2] 后解压放在 /usr/local/haskell/ 下,然后 rm -rf /usr/local/bin/stack 删除老的 stack 链接,再 ln -s /usr/local/haskell/stack-1.3.2-linux-x86_64-static/stack /usr/local/bin/stack 将新版本链接进去

You can’t perform that action at this time.