Pull to refresh
74
0
Виталий Чужа @hDrummer

Пользователь

Send message

Ложные друзья переводчика: 15 английских слов и фраз, которые не нужно переводить буквально

Reading time9 min
Views56K

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

Словарный запас еще небольшой, а тут встречается слово, которое сильно похоже на знакомое. К примеру, accurate. Человек сразу думает, что это «аккуратный». Ведь не может же настолько похожее слово означать что-то иное.

Увы, может. Accurate — это «точный». Поначалу это взрывает мозг, появляется чувство диссонанса, потому что ну какого черта! А потом остается только смириться и изучать ложных друзей переводчика. Расскажем о тех словах, в которых студенты с уровнем Pre-Intermediate и Intermediate допускают ошибки чаще всего.

Читать далее
Total votes 49: ↑41 and ↓8+33
Comments139

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework)

Reading time31 min
Views46K
dotnet nanoFramework

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудовании. В первой части мы познакомились с платформой .NET nanoFramework, её архитектурой, основными возможностями, посмотрели примеры программного кода. Теперь перейдем к практике, установим nanoFramework на микроконтроллеры серии ESP32 и STM32, напишем первый «Hello World!», поработаем с аппаратными интерфейсами, и оценим переносимость кода с «большого» .NET на платформу nanoFramework.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments118

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

Reading time13 min
Views27K

Компания Geekfactor cовместно с Getmentor.dev проводит программу подготовки к трудоустройству в зарубежные стартапы (бесплатно помогаем подготовиться к интервью и показываем резюме классным компаниям) — почитать о ней подробней и зарегистрироваться можно тут. Первый бесплатный вебинар с экспертами программы пройдёт 2-го ноября. Предлагаем вашему вниманию статью о самостоятельном изучении программирования и подготовке к трудоустройству в Amazon.

Последние несколько месяцев многие друзья и начинающие специалисты просят рассказать о моем опыте подготовки и успешного прохождения собеседования на должность инженера-разработчика программного обеспечения в Amazon.

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

Как устроиться в Амазон?
Total votes 9: ↑6 and ↓3+3
Comments6

Работа с картами. GMAP C#

Reading time6 min
Views20K

На написание данной статьи меня подтолкнуло не столь большое наличие текстовой информации по работе с GMap на просторах интернета, как хотелось бы.

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

Первое что могу порекомендовать из своего опыта – начать работать сразу с WinForm, а не с WPF т.к. проще и больше информации можно добыть именно по ней.

Краткий словарь терминов, которые встретятся в моей статье:

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments15

20 вещей, которые я узнал за 20 лет работы инженером-программистом

Reading time8 min
Views99K

Наткнулся на любопытный материал, в котором автор систематизировал и записал свой опыт инженера-программиста в 20 тезисов. Я работаю в коммерческой разработке ПО больше 25 лет, и этот текст отозвался во мне практически каждой буквой — большинство советов я тоже регулярно практикую, не облекая их в формат ёмких афоризмов. В общем, решил сделать перевод.

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее
Total votes 186: ↑181 and ↓5+176
Comments158

XSS: атака и защита с точки зрения C# программирования

Reading time10 min
Views16K

XSS, или межсайтовый скриптинг, является одной из самых часто встречающихся уязвимостей в веб-приложениях. Она уже долгое время входит в OWASP Top 10 – список самых критичных угроз безопасности веб-приложений. Давайте вместе разберемся, как в вашем браузере может выполниться скрипт, полученный со стороннего сайта, и к чему это может привести (спойлер: например, к краже cookie). Заодно поговорим о том, что необходимо предпринять, чтобы обезопаситься от XSS.

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments10

Как айтишнику издать свою книгу. Часть первая: куда податься

Reading time9 min
Views15K

Пожалуй, многих хотя бы раз посещала мысль поделиться своим опытом. Помочь коллегам и подрастающему поколению собранными граблями, изложить сообществу любопытные (а может и поворотные, как знать!) идеи, оставить что-то “после”.

