• Как заниматься программированием на компьютере, если запрещено использовать любые носители?

    egor_nullptr
    @egor_nullptr
    https://ideone.com Чтобы не осталось следов в истории браузера, используйте приватный режим.
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать?

    Mint на данный момент одно из лучших решений, для вас. Программировать вам будет удобно практически на любом дистрибутиве. Установка необходимых программ склоняется к нескольким строчкам в терминале.
    С драйверами все так же очень хорошо в 99.9 процентах случаев, за исключением очень уникальных звуковых карт.
    У меня большой опыт использования различных систем и пока я остановился именно на Mint. Как на самом простом в использовании и первоначальной настройке (для моих нужд система готова спустя 20 минут после установки)
    Постараюсь расписать свои впечатления.
    Mint
    -Наиболее виндоподобен интерфейсом. Переход на него не принесет особого дискомфорта.
    -Для корректной работы, потребовалось настроить видео, скачав драйвер с офф сайта радеон.
    -Высокая скорость работы после установки драйвера.
    Elementary OS
    -Очень высокая скорость работы и красивый интерфейс
    -Есть некоторые недочеты во взаимодействии пользователя с системой.
    -Накладывает ограничения там, где казалось этого и быть не должно. Так и не смог запустить установку deb пакета. Что бы я не делал, писало - нет доступа.
    -После официального обновления не запустилась. Зависла на загрузочном логотипе ос :D
    Ubuntu 13.04
    -Своеобразный интерфейс, требующий пару дней на привыкание.
    -Немного ограниченный набор приложений, которые возможно установить из коробки(решается установкой Synaptic)
    -Не вышло через граф. интерфейс настроить проводное подключение к интернету.
    ArchLinux
    -Хардкорная установка и настройка. Новичок без 2го устройства и открытого мануала по установке, врядле разберется, как правильно настроить систему.
    -Огромный выбор возможных приложений для установки, из коробки.
    -Система для тех, кто любит точно подстраивать под свои хотелки, рабочее окружение и может потратить на это недельку, другую.

    Вывод таков. Вам подойдет любой дистрибутив из 10 популярных. Любой из них при правильной настройке можно заставить работать так, как нужно хозяину. С драйверами, так же ни один из них проблем не имеет. У каждого большое количество поклонников и на официальном форуме разобраны почти все возможные проблемы.
    Вопрос только в том, чего душе угодно? Сразу из коробки иметь красивый и дружелюбный интерфейс (Mint, Elementary OS) или подстроить всю работу приложений, интерфейс, вывод информации под себя(ArchLinux).
    Ответ написан
    1 комментарий
  • Как сделать неактивным скроллинг на карте, вставленную через iframe (от google)?

    MindMinimal
    @MindMinimal
    Front-end Developer, веб-разработчик
    Собственно, можно сделать немного другим методом. Используя Google Maps API.
    Можно тут посмотреть stackoverflow.com/questions/2330197/how-to-disable...
    Или я например, делал подобное так:
    scrollwheel: false, - как раз то что нужно. Но это не решение через простую вставку. Зато используя Google Maps API - вы сможете сделать намного больше.
    google_maps(); // Load google maps onload page
    
          function google_maps() {
                    var latlng = new google.maps.LatLng(55.736812,37.617574);
                    var settings = {
                      zoom: 16,
                      center: latlng,
                      mapTypeControl: true,
                      mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
                  scrollwheel: false,
                  disableDoubleClickZoom: true,
                      navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
                      mapTypeId: google.maps.MapTypeId.ROADMAP
                  };
          var map = new google.maps.Map(document.getElementById("map"), settings);
            var myLatlng = new google.maps.LatLng(55.736812,37.617574);
            
            var myOptions = {
              zoom: 16,
              center: myLatlng,
              scrollwheel: false,
              disableDoubleClickZoom: true,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            }


    P.S. Не претендую на самое изящное решение. Думаю можно сделать и попроще.
    Ответ написан
    Комментировать
  • Почему компьютер тормозит при почти свободном CPU и RAM?

    vsespb
    @vsespb
    Ubuntu и виновата. И Win и Ubuntu одинаково кривы. Переустановите ОС, если всё пройдёт - дело в софте.
    Ответ написан
    Комментировать
  • Почему компьютер тормозит при почти свободном CPU и RAM?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Сбойные сектора на винте (см. dmesg, smartctl). Температура процессора/видеокарты (sensors). Кривые драйвера/кривое железо (см. vmstat, cat /proc/interrupts).
    Ответ написан
    Комментировать
  • Хочу быть программистом, но не выходит. Как двигаться вперед?

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

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

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

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

    А выбрать и выучить язык программирования это не проблема вообще.
    У вас есть понимание области задач, которая вам импонирует - это главное. Инструментарий подберёте по ходу дела.
    Ответ написан
    Комментировать
  • Хочу быть программистом, но не выходит. Как двигаться вперед?

    @CAMOKPYT
    1) Не верь в активно форсируемый миф про никчемность ВУЗов, математическую базу никто не отменял. Никто не занимается ни вебом, ни формочками после 2-3 лет опыта работы, потому что это скучная и однообразная работа, потом захочется заниматься программированием, никакие книжки не помогут, уже просто не захочется тратить 1-2 года на то чтобы все это освоить и будешь Senior Frontend Developer с 10 годами опыта. ВУЗ дает необходимую базу. С++ билдер или асм для 8086? Это вполне нормально, это база. На начальном этапе гораздо легче спросить препода, чем гуглить, самому учится по книгам это очень очень тяжело, особенно самые основы. Чтобы идти в свободное плавание, надо хотя бы 2 курса отсидеть на парах, чтобы иметь представление что гуглить. А еще в ВУЗе учат английскому, для программиста он даже важнее чем математика.
    2)3) Насчет выбора первого языка, я считаю что изучать чистый Си можно только под строгим присмотром знающего преподавателя и после хотя бы пол года изучения Computer Science, в противном случае только Паскаль. В первом языке главное научится излагать алгоритмы в коде и чуть-чуть пользоваться окружением (файлы\графика\память) и всё. Не надо требовать от первого языка промышленной востребованности. Научиться основам программирования, гораздо сложнее чем просто выучить синтаксис языка. Вообще лучше сначала получать знания непосредственно из курса Computer Science, так например я сначала прослушал курс Операционных систем и сред и курс Компьютерных сетей, а через полгода мы практиковались с программированием сокетов и в управление потоков, когда понимаешь на уровне ОС что и как работает хотя бы поверхностно, то программировать становится гораздо легче и не важно на каком языке. А насчет следующих языков, довольно тяжело сказать, с одной стороны надо выбирать под отрасль, но чтобы выбирать надо знать какая отрасль нравится, а пока не попрограммируешь в ней, понять не получится, этакая рекурсия. Я советую выбрать сразу 3 языка и изучать их, причем в первую очередь не синтаксис,а философию, какие цели ставил перед собой разработчик языка и насколько ему удалось их достичь, если это то что тебе нравится (то как язык решает поставленные задачи), то его и учи, а 3 языка для того чтобы было разнообразие, я для себя выбрал C#, Ruby и C++, как довольно разноплановые, но промышленно востребованные языки. Ну и не стоит забывать про сопутствующие технологии, без них не прожить, так любая более-менее большая программа требует базу данных, а это довольно обширная тема, а еще есть фронтэнд без которого также не обходится ни одна программа взаимодействующая с пользователем, а это языки разметки, тоже довольно обширная тема.
    Ответ написан
    2 комментария
  • Хочу быть программистом, но не выходит. Как двигаться вперед?

    @luckman
    А я бы в школе больше времени уделил олимпиадному программированию, тем более если есть хорошие знания математики.
    Знание и умение писать основные алгоритмы пригодится всегда.

    Советую посмотреть:
    codeforces.ru
    acmp.ru/article.asp?id_text=513
    acm.timus.ru

    Язык не важен совсем, для первого изучения вполне может подойти Pascal
    +Если не очень идёт обучение по книжкам, в практически любом крупном городе можно найти кружок по олимпиадному программированию для школьников, общение с хорошим учителем всегда будет продуктивнее любой книги.
    Ответ написан
    Комментировать
  • Хочу быть программистом, но не выходит. Как двигаться вперед?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Правда, что в университете, как и в школе (я про информатику и программирование) не дают практически никаких существенных знаний?

    Да, это правда. За редкими исключениями в университетах ничему полезному в программировании не учат и надеяться на это не стоит.

    Какой язык выбрать для дальнейшего изучения

    C++ достаточно сложный, особенно для начинающего, но я все равно советую его освоить. Сам, тоже, классе в 9-10м учил C++ по книгам Шилдта и Страуструпа. Это было сложно, но оно того стоило, хотя сейчас я и не программирую на C++ (больше на Python), но это был очень полезный опыт.

    После того, как я выберу язык окончательно

    Дальше будет легче, каждый следующий язык программирования, по моему опыту, осваивается быстрее и приятнее предыдущего (хотя конечно многое от самого языка зависит).
    В любом случае стоит попробовать что-нибудь вроде Java/C++, потом что-то интерпретируемое вроде Python и выбрать, что больше нравится. В таком подходе не вижу ничего плохого.
    Ответ написан
    Комментировать
  • Хочу быть программистом, но не выходит. Как двигаться вперед?

    rose_solnyshko
    @rose_solnyshko
    Забудьте бред про ненужность традиционного образования. Это как служба в армии - у вас будет другая точка обзора, и это можно использовать.
    Я не стал пока что программистом, но дам вам совет, который мне в университете дал крутой преподаватель-программист. Он мне сказал: "Возьми и напиши на любом языке программирования графический редактор с такими же возможностями, как и paint brush (.. это были времена windows 3.11), а потом обратись ко мне".
    Перефразируя более современными реалиями, возьмите готовый программный продукт (не обязательно открытый), и создайте аналогичный по функционалу.

    Когда вы это сделаете, сами многое поймёте и освоите - на деле.

    А куда потом обращаться - потом и будет видно :)
    ---
    Updated:
    Хотел сразу написать, но решил подумать сначала.
    Это совет лично мне, и любому человеку: Будьте настолько свободны, насколько это возможно сегодня и там, где вы сейчас есть - во всём. Вспомните электрон (и вообще частицы), и его степени свободы, а так же то, что он всегда стремится занять более выгодное для него положение с энергетической точки зрения (такова его (условно) "жизненная среда"); обычно такое положение означает максимальный кпд с минимальными энергетическими затратами.
    Не работайте в офисе с графиком-обязаловкой. Воспользуйтесь развивающимися телекоммуникациями. Попробуйте (очень индивидуально, но..) быть хозяином себе и всему, что в вашей жизни уже есть, и будет (это надо создавать, или создавать условия для появления этого) - жить полноценным человеком.
    Почитайте здесь habrahabr.ru/company/profishop/blog/201852 с 7 абзаца.

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

    ОНО ТОГО СТОИТ

    Желаю всем на земле удачи в этом :)
    Ответ написан
    5 комментариев
  • Какая ОС будет идеальной для моего ноутбука?

    Я за Mint Debian Edition, т.е. LMDE на оболочке MATE. Очень шустро и стабильно работает.
    Ответ написан
    Комментировать
  • Какая ОС будет идеальной для моего ноутбука?

    Ramzeska
    @Ramzeska
    Попробуй Mint
    Ответ написан
    Комментировать
  • Какие книги читать и изучать, чтобы стать настоящим программистом, а не кодером?

    @veitmen
    Добрый день.

    К сожалению нет "серебряной" книги. Нет четкого пути.

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

    Стать хорошим программистом можно разными путями. Почитайте главу про личные качества программиста из книги "Совершенный код" Макконела. Сравните себя с описанием. Очень интересно. :)

    Быдлокодер - перестает быть быдлокодером, лишь тогда, когда начинает понимать каждую строчку кода, знает что скрыто за каждым вызовом любой функции. После этого, человек начинает понимать что хорошо, что плохо. Это только опыт. Со временем Вы начнете отличать хороший код от плохого. Просто Вы будете знать что если писать так, то будет "бобо" потом. :) Конечно можно и нужно читать книги. Если Вы хотите писать красивый код, то читаете "Совершенный код" Макконела и "Рефакторинг" Фаулера. Этого достаточно для понимания того, какой код хороший, какой плохой. Но это ничего не даст, пока сами не увидите. :) Для проектирования систем тоже нужно читать книги, но в первую очередь смотреть на решения. Разбираться почему сделали так, а не иначе. Почему в этом приложении так, а другом иначе? Как лучше? Когда именно так лучше? И т.д. Изучайте и разбирайтесь. Пробуйте использовать эти решения в своих приложениях.

    Советы в стиле делай то, что тебе нравится правильные. Т.к. именно делая то, что Вам нравится, Вы будете искать пути улучшения этого.

    Ищите более опытных товарищей. Это самое-самое главное. Без наставников очень сложно. НО выбирайте с умом, а то потом будете академическим "быдлокодером". :)

    Найдите работу.

    Не заморачивайтесь. Если Вам нравится программировать, то просто читайте и пишите код. Вы и так станете хорошим проггером. Не бойтесь критики, особенно от самых злых и беспощадных критиков. Приветствуйте любые советы по улучшению. Но никогда не верьте на слово. :) Все перепроверяйте. "Быдлокодеры" есть и они хотят утянуть всех на свою сторону, что-бы не выделяться. :) :)
    Ответ написан
    1 комментарий
  • Две ORM модели для C# и Python. Нужно решение получше

    Weageoo
    @Weageoo
    Нужен дополнительный слой абстакции. Скажем, берём БД+EF, пишем веб-сервисы на WebAPI, разворачиваем WebAPI. Из кода приложений на C# обращаемся по REST, из Python так же.
    Ответ написан
    7 комментариев
  • Python for Android. Как начать?

    mysticmirage
    @mysticmirage
    Питон для Андроида — достаточно мозгозатратное занятие.
    Я бросил эту затею, хотя иногда слежу за проектами, подающими надежду в этом направлении.

    Если нужно создавать игры, то это PyGame for Android — pygame.renpy.org
    Если нужно бизнес-приложения, то это Kivy — kivy.org (их гитхаб — github.com/kivy/python-for-android)

    Недостатки первого:
    1. проект не развивается
    2. ориентирован на создание игр
    3. только arm-архитектура
    4. поддерживается только одно касание

    Достоинства первого:
    1. ниже порог вхождения — достаточно легко устанавливается (не без бубна, но легче, чем kivy)
    2. куча документации по самой PyGame, которую можно использовать при разработке

    Недостатки второго:
    1. требует от устройства поддержку gles 2.0 (даже для простенького интерфейса)
    2. везде с собой тянет библиотеку для построения интерфейсов
    3. нужно постараться, чтобы установить всё это добро (кросс-компиляция и всё такое)

    Достоинства второго:
    1. любая поддерживаемая Андроидом архитектура
    2. проект развивается
    3. поддержка мультитач
    4. использует наработки PyGame for Android

    По поводу sl4a — он не позволяет создавать обособленные пакеты — требуется отдельно установленный интерпретатор Питона. По этой причине я его не рассматриваю.

    В любом случае, стоит быть готовым к тому, что размер пакета будет минимум 3 МБ даже в случае HelloWorld — каждое приложение будет тянуть с собой интерпретатор и стандартную библиотеку.

    Следует отметить, что это не аналитическое сравнение — я отметил те пункты на которые обращал внимание. Возможно дела обстоят по-другому и я заблуждаюсь — я не использую Питон для Андроида ни в одном из своих проектов, хотя хотел бы.
    Ответ написан
    Комментировать
  • Что выбрать для изучения программирования под веб с нуля сегодня?

    @gleb_kudr
    Работает все до безобразия просто.
    1. Есть html код. Это как форма в делфи, только более формализованная — разметка страницы. На самом деле под десктоп сейчас те же самые технологии, только используются не html, а другие разновидности XML.
    2. Есть клиент-сайд программирование — это интерактивные элементы формы без обращения к серверу. Т.е. это какой-то код, который рулит статикой формы и превращает ее в динамику. Язык тут один — javascript и множество примочек к нему.
    3. Есть сервер-сайд. Чтобы наполнить всю эту динамику данными, отдавать новые формы и т.д. нужно их где-то хранить и отдавать на сторону клиента. Вот для этого используется серверное программирование — боевой скрипт + база данных. Языки программирования тут используются самые разные. Их основные отличия:
    — Экосистема (используемые БД, сервера, да даже IDE)
    — Способы запуска на сервере боевых инстансов.
    — Всякие языковые особенности (это менее важно на самом деле).

    Для веб-программирования вам нужно освоить html+javascript+ любую серверную экосистему (язык+БД+тулзы для разработки и администрирования) и знать, как это склеивать вместе.
    Ответ написан
    Комментировать
  • Одинакова ли работа с телефонными функциями под разными версиями Android? Под разными версиями iOS?

    Если приложение написанно для 2.2 тогда оно будет работать и на 2.2+. Внимание прошу обратить на тот факт, что в версиях 4.0+ нет некоторых элементов, а то например кнопки меню, итд… И дизайн для 3.0 поидее должен бы быть другой, как никак эта система для плантшетов.
    Как такого практически вся архитектура Андроида обратно компатибильная (я ещё в практике не встретил никакой обратно некомпатибильной ситуации).
    В большенстве случаев, если использовать «стандартные» способы отображения View, то (теоретически) будет работать везде. Проблемы бывают часто с размерами экранов и графикой.

    Сам я для iOS не разрабатываю, но от колеги слышал, что там с высшыми версиями некоторые рестрикции добавляются.
    Ответ написан
    2 комментария