Важнейшим из языков для IT сферы является технический английский.
Именно на нем пишутся все доки, мануалы, хелпы и проч.
К сожалению, ВУЗовское образование далеко не всегда позволяет изучить английский язык настолько, чтобы полноценно понимать техническую литературу. Поэтому, если программист или любой другой айтишник желает больше развиваться в своей сфере деятельности, ему необходимо самообразовываться в английском.
Ниже я предлагаю придуманный мной простой способ для расширения словарного запаса, которым пользуюсь сам.
1. Литература.
Находим в интернете интересующее нас руководство, книгу. Начинаем читать.
2. Список незнакомых слов и фраз.
Выделяем, переводим и сохраняем их в файле input_file.txt в формате:
незнакомое_слово: перевод
незнакомое_слово2: перевод
незнакомое_слово3: перевод
и т.д.
Это будет наш личный словарик.
Для перевода я пользовался дополнением к браузеру firefox «S3.Google Translator». Вы можете использовать любой удобный для вас метод.
На данном этапе нас интересует конечно же не «машинный перевод», а то, что фраза непосредственно означает в контексте IT, поэтому переводы мы делаем осмысленные (нам же потом ими пользоваться).
3. Запускаем описанный ниже скрипт, написанный на bash.
Смысл скрипта в том, что он случайным образом отображает вначале «незнакомое слово» (до двоеточия), а после нажатия любой клавиши — перевод.
Наша задача — видя «незнакомое слово» — попытаться мысленно вспомнить, что оно означает. После нажатия клавиши мы видим правильный ответ. Через какое-то время слова повторяются. Таким образом происходит запоминание.
В качестве разделителя используется символ двоеточия. Почему не просто пробел — чтобы можно было использовать выражения.
По мере запоминания словарик можно изменять/дополнять.
Именно на нем пишутся все доки, мануалы, хелпы и проч.
К сожалению, ВУЗовское образование далеко не всегда позволяет изучить английский язык настолько, чтобы полноценно понимать техническую литературу. Поэтому, если программист или любой другой айтишник желает больше развиваться в своей сфере деятельности, ему необходимо самообразовываться в английском.
Ниже я предлагаю придуманный мной простой способ для расширения словарного запаса, которым пользуюсь сам.
1. Литература.
Находим в интернете интересующее нас руководство, книгу. Начинаем читать.
2. Список незнакомых слов и фраз.
Выделяем, переводим и сохраняем их в файле input_file.txt в формате:
незнакомое_слово: перевод
незнакомое_слово2: перевод
незнакомое_слово3: перевод
и т.д.
Это будет наш личный словарик.
Для перевода я пользовался дополнением к браузеру firefox «S3.Google Translator». Вы можете использовать любой удобный для вас метод.
На данном этапе нас интересует конечно же не «машинный перевод», а то, что фраза непосредственно означает в контексте IT, поэтому переводы мы делаем осмысленные (нам же потом ими пользоваться).
3. Запускаем описанный ниже скрипт, написанный на bash.
Смысл скрипта в том, что он случайным образом отображает вначале «незнакомое слово» (до двоеточия), а после нажатия любой клавиши — перевод.
Наша задача — видя «незнакомое слово» — попытаться мысленно вспомнить, что оно означает. После нажатия клавиши мы видим правильный ответ. Через какое-то время слова повторяются. Таким образом происходит запоминание.
В качестве разделителя используется символ двоеточия. Почему не просто пробел — чтобы можно было использовать выражения.
По мере запоминания словарик можно изменять/дополнять.
Код скрипта на bash
#!/bin/bash
#~ this programme scaned lines from a file and show them to user line by line
#~ declare global variables
declare -a lines #~ array with word lines
#~ show to user words
func_user_input_lines() {
local i #~ line index
local line #~ single line
local quantity=${#lines[@]} #~ quantity (number) of lines
[ $quantity == 0 ] && exit 0 #~ if input file is empty
echo 'Type the "Q" button to exit the programme'
while true; do #~ infinite loop
i=$(( $RANDOM % $quantity )) #~ make random index
line=$( echo "${lines[$i]}" | awk -F ':' '{print $1}' )
echo -ne $line
read -s -n1 #~ press any key
echo -e ${lines[$i]#$line}
[ "$REPLY" == "q" ] && break #~ if "Q" is pressed - quit the loop
done
echo
return 0
}
#~ read input file line by line into $lines array
func_read_file() {
local i=0 #~ lines array conter (lines index)
local line #~ single line
local input_filename="$1"
while read line; do #~ read input file line by line
[ "$line" == "" ] && continue
lines[$i]=$line
(( i++ ))
done < $input_filename
}
#~ main function - begin to work
func_main() {
func_read_file "input_file.txt" #~ read input file into $lines array
func_user_input_lines #~ user input words
}
func_main #~ call the function and begin to work
<source/>
</spoiler>
<spoiler title="Словарик input_file.txt">
above: выше
absence: отсутствие
accessible: доступный
accurate: точный
advance: перенос строки (line advance) (продвижение)
Although: Хотя
Among others: , Среди прочего,
Among: Среди
annoys: раздражает
approach: подход
arbitrary: произвольный
as follows: следующим образом
assignment statements: операторы присваивания
assignment: назначение, задание, присваивание
assumes: предполагает
at a glance: с одного взгляда
attempt: попытка
augmented: дополнена
augment: увеличивать
behaviour: поведение
beliefs: убеждений
Besides: Кроме того
bogged: погрязнуть
botched: неудачной
braces: фигурные скобки
brevity: краткость
brief: краткий
cause: заставлять, основание (для)
centigrade: стоградусная шкала (по Цельсию)
clarify: прояснить
communicating data: передача данных
comparatively: сравнительно
complicated: сложных
comprehension: понимание
concepts: понятия
concise: краткий
condition: состояние
conforms: соответствует
consistently: последовательно
constrained: ограничен
control flow: управление потоком (в книге - управляющие конструкции или управляющие операторы)
convenient: удобный
conventionally: условно
convey: передать
corresponding: соответствующий
couple: пара
dash: тире
defer: откладывать
definition: определение
derivative: производное
discarded: отбрасываются
distinguished: выдающийся
division: деление
elimination: ликвидация
emphasizes: подчеркивает
essentially: по существу
evaluated: оценка
evolved: эволюционировали
exceeds: превышает
exceptions: Исключения
except: за исключением
exclusively: исключительно
explanations: объяснения
explicitly: ясно
exposition: ОПИСАНИЕ
extensive: обширный
familiarity: знакомство
features: особенности
follows: следует, следующим
fractional: дробный
further: далее
generalization: обобщение
general-purpose: общего назначения
however: однако, тем не менее
implemented: реализованы
implementers: исполнителей (разработчиков)
improved: улучшенный
increment: увеличить (увеличение)
indent: отступ (indentation)
In either case: В любом случае
initial: начальный
instance: случай
instance: случай (For instance - Например)
instead: вместо
intentionally: намеренно
introductory: вводный
is paired: в паре
itself: сам
least: как минимум (at least - по крайней мере)
listed: перечисленные
magnitude: величина
major: основной
mastered: освоено
match up: совпадают
merely: просто
mere: простой
might: может быть
misspelling: неправильное написание
Nonetheless: Тем не менее
notation: представление (обозначение)
noted: отметили
observation: наблюдение
occurrence: случай
occur: происходить
omitting: опуская (пропуск буквы)
order: порядок
originally: первоначально
parentheses: круглые скобки
particular: особый
passionate: страстный
performing: выполнение
perform: выполнять
permits: разрешений
Pick: Выбирать
plenty: много
precise: точный
precision: точность double-precision (с двойной точностью)
preface: предисловие
proper: надлежащий
provide: обеспечивать (предоставлять)
purpose: цель
quantity: количество
quotes: кавычки
range: диапазон
rather than: а не
ratio: соотношение (деление)
readily: легко (readily distinguished - легко отличить)
recognizes: признает
related: связанные
remains: остается
represent: представляет
requires: требуется
restrictions: Ограничения
retain: сохранять
revising: пересмотр
rudiments: основы
section: раздел (в книге)
semicolon: точка с запятой
separate: отдельный (независимый)
sequence: последовательность
significant: значительный
specifies: указывает (устанавливает)
specify: указывать
stages: этапы
statements: операторы (блок операторов в функции)
subroutines: Подпрограммы
substituted: замещенный
suggestions: предложения
suits: (глагол) подходит
summary: резюме (описание, справочник)
supposedly: предположительно
Thereafter: После этого
thoughtful: вдумчивый
tied: связанный
treatment: трактовка (изложение)
truncates: усекает (при делении целые числа)
typing: (the command) ввод (комманды)
until: до
variation: изменение
vice versa: наоборот
whatever: любой (независимо от)
worthwhile: стОящий
consider: рассматривать
processing: обработка
regardless: независимо
responsibility: ответственность
interleave: чередовать, перемежать
amount: количество
surprising: удивительный
relational: отношения сравнения (реляционный)
relational operator: оператор сравнения
specifically: конкретно
subtle: тонкий
distinguishing: различая
distinctive: отличительный
internally: внутренне
valid: достоверный (действительный)
confused: спутанный
addition: дополнение
reach: достигать
reference: ссылка
shrink: сокращаться
get carried away: увлекаться
impenetrable: непроницаемый
curb: обуздать
precedence: приоритет (операторов)
undesired: нежелательный
similar: аналогичный
efficient: эффективный
either: или
stick: придерживаться
accumulate: накапливать, собирать, аккумулировать
relatively: относительно
overflow: переполнение
conversion: преобразование
</spoiler>
Описание алгоритма скрипта:
Состоит из трех функций:
func_main - как в Си - главная - с нее начинает работать программа.
func_read_file - читает построчно файл, в качестве аргумента получает имя файла "input_file.txt" и записывает строки в массив lines.
func_user_input_lines - выводит пользователю часть строки до символа ":", а после нажатия любой клавиши - остальную часть строки. Если нажали клавишу "q", то завершает программу.
Скрипт несложный, при желании его можно перенести на стандартный Си или любой другой язык программирования.
Такое вот ЕШКО.