Pull to refresh
8
0

Software Developer

Send message

Почему некоторым так сложно учиться программированию?

Reading time15 min
Views108K

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

Однако с этим я согласиться никак не могу. Программирование по содержанию ничуть не сложней многих других отраслей знаний, а в чем-то даже и легче, особенно когда касается прикладных задач. Наткнулся на заметку человека, который высказал весьма небанальную мысль: при обучении программированию "с нуля" этот "ноль" для всех сильно разный. И у меня есть стойкое убеждение, что сложность освоения четко зависит от значения этого нуля. А вот почему он разный и что на него влияет- мне и хотелось бы поразмышлять.

Читать далее
Total votes 293: ↑267 and ↓26+241
Comments720

ТВ вместо монитора: HDR, 120 Гц и вот это всё

Level of difficultyEasy
Reading time20 min
Views85K

Разбираемся, зачем экранам 500 Гц, почему телевизор не монитор, за сколько часов выгорит OLED и как вообще это всё работает.

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

25 лет «Аэрону»: ощущения и впечатления от обновлённой версии Aeron Remastered

Reading time9 min
Views53K
«Аэрон» это кресло не только с ценником, но и с историей. Выпущенный в 1994 году «трон доткомов» пережил большинство своих мыльных королевств, вместо гранитной плиты получив прописку в коллекции нью-йоркского Музея современного искусства MoMA, — и стал самым продаваемым офисным креслом Америки.



«Лучше, чем Aeron» назывался обзор кресла Herman Miller Mirra 2, вышедший в 2014 году — обновлённой «Мирре» тогда был год, «Аэрону» — 20. Короче, обновление «Аэрона» в 2016 году, 22 лет отроду, было нерядовым событием. Теперь уже «Аэрону-2» 2 года, а «Мирре-2» — 5 лет. Впрочем, о матче-реванше речи не идёт: ценник Herman Miller Aeron Remastered на родине на 20% выше всё ещё недешёвой Mirra 2 намекает на разные рыночные ниши моделей — впрочем, знакомство с «Миррой», которая, судя по всему, в самом зените своей рыночной карьеры — пригодится для контекста.
Читать дальше →
Total votes 52: ↑39 and ↓13+26
Comments60

Lock-free структуры данных. Iterable list

Reading time7 min
Views14K
Lock-free list является основой многих интересных структур данных, — простейшего hash map, где lock-free list используется как список коллизий, split-ordered list, построенный целиком на списке с оригинальным алгоритмом расщепления bucket'а, многоуровневого skip list, являющегося по сути иерархическим списком списков. В предыдущей статье мы убедились, что можно придать такую внутреннюю структуру конкурентному контейнеру, чтобы он поддерживал thread-safe итераторы в динамичном мире lock-free контейнеров. Как мы выяснили, основным условием для того, чтобы lock-free контейнер стал итерабельным, является стабильность внутренней структуры: ноды не должны физически удаляться (delete). В этом случае итератор суть просто (быть может, составной) указатель на ноду с возможностью перехода к следующей (оператор инкремента).

Можно ли такой подход распространить на lock-free list?.. Посмотрим…
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments0

.NET Interactive уже здесь! | .NET Notebooks Preview 2

Reading time3 min
Views8.9K


В ноябре 2019 мы анонсировали поодержку .NET для Jupyter notebooks с доступностью C# и F#. Сегодня мы рады объявить о выпуске Preview 2 .NET Notebook. В этой статье вы можете найти все основные новые функции этого выпуска. Присоединяйтесь!
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments2

A* pathfinding на C#: двоичные кучи и борьба с аллокациями

Reading time20 min
Views14K
Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат.

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

Я был изумлен, когда поверхностный поиск не выдал мне ни одной качественной реализации алгоритма A* на C# без использования сторонних библиотек (это не значит, что их нет). А значит самое время размять пальцы!

Жду читателя, который хочет разобраться в работе алгоритмов поиска пути, как и знатоков алгоритмов для ознакомления с реализацией и способами её оптимизации.

Приступим!
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments15

Собеседование наоборот: вопросы соискателя к компании

Reading time6 min
Views75K
Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. За прошлый год я провёл порядочное количество собеседований, и абсолютное большинство кандидатов огорчило меня отсутствием вопросов о компании, всего 5 человек стали меня расспрашивать о работе.