Книга, опыт выпуска которой и послужил источником данного материала, в статье ранее https://habr.com/ru/post/512460/ набрала тысячи скачиваний и десятки благодарных отзывов. 

Для тех, кто хочет узнать, как работает книжное дело сейчас, выкладывать ли онлайн самому или сотрудничать с издательством, сколько получают авторы, как попасть на полки Буквоеда, Читай-города, в главные интернет-магазины, и все ли решают лайки — прошу:

Сравнить опенсорсный и проприетарный пути
Total votes 19: ↑18 and ↓1+17
Comments25

Хватит везде делать микросервисы

Reading time3 min
Views30K

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


image

И вот почему...
Total votes 88: ↑80 and ↓8+72
Comments105

Коммиты — это снимки, а не различия

Reading time14 min
Views46K

Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.

Читать далее
Total votes 48: ↑42 and ↓6+36
Comments55

Первое знакомство с SQL-инъекциями

Reading time5 min
Views23K
SQL-инъекции (SQL injection, SQLi, внедрение SQL-кода) часто называют самым распространённым методом атак на веб-сайты. Их широко используют хакеры и пентестеры в применении к веб-приложениям. В списке уязвимостей OWASP Топ-10 присутствуют SQL-инъекции, которые, наряду с другими подобными атаками, находятся на первом месте среди угроз, с которыми сталкиваются веб-проекты.

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



Этот материал рассчитан на абсолютных новичков, на тех, кто ничего не знает о SQL-инъекциях. Начнём мы с разбора основ, в которых необходимо ориентироваться перед разговором о SQLi. А именно, сначала мы поговорим о реляционных базах данных. Потом — о SQL, и о формировании SQL-запросов. И наконец — о том, как работают SQL-инъекции, и о том, почему они так опасны для веб-приложений.
Читать дальше →
Total votes 56: ↑43 and ↓13+30
Comments21

Как хакнуть Github и заработать $35000?

Reading time7 min
Views12K

Сегодня, специально к старту нового потока курса Этичный хакер, делимся с вами историей поиска уязвимости не где-нибудь, а в самом Github. Когда автор поста нашёл эту уязвимость и сообщил о ней, она стала его первым оплаченным баг-репортом на HackerOne. $35,000 — это также самая высокая награда, которую он получил от HackerOne (пожалуй самая высокая оплата от GitHub на сегодня). Многие найденные ошибки, кажется, — это удача и интуиция, вместе взятые. В этом посте рассказывается, как мыслил автор, приближаясь к цели.

Приятного чтения
Total votes 32: ↑30 and ↓2+28
Comments1

Жизнь без AppStore и Google Play: работаем с Huawei Mobile Services и AppGallery

Reading time9 min
Views30K

С конца 2019 Huawei поставляет Android-смартфоны без сервисов Google, в том числе без привычного всем магазина приложений Google Play. В качестве альтернативы китайская компания предлагает собственные разработки — Huawei Mobile Services (HMS), а также магазин AppGallery. В этом тексте мы расскажем, как с этим жить и работать.

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

Статические веб-приложения Azure с .NET и Blazor

Reading time3 min
Views4.3K


Статические веб-приложения Azure — это сервис, который автоматически создает и развертывает веб-приложения полного стека из репозитория GitHub. Статические веб-приложения Azure состоят из статического веб-клиента и серверной части на базе Azure Functions. При создании ресурса «Статические веб-приложения» Azure создает в репозитории исходного кода приложения рабочий процесс GitHub Actions, который отслеживает выбранную вами ветвь. Всякий раз когда вы отправляете фиксации в отслеживаемую ветвь, рабочий процесс GitHub Actions автоматически создает и развертывает ваше приложение и его API-интерфейс. 

На сегодняшний день в статических веб-приложениях Azure реализована первоклассная поддержка Blazor WebAssembly и .NET Functions в ознакомительной версии во всех регионах ее действия. Это было одним из ключевых запросов пользователей с момента объявления о выпуске статических веб-приложений на конференции Build. Вы можете разрабатывать и развертывать клиентские и бессерверные API-интерфейсы, созданные полностью на языке .NET. 

