1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Какие IT-шники больше зарабатывают

Тема в разделе "Прочие вопросы", создана пользователем nomostro, 29.07.10.

  1. AlTk

    AlTk Читатель

    10.692
    0
    я уже писАл. в одном случае используем hash, в другом merge

    сервер в триггере.

    "не очень хороший" и "не водитель" - это все-таки разные категории
     
  2. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    Для where?

    То есть на вставку новой записи будет отрабатывать некоторый алгоритм пересчета объединения из многих записей? Вставка новой записи самая "легкая" операция в БД, так надо и ее "убить"?
     
  3. AlTk

    AlTk Читатель

    10.692
    0
    для join-а

    не факт.

    при чем здесь объединение? не надо привязываться к приведенному мной примеру
     
  4. Caps

    Caps Активный участник

    4.900
    219
    Да как сказать... Продолжая аналогию ездюк на самокате в принципе тоже водитель. В контексте дорожного движения.
     
  5. Hermes

    Hermes Активный участник

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

    Я под программированием понимаю процесс "создания компьютерных программ с помощью языков программирования."

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

    Куда уж нам, сирым и убогим.

    Смешно. Сейчас самое время начать советовать книжки. Я готов записывать. Кнута можете пропустить, он и так до дыр зачитан.

    Он под программированием понимает:
    "МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ [mathematical programming] (см. также Оптимальное программирование) — раздел математики, который “... изучает методы решения задач на нахождение экстремума функций (показателя качества решения) при ограничениях в форме уравнений и неравенств"
    В этом вся беда.
     
  6. AlTk

    AlTk Читатель

    10.692
    0
    я уже советовал, причем неоднократно И. Соммервилл. "Инженерия программного обеспечения"

    понимаете? а кто это?
     
  7. Caps

    Caps Активный участник

    4.900
    219
    :hah:
    Слив засчитан... :d
    Ежели Вы потрудились скопипастить Википедию, то ответьте на вопрос, является ли программой, ну например прошивка контроллера HDD, и если да, то покажите уж пожалуйста, где там компьютерная программа созданная с помощью языка программирования... Я уж стесняюсь спросить про программируемый калькулятор или станок с ЧПУ.
    Дам подсказку - "конечный автомат" и "программа".
    Вы таки опредление "программы" приведите, а потом поймите где у Вас нестыковка в определениях.

    о, а откуда столь глубокие познания о моих понятиях?
     
  8. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    цитата вообще-то была про ограничение выборки с использованием where

    факт! производительность вставки ограничена только аппаратными характеристиками. если навесить на нее триггеров, то это производительность можно похоронить, а потом долго пинать программистов за то, что он не знает какая сортировка быстрей.

    а причем тогда join?

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

    ---------- Сообщение добавлено 01.09.2010 12:01 ----------

    почему бы и нет ;)
     
  9. AlTk

    AlTk Читатель

    10.692
    0
    HorstWessel,
    самая быстрая операция - это обновление замещением.
    вставка может потребовать перестройки кластерного индекса.
    если уж приводить пример из жизни, вот:
    есть регистратор событий (start_datetime, event, value)
    для бизнес-логики необходимо получение информации в виде (start_datetime, end_datetime, event, value)
    end_datetime равно start_datetime для следующего значения этого события или 01.01.9999, если событие последнее.
    гораздо менее затратно для сервера в триггрере искать end_datetime для единичного события, чем селектировать это поле в запросе.
    речь ведь идет не только о соединениях, а о запросах, подзапросах и коррелирующих запросах.

    мне кажется, что Вы несколько не понимаете принцип работы конкретной реализации РСУБД и занимаетесь теоретизированием.
     
  10. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    да? а как же поиск записи для обновления и двухфазная фиксация транзакций?

    может, если архитектор кретин.

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

    ---------- Сообщение добавлено 01.09.2010 12:37 ----------

    Думаю, что все таки понимаю принцип работы РСУБД и знаю где узкие места и как их обойти.
     
    Последнее редактирование: 01.09.10
  11. IvUs

    IvUs Активный участник

    13.204
    967
    Нисколько не удивлюсь, если эта прошивка скомпилирована каким-нибудь кросс-компайлером C.
     
  12. Caps

    Caps Активный участник

    4.900
    219
    так было всегда?

    ---------- Сообщение добавлено 01.09.2010 13:04 ----------

    угу - "я не извозчик, я водитель кобылы!"
     
  13. Hermes

    Hermes Активный участник

    11.635
    2
    Про прошивку HDD не скажу, скорее всего да. Прошивка BIOS матплаты безусловно является программой. Как и прошивка какого-нибудь контроллера, который опрашивает датчики и управляет исполнительными устройствами.

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

    В закладки добавил, почитаю. Спасибо.

    Программа - суть последовательность инструкций для исполнительного утсройства (в общем случае, читай "процессора"). Записать программу можно разными способами.

    Отсюда программирование - процесс создания программы (который включает в себя анализ предметной области, входных и выходных данных, алгоритмов и т.д.)

    А что вы под программой и программированием понимаете?

    Из ваших постов так подумалось. Если ошибся, готов послушать вашу версию. Но вы ж не пишите, все вокруг да около ходите.

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

    Самокат - не самокат, а ездюк, как вы выразились, на велосипеде, таки да, водитель. В контексте дорожного движения. А всем мегаводителям-дальнобойщикам, которые кривят нос от этого факта предлагаю сесть на велосипед и проехаться по дороге. Иллюзии исчезнут. Управлять автомобилем ничуть не сложнее, чем велосипедом, скорее проще. Говорю как человек, который регулярно делает и то и другое.
    А вы на велосипеде по дорогам ездите?
     
  14. AlTk

    AlTk Читатель

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

    это хорошо, что понимаете. осталось только ознакомиться с конкретной реализацией.

    кому лучше-то? это поле в индексе не участвует обновление происходит влет. я же это не голословно говорю.
     
  15. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    а таксист - извозчик?
     
  16. AlTk

    AlTk Читатель

    10.692
    0
    не говорите ерунды. поехали на площадку, там и поуправляем.
    а ведь еще и маршрут надо уметь прокладывать!
     
  17. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    -индексацию можно выключить и проиндексировать позже;
    -индекс может быть совсем простым


    по производительности лучше, мы ж об этом в основном
     
  18. AlTk

    AlTk Читатель

    10.692
    0
    сутки ждать?
    а когда следующие значение вставлять?

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

    ---------- Сообщение добавлено 01.09.2010 13:20 ----------

    я уже написал для конкретного примера как лучше по-производительности
     
  19. IvUs

    IvUs Активный участник

    13.204
    967
    нет, раньше процессоры были медленные, алгоритмы в девайсах простые и индусов не было - часто ваяли контроллеры в железе only, без всяких там прошивок вообще.

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

    Я до сих пор помню фразу из какого-то бородатого фидо-цитатника - "Программирование это как и любовь - только слово, за которым скрывается бесконечное множество занятий" :)
     
  20. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    не знаю, может быть. Суббота, ВС или там когда еще. От задачи зависит.

    значит может быть
    убогий вариант и будет дорого стоить.
     
  21. AlTk

    AlTk Читатель

    10.692
    0
    я вроде про простоту не говорил.

    это отличный вариант и очень быстро работал. стоимость его очень маленькая, так как прирост памяти на "datetime" в процентом отношении для БД просто незаметен.

    ---------- Сообщение добавлено 01.09.2010 13:29 ----------

    а в остальные дни как запросы делать? отсутсвие индекса может изменить время выборки на несколько порядков.
    кстати, изменение кластерного индекса невозможно отложить на потом
     
  22. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    и я говорю про "может"

    Это зависит от количества записей, или частоты "событий" ваших.

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

    Caps Активный участник

    4.900
    219
    Как коррелирует-то? Машинный код стал языком программирования? С каких пор?
    И, стало быть, программирование, оно не только для компьютера, да?
    Вот. Теперь возвращаемся к тому определнию "программирования" которое вы дали. Нестыковочка, правда?
    Поэтому я и утверждал, что можно быть программистом не зная ни одного языка программирования. :)

    Слово "программист" в данном топике я употреблял в зависимости от контекста.
    Изначально, я употребил его как человек, способный создать некий уникальный алгоритм (будем брать частный случай) и (при желании и возможности) воплотить, в отличии от кодера, который воплощает конкретную реализацию некоего алгоритма разработанного не им.
    Потом - в качесте инженера, создающего продукт с определенной ценностью.
    Потом уже - в качестве любого человека способного заставить конечный автомат принимать допустимые состояния.
    И, таки да, все это программист.
    А под программированием я понимаю, да, формализацию [предопределенного] состояния. Похрен как, лишь бы число состояний было конечным.
    Шире надо смотреть на вещи.

    да... велосипедист на треке не является участником дорожного движения :)
    официально - да. "Лицо, занимающиеся частным извозом", но таки шо это меняет? :d
    кстати, по ПДД велосипедист водителем не является, если мне память не изменяет. он является участником дорожного движения, но никак не водителем.
     
  24. Hermes

    Hermes Активный участник

    11.635
    2
    И что вы этим хотели сказать?
    Садитесь на велик, проедем по дороге, посмотрим. Особенно радостно объезжать запаркованную обочину с выездом во второй ряд без зеркал, оттормаживаться на мокрой дороге, когда перед вами резко перестраивается или тормозит машина (водителям пофиг на велосипедистов) и т.д.
    Вождение автомобиля и езда на велосипеде требуют разных навыков, но говорить, что что-то проще, а что-то сложнее, имхо, некорректно. В контексте передвижения по проезжей части.

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

    Но это уже оффтопик.
     
  25. Caps

    Caps Активный участник

    4.900
    219
    вопрос кстати интересный. велик задом не умеет ездить.
     
  26. Hermes

    Hermes Активный участник

    11.635
    2
    А почему бы и нет. На заре развития компьютерной техники все программирование было в машинных кодах. Потом появился язык ассемблера для мнемонического представления этих самых кодов ну и т.д.

    Ну так я же писал, что записать программу можно различными способами. В том числе на ЯВУ и даже графически. Остальное транслятор сделает.

    Возвращаясь к программированию без знания языков программирования. Теоретически да. Но на практике я не знаю ни одного человека, который занимается программированием, не зная ни одного языка программирования. Если вы знаете, познакомьте, очень интересно посмотреть на такого человека.

    А так да, язык лишь инструмент и выбирается исходя их задачи. Ибо глупость писать клиента БД на ассемблере или драйвер на лиспе.

    Все это так, но, следуя вашему призыву:

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

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

    Если человек "пишет программы", решает задачи и выдает результат, в моем понимании он программист. Даже если он не придумывает собственных алгоритмов. И не важно на чем он пишет, пусть и на 1С.

    А кодер отличается от программиста тем, что он не анализирует задачу, не находит путей решения. Он делает то, что ему сказали. "Реализуй вот эту штуку вот по таким алгоритмам и спецификациям" - вот постановка задачи кодеру. Там думать особо не надо, надо заниматься рутинной реализацией.
     
  27. Caps

    Caps Активный участник

    4.900
    219
    Ну что мне, отправлять учить матчасть? Впрочем, если велосипедист водитель, то....

    Таки да же я, в бытность обладания калькулятором МК-61 занимался программированием, хотя ни одного языка не знал. :)
    хотя я тут больше вспоминал одну историю.. на заре, когда основной компьютер был XT с геркулесом, группа товарищей решала задачу оптимизации раскроя листа ДСП по набору шаблонов. вполне себе такая задача. так вот тамошний, как это теперь принято выражаться, архитектор, разрисовал блок-схему, де-факто написав программу. осатльным оставалось лишь грамотно все переписать на турбо цэ в.2.0.
    таки все же Вы признаете, что кодер не пограммист :p

    все остальное, да, абстракция и аллегория.. для любого программиста, существует программист, по сравнению с которым он просто засратый кодер :d
     
  28. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    В политехе даже вупускников САПРа так называют в дипломах, так что определение включает всех подряд.

    А вот мне кажется, что Caps и вы путаете программиста и прикладного математика.

    Естественно. Я не математик и не разрабатываю алгоритмы.
    Зато я могу разрабатывать КАЧЕСТВЕННОЕ ПО.
    При этом я знаю людей, которые выигрывали места по России на студенческих олимпиадах, участвовали потом за бугром.
    Так вот их код, который они писали потом, очень похож на то, что выложено здесь: http://govnokod.ru/

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

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

    Про bat-файлы:
    http://habrahabr.ru/blogs/crazydev/62919/
    Что уж говорить про PowerShell и bash

    Понятие кодер у каждого свое.
    Одни понимают под ним человека, которые не умеет проектировать, а другие - тех, кто не пишет кривые велосипеды, а имеет наглость воспользоваться качественными библиотеками.
     
  29. Caps

    Caps Активный участник

    4.900
    219
    Я ничего не путаю. Я прекрасно знаю чем должны заниматься и тот и другой.
    А вот Вы, о прикладной математике, имеете весьма поверхностное представление.
    Так где же там компьютерная программа созданная на языке программирования?

    Стер что написал. Не хотелось бы Вас обижать, просто... Возможно, Вы поймете со временем, где Вы заблуждаетесь. Сейчас это объяснять бесполезно. Разработка ПО не тождественна программированию.
     
  30. Hermes

    Hermes Активный участник

    11.635
    2
    Где я такое писал? Кодер - низкоквалифицированный программист. Точнее кодер - программист. А если брать более высокую квалификацию инженер-программист получится. Там еще 3 категории есть ;)

    О, вспомнил как называется эта хрень.
    Общероссийский классификатор занятий ОК 010-93 (ОКЗ)

    На этом дискуссию предлагаю закончить.