Pull to refresh
-1
0
Send message

Изучаем коня (часть 4)

Reading time15 min
Views43K

Продолжаем изучать шахматные фигуры вместе с ребенком. Теперь наступает очередь коня.

В силу окончания учебного года, произошла некоторая задержка и разрыв между ферзем и конем. С учетом того, что конь – самая сложная фигура в шахматах для изучения, материал готовился несколько дольше, чем обычно. Но вот он и вышел. Все диаграммы с разъяснениями под катом – милости прошу.
Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments31

Как пользоваться интерфейсами в Go

Reading time5 min
Views8.8K


В свободное от основной работы время автор материала консультирует по Go и разбирает код. Естественно, что в ходе такой деятельности он читает много кода, написанного другими людьми. В последнее время у автора этой статьи сложилось впечатление (да именно впечатление, никакой статистики), что программеры стали чаще работать с интерфейсами в «стиле Java».

Этот пост содержит рекомендации автора материала об оптимальном использовании интерфейсов в Go, основанные на его опыте в написании кода.


В примерах этого поста мы будет пользоваться двумя пакетами animal и circus. Многие вещи в этом посте описывают работу с кодом, граничащим с регулярным применением пакетов.

Как делать не надо


Очень распространенное явление, которое я наблюдаю:

package animals 

type Animal interface {
	Speaks() string
}

// применение Animal
type Dog struct{}
func (a Dog) Speaks() string { return "woof" }
Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments9

Шансы на успех в Европейском Суде жалоб на блокировку ресурсов

Reading time2 min
Views26K
Вероятнее всего жалобы в Европейский Суд на блокировки ресурсов в связи с попытками Роскомнадзора заблокировать Телеграмм могут иметь большие шансы того, что Суд может признать нарушение.

Вопросы блокировки сайтов рассматривались Европейским Судом в нескольких делах. Большинство дел касается блокировок в Турции, хотя в последнее время стали появляться жалобы против России.

В целом подход Суде следующий.
Читать дальше →
Total votes 69: ↑64 and ↓5+59
Comments86

Честные выборы. Слово криптографам

Reading time7 min
Views17K
Многие попытки (см., например Открытое электронное голосование(доказательство от противного), Про электронное тайное голосование) “на коленке” придумать эффективные схемы голосования, защищенного от основных видов фальсификаций, основываются на том или ином способе отказа от тайны голосования, игнорируя возникающие при этом опасности облегчения покупки голосов или принуждения избирателя к голосованию. Эти опасности, казалось бы, неизбежно вытекают из необходимости сочетать “несочетаемые” требования честных выборов – обеспечения возможности избирателю проверить, как учтен его голос, и исключения возможности продать свой голос – то есть доказать покупателю, как именно он проголосовал. Учет первого требования приводит к отказу от тайны голосования (хотя бы для самого избирателя), и, автоматически, дает этому избирателю возможность продать свой голос тому, кто захочет его купить. Возможность продажи голоса автоматически означает появление возможности принуждения избирателя голосовать по требованию злоумышленника под угрозой преследования или дискриминации. Фактической покупки голосов или принуждения может и не быть – достаточно самой угрозы и возможности такой покупки для возникновения опасности дискредитации результатов голосования.

Может ли современная криптография, решившая не менее головокружительные проблемы, представлявшиеся неразрешимыми на первый взгляд (открытие асимметричной системы шифрования), предложить решение, обеспечивающие выполнение двух требований честных выборов?

Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments83

Как раз и навсегда разобраться с неправильными глаголами в английском

Reading time6 min
Views61K
Изучающие английский язык рано или поздно сталкиваются с неправильными глаголами: ненавистной как минимум сотней необходимых в быту глаголов, которые имеют по три формы. И все эти три формы надо зубрить, зубрить, зубрить! Неужели английский без них не может обойтись? И вообще, почему в русском неправильных глаголов нет, а в английском есть? Можно ли как-нибудь обойтись без них? Для ответов на все эти вопросы нам надо обратиться к истории языка.


Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments68

GopherCon Russia 2018: конференция пройдет 17 марта в Москве