Давайте попробуем! 
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

13 облачных учебных ресурсов для .NET-разработчиков

Reading time4 min
Views10K

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

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

- 3 ресурса с гайдами

- сайт с учебными модулями

- 8 книг

- ресурс с примерами архитектуры

Все это под катом!

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

Разложение монолита

Reading time14 min
Views16K

Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен шаблонам разложения монолита.

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

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

Реализация Minecraft Query протокола в .Net Core

Reading time9 min
Views8.2K

Minecraft Server Query – это простой протокол, позволяющий получить актуальную информацию о состоянии сервера путём отправки пары-тройки незамысловатых UDP-пакетов.

На вики есть подробное описание этого протокола с примерами реализации на разных языках. Однако меня поразила, насколько куцые реализации для .Net существуют на данный момент. Поискав некоторое время, я наткнулся на несколько репозиториев. Предлагаемые решения либо содержали банальные ошибки, либо имели урезанный функционал, хотя, казалось бы, куда ещё больше урезать-то.

Так было принято решение написать свою реализацию.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments19

Как мы отказались от вкладок в интерфейсе и ускорили работу пользователей почти в 2,5 раза

Reading time8 min
Views24K
Недавно МойОфис выпустил крупное обновление 2020.03. Помимо улучшения и расширения функциональной части, в этом релизе мы кардинально изменили дизайн интерфейса редакторов. И прежде чем он стал публичным, провели исследование в специальной UX-лаборатории. Так мы выяснили, что смена внешнего вида программ приведет к существенному ускорению времени поиска пользователями нужных команд.

Настало время рассказать о том, как теперь выглядят редакторы МойОфис, о наших подходах к проектированию интерфейса и существующих рисках смены дизайна, а также про само исследование. Читайте обо всем этом под катом.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments48

Погружение в CQRS

Reading time9 min
Views7.1K

Эта статья является конспектом материала Clarified CQRS.

Прежде чем начать разбираться с CQRS, нужно понять две основные движущие силы, стоящие за ним: сотрудничество и устаревание.

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

Устаревание касается того факта, что в многопользовательских системах, как только данные были показаны пользователю, те же самые данные могут быть в дальнейшем изменены и стать устаревшими. Почти любая система, использующая кеширование, например, с целью улучшения производительности, работает с устаревшими данными. Это означает, что нельзя полностью доверять принятым решениям наших пользователей, поскольку они могли быть приняты на основе устаревших данных.

Стандартная многоуровневая архитектура не решает ни одну из этих проблем. Хотя размещение всех данных в одной БД может способствовать улучшению совместной работе, устаревание обычно усугубляется в такой архитектуре из-за использования кеширования в качестве средства повышения производительности.

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

Domain-Driven Design: тактическое проектирование. Часть 2

Reading time16 min
Views78K


Здравствуйте, уважаемые хабрапользователи! В предыдущей статье мы рассмотрели стратегическое моделирование с помощью подхода DDD. В ней было показано, как выделять концептуальные границы, в рамках которых решаются отдельные задачи предметной области – ограниченные контексты.

Для реализации конкретного ограниченного контекста используется ряд более низкоуровневых тактических шаблонов, которые имеют технический характер, то есть эти шаблоны используются для решения технических задач. Такими шаблонами являются: сущность, объект-значение, службы предметной области, события, модули, агрегаты, фабрики и хранилища. Именно о них пойдет речь в этой статье.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments27

Ценности DDD

Reading time10 min
Views33K
Основоположником DDD (Domain Driven Design, предметно-ориентированное проектирование) является Эрик Эванс, который в довольно далеком 2003 году подарил миру свою знаменитую книгу о предметно-ориентированном проектировании. Безусловно, не все, что описано в книге придумал автор с нуля. Многие идеи и практики существовали и до него, но у Эванса получилось все это систематизировать и правильно расставить акцента. Давайте попробуем разобраться, что же именно предлагает Эванс.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments19
1
23 ...

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity