Pull to refresh
1
0
Даниил Третьяков @bodrov

User

Send message

20 игр, чтобы научить ребёнка программированию

Reading time5 min
Views306K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Total votes 59: ↑53 and ↓6+47
Comments92

Загрузка Linux с VHD на компьютере с BIOS

Reading time7 min
Views21K

Загрузка Linux с VHD может пригодиться в различных сценариях, например, когда на компьютере установлена Windows и есть необходимость в Linux, но WSL или виртуальной машины с Linux недостаточно, а разбивать диск на разделы нет желания. Microsoft позволяет грузить Windows с VHD «из коробки» начиная со старших редакций Windows 7. Но что делать, если возникла необходимость загрузить таким способом Linux?

Читать далее
Total votes 77: ↑77 and ↓0+77
Comments11

Как убрать из Git-репозитория файлы с конфиденциальной информацией

Reading time4 min
Views31K
Файлы проиндексированы, написано сообщение коммита, данные отправлены на сервер… И вдруг хочется повернуть время вспять. В коммит попал файл, которого там быть не должно. Когда такое случается, приходит время обращаться к поисковику.

Каждый разработчик когда-то по ошибке коммитил в общедоступный репозиторий файлы с конфиденциальной информацией. Как справиться с такой проблемой? Как сделать так, чтобы ничего подобного больше не случилось бы?

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


Удаление файлов с конфиденциальной информацией из Git-репозитория (изображение большого размера)
Читать дальше →
Total votes 44: ↑38 and ↓6+50
Comments19

VPN в домашнюю локалку

Reading time4 min
Views50K


TL;DR: я устанавливаю Wireguard на VPS, подключаюсь к нему с домашнего роутера на OpenWRT, и получаю доступ к домашней подсети с телефона.

Если вы держите на домашнем сервере личную инфраструктуру или у вас дома множество девайсов управляемых по IP, то вы наверняка хотите иметь к ним доступ с работы, из автобуса, поезда и метрo. Чаще всего для аналогичных задач приобретается IP у провайдера, после чего порты каждого сервиса пробрасываются наружу.

Вместо этого я настроил VPN с доступом в домашнюю локалку. Плюсы такого решения:

  • Прозрачность: чувствую себя как дома при любых обстоятельствах.
  • Простота: настроил и забыл, не надо думать о пробросе каждого порта.
  • Цена: у меня уже есть VPS, для таких задач современный VPN почти бесплатен по ресурсам.
  • Безопасность: ничего не торчит наружу, можно оставить MongoDB без пароля и никто не утащит данные.

Как всегда, есть и минусы. Во-первых, вам придётся настраивать каждый клиент по отдельности, в том числе, на стороне сервера. Может быть неудобно при наличии большого числа устройств, с которых хочется иметь доступ к сервисам. Во-вторых, у вас на работе может оказаться совпадающая по диапазону локалка — придётся разрешать эту проблему.
Читать дальше →
Total votes 30: ↑27 and ↓3+37
Comments38

Вышел Windows Terminal Preview 1.2

Reading time3 min
Views12K
Представляем очередное обновление Windows Terminal Preview, которое появится в Windows Terminal в августе. Вы можете загрузить Windows Terminal Preview и Windows Terminal из Microsoft Store или со страницы выпусков на GitHub.

Заглядывайте под кат, чтобы узнать о последних новинках!

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments22

Сравниваем подсистемы WSL 1 и WSL 2. Стоит ли переходить?

Reading time4 min
Views33K


В этой заметке в стиле «мысли вслух» автор хотел бы сравнить WSL первой и второй версии, благо опыт общения имеется.
Читать дальше →
Total votes 32: ↑26 and ↓6+33
Comments84

Как стать долларовым миллионером за 30 лет, лежа на диване

Reading time12 min
Views240K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!
Total votes 238: ↑221 and ↓17+274
Comments557

Flutter. Асинхронность и параллельность

Reading time11 min
Views49K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в DartFlutter в частности).


TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments18

Про фразовые глаголы

Reading time7 min
Views63K
Фразовые глаголы английского языка гораздо проще, чем кажутся. Они работают точно так же, как в русском языке приставки. Выдающийся советский актёр Зиновий Гердт, узнав однажды о недостойном поступке, совершённом знакомым ему писателем, сказал: «Разрешите с вами раззнакомиться». Думаю, мало кто слышал в живой речи глагол «раззнакомиться». Но интуитивно всё равно понятно, что это противоположность «ПО-знакомиться».

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

Безответственные преподаватели рекомендуют значения фразовых глаголов «просто запоминать», не пытаясь понять их внутреннюю логику. Это порочная практика: фразовых глаголов только самых распространённых – тысячи. «Выучить» их принципиально невозможно. Вот, скажем, let – это «позволять, пускать». А фразовый глагол «let in on» означает «посвящать в тайну». Запомнить такое способен только человек, который понимает переносные значения частиц, образующих фразовые глаголы.

Если правильно усвоить эти переносные значения, можно начать понимать даже такие фразовые глаголы, с которыми сталкиваешься впервые. Знание нескольких принципов освобождает от необходимости знания многих фактов.
Читать дальше →
Total votes 88: ↑86 and ↓2+115
Comments157

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования

Reading time11 min
Views74K
Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

Читать дальше →
Total votes 31: ↑30 and ↓1+46
Comments21

6 самых свежих курсов по Azure

Reading time4 min
Views18K
Привет, Хабр! Ранее мы опубликовали уже 3 статьи из 5 в нашей серии подборок интересных учебных курсов от Microsoft. Сегодня – уже четвертая часть, и в ней мы расскажем про самые свежие курсы по облаку Azure.

