Обновить
8
23

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

Отправить сообщение

C++ против C#

Время на прочтение23 мин
Охват и читатели84K


Всем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это.

Но что получится, если обратиться к опытным специалистам, которые сами всё это понимают, и попросить их всё-таки устроить холивар «C++ vs C#»? Оказывается, можно узнать много любопытных деталей. Слово «кроссплатформенный» можно по-своему применить к обоим языкам, но что это значит на практике? Активно ли сейчас развивается С++? Ломал ли C# когда-либо обратную совместимость? Ответы могут быть очевидны для тех, кто уже глубоко погружён в оба языка сразу, но таких людей немного — а все остальные узнают что-то новое.

Со стороны C++ поучаствовал Сергей sermp Платонов — председатель программного комитета конференции C++ Russia. Сторону C# представлял Анатолий Кулаков — он входит и в ПК конференции DotNext, и в число лидеров DotNetRu. А ведущим дискуссии, в жизни которого сосуществуют оба этих мира, стал Дмитрий mezastel Нестерук.

Читать дальше →

Как Греф с программистами боролся

Время на прочтение6 мин
Охват и читатели237K

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


Читать дальше →
«Библиотеки для C++ нередко похожи на русскую классику: страдает либо их автор, либо пользователь, либо архитектура». Автор этой цитаты, Сергей Садовников из «Лаборатории Касперского», прошел свой путь от страданий к просветлению и узнал о метапрограммировании в С++ нечто важное и нужное. Сочувствующих приглашаем в волшебный мир макросов, шаблонов, boost и прочих loki.
Подробности – под катом

Как я спас мир

Время на прочтение4 мин
Охват и читатели37K
image

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

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

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

Миллион работ в arXiv.org

Время на прочтение2 мин
Охват и читатели11K
image

Пол Гинспарг — основатель arXiv.org

Крупнейший в Интернете бесплатный архив электронных публикаций научных статей и их препринтов arXiv.org 29 декабря 2014 года достиг отметки в 1 миллион документов, о чём сообщается в специальном пресс-релизе на сайте Корнуолльского университета.
Узнать подробности

Чего стоит идея и как превратить ее в концепт: инструменты геймдизайнера

Время на прочтение8 мин
Охват и читатели15K


«Идея ничего не стоит» — эту мантру слышал наверное каждый геймдизайнер. Важны лишь концепт и реализация. Только на бумаге или экране компьютера идея начинает обретать смысл и форму. И я задался вопросом: а есть ли какие-то базовые принципы по превращению идеи в концепт?

Внутри перевод с краткой теорией и практическими советами для всех, кто ждет вдохновения или не знает, с чего начать.
Читать дальше →

Пиксель-арт для начинающих: инструкция по применению

Время на прочтение11 мин
Охват и читатели239K


Инди-разработчикам нередко приходится совмещать сразу несколько ролей: геймдизайнера, программиста, композитора, художника. И, когда дело доходит до визуала, многие выбирают пиксель-арт — на первый взгляд он кажется простым. Но чтобы сделать красиво, нужно много опыта и определенные навыки. Нашел туториал для тех, кто только начал постигать основы этого стиля: с описанием специального софта и техник рисования на примере двух спрайтов.
Читать дальше →

Реализация целого типа в CPython

Время на прочтение7 мин
Охват и читатели16K
На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря.

Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный.

Если вам интересно, почему x * 2 быстрее x << 1.

И как провернуть следующий трюк:

>>> 42 == 4
True
>>> 42
4
>>> 1 + 41
4

То вам стоит ознакомиться с данной статьёй.
Читать дальше →

Чему я научился за 10 лет на Stack Overflow

Время на прочтение13 мин
Охват и читатели22K

Близится десятая годовщина моего присутствия на Stack Overflow. За эти годы мой подход к использованию сайта и его восприятие сильно изменилось, и я хочу поделиться с вами своим опытом. И пишу я об этом с точки зрения среднестатистического пользователя, который не сильно вовлечён в жизнь сообщества сайта или его культуру. В последние дни я отвечаю лишь на вопросы, относящиеся к VS Code — продукту, над которым я работаю. Однако раньше я активно участвовал в обсуждении широкого набора тем. За 10 лет я задал около 50 вопросов и дал 575 ответов, просмотрел несметное количество чужих комментариев.

Джон Скит описал культуру Stack Overflow гораздо лучше и авторитетнее, чем я когда-либо смогу сделать. Его публикация повлияла на некоторые главы этой статьи, хотя в целом это мои собственные откровенные размышления о моём опыте пребывания на Stack Overflow, что на этом сайте хорошо и что плохо, и как его можно сегодня использовать. Это обсуждение будет довольно поверхностным, без глубокого погружения в работу сайта или его историю.

Итак, вот чему я научился за 10 лет использования Stack Overflow.
Читать дальше →

Ликбез по техническому заданию

Время на прочтение7 мин
Охват и читатели99K
Польза: получите знания о том, что такое ТЗ и как его составить. Обогатите словарный запас словами: концептуальная модель, data flow, mind card, user flow. use cases, wireframes, ER-model, client-server, API.

Для кого: начинающим разработчикам и желающим чтобы их поняли (заказчикам, стартапам и менеджерам).

Время чтения: 7 минут.

Отправная точка — требования

Хочу пирожное, потом морожное!
Вовка в тридевятом царстве

Существует распространенное заблуждение, что достаточно сказать: “Нужно приложение для музея/кошки/завода” и сразу станет понятно, что вам необходимо.

Зачем принтеры ставят невидимые точки на документах

Время на прочтение4 мин
Охват и читатели134K
3 июня 2017 года агенты ФБР нагрянули в дом 25-летней Реалити Леи Уиннер, которая работала в компании Pluribus International Corporation, подрядчике АНБ в штате Джорджия. Девушку (на фото) арестовали по обвинению в разглашении секретной информации, предположительно просочившейся в прессу. И действительно, к тому времени документ уже был в распоряжении онлайн-издания The intercept, а 5 июня 2017 года его опубликовали в открытом доступе.

В этой истории есть интересный момент. Агенты ФБР утверждали, что для вычисления источника утечки они тщательно изучили копии документа, предоставленные The Intercept, и якобы «заметили складки, свидетельствующие о том, что страницы были напечатаны и вручную вынесены из защищённого пространства».

Но анализ независимых специалистов из компании Errata Security показал истинную картину. Дело в том, что документ PDF из утечки содержал отсканированные копии бумажных документов очень хорошего качества. Включая точки-маркеры, которые скрыто проставляют принтеры на каждую отпечатанную страницу. Судя по всему, по этим точкам и вычислили Уиннер.

Простейший делегат на C++

Время на прочтение7 мин
Охват и читатели90K
logoВ C# есть делегаты. В python есть делегаты. В javascript есть делегаты. В Java есть выполняющую их роль замыкания. А в C++ делегатов нет O_O. Многие талантливые программисты успешно борются с этим недостатком, разрабатывая и используя sigslots, boost::function и другие ценные и нужные библиотеки. К сожалению, большинство реализаций отличаются не только методом использования, но также эпической сложностью применяемой шаблонной магии. Дабы при изучении исходников boost::function волосы не вставали дыбом, я написал эту небольшую статью, показывающую как самым простым и топорным способом реализовать делегат на C++. Описанная реализация является иллюстративной, имеет множество недостатков и ее вряд ли можно применить в серьезных проектах — зато она максимально простая и позволяет ознакомиться с предметной областью не разбирая трехэтажные шаблоны sigslots :).

Посмотреть схему велосипеда - много текста и картинок

Геймификация личной продуктивности

Время на прочтение5 мин
Охват и читатели6.2K

Предисловие


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


Но так или иначе вопрос личной эффективности меня интересует уже много лет и я всячески экспериментирую в поисках ответа на вопрос "Почему одни люди могут двигаться к цели ежедневно, а другие уже после недели перестают всячеcки придерживаться плана?".
Собственно, эта скромная статья — мое предположение, которое пока работает на всех моих знакомых. Они поддержали и любезно согласились поучаствовать в эксперименте, который длился ровно 30 дней.


Как все начиналось


Еще далекие 5 лет назад я пробовал самые классические подходы — ручка и блокнот, где я ежедневно в виде ToDo списка писал, что мне нужно сделать на день. Обычно планы на будущий день я записывал с вечера, чтобы за ночь мое подсознание подготовилось к продуктивному дню.


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


  1. Договориться о встрече с Иваном Петровичем
  2. Созвониться с заказчиком и обсудить ТЗ
  3. Дописать модуль АBC

    И все в таком роде.

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


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


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

Читать дальше →

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Охват и читатели1.7M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

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

6 полезных привычек, которые, что удивительно, есть лишь у немногих программистов

Время на прочтение5 мин
Охват и читатели59K
Если поразмышлять о том, какие качества характерны для того, кого можно назвать «хорошим программистом», то на ум тут же придут некоторые привычки. Такие привычки, которые, с чем согласится большинство разработчиков, иметь весьма полезно. Но, на самом деле, большинство таких разработчиков сами подобных привычек не имеют.

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



Предлагаю поговорить о шести привычках, которые стоит постараться сформировать у себя тому, кто хочет выделяться из серой толпы.
Читать дальше →

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

Время на прочтение12 мин
Охват и читатели211K

Дисклеймер:


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

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →

Бремя популяризаторов на плоской Земле

Время на прочтение4 мин
Охват и читатели62K
В прошлый понедельник РЕН ТВ отличилось, показав передачу про адептов плоской Земли. Не хочется сотрясать впустую воздух возмущением, но вот на некоторые мысли о популяризации и лженауке в 21 веке эта история меня навела. В канун запуска первого спутника, праздника научного познания и технического прогресса, эти размышления, надеюсь, еще более к месту.


С котиком даже плоская Земля становится лучше
Читать дальше →

Моделируем вселенную: небесная механика наглядно

Время на прочтение8 мин
Охват и читатели23K


Давайте представим, что нам нужно запустить футбольный мяч на орбиту Земли. Никакие ракеты не нужны! Хватит горы, высотой 100 километров и недюжинной силы. Но насколько сильно нужно пнуть мяч, чтобы он никогда больше не вернулся на Землю? Как отправить мяч в путешествие к звёздам, имея только грубую силу и знание небесной механики?

Сегодня в программе:

  • Бесконечные возможности одной формулы
  • Как взять энергию у Юпитера
  • Откуда у планет берутся кольца
  • Как математика помогла открыть Нептун

Благо, мы живём в век компьютерных технологий. Нам не нужно забираться на высокую гору и пинать мяч со всей силы, всё можно смоделировать! Давайте приступим.
Читать дальше →

Почему вам не надо становиться тимлидом?

Время на прочтение4 мин
Охват и читатели6.8K
Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OTUS на курсе Team Lead 2.0.





-Почему ты хочешь стать тимлидом?
-В смысле почему?


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

В этой статье я постараюсь вас в этом переубедить и рассказать 5 причин, почему вам НЕ стоит становиться тимлидом.
Читать дальше →

Создание интерфейса для игры

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели55K
Всем привет.

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

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




Читать дальше →

Информация

В рейтинге
369-й
Зарегистрирован
Активность