Reading time4 min
Views5.7K
image

Всем привет!

Радостная новость для всех, кто любит Go — в России будет свой GopherCon с докладами и докладчиками :)

17 марта в Москве выступят Brad Fitzpatrick и Дмитрий Вьюков из Google, Jessie Frazelle из Microsoft и не только. В программе уже 11 отборных выступлений, о которых мы подробно расскажем под катом, а до 20 января еще можно предложить свой доклад в CFP.

Будет два параллельных потока, синхронный перевод в обе стороны в главном зале, огненное афтепати, крутые активности от наших партнеров (привет вам от Gett, JetBrains и Google). Ждем 400 участников, присоединяйтесь и вы!

Итак, что в программе:
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments5

Как собрать умную кормушку для кота

Reading time1 min
Views20K

Если ваш кот достает вас по утрам, можно собрать кормушку менее чем за 1000 рублей и прокачать свои DIY навыки. Я приучил кота нажимать на кнопку для получения обычной еды и прибегать на звуки имперского марша для вкусняшек.

Также я подключил эту кормушку и прочие интернет-устройства к стриму на YouTube, чтобы каждый мог поиграть с умными устройствами с другого конца земли через чат. К сожалению, мы сейчас путешествуем по Азии, поэтому кота покормить не получится, но поиграть с девайсами всё еще можно.

Схема подключения
Код для arduino
Total votes 36: ↑31 and ↓5+26
Comments63

Пластик для 3D-печати ESUN

Reading time1 min
Views3.8K
Всем привет! Мы сделали небольшой каталог по материалам компании ESUN на правах официального дистрибьютора. В каталог собрали самую необходимую информацию: технические параметры, области применения, нюансы использования, цветовой ассортимент и др. по всем видам пластика.

Делимся с вами. Возможно кому-то эта информация будет актуальной и полезной!)


Читать дальше →
Total votes 12: ↑6 and ↓60
Comments14

Аннигилируем чёрную пятницу

Reading time7 min
Views16K
Мы тут вычитали в комментариях, что вы не хотите постов про «Чёрную пятницу», мол, надоели бесчисленные истории её появления и факты про этот день. Нам тоже! Тем более, что, во-первых, в Чёрную пятницу китайский ритейл еле успевает отдышаться от 11.11, а во-вторых, мы расцениваем Black Friday как повод дать скидки тем, кто зазевался и не успел заказать подарки… к Новому году. Поэтому сегодня мы расскажем о том, что припасли для вас, а заодно раскроем несколько хитростей интернет-магазинов, которые заставляют покупать много, часто и в любое время. Инсайды, скидки и немного банальностей — внутри.


Читать дальше →
Total votes 36: ↑20 and ↓16+4
Comments15

Как делать меньше ошибок в английском. Поясняет носитель языка

Reading time6 min
Views55K


В лингвистике существует такое понятие, как интерференция — влияние родного языка на тот, который мы изучаем. Чаще всего это попытки найти какие-то общие черты в фонетике, грамматике и лексике в родном и иностранном языках.

На начальном этапе это помогает разобраться в фонетике, но потом приходится свыкаться с большим количеством правил и исключений, которые не имеют аналогов в русском.
Мы попросили одного из самых опытных носителей английского языка в нашей школе, Трессу, рассказать о наиболее частых ошибках ее русскоязычных студентов и как их исправить. Но прежде чем перейти к самому списку, есть ряд советов от нее, чтобы количество ошибок постоянно уменьшалось:
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments56

Английские слова, которые хочется перевести неправильно

Reading time4 min
Views73K


Помните, как мы учили английские слова, проводя параллели в их произношении с нашим языком? Ну там, локализация — локализейшн (localisation) или объект — обджект (object). Классно, когда все так совпадает. Но есть ряд слов-предателей этого чудного принципа созвучий. Ряд слов, которые звучат или пишутся похоже, но означают другое. В лингвистике это называется “межъязыковые омонимы и паронимы” или же “ложные друзья переводчика”. Давайте соберем топ самых неожиданных несовпадений.

Accurate — точный, чёткий. Но никак не аккуратный. И даже человека так описать нельзя.
Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments203

Мониторинг с Prometheus в Kubernetes за 15 минут

Reading time7 min
Views58K


Прим. перев.: Автор статьи Giancarlo Rubio — DevOps-инженер из ИТ-компании LINKIT (Нидерланды) — через онлайн-ресурс ITNEXT делится лаконичным рецептом по настройке мониторинга с Prometheus в Kubernetes с помощью Prometheus Operator. Инструкция появилась как следствие недавнего опыта выбора и внедрения системы проактивного мониторинга после миграции проекта с bare metal на облачную инфраструктуру. Рецепт отлично подходит для быстрого теоретического (первая половина статьи) и практического (вторая половина) знакомства. Для некоторых команд исправлены URL'ы, которые в оригинальном материале, по всей видимости, были преобразованы движком medium.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments5

Немецкие врачи вырастили трансгенную кожу для 80% тела ребёнка

Reading time3 min
Views22K

Слева: демонстрация нормальной функциональности и эластичности трансгенной кожи. Справа: отсутствие формирования волдырей в местах, где была взята биопсия после трансплантации

В июне 2015 года в ожоговое отделение немецкого госпиталя поступил семилетний мальчик, вся поверхность кожи которого была покрыта волдырями. Их причиной были не ожоги, а редкое генетическое заболевание под названием буллёзный эпидермолиз (epidermolysis bullosa). Из-за него ребёнок потерял 80% наружного слоя эпидермиса, открыв путь опасным для жизни инфекциям.

Причиной возникновения этого генетического заболевания является мутация в генах, кодирующих ламинин-332 — ключевой компонент базальных мембран, тонкого бесклеточного слоя, отделяющего соединительную ткань от эпителия. Пациенты с таким диагнозом часто умирают в раннем возрасте, а у выживших развиваются хронические повреждения кожи и слизистой оболочки, что осложняет жизнь (к таким детям буквально нельзя прикасаться) и ведёт к раку кожи.

Учитывая угрозу жизни ребёнка, его посчитали подходящим пациентом для испытания регенерации почти полного эпидермиса из трансгенных стволовых клеток. Международная группа европейских учёных и медиков вырастили и пересадили мальчику новую кожу, которая покрывает 80% тела, в том числе практически целиком руки, ноги и спину.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments59

Как мы разрабатывали средство для интенсивной регенерации

Reading time6 min
Views37K

Возможно, вы знаете средства на основе Д-пантенола — это спреи и мази, которые часто используются при ожогах. У них есть общая проблема — обезболивания там больше, чем, собственно, регенерации. Нет, Д-пантенол — это очень хорошее вещество, просто его надо больше. А ещё ему нужно проникать глубже, его можно попробовать комбинировать с другими веществами, и всё это нужно собрать в формулу, не создающую почти герметичную плёнку поверх кожи, не дающую теплу выходить из ожоговой травмы (и направляющей ожог внутрь организма).

Наши разработки по транспорту веществ под кожу одни из лучших в мире, у нас очень хорошая лаборатория по полимерам, производим 90 тонн в месяц одного только геля для УЗИ. Естественно, смотрим, в чём есть потребность, и что мы можем отлично сделать. Потребность обнаружилась давно — ожоги, насекомые, мелкие травмы, пролежни и опрелости. Применение — «нанёс-забыл», то есть регенерация в несколько применений.

С этим средством получилось не до конца. Формула отличная. Но совершенно не попали в массовый рынок по цене. Расскажу, почему именно, но придётся начать с особенностей разработки, чтобы было понятнее, в чём сложность.
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments89

Лучшие головоломки, про которые не знает никто*

Reading time5 min
Views94K
*почти

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

Огромный недостаток головоломки по сравнения с какими-нибудь ММОРПГ — очень малая реиграбельность. Я всегда думал, что технология стирания памяти в «Вечном сиянии чистого разума» использовалась не по назначению. Вместо того, чтобы изжить из воспоминаний какую-то женщину, не лучше ли забыть своё прохождение любимой игры, а потом пройти её заново? К сожалению, пока что это фантастика. Поэтому всё, что я могу — изнывая от ностальгии, в письменной форме вспоминать все эти прекрасные вещи, вернуться к которым мне, увы, не суждено.

Учитывая «одноразовость» головоломок, тем более странно и в чём-то даже преступно, что о замечательнейших представителях этого жанра узнаёшь практически случайно. Мой пост имеет целью исправление этой несправедливости, и я как раз заканчиваю затянувшееся предисловие и перехожу к сути.
Total votes 78: ↑74 and ↓4+70
Comments117

Kali Linux 2.0

Reading time1 min
Views164K


Прошло уже более двух лет с момента выхода дистрибутива Kali 1.0. Сегодня вышла 2.0 версия этого дистрибутива.

Краткий экскурс: Kali linux представляет из себя дистрибутив, содержащий множество утилит для проведения тестирования на проникновение — от анализа уязвимостей веб-приложений, до взлома сетей и сервисов и закрепления в системе. Ранее этот дистрибутив был известен под названием Backtrack.
Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments23

Великий российский фаервол не за горами

Reading time4 min
Views105K
Друзья, пока вы сидите в своих уютненьких хабрахабчиках происходит нечто важное страшное. К нам едет делиться опытом главный цензор Китая — Лу Вэй.

New York Times в репортаже о посещении им офиса Facebook называет его не иначе как China’s Web Czar. Так вот этот веб-царь Лу Вэй — глава Киберадминистрации КНР, член Политбюро ЦК Коммунистической партии Китая (личность не публичная но весьма высокопоставленная, выше посла). По сути он в Китае — главный по фаерволу. Подробности о «Золотом Щите» 金盾工程 и будущем российских интернетов под катом.
Читать дальше →
Total votes 85: ↑60 and ↓25+35
Comments383

Symfony и Command Bus

Reading time16 min
Views43K
Уже больше года использую паттерн Command Bus в своих Symfony-проектах и наконец решил поделиться опытом. В концев концов обидно, что в Laravel это есть «из коробки», а в Symfony, из которого Laravel во многом вырос — нет, хотя самому понятию Command/Query Separation уже не менее 10 лет. И если с буквой «Q» из аббревиатуры «CQRS» еще понятно что делать (лично меня вполне устраивают custom repositories), то куда приткнуть букву «C» — неясно.

На самом деле, даже в банальных CRUD-приложениях Command Bus дает очевидные преимущества:

  • контроллеры становятся «худыми» (редкий «экшен» занимает более 15 строк),
  • бизнес-логика покидает контроллеры и становится максимально независимой от фреймворка (в результате ее несложно повторно использовать в других проектах, даже если они написаны не на Symfony),
  • упрощается unit-тестирование бизнес-логики,
  • сокращается дублирование кода (когда, например, необходимо реализовать «фичу» как через Web UI, так и через API).

КДПВ
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments121

А если найду? Перелет еще дешевле чем вы уже нашли

Reading time3 min
Views122K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

Всем известно, что авиакомпании берут свои цены с потолка. Маркетологи придумывают хитроумные непрозрачные схемы отъёма денег у пассажиров пропорционально финансовым возможностям последних. Так, чтобы богатые платили за билеты побольше, а бедные — сколько смогут.

Читать дальше →
Total votes 123: ↑99 and ↓24+75
Comments299

Rust в деталях, часть 2

Reading time27 min
Views15K

Часть 2: Отправка и получение сообщений


В этой серии статей мы рассматриваем процесс создания масштабируемого сервера для чата в реальном времени, во всех деталях. Цель статьи — показать пример практического применения языка Rust на фоне изучения концепций системного программирования и системных API, шаг за шагом.

Вторая часть является прямым продолжением первой, поэтому если вы ее пропустили (или забыли контекст), то рекомендую сначала ознакомиться с ней. В этой части мы продолжаем реализацию протокола WebSocket.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments12

Information

Rating
Does not participate
Location
Россия
Registered
Activity