Ответы пользователя по тегу Программирование
  • Как организовать обмен данными между приложениями?

    leventov
    @leventov
    Насчет "самого универсального" решения - почитайте вот это: tammersaleh.com/posts/the-number-one-trait-of-a-gr...

    Зависит от типа взаимодействия. Если это обмен сообщениями, это одно. Берите сокеты или очереди. Если перекачка однотипных данных из процесса в процесс - та же очередь. Если это какое-то более сложное разделяемое состояние, например динамическое множество онлайн-пользователей с какими-то ассоциированными данными (если речь о серверах зашла) - возьмите уже полноценную in-memory базу данных.
    Ответ написан
    Комментировать
  • Зачем нужны фреймворки?

    Комментировать
  • Есть ли какая-нибудь классическая литература про работу с памятью, на примере языка Си или С++?

    leventov
    @leventov
    Не очень понятно что именно вы имеете ввиду под "как хранятся данные" и "как устроена память, как с ней обращаться". Рискну посоветовать почитать про устройство аллокаторов памяти, стека (си-рантайм), подсистемы памяти в Linux (mm). После этого вряд ли что-то сможет вас испугать.

    Где это смотреть - второй вопрос. Книги на мой взгляд слишком общи и как правило устаревшие. Качество и глубина объяснения тоже не всегда превосходны. Погуглите лучше относительно свежие статьи с хорошими отзывами
    Ответ написан
    1 комментарий
  • Где найти идею сервиса или ПО которого еще не видел свет?

    leventov
    @leventov
    В широком смысле, сделано очень мало, на самом деле. Задач больше чем свободных рук и разрыв растет. См. habrahabr.ru/post/250879

    Но это не про игры под андроид за 10 баксов, конечно
    Ответ написан
    Комментировать
  • Хочется хорошо и качественно разрабатывать, но как?

    leventov
    @leventov
    1) на самом деле в последнее время наплодилось куча очень крутых и качественных инструментов, но "профи старой закалки" ими практически не пользуются, банально потому что не слышали про них. На самом деле это забавное явление - если нет мощного медийного ресурса или бренда, донести информацию о том, что появилась новая крутая штука, даже до 5-10% сообщества - почти невозможно.

    2) Из того, что "профи" в этом плане едва ли лучше тебя, следует, что инструменты - вовсе не главное.

    3) Но чтобы все-таки повышать свой арсенал, советую подписаться на тематические хабы на реддите/модные почтовые новостные рассылки, и потихоньку впитывать информацию.
    Ответ написан
    Комментировать
  • Исходники высоконагруженных систем на C++, есть ли в open source?

    leventov
    @leventov
    Что вы имеете ввиду под "ядром"? "Ядро" есть у таких CPU-центричных систем как операционка, браузер (хотя, там скорее 2 "ядра": движок рендеринга и виртуальная машина JavaScript), игра, база данных (НЕ распределенная). Dropbox это распределенная система, не требовательная к супер-пупер производительности, потому что без разницы, на каком языке делать сетевое и дисковое IO, все время будет уходить на системные вызовы. Есть подозрение, что Dropbox в основном написан на Python.

    Соответственно, ядра Linux, Chromium (Blink, V8), целый ряд игровых движков, базы данных (InnoDB, PostgreSQL, MongoDB) - это все доступно в open source и написано на C или C++. Изучай - не хочу, жизни не хватит.
    Ответ написан
  • На что вы зря потратили время в изучении программирования и веб-разработки в целом?

    leventov
    @leventov
    Мне кажется критически важно довести любое начинание хотя бы до какого-то логически цельного состояния и опубликовать. Потом хотя бы для потомки зайдут на Гитхаб и посмотрят, "вот какую херню писал мой пращур". Согласитесь, в этом есть шарм. Ну и, конечно, более близкие результаты, строчки в портфолио там, хотя бы теоретическая возможность того, что у программы/библиотеки/сайта/продукта появятся пользователи или желающие продолжить усилия.

    Старайтесь избегать просто писания в стол, усилия чисто рассеиваются во вселенной.
    Ответ написан
    1 комментарий
  • Как побороть боязнь чистого листа?

    leventov
    @leventov
    "Никак, оставайся в жопе" (с) Лебедев
    Ответ написан
    Комментировать
  • Стоит ли давать Haskell школьнику в качестве первого языка?

    leventov
    @leventov
    Такой опыт был — OCaml точно, Хаскель, кажется тоже. В качестве первого языка в классе школы, в России. Результаты хорошие, вроде. Погуглите.

    Могу по опыту сказать, что знакомство и даже тяготение к функциональной парадигме при разработке на мейнстримных языках — это только плюс.
    Ответ написан
    Комментировать
  • Как правильно самостоятельно изучить ЯП?

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

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

    Более объемные — ИИ для соревнований типа Robocode или aichallenge.org/. Если интересуешься какой-то определенной областью, например графикой или лингвистикой, имеет смысл сделать проект в этой области.

    Главное — чтобы задача интересовала сама по себе. Тогда будет дополнительная мотивация изучать язык. Дальше просто: в процессе решения задачи сталкиваешься с трудностями, лезешь в книгу по памяти, или документацию по стандартной библиотеке, или на SO, или в Гугл, в итоге преодолеваешь трудности и быстро прокачиваешь скилл.
    Ответ написан
    Комментировать
  • Какую версию Python изучать?

    leventov
    @leventov
    Странный вопрос. Конечно, последнюю. В конкретном проекте и окружении ограничения 2.7 дадут о себе знать, но ничего страшного в этом нет. А знать возможности последней версии всегда полезно.
    Ответ написан
    Комментировать
  • Как стать программистом?

    leventov
    @leventov
    писать сложные и не очень программы, учить алгоритмы

    Наверное, не мне советовать…
    Ощущение, что вы либо страдаете излишним перфекционизмом, либо недоговариваете, короче говоря мне не ясно, как можно писать сложные программы, ничего не понимая. Что вы подразумеваете под «пробовал писать»? Начать и бросить? Или сделать криво без глубины понимания™?
    Ответ написан
    1 комментарий