Я же считаю, что вопросы на собеседовании должен задавать и сам кандидат, ведь ему предстоит там работать. Из стандартного описания вакансии невозможно понять, что творится в компании, да и на собеседовании принято всё немного приукрашивать. Я думаю, что соискатель должен максимально использовать собеседование для того, чтобы выяснить реальное положение дел в компании. Мало кому захочется попасть в некомфортные условия или в убыточную компанию без перспектив. Если интересно, как во время собеседования получить реальное представление о компании, то добро пожаловать под кат. Я дам список вопросов, которые обычно не ждут интервьюеры, возможно кому-то они помогут принять правильное решение при поиске работы.

image
Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments130

Магические сигнатуры методов в C#

Reading time9 min
Views30K

Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK.


Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. Например, с их помощью можно упростить наш код или создать DSL для того, чтобы выразить решение проблемы более красивым образом. Я встречаюсь с такими методами повсеместно, так что я решил написать пост и обобщить все мои находки по этой теме, а именно:


  • Синтаксис инициализации коллекций
  • Синтаксис инициализации словарей
  • Деконструкторы
  • Пользовательские awaitable типы
  • Паттерн query expression
Читать дальше →
Total votes 82: ↑81 and ↓1+80
Comments70

10 типичных ошибок при использовании Kubernetes

Reading time11 min
Views27K
Прим. перев.: авторы этой статьи — инженеры из небольшой чешской компании pipetail. Им удалось собрать замечательный список из [местами банальных, но всё ещё] столь актуальных проблем и заблуждений, связанных с эксплуатацией кластеров Kubernetes.



За годы использования Kubernetes нам довелось поработать с большим числом кластеров (как управляемых, так и неуправляемых — на GCP, AWS и Azure). Со временем мы стали замечать, что некоторые ошибки постоянно повторяются. Однако в этом нет ничего постыдного: мы сами совершили большинство из них!

В статье собраны наиболее распространенные ошибки, а также упомянуто о том, как их исправлять.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments3

Повышаем надёжность HttpClient’а в .NET Core или как ошибиться в 3 строках кода 4 раза

Reading time13 min
Views37K

За несколько недель до 14 февраля системе Dodo IS немного поплохело под нагрузкой. Одной из причин стало то, что в backend’ах мобильного приложения и сайта не совсем корректно работали политики поверх HttpClient’а (Retry, Circuit Breaker, Timeout). В этой статье я хочу поделиться с вами потенциальными проблемами, которые могут возникнуть при неправильном использовании таких политик.


Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments36

Машинное обучение на C#: введение в ML.NET

Reading time22 min
Views36K


ML.NET претендует на звание самой мощной библиотеки для машинного обучения на платформе .NET. Так ли это на самом деле? На вопрос отвечает Джефф Просайз.

Джефф Просайз — один из создателей компании Wintellect, коллега по цеху знаменитого Джеффри Рихтера, автор более девяти книг и множества статей по разработке приложений, сейчас работает с Azure и разрабатывает различные AI-решения.

Под катом перевод и видео доклада Джеффа с конференции DotNext 2019 Moscow в оригинале.
Total votes 25: ↑25 and ↓0+25
Comments10

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

Reading time12 min
Views239K


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

Roslyn & EF Core: конструируем DbContext в runtime

Reading time8 min
Views5.8K

Entity Framework Core может генерировать код моделей и DbContext для существующей базы данных с помощью консольной команды dotnet ef dbcontext scaffold. Почему бы нам не попробовать сгенерировать DbContext в runtime?


В статье я расскажу как в runtime в своём приложении:


  1. Сгенерировать код DbContext с помощью EF Core.
  2. Скомпилировать его в памяти с помощью Roslyn.
  3. Загрузить полученную сборку.
  4. Создать экземпляр сгенерированного DbContext.
  5. Работать с базой данных через полученный DbContext.

Пример доступен на github.

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

[Перевод] Смыть

Reading time18 min
Views26K
Привет, Хабр! Представляю вашему вниманию перевод статьи «To Wash It All Away» автора James Mickens.