Кстати!

  • Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
  • 5/6 на русском языке;
  • Начать обучение можно мгновенно;
  • По окончании вы получите бейдж об успешном прохождении обучения.

Присоединяйтесь, подробности под катом!

Новая серия статей


Следующая серия статей, начало 2020 года


Эта серия статей, 2019 год


Читать дальше →
Total votes 16: ↑15 and ↓1+18
Comments2

Как выучить иностранный язык

Reading time10 min
Views115K

Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


Оглавление:


  1. Отступление про умных людей и прочих полиглотов
  2. Первый шаг
  3. Какой преподаватель нужен (уровень преподавателя)
  4. Где искать преподавателя
  5. Развитие навыков: слушание
  6. Развитие навыков: чтение
  7. Развитие навыков: письмо
  8. Развитие навыков: разговор: произношение
  9. Развитие навыков: разговор: языковой барьер
  10. Словарный запас
  11. Самое главное


Итак, вопрос: “Как выучить английский язык?”.

Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments158

Использование DiagnosticSource в .NET Core: теория

Reading time11 min
Views15K

DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписываться на эти события и обрабатывать их.


Каждое такое событие содержит дополнительную информацию (payload), а поскольку обработка событий происходит в том же процессе, что и отправка, эта информация может содержать практически любые объекты без необходимости сериализации/десереализации.


DiagnosticSource уже используется в AspNetCore, EntityFrameworkCore, HttpClient и SqlClient, что фактически даёт разработчикам возможность перехватывать входящие/исходящие http запросы, запросы к базам данных, получать доступ к таким объектам, как HttpContext, DbConnection, DbCommand, HttpRequestMessage и многим другим и даже изменять эти объекты при необходимости.


Я решил разделить свой рассказ про DiagnosticSource на две статьи. В этой статье мы на простом примере разберем принцип работы механизма, а в следующей я расскажу о существующих в .NET событиях, которые можно обрабатывать с его помощью и покажу несколько примеров его использования в OZON.ru.

Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments7

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

Reading time5 min
Views40K
5 признаков, что вам пора учиться, 25 онлайн-сервисов для прокачки скиллов и 5 практических советов для профессионального развития вы узнаете из этой статьи за 9 минут.
Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments9

На злобу дня: кроссплатформенный клиент для Telegram на .NET Core и Avalonia

Reading time9 min
Views21K

В этой статье я расскажу, как реализовать кроссплатформенное приложение на .NET Core и Avalonia. Тема Телеграма очень популярна в последнее время — тем интереснее будет сделать клиентское приложение для него.


Egram


Статья затрагивает достаточно базовые концепции разработки на Avalonia. Тем не менее, мы не будем писать "Hello, World". Вместо этого предлагается рассмотреть реальное приложение. Изучим как общую архитектуру приложения, так и отдельные компоненты.


Чтобы не злоупотреблять вниманием читателя, в некоторых случаях придется сознательно опустить некоторые детали, упростив описание и реализацию. Реальный же код всегда можно посмотреть на GitHub.


Текст статьи носит обучающий характер, но сам проект вполне реальный. Целью проекта является создание клиента, рассчитанного на использование в качестве рабочего инструмента. Множество идей позаимствовано из других мессенджеров и переложено на модель Telegram.

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments22

Pull request'ы на GitHub или Как мне внести изменения в чужой проект

Reading time6 min
Views506K
По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub'а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:
Pull request'ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Говоря своим языком: Посылая pull request, вы говорите автору изначального репозитория (и всем заинтересованным лицам): «Смотрите, что я сделал, не хотите ли принять мои изменения и влить их в проект?»
Читать дальше, но теперь уже обо всём по порядку
Total votes 84: ↑80 and ↓4+76
Comments31

Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core

Reading time23 min
Views103K
Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть между фронтэндом и бэкендом, и планка вхождения в область становится все выше и выше, разработчики начинают делиться на два лагеря и уходит такое понятие как фуллстек.

Да, под Node.js можно написать сервер, но для бэковой разработки, все же, .net бесспорный лидер. На js, на мой взгляд, очень сложно написать гибкий и легко поддерживаемый бэкенд, хотя возможно многие со мной и не согласятся.

Давайте ударим автопробегом по бездорожью попытаемся вопреки всему этому написать SPA приложение с бэком на .net core и клиентом на js, из инструментов разработки будем использовать горячо любимую Visual Studio.

После этого туториала, я надеюсь, веб и бэк разработчикам будет проще найти почву под ногами в вражьей области и понять в какую сторону двигаться для более углубленного изучения. Поехали!
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments39

Как мне удалось взломать приложение

Reading time4 min
Views41K
Здравствуй уважаемый %habrauser%. В данной статье я поделюсь с вами историей о том как я взломал приложение. Взломать сам EXE-шник приложения не получилось, но желаемый результат был получен другим способом. Чтобы сохранить конфиденциальность буду опускать некоторые моменты, сильно обрезать скрины. И так

image
Читать дальше →
Total votes 33: ↑25 and ↓8+17
Comments46

Нехватка оперативной памяти в Linux на рабочем ПК: оптимизация и действия при зависании

Reading time5 min
Views86K
На любой операционной системе часто не хватает оперативной памяти. Рассмотрим, как и сэкономить на увеличении аппаратных ресурсов машины с Linux, и продолжить более-менее комфортно пользоваться компьютером с Linux в условиях нехватки памяти.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments36
1
23 ...

Information

Rating
Does not participate
Location
Донецк, Донецкая обл., Украина
Date of birth
Registered
Activity