Skip to content

Commit 9451022

Browse files
committed
Updated all links to be url-endcoded
1 parent fe28ced commit 9451022

File tree

184 files changed

+826
-826
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

184 files changed

+826
-826
lines changed

en/1-Beginner/Personal-Skills/01-Learn To Debug.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ Debugging tools are wonderful when they are stable and available, but printlinin
1818

1919
Some beginners fear debugging when it requires modifying code. This is understandable - it is a little like exploratory surgery. But you have to learn to poke at the code and make it jump; you have to learn to experiment on it and understand that nothing that you temporarily do to it will make it worse. If you feel this fear, seek out a mentor - we lose a lot of good programmers at the delicate onset of their learning to this fear.
2020

21-
Next [How to Debug by Splitting the Problem Space](02-How to Debug by Splitting the Problem Space.md)
21+
Next [How to Debug by Splitting the Problem Space](02-How%20to%20Debug%20by%20Splitting%20the%20Problem%20Space.md)

en/1-Beginner/Personal-Skills/02-How to Debug by Splitting the Problem Space.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ To a true beginner, the space of all possible errors looks like every line in th
1212

1313
Once you have evenly subdivided the space of all that can go wrong, you must try to decide in which space the error lies. In the simple case where the mystery is: ‘Which single unknown line makes my program crash?’, you can ask yourself: ‘Is the unknown line executed before or after this line that I judge to be executed in the middle of the running program?’ Usually you will not be so lucky as to know that the error exists in a single line, or even a single block. Often the mystery will be more like: ‘Either there is a pointer in that graph that points to the wrong node, or my algorithm that adds up the variables in that graph doesn't work.’ In that case you may have to write a small program to check that the pointers in the graph are all correct in order to decide which part of the subdivided mystery can be eliminated.
1414

15-
Next [How to Remove an Error](03-How to Remove an Error.md)
15+
Next [How to Remove an Error](03-How%20to%20Remove%20an%20Error.md)

en/1-Beginner/Personal-Skills/03-How to Remove an Error.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ In fixing a bug, you want to make the smallest change that fixes the bug. You ma
66

77
Sometimes, there are really several bugs that look like one. It is up to you to define the bugs and fix them one at a time. Sometimes it is unclear what the program should do or what the original author intended. In this case, you must exercise your experience and judgment and assign your own meaning to the code. Decide what it should do, and comment it or clarify it in some way and then make the code conform to your meaning. This is an intermediate or advanced skill that is sometimes harder than writing the original function in the first place, but the real world is often messy. You may have to fix a system you cannot rewrite.
88

9-
Next [How to Debug Using a Log](04-How to Debug Using a Log.md)
9+
Next [How to Debug Using a Log](04-How%20to%20Debug%20Using%20a%20Log.md)

en/1-Beginner/Personal-Skills/04-How to Debug Using a Log.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ The amount to output into the log is always a compromise between information and
1010

1111
If you have a permanent log, printlining can now be done in terms of the log records, and some of the debugging statements will probably be permanently added to the logging system.
1212

13-
Next [How to Understand Performance Problems](05-How to Understand Performance Problems.md)
13+
Next [How to Understand Performance Problems](05-How%20to%20Understand%20Performance%20Problems.md)

en/1-Beginner/Personal-Skills/05-How to Understand Performance Problems.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ There are many dimensions to the performance of a computer system, and many reso
88

99
Contention for shared resources that are synchronized can cause deadlock and starvation. Deadlock is the inability to proceed because of improper synchronization or resource demands. Starvation is the failure to schedule a component properly. If it can be at all anticipated, it is best to have a way of measuring this contention from the start of your project. Even if this contention does not occur, it is very helpful to be able to assert that with confidence.
1010

11-
Next [How to Fix Performance Problems](06-How to Fix Performance Problems.md)
11+
Next [How to Fix Performance Problems](06-How%20to%20Fix%20Performance%20Problems.md)

en/1-Beginner/Personal-Skills/06-How to Fix Performance Problems.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Often, the bottlenecks in performance will be an example of counting cows by cou
1010

1111
What do you do when you start to run out of low-hanging fruit? Well, you can reach higher, or chop the tree down. You can continue making small improvements or you can seriously redesign a system or a subsystem. (This is a great opportunity to use your skills as a good programmer, not only in the new design but also in convincing your boss that this is a good idea.) However, before you argue for the redesign of a subsystem, you should ask yourself whether or not your proposal will make it five to ten time better.
1212

13-
Next [How to Optimize Loops](07-How to Optimize Loops.md)
13+
Next [How to Optimize Loops](07-How%20to%20Optimize%20Loops.md)

en/1-Beginner/Personal-Skills/07-How to Optimize Loops.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ Sometimes you'll encounter loops, or recursive functions, that take a long time
1212

1313
The cost of each of these operations depends on your specific system. On some systems compilers and hardware do these things for you. Clear, efficient code is better than code that requires an understanding of a particular platform.
1414

15-
Next [How to Deal with I/O Expense](08-How to Deal with IO Expense.md)
15+
Next [How to Deal with I/O Expense](08-How%20to%20Deal%20with%20IO%20Expense.md)

en/1-Beginner/Personal-Skills/08-How to Deal with IO Expense.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Representations can often be improved by a factor of two or three from their fir
1010

1111
A third technique that is sometimes possible is to improve the locality of reference by pushing the computation closer to the data. For instance, if you are reading some data from a database and computing something simple from it, such as a summation, try to get the database server to do it for you. This is highly dependent on the kind of system you're working with, but you should explore it.
1212

13-
Next [How to Manage Memory](09-How to Manage Memory.md)
13+
Next [How to Manage Memory](09-How%20to%20Manage%20Memory.md)

en/1-Beginner/Personal-Skills/09-How to Manage Memory.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ An important case occurs when you can define an upper bound on the number of obj
1212

1313
Sometimes you have to explicitly free allocated space so it can be reallocated rather than rely on garbage collection. Then you must apply careful intelligence to each chunk of allocated memory and design a way for it to be deallocated at the appropriate time. The method may differ for each kind of object you create. You must make sure that every execution of a memory allocating operation is matched by a memory deallocating operation eventually. This is so difficult that programmers often simply implement a rudimentary form of garbage collection, such as reference counting, to do this for them.
1414

15-
Next [How to Deal with Intermittent Bugs](10-How to Deal with Intermittent Bugs.md)
15+
Next [How to Deal with Intermittent Bugs](10-How%20to%20Deal%20with%20Intermittent%20Bugs.md)

en/1-Beginner/Personal-Skills/10-How to Deal with Intermittent Bugs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ This illustrates some risk associated with third-party software. We were using a
1414

1515
The program performed well except on some long and unusual kinds of texts. On these texts, the code was quadratic or worse. This means that the processing time was proportional to the square of the length of the text. Had these texts occurred commonly, we would have found the bug right away. If they had never occurred at all, we would never have had a problem. As it happens, it took us weeks to finally understand and resolve the problem.
1616

17-
Next [How to Learn Design Skills](11-How to Learn Design Skills.md)
17+
Next [How to Learn Design Skills](11-How%20to%20Learn%20Design%20Skills.md)

0 commit comments

Comments
 (0)