Когда я учился в аспирантуре в Анн-Арбор, у меня был друг, глубоко увлеченный движением защитников окружающей среды. Он покупал еду у местных фермеров, ездил на велосипеде вместо машины, желая уменьшить выбросы, и держал жуткое компостное ведро, которое, вероятно, будет источником следующей пандемии гриппа. Однажды он сказал мне, что собирается неделю пожить на ферме. Я спросил зачем, и он ответил, что хочет «побыть ближе к земле» — фраза, которую вы можете произнести с серьёзным лицом, только комментируя документальный фильм о древних южноамериканских племенах. Я сказал моему другу, что земля не хочет побыть ближе к нему и что если бы он действительно присмотрелся к земле, то увидел бы не молочные реки и кисельные берега, а голод, стервятников, непосильный труд с использованием тачек и в целом неприемлемые количества насекомых. Он разразился продолжительной лекцией об экологической ответственности, которую я тут же выбросил из головы, потому что понял, что мой наивный друг даст дуба на этой ферме, и посоветовал ему без колебаний возвращаться, если вдруг ему там будет недостаточно хорошо. Он улыбнулся мне так, как улыбаются люди в фильмах ужасов за минуту до встречи с топором, и отчалил.
Читать дальше →
Total votes 124: ↑106 and ↓18+88
Comments166

Реально ли разработчику в Кремниевой долине стать миллионером? Разбор от Staff Engineer в Lyft

Reading time8 min
Views58K


Изображение: Unsplash

Уже несколько дней интернет-общественность активно обсуждает фильм Юрия Дудя про Кремниевую долину. Опрошенные блогером эксперты рассказали об устройстве мировой IТ-столицы, а также подробно описали жизнь и быт работников технологических компаний.

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

Я решил разобраться, так ли это на самом деле или в реальности не всё так просто. Для этого я поговорил с Денисом Неклюдовым, Staff Engineer в компании Lyft (конкурент Uber) и автором DevJobAccelerator. Итак, посмотрим, как на самом деле выглядит карьерный путь разработчиков в Кремниевой долине – от старта до компенсаций в миллионы долларов.
Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments147

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views204K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Total votes 201: ↑196 and ↓5+191
Comments342

Руководство по CI/CD в GitLab для (почти) абсолютного новичка

Reading time13 min
Views325K

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


Наверное, у каждого разработчика, имеющего хотя бы один пет-проект, в определённый момент возникает зуд на тему красивых бейджиков со статусами, покрытием кода, версиями пакетов в nuget… И меня этот зуд привёл к написанию этой статьи. В процессе подготовки к её написанию я обзавёлся вот такой красотой в одном из своих проектов:


результаты


В статье будет рассмотрена базовая настройка непрерывной интеграции и поставки для проекта библиотеки классов на .Net Core в GitLab, с публикацией документации в GitLab Pages и отправкой собранных пакетов в приватный фид в Azure DevOps.


В качестве среды разработки использовалась VS Code c расширением GitLab Workflow (для валидации файла настроек прямо из среды разработки).

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

Как пройти собеседование или почему тебя не берут на работу?

Reading time12 min
Views40K
Не работать и получать кучу денег — мечта практически любого человека. Но если ты не грудастая, смазливая блондинка, которая готова на всё ради своей мечты, все таки работать придется. 

И чтобы не проклинать каждый день, за то, что ты тратишь свои лучшие годы на эту контору, нужно иметь решимость уйти туда, где тебя будут ценить. Проходишь пару интервью — и ты в лучшем месте. Что сложного? Мне искренне непонятно, почему многие спотыкаются на этом этапе, ведь всё не так трудно, как может показаться на первый взгляд.
Читать дальше →
Total votes 57: ↑45 and ↓12+33
Comments56

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

Reading time8 min
Views21K
С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Microsoft не гнушаются этой конструкцией.


Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments29

JSON Schema. Быть или не быть?

Reading time14 min
Views103K
Архитектура: искусство делать излишнее необходимым.

Фредерик Кислер

Ни для кого давно уже не секрет, что для любого web-сервиса на протоколе SOAP с сообщениями в формате XML верным и проверенным временем решением является предварительная разработка XML Schema (xsd-схемы), описывающей типы данных и структуру XML сообщений. При этом подходе у разработчиков существует явное преимущество: у них есть строгие стандартизированные правила по структуре сообщений, которые заданы в схеме, число правил конечно, и они позволяют автоматизировать проверку любого нового сообщения в формате XML.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments36
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity