1.
… представлял интерес только для гражданки Резцовой В. И., которая и заявила о пропаже мужа вместе с …
Корецкий Данил. Опер Крылов 1-19
2.
… кроличью мордочку. Эту схожесть усиливал резцовый зуб верхней челюсти, белый цвет которого от края до половины …
Кобринский А.. Плачущий осел (роман-дневник)
3.
… сравнении ксилографии (высокой печати) с резцовой гравюрой (глубокой печатью). Ксилографии в общем свойствен суровый, несколько угловатый … глубокой печати: механический (куда входят резцовая гравюра, сухая игла, меццо-тинто), химический (офорт, мягкий лак, акватинта … техник глубокой печати — так называемая резцовая гравюра. Рисунок рисуют в металле особым инструментом — резцом или штихелем … мы познакомились в ксилографии. Особенность резцовой гравюры заключается в тонких линиях, проводимых штихелем (причем каждая линия … назвать еще две стилистические особенности резцовой гравюры: во-первых, жаждая плоскость должна разбиваться на линии и точки, во-вторых, в резцовой гравюре господствует ритмический, закономерный штрих» включенный в строгую систему параллельных …
Виппер Б.. Введение в историческое изучение искусства
4.
… меня советником, поставив вровень с Резцовым и им самим, Карелиным? Знакомая улыбка вновь заиграла у него …
Ластбадер ван Эрик. Шань
5.
… поскольку, исполненные автором в технике резцовой гравюры, тиражировались и распространялись по подписке. Самое полное издание работ …
Сю Эжен. Агасфер (Весный Жид)
6.
… г. На этом станке применялись резцовый суппорт, цельнометаллическая конструкция, пленарность поверхностей салазок, точно изготовленный ходовой винт …
Паршаков Евгений. Экономическиео развитие общества
7.
… зубов. Верхние, нижние резцы. || прил. резцовый, -ая, -ое. РЕЗИДЕНТ, -а, м. (спец.). 1. Представитель колониальной державы …
Ожегов С., Шведова Н. Толковый словарь русского языка
8.
… переходит к существовавшей до него резцовой технике, технике сухой иглы, то есть процарапывания иглой непосредственно по …
Вержбицкий Анатолий. Творчество Рембранда
9.
… Джорджо в Мантуе, 1474). В резцовой гравюре сочетал четкость пластических форм с мягкой штриховкой (7 листов … Выпустил «Лицевую библию» (1650) с резцовыми гравюрами (по рисункам нидерландских художников). ПИСКАТОР (Piscator) Эрвин (1893-1966 … итальянский гравер. Усовершенствовал технику классической резцовой гравюры, достигая пластической четкости форм. Воспроизводил работы Рафаэля, Микеланджело. РАЙМОНТ … 1992) и в эстафете (1994). РЕЗЦОВАЯ ГРАВЮРА , вид углубленной гравюры на металле, в котором рисунок прорезается …
. Современный толковый словарь|. Современный толковый словарь#2
10.
… 1779-1854) , российский график. Мастер резцовой гравюры с офортом, с нач. 1820-х гг. — литографии (один … мягкий лак, офорт, пунктирная манера, резцовая гравюра, сухая игла и т. д.). Наряду со станковыми гравюрами … на дереве), и в области резцовой гравюры на меди. Следуя за Шонгауэром, он превратил гравюру в … на одной из лучших его резцовых гравюр, вошедшей в историю искусств под названием «Немезида» (начало 1500 … с виртуозной тонкостью в технике резцовой гравюры на меди, отличающиеся лаконизмом и редкой образной сосредоточенностью, они …
. Современный толковый словарь|. Современный толковый словарь#1
11.
… введением раствора анестезирующего вещества. анестезия резцовая (a. incisivalis) — проводниковая А. мягких тканей переднего отдела твердого неба … ходу носонебного нерва в область резцового отверстия. анестезия ретробульбарная (a. retrobulbaris; лат. retro позади + анат. bulbus … JNA) — костная часть ребра. кость резцовая (оз incisivum, PNA, BNA, JNA) — см. Перечень анат. терминов. кость … см. Перечень анат. терминов. мышца, резцовая нижняя (m. incisivus inferior) — см. Перечень анат. терминов. мышца, ременная … носонебный канал (canalis nasopalatinus) — см. Резцовый канал. носорасширитель — инструмент для расширения наружных отверстий носа при обследовании …
. Словарь медицинских терминов
12.
… 17 в. Книжные и станковые резцовые гравюры на меди, тонко исполненные по оригиналам С. Ф. Ушакова … российский гравер. Замечательные по мастерству резцовые гравюры на меди: портреты («Пушкин», 1827), иллюстрации, виньетки, воспроизведения картин … 1777-1848) , российской гравер. Мастер резцовой гравюры на меди. Портреты русских поэтов (Г. Р. Державина, В … срезанным концом. Используется в технике резцовой гравюры и ксилографии, а также при корректуре (исправлении) и отделке …
. Современный толковый словарь|. Современный толковый словарь#3
13.
… офорт, (но отнюдь не гравюра резцовая) — благодаря видимой легкости работы и допускаемым ими вольностям в по …
Валери Поли. Об искусстве
14.
… проделка; куншт м. стар. гравюра, резцовая картина. КУНТОВАТЬ калужск. (см. кантовать) кутить, безобразно пить, гулять. КУНТУШ … шести резцов вверху и внизу. Резцовый, к резцу относящ. Резовый, к резу относящ. Резчик, рещик, -чица … мужичек, медовая марена, Galium verum. Резцовый, резчичий или резбенный снаряд. Резун м. сиб. рассыпчатый, иглистый весенний …
В. Даль. Толковый словарь живого великорусского языка
15.
… нижней челюсти которого торчали два резцовых зуба, очень похожие на клыки. — Я должен извиниться, что мы …
Асприн Роберт. Шутовская рота 1-3
В клинической практике наблюдается весьма значительная дивергенция систем каналов корня зуба. В разных зубах может быть различное количество корневых каналов, а их анатомия и взаимоотношения по сей день служат предметом исследования. В данной статье описывается клинический случай успешного эндодонтического лечения всех четырёх резцов нижней челюсти, причём каждый зуб имел по четыре канала различной морфологии. Рентгенологическое исследование выявило наличие нескольких каналов в центральных и латеральных резцах нижней челюсти. По данным литературы, наличие нескольких каналов центральных и латеральных резцах нижней челюсти встречается достаточно редко; уникальность данного клинического случая заключается в том, что в каждом из четырёх резцов было обнаружено по два канала различной анатомии и морфологии.
Введение
Успешность эндодонтического лечения напрямую зависит от досконального знания особенностей внешней и внутренней анатомии зуба. Одной из причин негативного исхода эндодонтического лечения является незнание видов морфологического разнообразия системы каналов корня зуба. У резцов нижней челюсти, как правило, один корень и один канал, однако встречаются анатомические вариации — два канала с двумя апикальными отверстиями и два канала, открывающиеся в одно апикальное отверстие.
Перед тем, как приступить к эндодонтическому лечению, критически важно визуализировать все внутренние анатомические отношения каналов. Обязательно выполнение и тщательное изучение двух и более периапикальных рентгенограмм. Для получения информации о морфологии канала корня зуба рентгенограммы необходимо выполнять в прямой, боковой, а также в угловых проекциях. В диагностический минимум обследования больного входит:
- Выполнение до операции двух и более рентгенограмм;
- Оценка дна пульповой камеры острым зондом;
- Каналирование щелей ультразвуковой насадкой;
- Окрашивание дна камеры 1% раствором метиленового синего;
- Выполнение теста с хлорноватистым натрием («тесты с пузырьками шампанского»);
- Визуализация источника кровотечения из канала.
Все эти методы используются для выявления дополнительных отверстий в канале.
Stropko рекомендует перед началом визуального осмотра системы каналов корня зуба для очистки и осушения дна пульповой камеры использовать 17% водный раствор этилендиаминтетрауксусной кислоты (ЭДТК), 95% раствор этанола и ирригатор Stropko, заправленный эндодонтической иглой с латеральной перфорацией 27G.
Большую роль в визуализации каналов корня зуба играет также использование интраоперационного стоматологического микроскопа. Он экономит время и позволяет оператору селективно и аккуратно удалять дентин, сводя к минимуму количество ошибок, возникающих из-за погрешности при работе.
Рис. 1. Рентгенограмма, выполненная до операции.
Рис. 2. Классификация Vertucci.
Описание клинического случая
Мужчина 45 лет поступил в клинику с жалобами на высокую стираемость зубов, ставшую причиной образования периапикального абсцесса обоих центральных резцов и необратимого пульпита латеральных резцов. Рентгенологическое исследование выявило наличие нескольких корневых каналов в каждом из четырёх резцов (см. рис. 1). Был выполнен оперативный доступ, произведена ревизия каналов корней зубов, после чего выяснилось, что во всех четырёх зубах имеется по два отдельных канала — буккальному и лингвальному. По классификации Vertucci каналы относились к типу II (31 и 32) и к типу IV (41 и 42). Рабочая длина была определена апекслокатором (Propex, Dentsply) и подтверждена данными рентгенографии. Взаимоотношения между каналами внутри каждого зуба были определены рентгенологически (см. рис. 3). [рисунок №3 в исходном документе отсутствует]
Рис. 4. Рабочая длина.
Рис. 5. Обтурация.
Чтобы удостовериться, что не было пропущено дополнительного канала корня зуба, были выполнены угловые рентгенограммы зубов. После подтверждения наличия двух каналов во всех нижних резцах, каналы были препарированы по методике «Step Back». При каждой смене инструментов в качестве ирригантов использовались 2,5% раствор гипохлорита натрия и физиологический раствор (0,9% раствор хлорида натрия). Интраканально был введён гидроксид кальция; полости доступа были временно запломбированы нейтральным ресторативным материалом на 1 неделю. При повторном визите полости были промыты и запломбированы (см. рис. 4). По истечении 6 месяцев на контрольном обследовании была выполнена рентгенограмма (см. рис. 5).
Рис. 6. Через 6 месяцев.
Обсуждение
Анатомия и морфология системы каналов корня зуба достаточно сложна, и успех эндодонтической терапии зависит от своевременного обнаружения дополнительного корня или корневого канала. Не обнаруженные вовремя каналы — одна из основных причин негативного исхода эндодонтической терапии. Также к негативному исходу лечения может привести неполное удаление веществ-ирритантов из пульпозного пространства.
В большинстве случаев два корневых канала объединяются в один недалеко от верхушки. Для того чтобы быть уверенным в обнаружении всех дополнительных каналов, необходимо тщательно изучать и интерпретировать данные рентгенографии (которую в свою очередь, нужно производить не только в прямой, но и в угловых проекциях). Если дополнительный канал заканчивается внезапно, стоит задуматься о наличии в зубе двух каналов.
Исследование вручную системы каналов корня зуба с помощью эндодонтического зонда или проводника также достаточно надёжный метод исследования, позволяющий определить конфигурацию каналов корня зуба, в частности — число отверстий. Особенно внимательным следует быть при выполнении доступа к полости, поскольку именно в этот момент проще всего пропустить дополнительное отверстие канала. На нижних передних зубах имеет смысл также исследовать буккальные и лингвальные стенки полости.
В качестве внутреннего покрытия рекомендуется использовать многочисленные антибактериальные препараты. Одним из наиболее простых и доступных методов обеззараживания полости является паста из гидроксида кальция, использовавшая и в описанном выше случае.
В данной статье описывается успешный случай лечения каналов корней всех четырёх резцов нижней челюсти, каждый с двумя отдельными каналами, в двух зубах (31 и 32) открывающимися в одно апикальное отверстие, а в двух (41 и 42) — в разные апикальные отверстия.
Заключение
Анатомия системы каналов корня зуба может быть весьма сложна. Могут наблюдаться различия в конфигурации канала, числе каналов и наличии мест сужения. Для успешной диагностики и лечения таких каналов необходимо перед проведением оперативного вмешательства тщательно изучить анатомию и морфологию каналов корня зуба, в том числе — выполнить дополнительные угловые рентгенограммы. Также в клинической практике поможет комплексный подход к выбору способа оперативного доступа.
Авторы:
Sudha Mattigatti, Rushikesh Ramesh Mahaparale, Rutuja Vijay Chopade, Vaibhav Garg (кафедра консервативной стоматологии и эндодонтии факультета стоматологических наук, KIMSDU, Karad, Satara, Maharashtra. Индия)
Всего найдено: 38
Телеканал ТВ-3 пишется без кавычек?
Ответ справочной службы русского языка
Аббревиатурные названия телеканалов пишут без кавычек.
Как пишется «тв приставка» и «тв канал»? Через дефис или раздельно?
Ответ справочной службы русского языка
Верно: ТВ-приставка, ТВ-канал.
Выражение «через время» в контексте «по прошествии некоторого времени» можно использовать? — Раньше я его не встречала, а в последнее время даже в новостях на ведущих тв-каналах употребляют.
Ответ справочной службы русского языка
Возможно только с определением: через некоторое, определенное время.
Одна из самых влиятельных визажистов Великобритании ведет популярное ТВ-шоу и успешный канал на YouTube более чем с 1,2 миллиона (миллионов?) фолловеров. Как правильно?
Ответ справочной службы русского языка
Верно: более чем с 1,2 миллиона.
МОРФЕМНЫЙ РАЗБОР СЛОВА РОДСТВЕННИКИ
Ответ справочной службы русского языка
Род-ств-енн-ик-и.
Названия аэропортов и ТВ-каналов следует кавычить или нет? Если следует, то существуют ли исключения? Например, Первый канал?
Ответ справочной службы русского языка
Справочники по правописанию последовательно рекомендуют не заключать названия аэропортов в кавычки. В то же время необходимо отметить, что на практике эта рекомендация часто не соблюдается и кавычки ставятся.
Что касается названий телеканалов, то кавычки уместны, когда название не согласуется с родовым слово канал, когда речь идет об условном наименовании, например: телеканалы «Россия-24», «Звезда», «Карусель». Названия каналов, представляющие собой аббревиатуры инициального типа, обычно пишут без кавычек, например: НТВ, СТС, ТНТ. Название Первый канал тоже не заключается в кавычки (в названии есть согласование со словом канал).
Как правильно перенести слово — «осуществ-лять» или «осуществ-лять»? Спасибо.
Ответ справочной службы русского языка
Предложенный Вами вариант правилен. Также возможно: осу-ществлять, осуще-ствлять, осущес-твлять, осущест-влять.
Согласно правилам орфографии слово «лестница» пишется с буквой «с». А ведь это ошибка! «Лестница» — образовано от глагола «лезть», а не от существительного «лесть» (впрочем, для карьериста, может быть, и иначе)).
От кого зависит исправление таких «узаконенных» ошибок в русском языке? Ведь если их и дальше считать «законными», то почему бы не разрешить говорить массово привычное и вполне безобидное «звóнить» как образованное от слов «звон», «перезвон», «дозвон»?
Ответ справочной службы русского языка
Первоначальная форма существительного лестница – лезтва. Оно действительно образовано от глагола лезть с помощью суффикса —тв- (так же, как, например, слово бритва образовано от глагола брить), т. е. буквально это слово означает «то, с помощью чего лезут».
Но еще в праславянском языке, задолго до того, как стать лестницей, лезтва стала лествой: перед глухим согласным з превратилось в с. Впоследствии лества уступило место лествице. И только потом, под влиянием многочисленных слов, оканчивающихся на -ниц-а (звонница, кузница и др.), лествица стала лестницей.
Таким образом, ввести написание через з означало бы искусственно вернуть это слово к той форме, от которой оно естественным образом ушло много веков назад. Вряд ли в этом есть смысл.
Здравствуйте. Вопрос о произношении. Часто слышу из различных ТВ-передач или рекламы, когда название государства Таиланд произносят как т[эй]ланд. Но во многих случаях, слышится всё-таки т[ай]ланд. Казалось бы, различия диалектов русского языка? Но, например, созвучное название «Майдан», которое сейчас на слуху, все произносят именно через [а]. Мне кажется, что и «Таиланд» правильно произносится через чёткий звук [а]. Или я не прав?
Ответ справочной службы русского языка
По-русски правильно произносить Таиланд с А.
Здравствуйте! В слове «осуществил» о — приставка, сущ — корень, еств — суффикс, и — суффикс, л — суффикс? Правильно, что тут не один суффикс ил, а два суффикса — и и л?
Ответ справочной службы русского языка
Да, здесь два суффикса: -и- и -л. Не забудьте про нулевое окончание со значением мужского рода единственного числа. Ваш вариант разбора возможен (он отражает историю слова), но, если говорить о синхронном (современном) составе слова, можно выделить корень осуществ-.
Скажите, пожалуйста, каким правилом определяется написание слова ТВ-канал через дефис?
Ответ справочной службы русского языка
Правило таково: пишутся через дефис сложные слова с первой частью – буквенной или звуковой аббревиатурой.
Подскажите, пожалуйста, как корректно указать в предложении «Газета выходит по вторникам и субботам» информацию: ТВ-программа выходит в субботу (текст рекламного блока).
Ответ справочной службы русского языка
Можно так: по субботам в газете (в субботнем выпуске) публикуется телепрограмма.
Добрый день! Скажите, пожалуйста, какое написание считается правильным: HD-медиаплеер, Blu-rau-проигрыватель, ТВ-тюнер и т.п.? Заранее благодарю!
Ответ справочной службы русского языка
Дефисные написания корректны. Правильно: blu-ray.
Как правильно: ТВ студия или ТВ-студия?
Ответ справочной службы русского языка
Правильно: ТВ-студия.
Добрый день.
Я понимаю , что много писем. Но мне так никто и не ответил!!!!!!!
Скажите пожалуйста, как правильно пишется:
1) TV-канал и тв-канал;
2) видеотелевизионный;
3) реализуем или реализовываем проекты.Заранее спасибо. Нужно срочно
Ответ справочной службы русского языка
Все названные Вами случаи возможны.
Я живу в Ташкенте, и когда учился в университете — начал учить Python, чтобы писать ботов. Боты — это узбекский хлеб, у нас на них построено вообще все. Например, никто не делает приложения для заказа еды, все только в мессенджерах.
Я учил язык по статьям из интернета — просто брал каркас и дальше дописывал, смотрел, где что падает, постоянно решал задачи на leetcode. Писал я тогда ужасно, но что было, то было. Мне нравилось, но чем больше я углублялся, тем сильнее раздражали скорость выполнения, ограничения параллелизма и динамическая типизация.
Тогда я решил попробовать Go.
Go — простой, классный и востребованный
Меня привлекла их идея легковесной конкурентности и понравилось то, что не нужно разбираться в зоопарке асинхронности, который был в питоне. Сначала я писал на Go что-то для себя, смотрел как себя ведет язык. Потом на работе мы решили попробовать один несложный проект. Получили хорошие результаты — и по скорости разработки, и по скорости выполнения.
Возможно, Go не такой выразительный, возможно, там есть спорные решения — например, пустые интерфейсы, которые клали на всю вашу типизацию, или пакет рефлект, в который лучше не заглядывать. Но в целом, обычный продакшн код на Go и правда читабелен, это один из немногих языков, где ты можешь нырнуть почти в любую библиотеку и понять, что там происходит хотя бы на механическом уровне без погружения в доменную область.
Как говорил Роб Пайк: «Простота — это сложно». Философия, все дела. Кто-то ругает голанг за излишнюю простоту, а мне она нравится.
Я быстро освоил синтаксис и начал писать на нем какие-то простые вещи. В то время мне нравилось ходить на собесы и смотреть, что спрашивают — хотя я еще не особо познакомился со стандартной библиотекой и экосистемой языка.
Один раз я полуслучайно угодил на синьорское собеседование. Это было самое душное из всех интервью, что я видел. Было ощущение, что интервьюера заставили прийти и слушать меня. Он сразу начал с технических вопросов, и я понял, что он просто задает вопросы из статьи с хабра — причем идет по ним подряд, как будто за 15 минут до встречи погуглил «Вопросы для собеседования бэкенд-разработчика».
Эйчары написали мне через месяц и сказали, что уже готовят оффер. Потом написали еще через час и сказали, что, к сожалению, иностранцев они уже не берут.
Слава богу, на подобное я больше не натыкался. Опыт и знания копились, вакансий на Go становилось относительно много, причем адекватных — на бэкенд хайлоад системы с микросервисами, а не только в криптовалютные стартапы.
Я считаю, что самые адекватные способы понять, хорош ли разраб — давать ему задачи и разбирать код. На работе, которую я в итоге получил, было именно так. Здесь я собрал несколько самых популярных задач, которые часто попадаются на собесах и написал, как бы я стал их решать.
Популярные задачи на собеседованиях
На вход подаются два неупорядоченных слайса любой длины. Надо написать функцию, которая возвращает их пересечение
Стандартная задача с leetcode и ее довольно часто спрашивают на собеседованиях в качестве простой задачи для разогрева.
Можно решить сортировкой, за более долгое время, но без выделения дополнительной памяти. А можно выделить дополнительную память и решить за линейное время.
Надо посчитать количество появлений элементов первого массива (лучше брать тот, что покороче) — используем для этого словарь. Потом пройтись по второму массиву и вычитать из словаря те элементы, которые есть в нем. По ходу добавляем в результат те элементы, у которых частота появлений больше нуля.
Решение
package main
import (
"fmt"
)
// На вход подаются два неупорядоченных массива любой длины.
// Необходимо написать функцию, которая возвращает пересечение массивов
func intersection(a, b []int) []int {
counter := make(map[int]int)
var result []int
for _, elem := range a {
if _, ok := counter[elem]; !ok {
counter[elem] = 1
} else {
counter[elem] += 1
}
}
for _, elem := range b {
if count, ok := counter[elem]; ok && count > 0 {
counter[elem] -= 1
result = append(result, elem)
}
}
return result
}
func main() {
a := []int{23, 3, 1, 2}
b := []int{6, 2, 4, 23}
// [2, 23]
fmt.Printf("%vn", intersection(a, b))
a = []int{1, 1, 1}
b = []int{1, 1, 1, 1}
// [1, 1, 1]
fmt.Printf("%vn", intersection(a, b))
}
Написать генератор случайных чисел
В принципе, легкая задача, на базовые знания по асинхронному взаимодействию в Go. Для решения я бы использовал небуфферезированный канал. Будем асинхронно писать туда случайные числа и закроем его, когда закончим писать.
Плюс ее можно использовать в немного измененном виде в задаче на слияние N каналов.
Решение
package main
import (
"fmt"
"math/rand"
"time"
)
func randNumsGenerator(n int) <-chan int {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
out := make(chan int)
go func() {
for i := 0; i < n; i++ {
out <- r.Intn(n)
}
close(out)
}()
return out
}
func main() {
for num := range randNumsGenerator(10) {
fmt.Println(num)
}
}
Слить N каналов в один
Даны n каналов типа chan int. Надо написать функцию, которая смерджит все данные из этих каналов в один и вернет его.
Мы хотим, чтобы результат работы функции выглядел примерно так:
for num := range joinChannels(a, b, c) {
fmt.Println(num)
}
Для этого напишем функцию, которая будет асинхронно читать из исходных каналов, которые ей передадут в качестве аргументов, и писать в результирующий канал, который вернется из функции.
Создаем канал, куда будем сливать все данные. Он будет небуферезированный, потому что мы не знаем, сколько данных придет из каналов.
Дальше асинхронно прочитаем из исходных каналов и закроем результирующий канал для мерджа, когда все чтение закончится. Чтобы дождаться конца чтения, просто обернем этот цикл по каналам в wait group.
Решение
package main
import (
"fmt"
"sync"
)
func joinChannels(chs ...<-chan int) <-chan int {
mergedCh := make(chan int)
go func() {
wg := &sync.WaitGroup{}
wg.Add(len(chs))
for _, ch := range chs {
go func(ch <-chan int, wg *sync.WaitGroup) {
defer wg.Done()
for id := range ch {
mergedCh <- id
}
}(ch, wg)
}
wg.Wait()
close(mergedCh)
}()
return mergedCh
}
func main() {
a := make(chan int)
b := make(chan int)
c := make(chan int)
go func() {
for _, num := range []int{1, 2, 3} {
a <- num
}
close(a)
}()
go func() {
for _, num := range []int{20, 10, 30} {
b <- num
}
close(b)
}()
go func() {
for _, num := range []int{300, 200, 100} {
c <- num
}
close(c)
}()
for num := range joinChannels(a, b, c) {
fmt.Println(num)
}
}
Сделать конвейер чисел
Даны два канала. В первый пишутся числа. Нужно, чтобы числа читались из первого по мере поступления, что-то с ними происходило (допустим, возводились в квадрат) и результат записывался во второй канал.
Довольно частая задача, более подробно можно почитать тут https://blog.golang.org/pipelines.
Решается довольно прямолинейно — запускаем две горутины. В одной пишем в первый канал. Во второй читаем из первого канала и пишем во второй. Главное — не забыть закрыть каналы, чтобы ничего нигде не заблокировалось.
Решение
package main
import (
"fmt"
)
func main() {
naturals := make(chan int)
squares := make(chan int)
go func() {
for x := 0; x <= 10; x++ {
naturals <- x
}
close(naturals)
}()
go func() {
for x := range naturals {
squares <- x * x
}
close(squares)
}()
for x := range squares {
fmt.Println(x)
}
}
Написать WorkerPool с заданной функцией
Довольно распространенная задача, плюс подобные задачи встречаются на практике.
Нам нужно разбить процессы на несколько горутин — при этом не создавать новую горутину каждый раз, а просто переиспользовать уже имеющиеся. Для этого создадим канал с джобами и результирующий канал. Для каждого воркера создадим горутину, который будет ждать новую джобу, применять к ней заданную функцию и пулять ответ в результирующий канал.
Решение
package main
import (
"fmt"
)
func worker(id int, f func(int) int, jobs <-chan int, results chan<- int) {
for j := range jobs {
results <- f(j)
}
}
func main() {
const numJobs = 5
jobs := make(chan int, numJobs)
results := make(chan int, numJobs)
multiplier := func(x int) int {
return x * 10
}
for w := 1; w <= 3; w++ {
go worker(w, multiplier, jobs, results)
}
for j := 1; j <= numJobs; j++ {
jobs <- j
}
close(jobs)
for i := 1; i <= numJobs; i++ {
fmt.Println(<-results)
}
}
Сделать кастомную waitGroup на семафоре
Семафор можно легко получить из канала. Чтоб не аллоцировать лишние данные, будем складывать туда пустые структуры.
В нашем случае мы хотим сделать семафор, который будет ждать выполнения пяти горутин. Для этого просто добавим вместо обычного канала буфферизированный. И внутри каждой горутины положим в него значение. А в конце будем дожидаться, что все ок — мы вычитаем все значения из канала.
Решение
package main
import (
"fmt"
)
type sema chan struct{}
func New(n int) sema {
return make(sema, n)
}
func (s sema) Inc(k int) {
for i := 0; i < k; i++ {
s <- struct{}{}
}
}
func (s sema) Dec(k int) {
for i := 0; i < k; i++ {
<-s
}
}
func main() {
numbers := []int{1, 2, 3, 4, 5}
n := len(numbers)
sem := New(n)
for _, num := range numbers {
go func(n int) {
fmt.Println(n)
sem.Inc(1)
}(num)
}
sem.Dec(n)
}
В общем, если понравились задачи и показались полезными — заходите в канал Rebrain — там часто выкладывают бесплатные вебинары и практикумы по Go. Потом можно обсуждать кто, что и как делает в сообществе.
Мысли о будущем Go
Я думаю, сейчас нет никаких проблем, что Go обзывают языком для новичков. Условный питон преподают детям в школе — это только говорит о доступности языка, что нормально. Язык программирования — это инструмент и если он из коробки, как есть понятен большинству, что в этом плохого.
Никто не ругает топор, за то что он такой топорный, да и вообще он не бензопила.
Go четко обозначен — простой инструмент для простых задач, подходит или для маленьких приложений, или для маленьких микросервисов, которые образуют большое приложение.
Но сейчас на Go все чаще пишут гигантские системы. Наделали фреймворков (само по себе понятие «фреймворк» — противоречит идее Go), разработали инструменты, чтобы затащить его на фронтенды, адаптировать к разработке огромных приложений, стали делать на нем все, что не приколочено. Начали требовать серьезного развития языка в сторону усложнения — чтобы было как в Java и C#. Чтобы у нас, значит, тоже получалось пилить грандиозные монолитные бэкенды, обмазывать всё тоннами декораторов, писать универсальный, сверхпереиспользуемый код и все такое.
Посмотрите на С++. Чтобы угодить потребностям всех разработчиков на плюсах, язык набили фичами настолько, что всерьез вот сесть и выучить С++ невозможно. А уж выбрать его в качестве инструмента для разработки, когда есть альтернативы — абсолютно исключено.
Go стал очень популярным. Мой прогноз — через несколько лет они напичкают его всеми концепциями, которыми только смогут, и будут писать на нем все возможные виды софта. И тогда где-то какой-то парень возьмет, и снова изобретет новый простой инструмент для простых задач.
Автор статьи — @alisher_m, участник сообщества Rebrain. Подписывайтесь, если хотите тоже поделиться опытом и поспрашивать советов. Там регулярно разбираем все эти темы и многие другие, которые пригодятся и на собеседовании, и в работе.
Бывшие заключенные ИК-2 в Покрове Нариман Османов и Евгений Бурак, которые отбывали наказание в одном отряде с Алексеем Навальным, рассказали телеканалу «Дождь», как над политиком издеваются в колонии. Они утверждают, что отряд, в котором они оба отбывали наказание, создавался специально под Навального. Заключенные в отряде политика были проинструктированы не разговаривать с ним, записывать каждый его шаг.
О том, какие порядки царят в колонии номер два города Покрова, Настоящему Времени рассказал Владимир Переверзин, бывший менеджер нефтяной компании ЮКОС. Он тоже отбывал срок в покровской колонии. Мы показали ему фрагменты фильма «Дождя» и попросили прокомментировать слова заключенных, которые рассказывают о том, что для Навального создали специальный отряд и запрещали с ним общаться.
– Владимир, зачем конкретно создаются такие условия изоляции для Навального? Чего этим пытается добиться администрация, как думаете?
– Администрация пытается ему нагадить, напакостить. У меня было ровно то же самое, один в один: точно так же и заключенных натравливали, точно так же меня контролировали и запрещали общаться. То есть то, что на свободе рассказывают, может показаться каким-то абсурдом, но тем не менее все это так.
– А администрации это зачем?
– А администрации – потому что могут из Москвы позвонить и спросить: «А что вы делаете плохого Навальному?» Они же должны как-то отчитываться, они же не могут ему сделать что-то хорошее, в библиотеку устроить, например. Казалось бы, образованный, грамотный человек, такие ведь практически не сидят и не находятся в местах лишения свободы, мало, по крайней мере. Они же не устроят его в библиотеку. А какие-то пакости, провокации – это да.
– И, соответственно, раз они оказывают давление на других заключенных, которые общаются с Навальным, получается, вынуждают этих заключенных дальше не общаться с Навальным, не давать ему вообще никакой информации.
– Да, именно так и происходит. Со мной даже не разговаривали. Я даже вначале и не понимал, что происходит. Мы выходили в локальный сектор на прогулку, я что-то у заключенного спрашиваю, от меня шарахаются, как от ущемленного, и с испуганным лицом. А мне потом один признался: «Да это оперативники запретили с тобой разговаривать». Кто с тобой поговорил – во-первых, сразу их выдергивали в оперотдел, спрашивали, они отчитывались, о чем они со мной разговаривали – их били.
– И бывшие заключенные, кстати, рассказывают в этом фильме, что им и самим было непросто, а участвовать в этих издевательствах их якобы заставляла администрация. Заключенный говорит, что сам страдал, сам до сих пор не может восстановиться. А вы понимаете, как именно психически страдает сам Навальный и те, кого так заставляют, по сути, мучить его в колонии?
– Навального я очень хорошо понимаю, как ему тяжело. Мои вот эти испытания кончились тем, что я в конце концов был вынужден вскрываться там [распороть брюшную полость]. А этот заключенный, который говорит, что он сам там страдал – конечно, наверное, это некое преувеличение присутствует. Но тем не менее, конечно, многим заключенным это нравится, провоцировать. Почему нет-то?
– Вас до такого состояния почему довели?
– Потому что я жаловался. У меня была война с администрацией, я писал жалобы, и на меня нужно было как-то воздействовать. Они начали прессовать отряд весь, и ко мне начали приходить заключенные и говорить, что из-за меня страдает весь отряд, его лишили сна, который им не положен. Но опять же, заключенные работают по 24 часа в сутки, им дают немножко спать днем, а это же как бы неофициально. Поэтому когда я начал писать жалобы, их лишили сна и сказали, что это все из-за меня: «Это вот плохой Переверзин, он жалуется, ему здесь не нравится». Поэтому начали на меня оказывать такое давление, и я был вынужден предпринять меры, в результате которых я покинул этот отряд.
– А вы думаете, Навального сейчас подводят ровно к этому же?
– Я не думаю. Я думаю, что за ним наблюдают 24 часа в сутки. У него такой возможности не будет. Но духа у него хватило бы, я в этом не сомневаюсь, он большой молодец, конечно.
– Говорят, что пока Навальный был в больнице, остальным о нем показывали некий специальный фильм, который были обязаны посмотреть все в колонии. Насколько такая попытка опорочить Навального в глазах других заключенных может повлиять на его жизнь в колонии? Что имеется в виду, когда говорят об этой низшей касте?
– Есть определенная каста заключенных: обиженные, опущенные, с которыми никто не общается, они живут отдельно, питаются из отдельной посуды, с ними никто не здоровается за руку. Но это достаточно серьезно. В такую касту автоматически попадают по разным причинам, ну и в том числе из-за нетрадиционной ориентации. То есть, в принципе, в тюремных условиях это достаточно серьезное обвинение – не просто достаточно серьезное, а это все. То есть если бы это прогнали по тюрьме, то с ним никто за один стол даже не сядет.
– Но такая попытка опорочить Навального в глазах заключенных, соответственно, сильно влияет на его жизнь в колонии, даже если это не так?
– Думаю, да. Скажем так, есть такое понятие, как «ставят под сомнение». То есть если там кто-то его поставит под сомнение, он же тоже не лыком шит. Поэтому, в принципе, такую провокацию не так сложно сделать, ты ведь в тюрьме полностью бесправен. Вот сейчас gulagu.net, ресурс Осечкина, – они много чего там рассказывают, чудовищные истории, что происходит и как все это делается.
– Вы говорите о провокации и, продолжая дальше эту тему, заключенные в фильме говорят, что действительно одной из целей, по мнению бывших заключенных, было именно спровоцировать самого Навального на конфликт. Что было бы, если бы Навальный действительно поддался на эти провокации? По сути, у него уже десятки взысканий от администрации. И что такого, если бы действительно он ударил кого-то из заключенных?
– Если бы он ударил какого-то заключенного, то это уже статья, то есть это нанесение легких или все зависит от степени нанесенных повреждений. Опять же, он там ударил, а еще этого же заключенного оперативники еще избили вдобавок по-тихому – кто там разберет: где Навальный его ударил, а где – оперативники. И, в принципе, это статья. Его провоцируют на статью. Если он там подерется с заключенным, там один удар достаточно, – вот тебе еще два года прилетело.
– Осужденные также рассказывают, что за Навальным постоянно следят не только по видеокамерам, но и сразу несколько членов отряда. Владимир, вы видели, вы сталкивались с подобными же примерами давления в колонии? Были ли те, кто от такого давления на ваших глазах буквально ломался?
– Так никого не давили, кроме меня.
– Вы как с этим справлялись?
– Я долго терпел, и в конце концов я порезал себя и уехал в другой отряд, а потом в другую колонию.
– Это исключительно об этой колонии такое можно сказать или все-таки дальше вы с этим сталкивались?
– Нет, у меня такое психологическое давление, как у Навального, было во Владимире на общем режиме ИК-6, а потом меня перевели в этот Покров, где как раз Алексей сидит, то есть все знакомые места.
– И в Покрове как с вами обращались?
– В Покрове более или менее. Я уже в Покров приехал с определенной репутацией «обморозка», что я могу и порезаться, и, в принципе, меня «мусора» побаивались. Понятно было, что на УДО меня никто не отпустит, и уже так опасались.
– Сейчас эти факты опубличили, и вы об этом рассказывали ранее. Сейчас мы видим фильм про Навального. Что-то теперь может поменяться пусть даже в одной отдельно взятой покровской колонии?
– Может поменяться. Понимаете, все эти тюремщики ходят под администрацией президента и под ФСБ, под своими кураторами, под своими инструкторами. Если кто-то из высокого начальства позвонит и скажет: «Вы чего там, охренели, чего вы там его прессуете?» – они прекратят, а так ничего не поменяется.
Алексей Навальный сейчас находится в исправительной колонии №2 в городе Покрове во Владимирской области, куда его поместили, когда он вернулся из Германии в Россию: формально это было сделано по запросу ФСИН, которая посчитала, что оппозиционер нарушил условия условного содержания по «делу «Ив Роше». Навальному назначили три с половиной года лишения свободы в колонии общего режима. В России после ареста политика прошли протесты с требованием освободить его, из-за преследований многим его соратникам пришлось покинуть Россию.