Как стать автором
Обновить
13
0

Software Developer

Про аудирование или Из чего состоит знание иностранного языка

Время на прочтение 11 мин
Количество просмотров 15K
Читальный зал Изучение языков

Часто люди, отчаявшись добиться желаемого прогресса после многих лет нерационального изучения языка, приходят к выводу: «Учу-учу, ничего не получается… Что-то идёт не так. Наверно, сделать качественный рывок мне поможет только погружение в языковую среду».

Покупают курс в Лондоне. Возвращаются с отличными впечатлениями, почти без денег и растущей убеждённостью: «Мой случай уникален, мне нужен какой-то особый подход».

Ни черта уникального на самом деле нет, ситуация вполне типичная. Всё это — от тотального повсеместного непонимания, из чего, собственно, состоит знание иностранного языка. Да и разобраться непросто — весь эфир забит рекламной демагогией. 9 из 10 жалуются: я плохо воспринимаю речь на слух… что делать… У рекламщиков ответ уже готов: «Улучшить восприятие на слух? — Не проблема! Приходите! Поможем!»

Ну приходят. Заканчивается всё очередным разочарованием и ещё более глубокой убеждённостью в своей безнадёжности и «уникальности» своего случая. В общем, давайте попробуем разобраться, из чего состоит «знание» иностранного языка.

Во-первых, не верьте знакомым, которые говорят, что хорошо воспринимают речь носителей на слух. Даже носители друг друга часто переспрашивают, даже понимая контекст разговора. И если ты не носитель языка, выросший в Англии, у тебя ВСЕГДА будут проблемы с восприятием речи британца. Сейчас расскажу, почему.

Вспомните ситуации, когда вы хорошо понимали речь носителя языка, пока он говорит с вами, но мгновенно переставали его понимать, когда он начинал говорить с другим носителем. Как так?

Реальные живые носители используют не совсем те слова, которые мы ожидаем услышать, читая субтитры. Cлова forya (ударение на первый слог) нет ни в одном словаре, а оно, между тем, распространённое (в субтитрах будет написано for you). Мало кто из преподавателей рискнёт вводить слово whaddaya (= what do you), а оно не менее распространённое, чем forya. То же самое происходит в скоростной русской речи: вместо «он говорит» в реальной жизни мы обычно используем слово «онгрьт» с невнятной «н». Очсомневаюсь, что оно есть в словаре. Однажды при мне темнокожий парень объяснял посреди Москвы темнокожей девушке: «…and instead of “shto” they say “chyo” (вместо «што» они говорят «чё»). «Чё» даже не похоже на «что».

Читать далее
Всего голосов 71: ↑66 и ↓5 +61
Комментарии 125

О развитии навыка говорения

Время на прочтение 8 мин
Количество просмотров 16K
Читальный зал Изучение языков

«Знать иностранный язык» и «уметь на нём разговаривать» — это ОЧЕНЬ разные вещи. Профессиональные переводчики знают язык глубоко, но разговаривают некоторые из них хуже девочки-секретаря, которая ловко оперирует двумя-тремя сотнями заученных фраз. У них разные задачи: переводчики имеют дело со сложными текстами, а работа секретаря — короткие типовые разговоры.

Если человек уже знает иностранный язык, научиться говорить для него — вопрос нескольких дней или недель. Вот что по-настоящему сложно и к чему нужно стремиться — так это «выучить» иностранный язык, т. е. понять, как в нём связываются слова друг с другом, понять внутренние принципы, по которым он работает.

«Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что "будлану́ла" — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, детёныш бокра. Для русского человека это очевидно сразу. Иностранцу придётся сначала выучить русский. Фраза показывает, что язык — это НЕ СЛОВА. Слова легко переходят из одного языка в другой. Язык  это принципы, по которым слова связываются друг с другом.

В том, чтобы научиться говорить, абсолютно ничего сложного нет – проблема это придуманная. А основная причина частых неудач — это то, что люди пытаются, как говорят англичане, put the cart before the horse, ставить телегу впереди лошади. Пытаются начать говорить, не разобравшись, каким образом связываются слова в языке, — с катастрофическими последствиями. Которые мы и наблюдаем повсеместно. Пытаться говорить, не выучив язык, — это как пытаться бегать, не научившись ходить.

Читать далее
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 59

Гайд по переезду в Армению

Время на прочтение 37 мин
Количество просмотров 25K
Карьера в IT-индустрии Удалённая работа

Сейчас многие из нас уезжаю в жить в Армению. Там оказался и я. У меня не было большого количества времени на подготовку к переезду. В первые дни мне пришлось искать ответы на множество бытовых вопросов.

В этой статье я публикую свои информацию по переезду в Армению, которая очень сильно помогла мне.

Читать далее
Всего голосов 58: ↑46 и ↓12 +34
Комментарии 47

Луковичная архитектура в компоновке backend-приложения и куда в итоге класть маперы

Время на прочтение 6 мин
Количество просмотров 7.7K
Программирование *Совершенный код *Проектирование и рефакторинг *

Как скомпоновать приложение? Какие в нём должны быть слои? Как назвать пакеты? Где расположить DTO, маперы, реализации интерфейсов? И нужны ли вообще интерфейсы? Когда новичок попадает в свою первую компанию, очень часто на эти вопросы у него нет однозначного ответа. Он смотрит код своих коллег, и тут уж как повезёт - если команда сильная, у новичка есть все шансы научиться писать хороший, чистый, код. Если же не повезёт, то новичок будет цепляться за то, что есть, нахватается плохих практик, и по прошествии года-двух он уже сам будет себе авторитетом, которого не так-то просто будет переубедить.

В посте ниже я описываю личный и командный опыт, под который я постарался подвести теоретическую базу, опираясь на "Чистую архитектуру" Роберта Мартина. Да, этот пост - для новичков, хотя, эта тема жива и среди устоявшихся программистов, поскольку споры о компоновке приложения не утихают и среди сениоров.

Зайду я немного издалека и напомню, что такое луковичная архитектура.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 11

Иммутабельность в C#

Время на прочтение 13 мин
Количество просмотров 10K
Блог компании OTUS Программирование *C# *
Перевод

В разработке программного обеспечения иммутабельным (immutable — неизменяемым) называется объект, который после своего создания не может быть изменен. Зачем вам может понадобиться такой объект? Чтобы ответить на этот вопрос, давайте проведем анализ проблем, которые могут возникнуть в результате мутации (изменения) объектов. Вернемся к основам того, что делает каждое приложение: создает, извлекает, обновляет и удаляет данные (CRUD-операции). Ядро любого приложения манипулирует объектами. Ответ на вопрос о том, работает ли приложение в соответствии со своей спецификацией, в первую очередь определяется правильностью обработки данных. Вам необходимо быть уверенными, что код работает правильно, каждый раз, когда он затрагивает какой-либо объект. 

Но что, если бы существовали объекты, которые не могли бы изменяться? Исходя из вышеизложенного, очевидно, что если объект не может измениться, то либо не будет кода, пытающегося изменить его, либо, если такой код все-таки написан, он не будет работать.

Если ваше приложение является многопоточным, иммутабельность должна быть фундаментальной частью вашей архитектуры, поскольку неизменяемые объекты по своей природе являются потокобезопасными и невосприимчивыми к состояниям гонки. Если ваше приложение использует data transport objects (DTO — объекты передачи данных), вам также следует серьезно подойти к иммутабельности ваших объектов. Предметом дискуссий остается лишь то, как наиболее эффективно реализовать и работать с иммутабельными объектами, поскольку C# не предлагает встроенной поддержки таких объектов. Эта статья предлагает ответ на этот вопрос.

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 10

Сумачечая производительность LINQ в .Net7

Время на прочтение 3 мин
Количество просмотров 13K
.NET *C# *Unity *Разработка под Linux *Микросервисы *
Из песочницы

Исторически так сложилось, что LINQ взыскал "сомнительную" репутацию за его скромную производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Однако в .NET 7 всё будет по-другому...

Подробней...
Всего голосов 37: ↑31 и ↓6 +25
Комментарии 26

Почему Билл Гейтс сделал себя сам. Развенчиваем мифы о всемогущей матери

Время на прочтение 11 мин
Количество просмотров 15K
Бизнес-модели *История IT Софт Биографии гиков IT-компании

Какой русский не любит быстрой езды? И теории о том, что каждый успешный человек — это сын маминой подруги, получивший всё от богатых родителей. Ведь если наш условный Ваня Иванов, простой оборванец из глубинки, не выбился в люди — значит и другие не могли этого сделать никак, разве что родители помогли или еще какие родственнички. Особым почетом у нас пользуется живучая идея о том, что Билл Гейтс был не талантливым программистом и блестящим предпринимателем, а оказался… сыночкой-корзиночкой, которому мамка устроила сладкую жизнь в высшей лиге, перетерев за бокалом вина с одним из директоров IBM.

Но всё это – полная ерунда. Сегодня поведаю вам о том, почему Билл Гейтс сделал себя сам, что предшествовало его работе с IBM, и почему его мать, при всем уважении к ней, была неспособна повлиять на его судьбу так, как это представляют в своих влажных мечтах многие наши соотечественники.

Пора разобраться с этим недоразумением раз и навсегда.

Читать далее
Всего голосов 90: ↑62 и ↓28 +34
Комментарии 120

Как россиянину получить ВНЖ в Армении?

Время на прочтение 5 мин
Количество просмотров 92K
Фриланс IT-эмиграция Финансы в IT Удалённая работа

Продолжение рассказов из Армении. Для начала какой смысл вообще получать ВНЖ в Армении, ведь гражданин РФ может находиться там в течение 180 дней без необходимости пересечения границы? Однако все не так просто, смысл есть. Начиная с 24 февраля 2022 года, довольно внушительное количество западных банков перестали открывать счета россиянам или приостановили сотрудничество по текущем счетам. К санкциям против граждан РФ также присоединились всевозможные платежные системы, брокеры, крипто-биржи, фриланс площадки и так далее. В большинстве случаев от россиянина требуют сменить место жительства, и в качестве подтверждения требуют вид на жительства иностранного государства.

Если в истории с банками Армении из предыдущего поста, возникают все большие сложности при открытии счета, то процесс получения ВНЖ в Армении и его варианты можно смело назвать доступными. Это, конечно же не история, когда можно сделать ВНЖ дистанционно, не вылезая из дома, но в сравнении с той-же Грузией, Сербией, Турцией и Кипром, мне показалось проще и по процедуре и по шансам на одобрение.

В Армении существует два вида ВНЖ: на основании открытия ИП в Армении и дополнительная форма временного ВНЖ на основании трудоустройства в армянской фирме. Эта форма обладает почти теми же возможностями, что и условный бизнес-ВНЖ

Читать далее
Всего голосов 51: ↑48 и ↓3 +45
Комментарии 25

Документы перед выездом из РФ

Время на прочтение 10 мин
Количество просмотров 48K
IT-эмиграция

Всем привет!

Хочу рассказать о том какие документы желательно заранее подготовить перед выездом из РФ. Статья возможно уже не будет такой актуальной с учетом того, что кто-то либо уже уехал, либо находится на низком старте, но если вы пока находитесь в РФ - подготовьте хотя бы часть документов из списка.

Топ документов возглавляет генеральная доверенность. Очень настоятельно прошу ее сделать на вашего родственника или на человека, которому вы безоговорочно доверяете, но который на какое-то время точно останется в России. Можно сделать доверенность на нескольких людей. Цена вопроса - в районе 2,500 рублей за 1 доверенность. При этом, человек, на которого вы оформляете доверенность может не присутствовать, вам понадобится только копия его паспорта (страница с фото + прописка).

Доверенность можно оформить на любой срок, хоть на 50 лет, нотариус запишет срок, который вы назовете. Также доверенность можно сделать с возможностью ее передоверия другому человеку: например, я оформила доверенность на Васю Пупкина с правом передоверия, а Вася Пупкин передоверил ее Ивану Иванову. Мероприятие рискованное, но если вы доверяете человеку и понимаете, что возможно он тоже через какое-то время покинет РФ - такой вариант для вас подойдет.

Важный момент: генеральная доверенность - вещь серьезная, поэтому ее в любой момент можно и нужно отменить.

Что входит в такую доверенность (если кратко):

Читать далее
Всего голосов 68: ↑60 и ↓8 +52
Комментарии 144

Асинхронный код в Startup ASP.NET Core: 4 способа обхода GetAwaiter().GetResult()

Время на прочтение 8 мин
Количество просмотров 18K
Блог компании Dodo Engineering Программирование *.NET *ASP *C# *
С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Microsoft не гнушаются этой конструкцией.


Читать дальше →
Всего голосов 43: ↑41 и ↓2 +39
Комментарии 29

Преподавание иностранных языков. Системные ошибки

Время на прочтение 4 мин
Количество просмотров 8.5K
Управление сообществом *Читальный зал Изучение языков

Каждый раз говорят, что надо рассказывать в начале статьи кто я такой. Написал в профиль) Методист я, в общем.

Цель статьи – обозначить проблему и перечислить причины её существования.

Так вышло, что много лет работаю со студентами ведущих вузов Москвы и неплохо знаю ситуацию с преподаванием английского языка в них. Вкратце: не жалуются студенты только трёх – МГЛУ, МГИМО и МФТИ (в силу очень специфических причин).

Вроде бы существуют серьёзные научные школы, отработанная десятилетиями программа по профильным дисциплинам. В коридорах только и разговоров, что английский всем нужен. Но вот всё что-нибудь неладно: то «методика не подходит», то «языки – не моё», то «не могу понять, как сдвинуться с мёртвой точки»... Что за атмосфера мистики вокруг иностранных языков, что в них такого, что не даёт раз и навсегда выработать признанную технологию качественного учебного процесса и подготовки преподавателей?

Советы и мнения по поводу изучения иностранных языков часто подкрепляются тем, что так сказал-де переводчик-синхронист, или преподаватель с 30-летним опытом, или какой-то знакомый, который жил в Англии, свободно разговаривает и постоянно работает с носителями.

Люди, хорошо владеющие иностранными языками (в том числе преподаватели) часто имеют плохо совместимые с реальностью представления о том, как их надо учить. Это не парадокс: почти везде языки дают плохо, и реально выучивают их, как правило, люди с хорошими способностями. Для обучения таких людей не требуется особого преподавательского мастерства или специальных приёмов. Они воспримут любой способ подачи материала. Что-то сами додумают. А потом всю жизнь рассказывают, как замечательно «это работает».

Читать далее
Всего голосов 25: ↑18 и ↓7 +11
Комментарии 82

Про фразовые глаголы-4 (in/out)

Время на прочтение 4 мин
Количество просмотров 12K
Изучение языков
Перед этой статьёй рекомендуется прочитать две первые части:
1. habr.com/ru/post/495794
2. habr.com/ru/post/496190

Out соответствует русским приставкам со значениями «наружу» и «до конца, полностью»:

  • вы-: hear – «слушать». Hear me out! – Вы-слушай меня!
  • раз-/«рас-»: sell – «продать» sell out – рас-продать.
  • из- (со значением «до конца, полностью»): wear — «носить», wear out — из-носить/ся (об одежде/обуви, например).
  • из- (со значением «вы-» – наружу): hound – «охотничья собака», как глагол – «гнать» (зверя). Hound out – «из-гнать» (= «вы-гнать»). They hounded him out of Parliament – они из-гнали его из Парламента. Если держать в голове базовые значения глаголов kick (пинать) и boot (пинать ногой в сапоге), становится очевидно, почему ФГ kick out и boot out используются как синонимы hound out. Всегда буквально умоляю студентов держать в голове базовое значение глагола, из которого образуется фразовый. Слушаются не всегда… :(
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 9

Про фразовые глаголы-5 (up/down)

Время на прочтение 4 мин
Количество просмотров 11K
Изучение языков
Сначала рекомендуется прочитать предыдущие части:

1. habr.com/ru/post/495794
2. habr.com/ru/post/496190
4. habr.com/en/post/499368

Значение up «до конца, полностью» выражается (помимо приведённых в первой статье) русскими приставками:

из-/ис-: beat – «бить», beat up – «из-бить»; use – «пользовать», use up – ис-пользовать (какой-то ресурс до конца): Masha used up all of my shampoo.

от-: build – «строить», build up – «отстроить»; polish – «полировать», polish up – «от-полировать».

по-: hang – «вешать», hang up – «по-весить» (трубку). Show – «казать/являться», show up – «по-явиться». Vasya showed up on time – Вася пришёл/появился вовремя.

при- в значении приближения [к стандартам]: dress – «одеть», dress up – «при-одеть» (одеть подчёркнуто стильно или ярко). Masha was dressed up – Маша была приодета.

Dress out – «разодеть», только устаревшее. В данном случае up ≈ out, как в русском «при-» ≈ «раз-»: приоделась ≈ разоделась. Up акцентирует завершённость гардероба (наряда), out – содержит ещё лёгкую эмоциональную составляющую «преувеличенности» действия – «раз-одеть».

Dress up/dress out имеют бесчисленные синонимы: tog up = tog out, deck up = deck out, rig up = rig out, fig up = fig out, trick up = trick out. Есть даже fancy up и gussy up, но с out эти глаголы не употребляются.*
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 14

Как снизить зависимость кода от структуры данных?

Время на прочтение 7 мин
Количество просмотров 9.2K
Семантика *Анализ и проектирование систем *Проектирование и рефакторинг *

Структура данных часто пронизывает насквозь все слои приложения. При ее изменении приходится модифицировать структуру базы данных, логику работы с ними в программном коде, спецификации сервисов, интерфейс приложения. А если данные, описание их структуры и значительную часть логики обработки поместить в виртуализированное хранилище, и работать с ними как с единой онтологической моделью? Это сместит фокус с кода на данные и сделает приложения дата-центричными. Мы считаем, что такая трансформация позволит повысить скорость доставки полезных функций бизнес-пользователям и сэкономить ресурсы, требуемые на внесение изменений в приложения, открыть путь перехода к дата-центричной ИТ-архитектуре всего предприятия.

Читать далее
Всего голосов 12: ↑7 и ↓5 +2
Комментарии 41

Big O нотация в Swift

Время на прочтение 3 мин
Количество просмотров 9.8K
Разработка под iOS *Алгоритмы *Swift *
Из песочницы

Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.

Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространству.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 21

Компилятор C# 10, .NET 6 и интерполяция строк

Время на прочтение 24 мин
Количество просмотров 15K
Блог компании SkillFactory Программирование *.NET *Компиляторы *C# *
Перевод

К старту курса по разработке на C# делимся материалом из блога .NET о том, как компилятор C# 10 и .NET 6 упрощают программирование, как они обращаются с форматированием, а также о причинах конкретных решений команды .NET. И это далеко не всё. За подробностями приглашаем под кат.

Читать далее
Всего голосов 29: ↑27 и ↓2 +25
Комментарии 60

Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder

Время на прочтение 10 мин
Количество просмотров 5.2K
.NET *C# *
Перевод

До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication и WebApplicationBuilder. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и приложения .NET Core 3.x/5 на основе универсального хоста.

Однако c этим упрощением есть проблемы. Более сложный код запуска в ранних версиях, обычно разделённый между Program.cs и Startup, имел преимущества, так как он предоставлял хорошо известные точки расширения (hooks), которые инструменты могли использовать для перехвата процесса запуска приложения.

Классическим примером этого является инструментарий EF Core*EN. Если вы когда-либо использовали EF Core, возможно, вы знакомы с проблемами, возникающими при попытке изменить код запуска. А уж когда фреймворк меняет свой код запуска по умолчанию, понятно, что без проблем не обойтись!

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Исследуем .NET 6. Часть 4. Создание конвейера промежуточного ПО в WebApplication

Время на прочтение 10 мин
Количество просмотров 5.1K
.NET *C# *
Перевод

В моем предыдущем посте я рассмотрел код WebApplicationBuilder, включая некоторые из его вспомогательных классов, таких как ConfigureHostBuilder и BootstrapHostBuilder. В конце поста мы создали экземпляр WebApplicationBuilder и вызвали Build() для создания WebApplication. В этом посте мы немного рассмотрим код, лежащий в основе WebApplication, и сосредоточимся на настройке промежуточного ПО и конечных точек.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 4

Исследуем .NET 6. Часть 3. Рассматриваем код WebApplicationBuilder

Время на прочтение 15 мин
Количество просмотров 7.6K
.NET *C# *
Перевод

Часть 1. ConfigurationManager
Часть 2. WebApplicationBuilder

В предыдущем посте я сравнивал новый WebApplication с универсальным хостом. В этом посте я рассмотрю код, лежащий в основе WebApplicationBuilder, чтобы увидеть, как он обеспечивает более чистый, минимальный API хостинга, при этом обеспечивая ту же функциональность, что и универсальный хост.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 5

Исследуем .NET 6. Часть 2. WebApplicationBuilder

Время на прочтение 11 мин
Количество просмотров 18K
.NET *C# *
Перевод

В этой серии статей я собираюсь взглянуть на некоторые из новых функций, которые появились в .NET 6. Про .NET 6 уже написано много контента, в том числе множество постов непосредственно от команд .NET и ASP.NET. Я же собираюсь рассмотреть код некоторых из этих новых функций.

Часть 1. ConfigurationManager

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 6

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность