• Как эффективнее разбить 1Tb HDD и какие файловые системы использовать в Ubuntu 12.10?

    @lionsimba
    Если трудно сразу определиться с разбиением, можно завести на винте LVM с минимальным количеством разделов минимального размера. А позже по необходимости увеличивать их размер и добавлять новые разделы.
    Ответ написан
    2 комментария
  • Как эффективнее разбить 1Tb HDD и какие файловые системы использовать в Ubuntu 12.10?

    BupycNet
    @BupycNet
    Основатель PushAll
    / — 50 гигов — хватит даже если будете игры из репозиториев качать.
    /boot — 100 мбайт — лучше отдельно, тогда будет проще если что снести или переустановить ОС особеннно если их несколько.
    swap — от 1 до 10 гигов (надо хотя бы 6 если вы хотите использовать полноценно hibernate)
    /home — все остальное

    FS лучше так. /boot ext2 (но в общем то можно и ext4 советую потом его в ReadOnly перевести если конечно не часто обновляете Grub) / ext4 /home тут уже выбор побольше но я использую ext4.
    Можно еще например как выше указывали создать раздел для медиа файлов. Например для видео, тут прекрасно подойдет XFS.
    Ответ написан
    3 комментария
  • Как эффективнее разбить 1Tb HDD и какие файловые системы использовать в Ubuntu 12.10?

    Sild
    @Sild
    Диск /dev/sda: 1000.2 Гб, 1000204886016 байт Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 * 1083985920 1186385919 51200000 7 HPFS/NTFS/exFAT //диск C /dev/sda2 1186385920 1953521663 383567872 7 HPFS/NTFS/exFAT //диск D /dev/sda3 2048 81921969 40959961 83 Linux // / (корень) /dev/sda4 81922048 1083985919 501031936 83 Linux // /home
    C 8Гб оперативы(как и с 6) не вижу смысла создавать swap. А на /boot /tmp /mnt и прочую радость линуксойда выделять разделы на домашнем компьютере считаю излишним. Да, на корень оставил минимум в 2 раза больше чем, скорее-всего, когда-либо будет использовано. Жалко что ли 30Гб по сравнению с 1Тб, а мало ли что.
    Ответ написан
    9 комментариев
  • Мотивация программирования — деньги. Это нормально?

    @edogs
    > на почасовой зарплате.
    Скорее всего вот это основная Ваша проблема (если не говорить о смене профессии).

    У Вас 70% мотивации это деньги (по Вашим словам), но одновременно с этим зарплата (деньги) у Вас не связана с уровнем Вашего профессионализма и качеством работы. Вы свой час отработали — Вы свое получили, стимула расти нету.
    Вам надо поставить в прямую зависимость уровень Вашей зарплаты от уровня профессионализма. Переходите на попроектную оплату, пусть даже более низкую на начальном этапе. Получили проект — и у Вас есть выбор, сделать его за час или за 3.
    И вот когда Вы осознаете, что при текущем уровне Вы можете выполнить проект за 3 часа и получить 100 баксов… а приподняв уровень сможете выполнить тот же проект за час и получить те же 100 баксов — тогда появится стимул расти.
    Ответ написан
    3 комментария
  • Флеш для линукс — конец?

    Причем перед тем, как завершить поддержку они его сначала сломали: он перестал нормально работать на видеокартах nvidia, показывая синюшное видео.
    Ответ написан
    4 комментария
  • Вопросы по закону о «Персональных данных»

    @edogs
    Тут главное «набор объявлений, собранных с газет» (с).
    Почитайте ФЗ на тему «общедоступности» данных, особо обратите внимание на 9.3
    Статья 9. Согласие субъекта персональных данных на обработку своих персональных данных
    3.… случае обработки общедоступных персональных данных обязанность доказывания того, что обрабатываемые персональные данные являются общедоступными, возлагается на оператора.

    Второстепенное тут то, что объявления в газетах могут быть только с натяжкой отнесены к ПД. Там нет прямого и однозначного идентификации человека.
    Ответ написан
    5 комментариев
  • На чем писать движок приложения, если нужна мультиплатформенность?

    TTA
    @TTA
    Мутировавший технарь :)
    html+js думаю лучше всего. Можно поглядеть HTML5 если на перспективу работаешь. Сейчас старенькие браузеры не понимают его.
    Ответ написан
    4 комментария
  • Как переключаться между окнами (задачами) в Mac OS X?

    bolk
    @bolk
    работает везде в отличие от win, в которой куча вариаций на тему)
    Да откуда в Винде куча вариаций-то? Закрыть там Alt+F4 и Ctrl+F4, что-то одно закрывает документ (или таб), второе — приложение. На Винде давно не работаю, не помню что из этого что.
    Ответ написан
    Комментировать
  • Как переключаться между окнами (задачами) в Mac OS X?

    @gok
    Для начала в Mac приложение и окно приложения — вещи разные и малозависимые между собой.
    В Win если я открыл документ doc — word запускается. Закрыл — word закрывается. В Mac при закрытии документа word выгрузит из памяти все лишнее, но продолжит быть запущенным (чтобы в следующий раз открыть документ моментально), пока ты ему не сделаешь command+q или word->quit word. Организация Mac OS позволяет сделать так, чтобы у тебя было много запущенных программ, и ты этого абсолютно не замечал
    Если это понтять-многие вопросы пропадут.

    Почему нельзя переключиться на окно по command-Tab, если я его свернул [-] или закрыл [x]?

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

    Чем занимается кнопка [+] в заголовке окна? Зачем она это делает? У айтюнс, например, она уменьшает приложение до размеров 3×4 см.

    Кнопка + изначально создавалась как такая, которая подстраивает окно под контент, а не растягивает его на весь экран (как привыкли в win) т.е. так, чтобы, например, окно было как раз размером с веб-страницу, или картинку. Но сейчас эта логика иногда нарушается отдельными приложениями.
    В MacOS вообще нет привычки держать окна развернутыми на весь экран, как в win, т.к. меню приложения и так всегда сверху, независимо от размера и расположения окна. И это вправду удобней после привыкания.

    Почему есть кнопка «свернуть окно», а есть команда «command-h», которая делает примерно то же, но не то?

    Это абсолютно разные вещи. «command-h (hide)» моментально прячет все окна текущего приложения. И ты видишь что находится под ними. Свернуть окно- соврачивает все окна по очереди.

    Можно ли как-то заставить кнопку [-] делать то же, что и «command-h», а кнопку [x] то же, что и «command-q»?
    Зачем? command+q это выход из приложения (кстати универсальный шорткат, разотает везде в отличие от win, в которой куча вариаций на тему). Закрыть окно документа — это command+w (о слова window). В случае многотабового окна документом является таб, а не все окно.

    Почем при разворачивании окна на весь экран я на самом деле получаю окно на отдельном рабочем столе, со всеми вытекающими особенностями? И зачем мне при этом смотреть трехсекундное кино со спецэффектами «растяни окно»?
    Потому что это особый полноэкранный режим. Это не то же, что Развернуть окно в Win. Просто убей у себя привычку держать все окна развернутыми — это после windows у всех так.

    Есть косяки с переключением между приложениями при частом использовании command+Tab с приложениями с несколькими окнами. Это сложно описать коротко. Что-то вроде того, когда переключаешься межу приложениями, а тебе вместо основного окна подсовывается окно с настройками шрифтов.
    Есть такие косяки, эо баги разработчиков с неправильными руками. Таким грешит Word

    Например, невозможно переключиться на скайп, если до этого я закрыл кнопкой [x] окно сообщений. А в списке, доступном по command-tab, скайп честно висит.
    Показатель того что ты находишься в скайпе-строка меню. В ней ппервым пунктом всегда находится название активного приложения. У приложения могут быть закрыты или сернуты все окна, тогда операционке нечего тебе показать из окон, но меню она тебе покажет.
    Ответ написан
    5 комментариев
  • Как сделать интернет магазин на RoR?

    k3NGuru
    @k3NGuru
    Сис.админ.КО., подающий надежды кодер :)
    Собственно можно взять за базу сие spreecommerce.com/ или ror-e.com/
    А по интеграции с 1с groups.google.com/forum/?fromgroups=#!topic/ror2ru/hG_6wfXAXe0
    Ответ написан
    1 комментарий
  • Программы для разработки web-приложений из-под linux

    Что-то серьезное — IDE, в частности IDE от JetBrains (WebSrotm, PhpStorm, RubyMine и т.п). По быстрому что-то набросать — vim/emacs/sublime на любителя. Хотя и в gedit можно плагинов понаставить. Это в плане управления кодом.

    Дев-окружение для запуска или аналогичное продакшену (стандартные пакеты, например apt-get install apache2 php5 mysql-server), или встроенное в среде выполнения/фреймворка (php -s), или вообще запуск на VDS.

    Ну и консоль, куда без неё, даже с IDE.
    Ответ написан
    2 комментария
  • Что выбрать для изучения программирования под веб с нуля сегодня?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Ruby On Rails конечно же. Хотя бы ради понимания общей структуры, все остальные веб-решения на других языках так или иначе копируют рельсы. Потом можно будет легко мигрировать на любую платформу, хоть на php с фреймворками, хоть на python-django, хоть на node.js с railwayjs, хоть на эрланг с ChicagoBoss.

    Правда, для комфортной работы нужна линух-подобная ось. Если вы на винде, то придется научиться разворачивать линух на virtualbox и работе с ним по сети.
    Ответ написан
    Комментировать
  • Debian. Дополнение команды (опций)?

    sledopit
    @sledopit
    На Hetzner скорее всего у вас bash и не установлен bash-completion.

    Когда вы запускаете mc, при ctrl+o он не запускает другой shell, например dash, в котором нет автокомплита?
    Ответ написан
    1 комментарий
  • Как из изображения графика вытащить координаты?

    Если быстро и на коленке то:
    1) подготавливаем специальным образом изображения удаляя ненужныю информацию:



    и



    2) получаем значения граничных линий сетки, цвета сетки и графиков для подготовленных изображений:
    по x: 10 и 10000, по y: -25 и 10, сетка rgb(221,221,221), график rgb(0,0,255)
    по x: 30 и 10000, по y: 90 и 132, сетка rgb(104,104,104), график rgb(150,255,0)

    3) на питоне с помощью PIL пишем код который будет получать по предоставленным данным координаты:
    # -*- coding: utf-8 -*-
    
    from math import log10, fabs
    import Image
    
    
    def check_pixel_colour(pixel, colour, delta=(0,0,0)):
        '''сравниваем цвет пиксиля с эталонным цветом с погрешностью дельта'''
        return (colour[0] - delta[0]) <= pixel[0] <= (colour[0] + delta[0]) and\
               (colour[1] - delta[1]) <= pixel[1] <= (colour[1] + delta[1]) and\
               (colour[2] - delta[2]) <= pixel[2] <= (colour[2] + delta[2])
    
    
    def better_colour_value(pixels, colour):
        '''из списка цветов выбираем более подходящий эталонному цвету'''
        delta = 1024
        better_pixel = None
        for pixel in pixels:
            current_delta = fabs(pixel[0] - colour[0]) +\
                            fabs(pixel[1] - colour[1]) +\
                            fabs(pixel[2] - colour[2])
            if current_delta < delta:
                delta = current_delta
                better_pixel = pixel
        return better_pixel
    
    
    def get_border_grids(image, grid_colour):
        '''
        получаем номера пиксилей по оси x первой и последней линий сетки, по оси y верхней и нижней
        данные пиксили соответствуют переданным граничным значениям сетки
        '''
        width, height = image.size
        for x in xrange(width):
            if check_pixel_colour(image.getpixel((x, 0)), grid_colour):
                yield x
                break
        for x in xrange(width - 1, -1, -1):
            if check_pixel_colour(image.getpixel((x, 0)), grid_colour):
                yield x
                break
        for y in xrange(height - 1, -1, -1):
            if check_pixel_colour(image.getpixel((0, y)), grid_colour):
                yield y
                break
        for y in xrange(height):
            if check_pixel_colour(image.getpixel((0, y)), grid_colour):
                yield y
                break
    
    
    def get_linear_value(x, x1, x2, x1_value, x2_value):
        '''получаем значение для текущего пикселя с учетом граничных значений сетки для линейной оси'''
        k = (x2 - x1) / (x2_value - x1_value)
        b = x1 - k * x1_value
        return (x - b) / k
    
    
    def get_log_value(x, x1, x2, x1_value, x2_value):
        '''получаем значение для текущего пикселя с учетом граничных значений сетки для логорифмической оси'''
        k = (x1 - x2) / (log10(x1_value) - log10(x2_value))
        b = x1 - k * log10(x1_value)
        return 10**((x - b) / k)
    
    
    def process_graph(image_path, x1_value, x2_value, y1_value, y2_value, colour, delta, grid_colour):
        '''получаем список координат графика на изображении'''
        image = Image.open(image_path)
        width, height = image.size
        x1, x2, y1, y2 = get_border_grids(image, grid_colour)
        coordinates = []
    
        for x in xrange(width):
            pixels = {}
            for y in xrange(height):
                pixel = image.getpixel((x, y))
                if check_pixel_colour(pixel, colour, delta):
                    pixels[pixel] = y
            if len(pixels) > 0:
                y = pixels[better_colour_value(pixels.keys(), colour)]
                x_value = get_log_value(x, x1, x2, x1_value, x2_value)
                y_value = get_linear_value(height - y, height - y1, height - y2, y1_value, y2_value)
                coordinates.append((x_value, y_value))
    
        return coordinates
    
    
    if __name__ == '__main__':
        print process_graph('test_001.png', 10., 10000., -25., 10., (0,0,255), (10,10,50), (221,221,221))
        print process_graph('test_002.png', 30., 10000., 90., 132., (150,255,0), (50,50,10), (104,104,104))
    
    


    4) запускаем программу и получаем результаты для каждого пикселя по ox
    Ответ написан
    2 комментария
  • Что выбрать для изучения программирования под веб с нуля сегодня?

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

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

    calg0n
    @calg0n
    У нас были такие ветки:
    1. master. Стабильная ветка разработки. Девелоперы не могут коммитить в нее. develop вливается в master.
    2. develop. Более менее стабильная ветка разработки, которую можно в любой момент слить с master'ом.
    3. feature-somefeature, feature-onemore… Ветки девелоперов в которых они работают, реализуют фичи. Как только бранч оттестирован, он вливается в develop.
    4. hotfix-hotfixname, hotfix-onemore… Когда был найден критичный баг и его надо срочно пофиксить но develop пока не готов для слива в master, из мастера создается хотфикс-ветка, делается фикс, хотфикс заливается в master и develop (с правкой конфликтов, если такие возникают).

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

    Ну а продакшн-сервер смотрит на master и когда надо на нем делается git pull.
    Ответ написан
    2 комментария
  • Какой дистрибутив Linux выбрать на сервер?

    litos
    @litos
    Ubuntu 12.04 рекомендую, LTS релизы Ubuntu как правило удачные. Кстати, 10.04 пока еще поддерживается и можно продолжать использовать до апреля 2015 (серверная версия)
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать на сервер?

    Alukardd
    @Alukardd
    ну нефига вы динозавра вспомнили…
    У меня стоит Debian Etch на файловом хранилище от NetGear и нормально себе пашет. Использует реп — deb archive.debian.org/debian etch main, да почти не обновляется.
    Примерно раз в 2 года выходит дистр, oldstable поддерживается почти в полной мере. И того фактически 4 года. К тому же обновление между версиями происходит весьма гладко.
    Если конечно используется самопильный специфичный софт заточенный на определённую версию glibc, то тут вы везде проблем нахлебаетесь.
    Ответ написан
    1 комментарий