summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ar-ar/html-ar.html.markdown120
-rw-r--r--cs-cz/elm.html.markdown24
-rw-r--r--html.html.markdown2
-rw-r--r--julia.html.markdown2
-rw-r--r--ko-kr/vim-kr.html.markdown235
-rw-r--r--perl.html.markdown27
6 files changed, 396 insertions, 14 deletions
diff --git a/ar-ar/html-ar.html.markdown b/ar-ar/html-ar.html.markdown
new file mode 100644
index 00000000..2f8ea019
--- /dev/null
+++ b/ar-ar/html-ar.html.markdown
@@ -0,0 +1,120 @@
+---
+language: html
+filename: learnhtml-tf.html
+contributors:
+ - ["Christophe THOMAS", "https://github.com/WinChris"]
+translators:
+ - ["Ader", "https://github.com/y1n0"]
+---
+
+HTML اختصار ل HyperText Markup Language، أي "لغة ترميز النص التشعبي".
+هي لغة تمكننا من كتابة صفحات موجهة لشبكة الويب العالمي.
+هي لغة توصيف للنص، تسمح بكتابة صفحات ويب عن طريق تحديد كيفية عرض النصوص والمعلومات.
+في الحقيقة، ملفات html هي ملفات تحتوي على نصوص بسيطة.
+ما هو توصيف النص هذا؟ هو طريقة لتنظيم معلومات النص عن طريق إحاطته بوُسوم فتح ووسوم غلق.
+هذه الوسوم تعطي معاني محددة للنص الذي تحيطه.
+كباقي لغات الحاسوب، هناك الكثير من إصدارات HTML. سنتحدث هنا عن HTLM5.
+
+**ملاحظة:** يمكنك تجريب مختلف الوسوم والعناصر بينما تقرأ الدرس عبر موقع كـ [codepen](http://codepen.io/pen/) حتى ترى تأثيرها وتعرف كيف تعمل وتتعود على استعمالها.
+هذه المادة تُعنى أساسا بتركيب HTML .وبعض النصائح المفيدة
+
+
+```html
+<!-- التعاليق تحاط بوسوم كما في هذا السطر -->
+
+<!-- #################### الوسوم #################### -->
+
+<!-- هنا مثال لملف html الذي سنقوم بالعمل عليه. -->
+
+<!doctype html>
+ <html>
+ <head>
+ <title>موقعي</title>
+ </head>
+ <body>
+ <h1>مرحبا بالعالم!</h1>
+ <a href = "http://codepen.io/anon/pen/xwjLbZ">الق نظرة كيف يبدو هذا من هنا</a>
+ <p>هذه فقرة.</p>
+ <p>هذه فقرة أخرى.</p>
+ <ul>
+ <li>هذا عنصر من لائحة غير مرقمة. (لائحة بالعرائض)</li>
+ <li>هذا عنصر آخر</li>
+ <li>وهذا آخر عنصر في اللائحة</li>
+ </ul>
+ </body>
+ </html>
+
+<!-- ملف HTML يُبتدأ دائما بتبيين أنه ملف HTML للمتصفح -->
+<!doctype html>
+
+<!-- بعد هذا، يبدأ بفتح الوسم <html> -->
+<html>
+
+<!-- الذي سيغلق في نهاية الملف بـ </html>. -->
+</html>
+
+<!-- لا يجب كتابة أي شيء بعد وسم النهاية ذاك. -->
+
+<!-- داخل هذين الوسمين (<html></html>) نجد: -->
+
+<!-- "ترئيس" محدد ب <head> (يجب أن يغلق بـ </head>) -->
+<!-- الترأيس يحتوي على أوصاف وبعض المعلومات الإضافية التي لا تظهر في المتصفح, تدعي metadata (المعلومات الوصفية) -->
+
+<head>
+ <title>موقعي</title><!-- الوسم <title> يحدد للمتصفح العنوان الذي يظهر في المكان المخصص للعنوان في نافذة المتصفح. -->
+</head>
+
+<!-- بعد الجزء الخاص بـ <head>، نجد الوسم <body> -->
+<!-- حتى هنا، لا شيء مما كُتب سيظهر في النافذة الرئيسية للمتصفح. -->
+<!-- يجب ان نملأ "جسد" الصفحة بالمحتوى الذي نريد أن نُظهر -->
+
+<body>
+ <h1>مرحبا بالعالم!</h1> <!-- الوسم <h1> خاص بالعناوين الكبيرة. -->
+ <!-- هناك أيضا وسوم خاصة بالعناوين الفرعية من h1، الأكثر أهمية h2 والذي يليه حتى h6 الذي هو آخر عنوان داخلي. -->
+ <a href = "http://codepen.io/anon/pen/xwjLbZ">ألق نظرة كيف يبدو هذا من هنا</a> <!-- يظهر رابطا للصفحة التي داخل السمة href="" -->
+ <p>هذه فقرة.</p> <!-- يمكن من اضافة نصوص للصفحة. يميز الفقرات -->
+ <p>هذه فقرة أخرى.</p>
+ <ul> <!-- الوسم <ul> يخلق لائحة بالعرائض -->
+ <!-- إذا أردت لائحة مرقمة، هناك الوسم <ol>. ويكون الترتيب فيه حسب تموضع العناصر داخله، الأول فالأول. -->
+ <li>هذا عنصر من لائحة غير مرقمة. (لائحة بالعرائض)</li>
+ <li>هذا عنصر آخر</li>
+ <li>وهذا آخر عنصر في اللائحة</li>
+ </ul>
+</body>
+
+<!-- وهكذا، كتابة ملفات HTML جد بسيطة -->
+
+<!-- يمكنك كذلك إضافة أنواع أخرى من الوسوم -->
+
+<!-- لادخال صورة: -->
+<img src="http://i.imgur.com/XWG0O.gif"/> <!-- مصدر الصورة يحدد داخل السمة: src="" -->
+<!-- مصدرها يمكن أن يكون رابطا أو مسارا لصورة في حاسوبك -->
+
+<!-- يمكنك كذلك تشكيل جداول. -->
+
+<table> <!-- نفتح الجدول بالوسم <table> -->
+ <tr> <!-- <tr> تسمح بتشكيل صف. -->
+ <th>العنوان الأول</th> <!-- <th> تسمح لنا بإعطاء عنوان لهذا العمود. -->
+ <th>العنوان الثاني</th>
+ </tr>
+ <tr>
+ <td>الصف الأول، العمود الأول</td> <!-- <td> تسمح بتشكيل الأعمدة، أو خانات داخل كل صف. -->
+ <td>الصف الأول، العمود الثاني</td>
+ </tr>
+ <tr>
+ <td>الصف الثاني، العمود الأول</td>
+ <td>الصف الثاني، العمود الأول</td>
+ </tr>
+</table>
+
+```
+
+## الاستعمال
+
+HTML يُكتب في ملفات تنتهي بـ `.html`.
+
+## لمعرفة المزيد
+
+* [wikipedia](https://en.wikipedia.org/wiki/HTML)
+* [HTML tutorial](https://developer.mozilla.org/en-US/docs/Web/HTML)
+* [W3School](http://www.w3schools.com/html/html_intro.asp)
diff --git a/cs-cz/elm.html.markdown b/cs-cz/elm.html.markdown
index babd46a2..f19f9e8b 100644
--- a/cs-cz/elm.html.markdown
+++ b/cs-cz/elm.html.markdown
@@ -54,19 +54,19 @@ not False -- True
["příliš", "žluťoučký", "kůň", "úpěl"]
[1, 2, 3, 4, 5]
-- Druhý příklad lze zapsat také pomocí dvou teček.
-[1..5]
+List.range 1 5
-- Spojovat seznamy lze stejně jako řetězce.
-[1..5] ++ [6..10] == [1..10] -- True
+List.range 1 5 ++ List.range 6 10 == List.range 1 10 -- True
-- K přidání položky do seznamu použijte funkci "cons".
-0 :: [1..5] -- [0, 1, 2, 3, 4, 5]
+0 :: List.range 1 5 -- [0, 1, 2, 3, 4, 5]
-- Funkce "head" pro získání první položky seznamu i funkce "tail" pro získání následujích položek
-- vrací typ Maybe. Místo zjišťování, jestli nějaká položka není null,
-- se s chybějcími hodnotami vypořádáme explicitně.
-List.head [1..5] -- Just 1
-List.tail [1..5] -- Just [2, 3, 4, 5]
+List.head (List.range 1 5) -- Just 1
+List.tail (List.range 1 5) -- Just [2, 3, 4, 5]
List.head [] -- Nothing
-- List.nazevFunkce odkazuje na funkci, která žije v modulu List.
@@ -82,7 +82,7 @@ snd ("elm", 42) -- 42
-- Je to jediná hodnota svého typu, který se také nazývá "Unit".
()
--- Záznamy jsou podobné n-ticím, ale prvky jsou pojmenovány. Na pořadí nezáleží.
+-- Záznamy jsou podobné n-ticím, ale prvky jsou pojmenovány. Na pořadí nezáleží.
-- Povšimněte si, že hodnoty vlastností se přiřazují rovnítky, ne dvojtečkami.
{ x = 3, y = 7 }
@@ -153,10 +153,10 @@ odpoved =
42
-- Předejte funkci jako parametr jiným funkcím.
-List.map zdvoj [1..4] -- [2, 4, 6, 8]
+List.map zdvoj (List.range 1 4) -- [2, 4, 6, 8]
-- Nebo použijte anonymní funkci.
-List.map (\a -> a * 2) [1..4] -- [2, 4, 6, 8]
+List.map (\a -> a * 2) (List.range 1 4) -- [2, 4, 6, 8]
-- V definici funkce lze zapsat vzor, může-li nastat pouze jeden případ.
-- Tato funkce přijímá jednu dvojici místo dvou parametrů.
@@ -182,7 +182,7 @@ fib n =
else
fib (n - 1) + fib (n - 2)
-List.map fib [0..8] -- [1, 1, 2, 3, 5, 8, 13, 21, 34]
+List.map fib (List.range 0 8) -- [1, 1, 2, 3, 5, 8, 13, 21, 34]
-- Jiná rekurzivní funkce (v praxi použijte List.length).
delkaSeznamu seznam =
@@ -339,11 +339,11 @@ $ elm repl
-- Balíčky jsou určeny uživatelským jménem na GitHubu a názvem repozitáře.
-- Nainstalujte nový balíček a uložte jej v souboru elm-package.json.
-$ elm package install evancz/elm-html
+$ elm package install evancz/elm-lang/html
-- Porovnejte změny mezi verzemi jednoho balíčku.
-$ elm package diff evancz/elm-html 3.0.0 4.0.2
--- Správce balíčků v Elmu vyžaduje sémantické verzování,
+$ elm package diff elm-lang/html 1.1.0 2.0.0
+-- Správce balíčků v Elmu vyžaduje sémantické verzování,
-- takže minor verze nikdy nerozbije váš build.
```
diff --git a/html.html.markdown b/html.html.markdown
index b64cec33..3c855b5c 100644
--- a/html.html.markdown
+++ b/html.html.markdown
@@ -9,7 +9,7 @@ translators:
HTML stands for HyperText Markup Language.
It is a language which allows us to write pages for the world wide web.
-It is a markup language, it enables us to write to write webpages using code to indicate how text and data should be displayed.
+It is a markup language, it enables us to write webpages using code to indicate how text and data should be displayed.
In fact, html files are simple text files.
What is this markup? It is a method of organising the page's data by surrounding it with opening tags and closing tags.
This markup serves to give significance to the text that it encloses.
diff --git a/julia.html.markdown b/julia.html.markdown
index 5b3f6fd8..a3154f09 100644
--- a/julia.html.markdown
+++ b/julia.html.markdown
@@ -773,6 +773,6 @@ code_native(circle_area, (Float64,))
## Further Reading
-You can get a lot more detail from [The Julia Manual](http://docs.julialang.org/en/latest/manual/)
+You can get a lot more detail from [The Julia Manual](http://docs.julialang.org/en/latest/#Manual-1)
The best place to get help with Julia is the (very friendly) [mailing list](https://groups.google.com/forum/#!forum/julia-users).
diff --git a/ko-kr/vim-kr.html.markdown b/ko-kr/vim-kr.html.markdown
new file mode 100644
index 00000000..a4cb32ec
--- /dev/null
+++ b/ko-kr/vim-kr.html.markdown
@@ -0,0 +1,235 @@
+---
+category: tool
+tool: vim
+contributors:
+ - ["RadhikaG", "https://github.com/RadhikaG"]
+translators:
+ - ["Wooseop Kim", "https://github.com/linterpreteur"]
+filename: LearnVim-kr.txt
+lang: ko-kr
+---
+
+[Vim](www.vim.org)
+(Vi IMproved)은 유닉스의 인기 있는 vi 에디터의 클론입니다. Vim은 속도와 생산성을 위해
+설계된 텍스트 에디터로, 대부분의 유닉스 기반 시스템에 내장되어 있습니다. 다양한 단축 키를 통해
+파일 안에서 빠르게 이동하고 편집할 수 있습니다.
+
+## Vim 조작의 기본
+
+```
+ vim <filename> # vim으로 <filename> 열기
+ :q # vim 종료
+ :w # 현재 파일 저장
+ :wq # 파일 저장 후 종료
+ :q! # 저장하지 않고 종료
+ # ! *강제로* :q를 실행하여, 저장 없이 종료
+ :x # 파일 저장 후 종료 (짧은 :wq)
+
+ u # 동작 취소
+ CTRL+R # 되돌리기
+
+ h # 한 글자 왼쪽으로 이동
+ j # 아래로 한 줄 이동
+ k # 위로 한 줄 이동
+ l # 한 글자 오른쪽으로 이동
+
+ # 줄 안에서의 이동
+
+ 0 # 줄 시작으로 이동
+ $ # 줄 끝으로 이동
+ ^ # 줄의 공백이 아닌 첫 문자로 이동
+
+ # 텍스트 검색
+
+ /word # 커서 뒤에 나타나는 해당 단어를 모두 하이라이트
+ ?word # 커서 앞에 나타나는 해당 단어를 모두 하이라이트
+ n # 해당 단어를 검색 후 다음으로 나타나는 위치로 이동
+ N # 이전에 나타나는 위치로 이동
+
+ :%s/foo/bar/g # 파일 모든 줄에 있는 'foo'를 'bar'로 치환
+ :s/foo/bar/g # 현재 줄에 있는 'foo'를 'bar'로 치환
+
+ # 문자로 이동
+
+ f<character> # <character>로 건너뛰기
+ t<character> # <character>의 바로 뒤로 건너뛰기
+
+ # 예를 들어,
+ f< # <로 건너뛰기
+ t< # <의 바로 뒤로 건너뛰기
+
+ # 단어 단위로 이동
+
+ w # 한 단어 오른쪽으로 이동
+ b # 한 단어 왼쪽으로 이동
+ e # 현재 단어의 끝으로 이동
+
+ # 기타 이동 명령어
+
+ gg # 파일 맨 위로 이동
+ G # 파일 맨 아래로 이동
+ :NUM # 줄 수 NUM(숫자)로 가기
+ H # 화면 꼭대기로 이동
+ M # 화면 중간으로 이동
+ L # 화면 바닥으로 이동
+```
+
+## 모드
+
+Vim은 **모드**의 개념에 기초를 두고 있습니다.
+
+명령어 모드 - vim을 시작하면 처음에 이 모드입니다. 이동과 명령어 입력에 사용합니다.
+삽입 모드 - 파일을 수정합니다.
+비주얼 모드 - 텍스트를 하이라이트하고 그 텍스트에 대한 작업을 합니다.
+실행 모드 - ':' 이후 명령어를 입력합니다.
+
+```
+ i # 커서 위치 앞에서 삽입 모드로 변경
+ a # 커서 위치 뒤에서 삽입 모드로 변경
+ v # 비주얼 모드로 변경
+ : # 실행 모드로 변경
+ <esc> # 현재 모드를 벗어나 명령어 모드로 변경
+
+ # 복사와 붙여넣기
+
+ y # 선택한 객체 복사(Yank)
+ yy # 현재 줄 복사
+ d # 선택한 객체 삭제
+ dd # 현재 줄 삭제
+ p # 커서 위치 뒤에 복사한 텍스트 붙여넣기
+ P # 커서 위치 뒤에 복사한 텍스트 붙여넣기
+ x # 현재 커서 위치의 문자 삭제
+```
+
+## vim의 문법
+
+Vim의 명령어는 '서술어-수식어-목적어'로 생각할 수 있습니다.
+
+서술어 - 취할 동작
+수식어 - 동작을 취할 방식
+목적어 - 동작을 취할 객체
+
+'서술어', '수식어', '목적어'의 예시는 다음과 같습니다.
+
+```
+ # '서술어'
+
+ d # 지운다
+ c # 바꾼다
+ y # 복사한다
+ v # 선택한다
+
+ # '수식어'
+
+ i # 안에
+ a # 근처에
+ NUM # (숫자)
+ f # 찾아서 그곳에
+ t # 찾아서 그 앞에
+ / # 문자열을 커서 뒤로 찾아서
+ ? # 문자열을 커서 앞으로 찾아서
+
+ # '목적어'
+
+ w # 단어를
+ s # 문장을
+ p # 문단을
+ b # 블락을
+
+ # 예시 '문장' (명령어)
+
+ d2w # 단어 2개를 지운다
+ cis # 문장 안을 바꾼다
+ yip # 문단 안을 복사한다
+ ct< # 여는 괄호까지 바꾼다
+ # 현재 위치에서 다음 여는 괄호까지의 텍스트를 바꾼다
+ d$ # 줄 끝까지 지운다
+```
+
+## 몇 가지 트릭
+
+ <!--TODO: Add more!-->
+```
+ > # 선택한 영역 한 칸 들여쓰기
+ < # 선택한 영역 한 칸 내어쓰기
+ :earlier 15m # 15분 전의 상태로 되돌리기
+ :later 15m # 위의 명령어를 취소
+ ddp # 이어지는 줄과 위치 맞바꾸기 (dd 후 p)
+ . # 이전 동작 반복
+ :w !sudo tee % # 현재 파일을 루트 권한으로 저장
+```
+
+## 매크로
+
+매크로는 기본적으로 녹화할 수 있는 동작을 말합니다.
+매크로를 녹화하기 시작하면, 끝날 때까지 **모든** 동작과 명령어가 녹화됩니다.
+매크로를 호출하면 선택한 텍스트에 대해 정확히 같은 순서의 동작과 명령어가 실행됩니다.
+
+```
+ qa # 'a'라는 이름의 매크로 녹화 시작
+ q # 녹화 중지
+ @a # 매크로 실행
+```
+
+### ~/.vimrc 설정
+
+.vimrc 파일은 Vim이 시작할 때의 설정을 결정합니다.
+
+다음은 ~/.vimrc 파일의 예시입니다.
+
+```
+" ~/.vimrc 예시
+" 2015.10
+
+" vim이 iMprove 되려면 필요
+set nocompatible
+
+" 자동 들여쓰기 등을 위해 파일 명으로부터 타입 결정
+filetype indent plugin on
+
+" 신택스 하이라이팅 켜기
+syntax on
+
+" 커맨드 라인 완성 향상
+set wildmenu
+
+" 대문자를 썼을 때가 아니면 대소문자 구분하지 않고 검색
+set ignorecase
+set smartcase
+
+" 줄넘김을 했을 때 파일에 따른 들여쓰기가 켜져 있지 않다면
+" 현재 줄과 같은 들여쓰기를 유지
+set autoindent
+
+" 좌측에 줄 번호 표시
+set number
+
+" 들여쓰기 설정 (개인 기호에 따라 변경)
+
+" 탭 하나와 시각적으로 같을 스페이스 개수
+set tabstop=4
+
+" 편집할 때 탭 하나에 들어갈 스페이스 수
+set softtabstop=4
+
+" 들여쓰기 혹은 내어쓰기 작업(>>, <<)을 했을 때 움직일 스페이스 개수
+set shiftwidth=4
+
+" 탭을 스페이스로 변환
+set expandtab
+
+" 들여쓰기와 정렬에 자동 탭 및 스페이스 사용
+set smarttab
+```
+
+### 참고 자료
+
+[(영어) Vim 홈페이지](http://www.vim.org/index.php)
+
+`$ vimtutor`
+
+[(영어) vim 입문과 기초](https://danielmiessler.com/study/vim/)
+
+[(영어) 엄마가 말해주지 않은 Vim의 어두운 구석들 (Stack Overflow 게시물)](http://stackoverflow.com/questions/726894/what-are-the-dark-corners-of-vim-your-mom-never-told-you-about)
+
+[(영어) 아치 리눅스 위키](https://wiki.archlinux.org/index.php/Vim)
diff --git a/perl.html.markdown b/perl.html.markdown
index 3cbd2801..a29fdf1f 100644
--- a/perl.html.markdown
+++ b/perl.html.markdown
@@ -51,6 +51,13 @@ my @mixed = ("camel", 42, 1.23);
# indicate one value will be returned.
my $second = $animals[1];
+# The size of an array is retrieved by accessing the array in a scalar
+# context, such as assigning it to a scalar variable or using the
+# "scalar" operator.
+
+my $num_animals = @animals;
+print "Number of numbers: ", scalar(@numbers), "\n";
+
## Hashes
# A hash represents a set of key/value pairs:
@@ -67,6 +74,11 @@ my %fruit_color = (
# Hash elements are accessed using curly braces, again with the $ sigil.
my $color = $fruit_color{apple};
+# All of the keys or values that exist in a hash can be accessed using
+# the "keys" and "values" functions.
+my @fruits = keys %fruit_color;
+my @colors = values %fruit_color;
+
# Scalars, arrays and hashes are documented more fully in perldata.
# (perldoc perldata).
@@ -144,6 +156,12 @@ for (@elements) {
print;
}
+# iterating through a hash (for and foreach are equivalent)
+
+foreach my $key (keys %hash) {
+ print $key, ': ', $hash{$key}, "\n";
+}
+
# the Perlish post-condition way again
print for @elements;
@@ -170,8 +188,11 @@ $x =~ s/foo/bar/g; # replaces ALL INSTANCES of foo with bar in $x
# You can open a file for input or output using the "open()" function.
+# For reading:
open(my $in, "<", "input.txt") or die "Can't open input.txt: $!";
+# For writing (clears file if it exists):
open(my $out, ">", "output.txt") or die "Can't open output.txt: $!";
+# For writing (appends to end of file):
open(my $log, ">>", "my.log") or die "Can't open my.log: $!";
# You can read from an open filehandle using the "<>" operator. In
@@ -182,6 +203,12 @@ open(my $log, ">>", "my.log") or die "Can't open my.log: $!";
my $line = <$in>;
my @lines = <$in>;
+# You can write to an open filehandle using the standard "print"
+# function.
+
+print $out @lines;
+print $log $msg, "\n";
+
#### Writing subroutines
# Writing subroutines is easy: