Let iTrem 2 + zsh startup no longer wait!

iTerm as a built-in terminal mac alternatives really handy,Multi-function、Interface is also nice。Skin with zsh +,Since then, the terminal also beautiful (thematic map)。

but,zsh is always very slow start,Although the content before each start input is still not lost,But always waiting is not a thing (to tell the truth,I have endured so many years ......)

In short,In fact, this problem can be solved:

Enter iTerm2 preferences in,Edit your configuration in the Profiles,In the configuration on the right side of the Ge[……]

Click link to continue reading...

Swift in the use cmph

cmph It stands for C Minimal Perfect Hashing Library ,It is a very well-known, written in C minimal perfect hash library,What is a perfect hash?

Perfect hashing

Here we do not speak principle,You just need to know that the traditional hash conflict,We need to rely on a variety of algorithms to deal with conflict can be,For hash,Always need a table,This table reserved many locations,Then the calculated value is the coordinates of these locations,You can put data into the corresponding coordinate in。

But this time there is a problem,in case[……]

Click link to continue reading...

A quick look at the string

Most of the time,We needStringExecutedFind,To determine the specific content filtering out。For example, through the input method which pocketed,We need to use auxiliary code word to filter out candidates need。

In General,FindComparative numbers and certainly the fastest,However, in the lexicon can not put all the words are converted to digital (although theoretically feasible ......) inStringSearches on,We realize there are many ways to,Here, I say my own ideas:


Since my thesaurus secondary screening is effective only for code words or word vocabulary,Then I consider[……]

Click link to continue reading...

Based on Dynamic Programming sentence input method

In General,We will not useDynamic ProgrammingCall it the algorithm for the problem "Dynamic Programming”,But called "Hidden Markov Models”,but,If we simply use the dynamic programming algorithm to solve a common directed acyclic graph,Then it can only be said to be dynamic planning ......

This time we want for the,It is based on the thesaurusWhole sentence inputlaw。The hidden Markov model is not based on the state transition Solution。


Since no model,Our sentence input is based on words,We need a thesaurus。The thesaurus should record the most ordinary common vocabulary,And there is a[……]

Click link to continue reading...

ios VoiceOver support for visually impaired users

In fact, few users know,ios system is actually a complete set of easy access mechanism,Many blind orVisually ImpairedUsers prefer to useiphone

So,As a developer,I think both in terms of product sales or as a side responsibility,We should do well to easily access support。

Fortunately, however,,Thanks to Apple's strict development standards,It is generally as long as your app can be added to already approved,So basically VoiceOver It has been able to identify most of your app in the,More generic,For example tabV[……]

Click link to continue reading...

iOS platform SQLite Performance Optimization


In the ios platform,Permanent storage of data so few,比如说 coredata,For example realm,There are several options of nosql,But unfortunately,Several programs to support functions are still too few nosql,So let their selection is very sad - after all,,If it is a simple application of the words,It is not as good as other programs to facilitate quick - although the trend is nosql。

This time we talk about another common storage solutions --sqlite,This is very powerful stuff,It is a realization by c[……]

Click link to continue reading...

How to customize pocketed input method?

how is itcustomizeR0uter Input Tool

In pocketed input method,I provides powerful customization features for you。Whether it is simply one kind of new programs Shuangpin,Or import a five-stroke input method code table,It can be completed。

First of all,We start with the concept

Key mapping scheme

Pocketed input method to use it to generate the corresponding mapping scheme,Such as smart abc、For example, the natural code, etc.。Button mapping program has two files,Such as "smart ABC.plist" then we would have a corresponding "intelligent ABC_rev.plist",The latter is not necessary,But if you want to open "button[……]

Click link to continue reading...

Being Chinese Wikipedia corpus

Recently doing input method thesaurus,Implement new sentence input model,(Based on input model sentence the word I would talk back before),The new model is based on the input sentence HMM (I.e.Hidden Markov Models) To do,Of course,Due to limited funds, I personally equipment,Only the second order matrix。But even so,Model still need training。

of course,Not to say that with the novels and to train bad,Just difficult to find businesses related fiction,after all,Area they cover too single,In fact, this is not a high-qualityCorpusStorehouse。Speaking of high-quality,The non-naturalWiki[……]

Click link to continue reading...

Memory Problems swift hurricane

Swift language development in the use of time,Many of my friends will be baffling problem encountered memory full,Obviously there ARC ,Obviously the release of memory,But still let the program memory footprint with circulation soared。

There is not really a memory leak occurs,This is actually ARC A mechanism:In each of the main Runloop At the end of the clean-up。That is,It has a caching mechanism necessary - after all,,Who can guarantee real-time release, then you do not want to stay local variables to subsequent code to use it?

But apparently,This will[……]

Click link to continue reading...