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

    NightmareZ
    @NightmareZ
    Разработчик
    Не читал ваш опус. Не читал комментарии, но отвечу. Никак. За десять лет моей трудовой деятельности мне ни разу не удалось доказать начальству, что проект зашёл в тупик и его проще переписать, чем исправить. Чаще всего сильное моё рвение в этом направлении приводило к моему увольнению, за то, что шибко умный, и через какое-то время таки проект начинали писать заново уже новой командой, уже без старых разработчиков, и меня, шибко умного, туда никто не звал. Потому мой совет - либо не рыпайся, либо вали из этого проекта или из этой конторы.
    Ответ написан
    1 комментарий
  • Какую реализацию Flux посоветуете?

    amerov
    @amerov
    Web Developer
    Ответ написан
    Комментировать
  • Безопасность при разработке кода Веб-сервиса

    @egorinsk
    А что, у вас так много кода? Хорошая команда разработчиков может написать клон любого проекта за месяц максимум, если ваша идея будет комуто интересна, они и без достпа к коду все скопируют.
    Ответ написан
    2 комментария
  • Куда поступать?

    barmaley_exe
    @barmaley_exe
    СПбГУ (Матмех), МФТИ (ФИВТ), ИТМО (ФИТиП, ФКТиУ) довольствуются ЕГЭ по информатике. Как-то странно Вы смотрели, проглядев лучшие IT вузы. Правда, поступить туда не очень-то просто: ЕГЭ по информатике должно быть не за 75, а за 90. Тоже самое желательно и с математикой (на матмех в этом году едва хватало 255 баллов). А ещё лучше — занять какое-нибудь значимое место в какой-либо олимпиаде, признаваемой этими ВУЗами.
    Ответ написан
    Комментировать
  • [РЕШЕНО] Как самому выбирать пакеты для minimal установки Ubuntu?

    Как насчет поставить систему через deboostrap? Оно само выкачает необходимый минимум бинарников и прочего. Если вкратце, то выглядит этот процесс как-то так:

    Выполните
    sudo debootstrap --variant=buildd --arch amd64 precise <куда>

    Потом чрутнитесь туда. Дальше достаточно будет накатить пакет с ядром (linux-image-generic и linux-headers-generic), ну и пакет ubuntu-minimal. Если надо, то еще и загрузчик. Подробности вы можете в любой момент нагуглить.
    Ответ написан
    1 комментарий
  • Логическая ошибка объединения таблиц

    nazarpc
    @nazarpc
    Open Source enthusiast
    А если решить прямо?:
    SELECT `objects`.*, COUNT(SELECT `id` FROM `comments` WHERE `objects`.`id` = `comments`.`obj_id`) AS `comments`
    FROM `objects`
    WHERE `objects`.`active` = 1 
    ORDER BY `objects`.`rating` DESC 
    LIMIT 1000
    
    Ответ написан
    3 комментария
  • Почему Линус не любит C++?

    @lesha_penguin
    <Мысль_вслух>Если существует специальный «ад для говнокодеров», то наверняка, одним из самых жестких наказаний в нем была бы отладка того говнокода, который, который в С++ получается по принципу «делается более просто и изящно».</Мысль_вслух>

    Если начинать «от сотворения мира»:

    1) Как известно C++ был был придуман Страуструпом, мы не будем умалять его «ученные регалии» (ученных-то наград куча, но они по сути единственное чего «добился человек», кстати, 90% прямо или косвенно за c++). Однако, заметим, что Страуструп — как раз есть пример «чистого теоретика» (в отличии от «практика»-Торвальдса), т.е. является человеком за свою жизнь не принимавшим участия в разработке ни одного серьезного реального программного проекта. По сути компилятор c++ — единственное более-менее практическое дело в его жизни. Соотвественно о том с какими проблемами приходится сталкиваться в реальном «software development-е» с «высоты его ООП-теорий» он имеет весьма посредственное представление.

    2) Как верно заметили, в упомянутой статье, изначально это был как раз «Це с классами», т.е. изначально НЕ БОЛЕЕ ЧЕМ «академическая» попытка навернуть на C отдельные элементы «обьектности» (типа, Smalltalk обьектный, а давайте попробуем сделать такое на более низком уровне). Кстати, могу Вам сказать, что с C++ я впервые познакомился в 80-90е годы, когда языком «ученной среды» был Фортран, языком «системщиков» Си, а для обучения «всех непрофильных специальностей» основам программирования использовались Basic и Pascal. Да, но правда «тогдашний C++ 80» отличался от нынешнего — он реально производил впечатление «просто прикольной поделки» (на память помню, что например, тогда не было и половины привычного функционала например таких вещей как всяких «reinterpret_cast-ов» или namespac-ов.). Кстати, да… барабанная дробь… НЕ БЫЛО STL!!!

    3) Наверное Страуструповский «Це с классами», наверное так бы и остался в списке «прикольных поделок» в аналах истории, если бы не одно обстоятельство: «ВНЕЗАПНО» произошел «софтверный бум», соотвественно: a) «элитных» «олдскульных» программистов стало резко не хватать b) «требования к качеству софта» резко упали c) понадобилось средство для генерации достаточно низкоуровневого «говнокода в промышленных масштабах». И как ни странно, (ага, угадали, именно с появлением в C++ STL-я) C++ так и не избавившись от своих «академических болячек» был брошен в пучину «мейнстрима».

    4) Вам говорят истинную правду, когда говорят, что «C++» это маркетинговое название для «Це с классами». Да, это так. И можно сказать, к великому сожалению, он нашел свою рыночную нишу. (Сейчас любой дурак может легко «освоить C++ за 21 день (с бустом и стлем)», при этом не умея даже внятно ответить на простой вопрос «Если ты такой умный, обьясни тогда почему, c$k@, у тебя программа течет по памяти и падает», (про такие «неполиткорректные вопросы», как «зачем писать 100 строк на то, что пишется в две-три», мы вообще тактично молчим, а то, мало ли, может у человека «сдельная зарплата» за количество строк ;) ), зато с видом крутого Беара Грилса можно обсуждать такие «высокие материи» как «Паттерны» и «чистый ООП»).

    5) И к самому большему сожалению, в некоторых случаях альтернативы нет. Да, Я еще не встречал ни одного программиста, который в действительно реальной разработке софта активно использовал бы C++ и при этом от него бы не плевался. У C++ есть «Огромный ПЛЮС» — Его Мультипарадигменность! По-сути это его единственный плюс, позволяющий «не уйти в дебри» (типа попыток запихнуть «main()» в обьект только ради «идеи чистого ООП»)!

    6) А теперь, после такого «исторического» вступления еще раз перечистайте внимательно письмо Торвальдса, высказывание человека который лучше многих «теоретиков чистого ООП» знает как это оно «на собственной шкуре» разрабатывать сложные системы, и комментарии от хабраюзеров, которые «на живой практике» знают «почем фунт лиха» в топике. Под большинством утверждений я лично бы поставил свою подпись золотыми буквами.
    Ответ написан
    5 комментариев
  • VPN для большого количества клиентов и точек доступа

    amc
    @amc
    Из того что я понял, картина вырисовывается следующая:
    1. Организовываете интернет в кафешках, хоть каким методом, хоть голубями.
    2. Покупаете VPN сервер «где-то там», хоть у kekekeks'a ( kebrum.com/ )
    3. Ставите в каждом кафе ещё один роутер (после роутера, который будет раздавать интернет от провайдера), который будет поднимать VPN до VPN-сервера и раздавать инет уже от него.
    4.…
    5. PROFIT!
    Ответ написан
    Комментировать
  • На какой матрице взять монитор для программирования?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Берите любой на TN, серьезно. А сэкономленные деньги вложите в кресло. Для программирования это важнее.
    Ответ написан
    2 комментария
  • Предсказание будущего?

    SLY_G
    @SLY_G
    журналист, переводчик, программист, стартапщик
    По представлениям об устройстве вселенной вы сейчас находитесь примерно на уровне Ньютона. Это называется «детерминизм».
    С тех пор наука неимоверно шагнула вперёд.
    В частности, известно, что наблюдатель всегда влияет на ход эксперимента. Поэтому наличие такого знания и такого компьютера само по себе изменяет ход вещей. Во-вторых, в микромире нет никакой определённости и всё происходит с некоей долей вероятности. В-третьих, есть принцип неопределённости Гейзенберга, википедия вам в помощь.
    Проще говоря, исходя из представлений современной физики, это теоретически невозможно. Неважно, какой у вас будет компьютер и какая база данных.
    Ответ написан
    3 комментария
  • В какие ВУЗы стоит подать документы? (Санкт-Петербург)

    sagod
    @sagod
    На матмех вполне можно пройти с такими баллами. На ту же прикладную математику и информатику, раз вас интересует данное направление.
    Ответ написан
    6 комментариев
  • Прокси тунель

    karabanov
    @karabanov
    Системный администратор
    Если вам необходим прокси только для доступа на некоторые сайты, то могу порекомендовать вам сервис https://kebrum.com/. Предоставляет VPN. Есть бесплатный тестовый сервер. Использование тестового сервера не ограничено по времени, скорости или трафику. Подвоха здесь никакого нет: просто в тестовой версии доступны только http и https, если надо больше, надо платить.
    Ответ написан
    3 комментария
  • Новый упадок Хабра?

    danin
    @danin
    пропустил в свое время это обсуждение, но сейчас выскажусь.

    На Хабр меня пригласил НЛО в июне 2009 года. До этого месяцев шесть просто читал. Так сложилось в жизни, что именно то лето было абсолютно свободным, а все эти новомодные в то время для меня фишки с кармой и рейтингом увлекли до безумия.

    Я — не айтишник. Я просто любитель. Могу собрать/разобрать комп, помочь соседям и знакомым, интересуюсь новинками. Но я вообще не айтишник. Однако так сложилось, что к концу августа того самого 2009 года я занимал вторую строчку в рейтинге хабралюдей. На первом месте, если не ошибаюсь был Бумбурум.

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

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

    Однако в то время я стал замечать, что таких вот авторов-неспециалистов как я, стало появляться все больше и больше на хабре. Сомневаюсь, что этот феномен можно даже отдаленно назвать подражанием, но свою вину за эдакую популяризацию (от слова попсятина) хабра, я чувствую до сих пор.

    Последние пару лет я практически не пишу сюда, и не комментирую.
    Но регулярно читаю.
    Ответ написан
    1 комментарий
  • Какой самый эффективный алгоритм добавления элемента в дерево?

    Ну, например, можно использовать декартовы деревья, если ключи отсортированы, то мы их все за линейное время можем запихнуть. Но, как выше замечено, смысла в этом немного — бинарный поиск всех спасет.
    Ответ написан
    1 комментарий
  • Легкий, универсальный desktop клиент для социальных сетей?

    StamPit
    @StamPit
    Также можете попробовать найти Lego Mindstorms. Там ещё и программирование, помимо конструирования =)
    Ответ написан
    1 комментарий
  • Подскажите компании, которые используют в своих разработках искусственный интеллект?

    На счет ABBYY — неправда, механизмы распознавания текста у этой компании иные.

    Был на одной их лекции, на которой они рассказывали, что пытались раз пять использовать нейронные сети для распознавания текста — все попытки были зафейлены, в результате чего в стенах компании слово «нейрон» и производные от него игнорируются :)
    Ответ написан
    2 комментария
  • Вывод комментариев с иерархической структурой

    Вообще говоря, есть три подхода.

    Первый и самый простой — материализованные пути, это когда мы для каждого комментария храним весь его путь от корня, то есть имеем такую структуру, которая выглядит как-то так:

    1.
    1.1.
    1.2.
    1.2.1.
    1.3
    2.
    2.1.

    Ну и так далее. Для получения всех комментариев в нужном порядке необходимо просто сделать запрос на получение всех комментариев, только отсортированных в лексикографическом порядке по полю, которое содержит этот путь. Если не учитывать время выполнения запроса, то асимптотически это дело будет работать за O(n), где n — количество комментариев.

    Второй подход, чуть посложнее, но выглядящий менее криво — для каждого комментария хранить номер родительского. После того, как мы сделали запрос на получение комментариев, отсортированных по id, мы пробегаем по этим комментариям. Будем строить дерево комментов. Понятно, что если у какого-то комментария есть родитель, то мы его уже добавили в дерево, так как у нас комментарии приходят в отсортированном порядке по их номеру. Поэтому возьмём номер родительского комментария и вставим в список его детей текущий коммент (т. е. что-то типа children[parent_id].insert(node_id)). После такого прохода получим дерево, с которым дальше можем делать что угодно. Получаем асимптотику O(n) при использовании обычных массивов и O(n log n) при использовании ассоциативных массивов, но меньший расход памяти.

    Третий подход — использовать уже указанные выше Nested Sets, но на практике, по-моему, их никто не использует.
    Ответ написан
    2 комментария