powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как стать клёвым кодером? =)
73 сообщений из 73, показаны все 3 страниц
Как стать клёвым кодером? =)
    #35551130
Фотография apxutektop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем, есть задача: много кодить. Почему? Потому что мне нравится кодить, сам процесс решения задач с помощью программирования мне очень люб.

Я решил учить Си++. Как водится, нашёл книжку (Джес Либерти — Освой С++ за 24 часа, 2007 год), скачал её нахаляву. Там написано, что лучше использовать C++BuilderX как среду разработки.

Начал искать, где можно скачать этот самый C++BuilderX, но наткнулся на вот какую проблему. Учить Си++ просто ради знания функций — глупо, нужно же учить так, чтобы потом можно было бы решать реальные задачи. И тут встаёт вопрос, где мне потом эти реальные задачи взять? Ведь я если даже прочитаю книжку, то как программист всё равно никому нахрен не нужен буду. Нужно же практиковаться, а на чём не знаю.

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

Так вот вопрос, если я хочу быть клёвым кодером, то как мне учиться, если реальных задач мне никто не ставит, и, соответственно, я не смогу решать актуальные проблемы? И сопутствующий вопрос, как у меня должен меняться инструментарий? То есть какую оболочку использовать сначала, что потом, к чему стремится, и на что забивать?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551165
Sash_xp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле если охота стать профессионалом - нужно понимать отрасль в которой хочешь работать. Как правило, для С++ такие отрасли весьма специфичные и требуют специального образования.
Если охота нарастить свой алгоритмический скил могу посоветовать следующее. Пойти в магазин, купить книгу по численным методам. Реализовать методы описанный в ней - реализовать их эффективно это не так просто как кажется, и сразу просто не получится. Затем попробовать распараллелить эти вычисления. Постараться сделать так, чтобы на 2-х ядрах алгоритм выполнялся примерно в 2 раза быстрее, чем на одном, а на 4-х в 4 раза быстрее. Это еще более сложная задача, и не всегда она имеет решение. Плюс алгоритм не должен быть написан для процессоров с 2 или 4 ядрами, он должен быть написан для процессоров с произвольным числом ядер. Имхо, это весьма перспективные навыки в силу того, что за многоядерными процессорами будущее, а писать параллельные приложения умеют единицы.
Но это сложный, весьма интеллектуальный путь. Есть дороги гораздо проще, их выбирают массы - web-приложения, 1С и т.п. Найти работу тут легко.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551221
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sash_xp wrote:

> Если охота нарастить свой алгоритмический скил могу посоветовать
> следующее. Пойти в магазин, купить книгу по численным методам.
> Реализовать методы описанный в ней - реализовать их эффективно это не
> так просто как кажется, и сразу просто не получится. Затем попробовать
> распараллелить эти вычисления. Постараться сделать так, чтобы на 2-х
> ядрах алгоритм выполнялся примерно в 2 раза быстрее, чем на одном, а на
> 4-х в 4 раза быстрее.

Давая такие мега-ядерные советы, нужно как минимум быть уверенным,
что все алгоритмы, описанные в книге, распараллеливаются.
Увы, это не всегда так.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551231
Фотография apxutektop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мм… Ну а дальше с результатом решения этой задачи, что делать-то надо?

Я не говорю, что у меня через пару недель будет алгоритм выполнения задачи по вычислительной математики для многоядерной системы, но я хочу уяснить, что с результатами этих обучений делать дальше? То есть, мне интересна вообще стратегия развития человека, как профессионала-программиста, при условии, что этим он зарабатывает деньги. Не пойду же я по объявлению «Нужен Си++ кодер», с фразой: «Ну знаете, я вообще-то книжку прочитал по Си++, а ещё у меня есть алгоритм вычисления интеграла для многоядерных систем с распараллеленым вычислением». Или пойду?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551350
Sash_xp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Sash_xp wrote:

Давая такие мега-ядерные советы, нужно как минимум быть уверенным,
что все алгоритмы, описанные в книге, распараллеливаются.
Увы, это не всегда так.
Ага, конечно, я так и написал, что задача не всегда имеет решение. Но что может быть ценнее опыта набитых шишек?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551366
Sash_xp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektopМм… Ну а дальше с результатом решения этой задачи, что делать-то надо?

Я не говорю, что у меня через пару недель будет алгоритм выполнения задачи по вычислительной математики для многоядерной системы, но я хочу уяснить, что с результатами этих обучений делать дальше? То есть, мне интересна вообще стратегия развития человека, как профессионала-программиста, при условии, что этим он зарабатывает деньги. Не пойду же я по объявлению «Нужен Си++ кодер», с фразой: «Ну знаете, я вообще-то книжку прочитал по Си++, а ещё у меня есть алгоритм вычисления интеграла для многоядерных систем с распараллеленым вычислением». Или пойду?

Для начала речь идет не об одном алгоритме, нужно реализовать десятки. Что делать дальше? Как минимум выбрать специализацию и двигаться по ней - речь может идти об обработки сигналов и изображений - тогда нужно изучать анализ вейвлетов, или иддти в область задач дискретной оптимизации - задача коммивояжера (Travelling Salesman Problem - TSP), задача маршрутизации транспорта (Vehicle Routing Problem) и т.п. Кстати, последнее направление очень перспективно - оптимизировать развозку заказов для компании или какие-нибудь другие логистические процедуры дорогого стоит.
Насчет пойти по объявлению - это как сказать. Я так понимаю, специалисты подобного рода весьма штучный товар ;-) Есть, например, вакансии NVIDIA (смотрите по ключевому слову CUDA) http://www.nvidia.ru/object/work_ru.html - тут до 5 000 долларов. Или нашей компании потребуется расшириться - тоже будут такого рода вакансии. Появляются и здесь подобные вакансии: Ведущий программист/математик (Научно-технический консалтинг). з/пл от 2500$г.Троицк , Руководитель проекта Москва
Но таких вакансий гораздо меньше чем php-кодера. Выбирайте сами какой путь избрать.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551369
Dihotom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektop
Устраивайтесь на работу программистом. Если есть выбор, то лучше в той предметной области, которая Вам интереснее. Вот Вам и задачи.
В процессе работы продолжайте самообразовываться (книги, форумы). Если фирма оплачивает обучение (курсы), то вообще здорово.
Как только понимаете, что исчерпали на этой работе свой потенциал, смело меняйте её и продолжайте развиваться.

Через какое-то время полезным с точки зрения развития будет подрабатывать фрилансером. Сайтов, обеспечивающих подобный заработок, довольно много.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551374
Dihotom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektop
А устроиться программистом можно и без опыта. Сложно, конечно, но есть много контор которые готовы брать людей без опыта и обучать их по мере работы. Но и денег будут предлагать "кот наплакал".
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551375
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала начните учить.
А то, я так понял, вы еще компилятор скачать не можете, а уже мегавопросы задаете.
Начните двигаться куда - нибудь(да хоть по тому - же Либерти), когда начнете понимать, о чем речь, вообще, глядишь и ответите сами себе на поставленные вопросы.
И задачи сами себе сможете поставить реальные.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551430
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Практика незаменима. Работу "Я хочу стать кодером" тоже можно и нужно найти. При обучении С++ следует акцентироваться на чистый язык (Standard C++, gcc, mingw, ...), а не специфику инструментария (Bilder, MSVC, ...)
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551515
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektop wrote:

> Я не говорю, что у меня через пару недель будет алгоритм выполнения
> задачи по вычислительной математики для многоядерной системы, но я хочу
> уяснить, что с результатами этих обучений делать дальше? То есть, мне
> интересна вообще стратегия развития человека, как
> профессионала-программиста, при условии, что этим он зарабатывает
> деньги.

Так, перекидываю это всё в программирование.
К С++ тема имеет мало отношения.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551522
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Так, перекидываю это всё в программирование.
К С++ тема имеет мало отношения.
Posted via ActualForum NNTP Server 1.4

Но есть. Так можно пол траффика перекидать.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551554
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh wrote:

> Но есть. Так можно пол траффика перекидать.
Уговорили - не буду.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35551695
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektopТак вот вопрос, если я хочу быть клёвым кодером, то как мне учиться, если реальных задач мне никто не ставит, и, соответственно, я не смогу решать актуальные проблемы? И сопутствующий вопрос, как у меня должен меняться инструментарий? То есть какую оболочку использовать сначала, что потом, к чему стремится, и на что забивать?
Думаю, что можно начать с простых задач, но полезных. Потенциально оплачиваемых. Например, один товарищ написал на форуме, что создал простую программку позволяющую устанавливать различные симпатичные скины для системных часов (и дат) компьютера (несколько десятков штук). Так вот, к его удивлению, на ней он стабильно зарабатывает (на буржуях) порядка трех своих основных зарплат в месяц. Мне даже самому понравилась эта безделушка, хотя я не сторонник программных «рюшечек». Другой, неплохо зарабатывает на красивых календарях, которые выводятся на десктоп. В последней версии стал еще выводить погоду (при наличии Интернета) для местности, где находится пользователь. Я смотрю, буржуи весьма охотно ведутся на красивые «побрякушки». И даже платят за это. Среди нашего брата, халявщиков, весьма охотно раскупается программа «Соло» - это тренажер клавиатуры, а лидерами продаж являются программы имитирующих печать кассовых чеков и реалистических печатей на струйном принтере. Как среди буржуев, так и среди нас, хорошо идет программа запоминания иностранных слов (для тех, кто уже знает грамматику и нуждается только в словарном запасе). Автономно предлагается масса озвученных словарей (скажем, на 6000 глаголов, словари TOEFL и т.д. и т.п.). Подобная программа предлагается за 100 зеленных президентов. Еще пример, у буржуев популярны программы типа напоминателей дней рождения и различных оганайзеров. Самое смешное, что реализация этих программ оставляет желать лучшего. Я видел на буржуйских сайтах весьма корявые birthday remembers, за которые они берут деньги. Сами любят «рюшечки», а делают фигню. Если брать за пример минимальный объем кода, то видел сайт, на котором просят деньги за программу, извлекающую электронные адреса из файлов. В другом месте нашел код этой программы, основной алгоритм занимает 5-6 килобайт. Короче, идея понятна, смотрим на сайтах продающих программы, рейтинги программ-бестселлеров, берем простейшие из них и делаем лучше. Затем пытаемся толкать их буржуям. Если повезет, то разбогатеем.

Ежели ориентироваться на работодателя, то весьма котируются базы данных. Правда, считается глупо писать на си++ учетные задачи, мол, типа сложно. Хотя это еще спорный вопрос. Я вот написал и успешно внедрил на предприятии собственные конфигурации на 1С77 по расчету зарплаты и учету ресурсов и теперь могу расслабиться на работе. Появилось свободное время и желание что-нибудь наваять на си++. Вот мой результат за первые несколько дней работы (из соседней ветки:
http://www.sql.ru/forum/actualthread.aspx?tid=594825):
http://www.sql.ru/forum/actualfile.aspx?id=6211038
Думаю, что если ориентироваться на конечное приложение, а не на средство разработки (типа 2С), то должно что-то получится, в том числе, возможно, и на продажу…
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35552300
personXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot apxutektop]а ещё у меня есть алгоритм вычисления интеграла для многоядерных систем с распараллеленным вычислением/quot]

Ну если переформулировать что "есть опыт работы на С++ с распределенными вычислениями математических задач на многоядерных процессорах" то это уже более конкретно чем "С++ кодер"

С++ это "инструмент" и инструмент для очень большого круга задач. Тут сначала надо определиться что тебе надо сделать (чем именно нравится заниматься). Там писать программы для всяких встраиваемых приборов - управления камерами наблюдения с автоматическим распознаванием лиц VIP клиентов, создание клиентских программ аля гуглтулбар которые помимо мелькания перед глазами во время бездействия машины пользователя выполняют полезные распределенные вычисления.... ну такой себе легальный ботнет, написание веб-сервера который по определенным параметрам превосходил бы существующие...

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

Среди библиотек можно обратить внимание на Boost Poco

Последний ИМХО более полезен и ориентирован на работу с сетью, а также довольно хорошо написан, что позволяет на примерах из кода лучше разобраться в С++ и вариантах его практического применения для кросс-платформных приложений.

Будут очень благодарны за реализацию некоторых прикладных сетевых протоколов на POCO и доработке уже существующих.

А это пример того как люди которые не являясь "кодерами", а "график артистс" но у которых была идея начали реализовывать ее на С++ (ситуация примерно противоположная твоей) http://www.openframeworks.cc/%5D%7C>]http://www.openframeworks.cc/]|> http://www.openframeworks.cc/" TARGET="_blank">openframeworks
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35552326
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektopМм… Ну а дальше с результатом решения этой задачи, что делать-то надо?

Я не говорю, что у меня через пару недель будет алгоритм выполнения задачи по вычислительной математики для многоядерной системы, но я хочу уяснить, что с результатами этих обучений делать дальше? То есть, мне интересна вообще стратегия развития человека, как профессионала-программиста, при условии, что этим он зарабатывает деньги. Не пойду же я по объявлению «Нужен Си++ кодер», с фразой: «Ну знаете, я вообще-то книжку прочитал по Си++, а ещё у меня есть алгоритм вычисления интеграла для многоядерных систем с распараллеленым вычислением». Или пойду?

Вполне можно пойти. Человек который красиво решил учебную задачу, грамотно сформулировал ее постановку и результат в резюме и смог принести на собеседование и продемонстрировать ее - ценный кадр. ИМХО. Я такого на работу возьму.

Есть живой пример, когда написаная для развлечения игра "Коммерция" (она же "Монополия") оказалась серьезным плюсом.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35552590
Морик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Emery
Ежели ориентироваться на работодателя, то весьма котируются базы данных. Правда, считается глупо писать на си++ учетные задачи, мол, типа сложно. Хотя это еще спорный вопрос.

Почему глупо и в чем сложность? На предприятиях оч много корпоративного софта писанного на C++,Delphi под Firebird,MSSQL Serv, Oracle.
Я вот как раз сменил работу что б на сях начать писать, и начал как раз с БД.

Я чего то не понимаю?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35552920
Sash_xp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морик
Почему глупо и в чем сложность? На предприятиях оч много корпоративного софта писанного на C++,Delphi под Firebird,MSSQL Serv, Oracle.
Я вот как раз сменил работу что б на сях начать писать, и начал как раз с БД.

Я чего то не понимаю?

Из этой области C++ активно вытесняется C# и Java.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35552966
apxutektopВообщем, есть задача: много кодить. Почему? Потому что мне нравится кодить, сам процесс решения задач с помощью программирования мне очень люб.

Я решил учить Си++. Как водится, нашёл книжку (Джес Либерти — Освой С++ за 24 часа, 2007 год), скачал её нахаляву. Там написано, что лучше использовать C++BuilderX как среду разработки.

Начал искать, где можно скачать этот самый C++BuilderX, но наткнулся на вот какую проблему. Учить Си++ просто ради знания функций — глупо, нужно же учить так, чтобы потом можно было бы решать реальные задачи. И тут встаёт вопрос, где мне потом эти реальные задачи взять? Ведь я если даже прочитаю книжку, то как программист всё равно никому нахрен не нужен буду. Нужно же практиковаться, а на чём не знаю.

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

Так вот вопрос, если я хочу быть клёвым кодером, то как мне учиться, если реальных задач мне никто не ставит, и, соответственно, я не смогу решать актуальные проблемы? И сопутствующий вопрос, как у меня должен меняться инструментарий? То есть какую оболочку использовать сначала, что потом, к чему стремится, и на что забивать?


Изучите как работает BIZON, создайте очень простую грамматику своего формального языка и напишите парсер для этого языка. Вещь будет в принципе бесполезная, но мозг в разрезе C++ разовьет сильно. У книге Гербердта Шилдта есть описание как строить парсеры другого типа (метод ... спуска). Эти парсеры получаются легче для простых языков - тоже сильно развивает мозг в области C++. И главное - можно будет показать исходники на собеседовании, если все будет хорошо реализовано.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35552988
Морик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sash_xp
Из этой области C++ активно вытесняется C# и Java.

Ну что ж тогда c++ будет ступенькой к с# в моем случае)
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35553393
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МорикПочему глупо и в чем сложность? На предприятиях оч много корпоративного софта писанного на C++,Delphi под Firebird,MSSQL Serv, Oracle.
Я вот как раз сменил работу что б на сях начать писать, и начал как раз с БД.
Смотря конечно, какого уровня задача. Если имеется в виду простой клиент с одним контролом-гридом, и со стандартным механизмом доступа к данным (ADO, ODBC или OleDB), то вряд ли это будет сильно сложная задача, и вполне может быть курсовиком для студента. Если же брать более серьезные задачи с необходимостью доступа и, главное, их отображения на уровне интерфейса, к сотням таблиц, плюс автоматизация средств отчетов, то это уже не покажется детским лепетом на лужайке. Пример реализации - 1С77 (про 8-ку я не в курсе). Только давайте не спорить, о качестве реализации и прочих достоинствах или недостатках 1С. Или, что, мол, это типа не база данных. Дело не в этом, главное, что проект реализован на С++, из VS6. Проект очень сложный (трудоемкость пару десятков человеко-лет). Это доказывают альтернативные открытые проекты, типа «2С» (15 МБ кода в исходных текстах для версии 0.0.0.3), «Ананас», «1L» и т.д. того же порядка объема, но еще весьма далеких от совершенства. Да, это попытки создать средства разработки баз данных. Но все это доказывает потребность в специализированных программах для работы с базами данных.
Я работу не менял, но тоже недавно начал писать на «сях» для работы с БД, о чем уже говорил здесь. Опыт внедрения собственных конфигураций на 1С показывает, что очень мало людей хорошо разбираются (на прикладном уровне) с концепциями и моделями учетных задач. По крайней мере, по технологии доступа файл-сервер с использованием преимуществ терминал-сервера. Оставим в стороне технологию клиент-сервер. Мне кажется, ее использование упрощает жизнь разработчику, но усложняет жизнь пользователю (в смысле, мало комфорта для работы). Хотя фирма 1С и попыталась в восьмой версии своего продукта совместить несовместимое (интерфейс от файл-сервера, а доступ к данным от клиент-сервера, для чего ей пришлось ввести лишнее звено-посредник – сервер приложений), ну пусть она сама и трах тыбы дох тыбы дах со своим неповоротливым монстром. Однако мне нравится семерка, в общем, 1С77 помог мне профессионально реализоваться, Жаль, что эта фирма не собирается развивать свой продукт. Вот и приходится делать эту работу за нее. Для этого я и начал изучать Си++. Только я не собираюсь делать очередное средство разработки. Как показывает опыт, по большому счету это глупая затея. Те, кто хорошо знает системное программирование и способен делать и делает средства разработки, обычно не собирается работать на прикладном уровне и писать конечную конфигурацию учетных задач для своего детища. Хороший пример 2С. Они, тяп-ляп средство разработки сфарганили, а до конечных конфигураций руки не дошли, то, что демонстрируется не более чем пародия на учетные задачи. Недостатков такого разделения масса, системщик не учитывает интересы прикладника, а последний, как правило, не знает всех возможностей системы и слаб в теории учета, да и отношение к ним соответствующее, типа 1С-программист, это, мол, «конфигураст». Поэтому приходится брать на себя роль и системщика и прикладника. Это обещает сильно упростить программулину по сравнению со средством разработки баз данных. Однако, ни в коем случае не стоит пользоваться компонентами баз данных, всякими там стандартными гридами, ActiveX элементами, ADO, ODBC, OleDB и тому подобное. Нужно непосредственно работать с полноценными библиотеками баз данных, а не каким нибудь там MySQL или ToySQL. В общем на эту тему можно долго говорить.

Кстати, если не секрет, а как вы планируете организовать доступ к базам данных?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35553893
Морик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Emery
Кстати, если не секрет, а как вы планируете организовать доступ к базам данных?


Кому адресован вопрос и кто конкретно имеется ввиду?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35553928
Морик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*что
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35554552
personXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неизвестный[quot apxutektop] развивает мозг в области C++
))))

ну тогда уж лучше полезную вещицу с парсилкой и граматиками на С++
например для генерации случайного текста по заранее заданой граматике типа небезеизвестного генератора постмодернистских ессе, а можно и просто его с С на "современный" С++ портировать )))
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35554577
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морик Emery
Кстати, если не секрет, а как вы планируете организовать доступ к базам данных?


Кому адресован вопрос и кто конкретно имеется ввиду?
Вам адресован и вы имеетесь в виду.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35554581
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтоб стать клёвым кодером, надо быть клёвым чуваком.

----
DBMS и BDSM - наше всё!
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35554698
beatlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо начать участвовать в каком-нибудь open source прожекте... смотреть как люди программять... много чего можно подметить.. . и все такое...
единственная проблема- тематика прожекта должны быть близка по духу...
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35554757
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плох тот солдат, который не хочет стать генералом. Так что автору топика остается только посоветовать стремиться стать как минимум Страуструпом
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35555311
izekia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryОставим в стороне технологию клиент-сервер. Мне кажется, ее использование упрощает жизнь разработчику, но усложняет жизнь пользователю (в смысле, мало комфорта для работы). Хотя фирма 1С и попыталась в восьмой версии своего продукта совместить несовместимое (интерфейс от файл-сервера, а доступ к данным от клиент-сервера, для чего ей пришлось ввести лишнее звено-посредник – сервер приложений)
Интересно причем здесь комфорт, и почему сервер приложения - это лишнее звено.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35555332
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>> Re: Как стать клёвым кодером? =)
Начать читать сообщения с 217 страницы
Экономьте электричество! Выключайте Num Lock!
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35555474
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aрхитектор:)
При этом я всё-таки считаю себя чайником в пользовательском отношении, то бишь поставить Винду, дрова и настроить базовый комплект программ смогу, но более тонкими настройками не владею.

Афтор! Ты аццкий сотона! Почитал твои посты в других форумах... Жги сильнее!
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35555503
Фотография apxutektop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton aрхитектор:)
При этом я всё-таки считаю себя чайником в пользовательском отношении, то бишь поставить Винду, дрова и настроить базовый комплект программ смогу, но более тонкими настройками не владею.

Афтор! Ты аццкий сотона! Почитал твои посты в других форумах... Жги сильнее!

Зочем вы тгавите? =)
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35555514
Фотография apxutektop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати говоря, мне очень понравилась идея про опен сорс. Только как с такими чуваками можно сконтактировать и насколько это вообще распространено, скажем в России?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35555810
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
izekia EmeryОставим в стороне технологию клиент-сервер. Мне кажется, ее использование упрощает жизнь разработчику, но усложняет жизнь пользователю (в смысле, мало комфорта для работы). Хотя фирма 1С и попыталась в восьмой версии своего продукта совместить несовместимое (интерфейс от файл-сервера, а доступ к данным от клиент-сервера, для чего ей пришлось ввести лишнее звено-посредник – сервер приложений)
Интересно причем здесь комфорт, и почему сервер приложения - это лишнее звено.
Уже по тому, что задается такой вопрос, видно типичное отношение разработчика к своей программе, мол, «мне с ней не работать». Да, простой «юзверь» неприхотлив, берет все что дают и, как правило, молчит в тряпочку. Я, к примеру, работаю на предприятии, где используются мои программы учета. И не разу не слышал замечаний по удобству работы. Однако мне самому иногда приходится садиться за свои программы, чтобы навести марафет, найти ошибки пользователя и так, по мелочам. Меня сильно раздражает, если где-то приходится делать лишние телодвижения, что-то не совсем удобно и т.п. И хотя никто не просит, стараюсь убирать явные ляпы. Но иногда приходится иметь дело с чужими программами учета. И если вижу наплевательское отношение разработчика к пользователю, то это вызывает массу комментариев в адрес автора сего произведения. Иногда автор искренне не понимает, чего ждут от него пользователи, многие вообще «тираны», мол, делай, как я сказал и не вякай. Даже если делать приходится дурную работу. Тем не менее, основная претензия к тому, что «мало комфорта» заключается в слабой функциональности программы. Особенно это касается «тонких» клиентов. Их легко делать, но с ними очень тяжело и неприятно работать. Фирма 1С, в «восьмерке» сделала «толстого» клиента, но через одно пикантное, не побоимся этого слова, «импозантное» место. Сервер приложений, как таковой, отнюдь не плох, но не в данном случае. В 8-ке он используется исключительно как посредник, а «зачем нам кузнец, кузнец нам не нужен». Его использование говорит о концептуальных ошибках архитектуры приложения, которая так любит делать фирма 1С, что и вызывает массу нареканий в ее адрес. Можно ведь спроектировать так программу, чтобы в ней вместо «трехзвенки» была «двухзвенка», что скажется только в сторону повышения производительности работы, без потери удобства интерфейса. Для этого надо только либо интерфейс организовать по технологии «клиент-сервер» (это не типично, но можно), либо технологию доступа к данным заменить на файл-серверную (как было в семерке). Однако говорить об этом фирме «1С» бесполезно, ребята просто зарабатывают деньги на лохах, которые любят понты, мол, программа крутая, полно всяких рюшечек, требуется мощнейшее компьютерное оборудование для работы. Видел даже в Интернете тестирование серверов с помощью 1С8.х, мол, сервер такой крутой, что поддерживает десяток – полтора клиентов на «восьмерке». Я не намерен критиковать 1С, их продукт 1С77 просто прелесть, хотя и его можно сделать лучше. В данном случае важнее понимать концептуальные вопросы программирования, чтобы не делать хотя бы явных глупостей.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35556258
beatlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code.google.com вот тут можно поискать open source прожект ...там их много
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35556746
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryОставим в стороне технологию клиент-сервер. Мне кажется, ее использование упрощает жизнь разработчику...
Это только тебе так кажеться :) Файл-сервер писать как-раз гораздо проще. Относительно 1С77+MS-SQL - это не клиент-сервер, а полный изврат, т.к. MS-SQL тут используется как файл-сервер, для чего он абсолютно не приспособлен отчего и тормозит все жутко.

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

Emery... но усложняет жизнь пользователю (в смысле, мало комфорта для работы).

Пользователь видит только пользовательский интерфейс, а как реализовано взаимодействие с БД это его не интересует, согласен что есть особенности разработки при файл-сервере и клиент-сервере, но это проблемы разработчика, и как он сделал пользовательский интерфейс зависит только от разработчика, а не типа доступа к данным.

Emery...Особенно это касается «тонких» клиентов. Их легко делать, но с ними очень тяжело и неприятно работать...
"Тонкий клиент" это небольшое подмножество клиент-серверных решений главным достоинством которых является малый объем трафика, в угоду чему приходится жертвовать функционалом, что в итоге и на удобстве сказывается. Но в большинстве случаев это вынужденная необходимость. Случаи когда "тонкого клиента" кто-то пишет только потому что ему попробовать охота рассматривать не будем.

EmeryКстати, если не секрет, а как вы планируете организовать доступ к базам данных?

Немно плюсов связки 1С77+MS-SQL: есть такая компонента 1С++ которая позволяет делать полноценные запросы к 1С базам на MS-SQL. Эта компонента переводит запрос (не путать со встроенной в 1С пародией на запросы) в синтаксис SQL-запроса к базе MS-SQL и такие запросы отрабатывают действительно быстро. Видел это вживую на базе в несколько гигабайт.

PS Прежде чем хаять клиент-серверные решения (тем более только по изучению оных в убогой реализации 1С77) рекомендую для начала освоить эту технологию и понять все ее плюсы и возможно использовать из тойже 1С.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35557739
izekia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryВ 8-ке он (сервер приложения) используется исключительно как посредник, а «зачем нам кузнец, кузнец нам не нужен».
без комментариев просто, зачем рассуждать о том чего не знаешь или о чем прочитано где-то и когда-то в инете? Может есть смысл поизучать вопрос более подробно?

EmeryОставим в стороне технологию клиент-сервер. Мне кажется, ее использование упрощает жизнь разработчику, но усложняет жизнь пользователю (в смысле, мало комфорта для работы).
еще раз процитирую, причем здесь используемая технология, пусть даже в рамках 1С в77 и комфорт пользователя?
я лично просто не вижу смысла в этом высказывании.
но вот вывод: EmeryУже по тому, что задается такой вопрос, видно типичное отношение разработчика к своей программе, мол, «мне с ней не работать». мне очень нравится


по поводу файлового варианта и использования сервера
тупой простой пример недавнего проекта, необходимо было связать часть кода написанного в Excel с данными из 1С причем единственный способ связи - хттп + большой объем данных, к примеру справочник сотрудники 24 000 элементов.
Ваш вариант реализации?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35558814
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T EmeryОставим в стороне технологию клиент-сервер. Мне кажется, ее использование упрощает жизнь разработчику...)
Это только тебе так кажеться :) Файл-сервер писать как-раз гораздо проще. Относительно 1С77+MS-SQL - это не клиент-сервер, а полный изврат, т.к. MS-SQL тут используется как файл-сервер, для чего он абсолютно не приспособлен отчего и тормозит все жутко.)
Ну, вот, сместились акценты и спор пошел в другом русле. Я не утверждал, что 1С77, или даже его SQL-ная версия это клиент-сервер. 7-ка это типичный файл-сервер, даже если он использует SQL-сервер (как файл-сервер). Понятно, что 1cv7s.exe всего лишь использует другое хранилище (не dbf-файлы, а базу данных SQL-сервера) и ничего более. Правда, те, кто хочет, применяют внешние компоненты для прямого доступа к базе данных SQL-сервера и использования всех его преимуществ. Основная масса профессионалов так и делает, заметно повышая производительность стандартной sql-ной «семерки». Лично я пошел другим путем, использовал не SQL-сервер через внешние компоненты, а движок Visual FoxPro, v.8. (вместо «1C Database Engine for .DBF, .CDX» из dbeng32.dll) для dbf-версии 1С77. Для обмена данными на уровне интерфейса задействовал DDE-сервер из 1С77. Замеры показали повышение производительности в 15 раз. И уже знаю, как повысить производительность еще в несколько раз за счет программной оптимизации. Для моих целей этого вполне достаточно.

Клиент-сервером является «восьмерка», т.е. 1С8.х и то на стороне сервер-приложения – база данных MS SQL Server. А в цепи интерфейс – сервер-приложения (или везде при использовании встроенной базы данных 8-ки (типа mdb-файла)) это типичный файл-сервер, что действительно является извратом.

«Файл-сервер писать как-раз гораздо проще»? Интересно где, в 1С? Если там то, да. Там он уже написан за нас. Но у нас то речь идет прежде всего о С++, а тут «толстого» клиента писать значительно тяжелее, чем «тонкого». То же можно сказать, например, и про Access. Организовать в Си и Акцессе интерфейс на уровне 1С – запаритесь, а какую-нибудь простую перегружаемую форму, «общающуюся» через провайдера данных, например, с SQL-сервером, относительно несложно.

Dima TПравильно спроектированное клиент-серверное приложение в разы быстрее и аналогичного файл-сервера, т.к. основной выигрыш тут идет в том что при файл-сервере качаются все данные на клиента и клиент делает выборку, а при клиент-сервере выборка делается сервером и только ее результат дается клиенту, что значительно снижает объем трафика (это немаловажно даже при объеме базы несколько десятков Мб), да и выборка сервером делается быстрее, т.к. железо там помощнее и большая часть данных уже в памяти закэширована может быть.
Почти что цитата из учебника. В принципе с этим никто не спорит. Но следует понимать, что «клиент-сервер» имеет как достоинства, так и недостатки. Хорошо о них было сказано в статье «Блеск и нищета клиента-сервера», поищите в Интернете, название цитирую по памяти. Возьмем простую навигацию данных. Пользователю интересно просто просматривать большую базу данных «вааще». Файл-сервер дает полный доступ ко всей базе данных, которую юзер может целиком сортировать, модифицировать где угодно и как угодно. Клиент-сервер даст ему только часть базы, а для этого юзверь должен ввести что-то типа запроса, ну там выбрать конкретный параметр, ограничения и т.п. А если пользователь не знает что он хочет, и желает только посмотреть, что вообще есть в базе? А если юзер продвинутый и может явно сформулировать интересующий его запрос, но тонкий клиент не может его обработать? Что тогда? Мол, бери что дают, а не то, что хочешь? Понятно, что клиент-сервер задает жесткую схему отношений, что может быть хорошо для целей безопасности, но плохо для комфортной работы по произвольной навигации по базе данных. Кроме того, сложные, комплексные системы учета просто трудно организовать на уровне интерфейса в виде чистого клиент-сервера, он просто не будет покрывать всех потребностей системы да и желаний пользователей. Тут конечно можно спорить, и я видел (у друзей программистов) реализации серьезных программ учета в виде, скажем, перегружаемой формы Акцесса в связке с SQL-сервером. Но этот минималистский интерфейс, хотя и позволяет достигать результата, но меня, однако, не прикалывает. 1С77 в этом смысле молодец, они сфарганили прекрасный интерфейс в простом деловом стиле, а разработчик объектов-справочников там просто умница. Но, конечно, какая бочка меда без своей ложки дегтя? Слабым местом в семерке является ее самописный движок базы данных. Многих это приводит в ступор и заставляет метаться между VFP (Парус), Navision, Axapta, SAP, R/3, Oracle, Access+SQL и т.д. и т.п., даже для решения относительно несложных учетных задач. Хотя при наличии небольшого воображения, легко значительно повысить производительность «семерки». Моим решением для dbf-версии 1С77 была связка DDE + ядро VFP, причем не знаю случая, чтобы так делал кто-то еще, все обычно предпочитают sql-версию 1С77 в связке внешние компоненты + SQL Server.
Чтобы вернуться к теме С++, скажу в Си я планирую применять CListCtrl в виртуальном режиме, а поставщиком данных использовать RunTime Library VFP9, и базу данных в виде dbf-файлов (втором фундаментальном формате данных, после текстового *.txt). VFP можно использовать и как файл-сервер и как клиент-сервер. Виртуальный режим контрола SysListView32 (в MFC-обертке) это просто находка!
Что позволят легко организовать полноценный интерфейс (по типу 1С) на технологии клиент-сервер. Единственное ограничение это то, что CListCtrl (на базе SysListView32) искусственно ограничен 100 миллионами записей. Но думаю, если достигну такого количества записей в базе данных, то найду способ его преодолеть. Здесь VFP не принципиален, при масштабировании задачи можно будет напрямую подключаться к промышленным базам данных. Просто RunTime Library VFP9, поставляется Мелкософтом бесплатно, и достаточно хорош для моих целей.

Dima T"Тонкий клиент" это небольшое подмножество клиент-серверных решений главным достоинством которых является малый объем трафика, в угоду чему приходится жертвовать функционалом, что в итоге и на удобстве сказывается. Но в большинстве случаев это вынужденная необходимость.
«Малый объем трафика» достигается и другим способом. С помощью «терминал-сервера», причем в этом случае не приходится «жертвовать функционалом».

Dima TСлучаи когда "тонкого клиента" кто-то пишет только потому что ему попробовать охота рассматривать не будем.
Тогда укажите пример реализации интерфейса «толстого» клиента (как в 1С) на базе чистого «клиент-сервера».

Dima T EmeryКстати, если не секрет, а как вы планируете организовать доступ к базам данных?
Немно плюсов связки 1С77+MS-SQL: есть такая компонента 1С++ …
Речь шла об использовании С++, а не 1С. В 1С77 я уже профессионально реализовался, достиг приличных результатов, на которых можно доехать до пенсии. Но мне интересно сделать свои учетные программы независимыми от 1С и лишенных некоторых его недостатков, которые нельзя устранить никакими внешними компонентами.

Dima TPS Прежде чем хаять клиент-серверные решения (тем более только по изучению оных в убогой реализации 1С77) рекомендую для начала освоить эту технологию и понять все ее плюсы и возможно использовать из тойже 1С.
Плюсы клиент-серверных решений я знаю, и минусы тоже. Вы же знаете минусы 1С77, но не знаете ее плюсов, и как легко эти минусы обходятся практически, а не теоретически, как вы написали: «Видел это вживую на базе в несколько гигабайт». Если вы такой умный, то лучше предложите способ обойти ограничение в 100 миллионов записей виртуального режима SysListView32 (в MFC-обертке CListCtrl), как раз для целей использования интерфейса на технологии клиент-сервер.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35559205
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
izekia EmeryВ 8-ке он (сервер приложения) используется исключительно как посредник, а «зачем нам кузнец, кузнец нам не нужен».
без комментариев просто, зачем рассуждать о том чего не знаешь или о чем прочитано где-то и когда-то в инете? Может есть смысл поизучать вопрос более подробно?
А может есть смысл ответить по существу? Скажем, скрытый от непосвященных, смысл сервера приложения 1С8.х в том что, ну хотя бы, «это коммерческая тайна». Дадите интересную зацепку, «поизучаю подробнее», а так, не вижу особого смысла.

izekiaеще раз процитирую, причем здесь используемая технология, пусть даже в рамках 1С в77 и комфорт пользователя?
Еще раз говорю, что предпочитаю искать решения в С++, а не 1С. По 1С у меня нет вопросов. А по существу, чтобы организовать полноценный интерфейс (я имею в виду, прежде всего полный доступ к данным на уровне одновременного использования множества гридов или лист-контралов и их форм диалогов интерфейса, но без явных запросов) обычно используется технология типа «файл-сервер» (если знаете для «клиент-сервера», то подскажите). А для клиент-сервера типичен интерфейс в виде «тонкого» клиента, т.е. одной или несколько относительно простых форм, используемых, как правило, модально, позволяющих организовывать доступ к данным по явному запросу. Так вот, «тонкий» клиент значительно менее удобен для работы, чем «толстый». Что же тут непонятного? Другое дело, построить толстого клиента на основе технологии доступа к данным «клиент-сервер». Чтобы была свободная навигация по одновременному использованию множества таблиц БД, без всяких там ограничений по объему данных, не нужных фильтров и явных запросов. Это как раз то, что меня сейчас волнует и что я хочу реализовать в своем проекте на С++. Есть, что сказать по существу, пожалуйста, рад буду выслушать.

izekiaя лично просто не вижу смысла в этом высказывании.
но вот вывод: EmeryУже по тому, что задается такой вопрос, видно типичное отношение разработчика к своей программе, мол, «мне с ней не работать». мне очень нравится
Ладно, спишем все на издержки неявного общения…

izekiaпо поводу файлового варианта и использования сервера
тупой простой пример недавнего проекта, необходимо было связать часть кода написанного в Excel с данными из 1С причем единственный способ связи - хттп + большой объем данных, к примеру справочник сотрудники 24 000 элементов.
Ваш вариант реализации?
Ну, «техническое задание» надо бы формулировать поточнее. Что понятно одному, не факт, что понятно и другому. Чтобы врубиться в задачу, мне пришлось домысливать ее. Во-первых, я не понимаю смысла, зачем связывать код из одной системы с данными из другой? Может быть, имеется в виду построение отчета в экселе, на основе данных 1С? Причем данные из 1С выгружены в html-формате? Т.е. эксел должен достаточно быстро импортировать и может быть частично преобразовать данные из html-файла, достаточно большого объема, но сохраняющего табличную структуру. В данном случае, справочника сотрудников на 24 тысячи человек (это где ж работает столько народу?). Правильно ли я понял условие? Если так, то это задача для садо-мазо. Я к ним не отношусь. В этом случае, я бы построил отчет средствами VFP, работая непосредственно с базой данных dbf из 1С, опыт такой работы у меня имеется. Можно было бы воспользоваться системами построения внешних отчетов, типа FastReport. А если база данных расположена не в dbf, а базе данных SQL, то можно задействовать средства отчетов самой SQL (например, Reporting Services из MS SQL Server 2005). Можно также использовать VBA из самого эксела, с его помощью можно делать практически все, что хочешь, я же не знаю какой код там уже накропали. Ежели Excel работает медленно, то есть смысл посмотреть в сторону «Open office», говорят он работает на порядок быстрее, по этому поводу смотрите:
http://www.gotdotnet.ru/Forums/Office/513237.aspx
Короче, слишком много «если», чтобы ответить определенно, но думаю, я бы с этой проблемой справился. У нас говорят, что «это не проблема, а всего лишь задача».
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35559609
izekia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вкратце по вопросам без цитирования:
1. Сервер приложений - это разгрузка клиента, так как часть кода можно явно выполнять на нем.
2. Разговор начинался в контексте клиент-сервера 1С седьмой версии, сейчас Вы от этого ушли к общему.
3. По задаче, дело в том, что эта база на файловом варианте вообще бы не была бы живой, как мне кажется. А так как использовался СКЛ сервер, то это позволило достаточно быстро реализовать вебсервис на нете и с использованием хранимок достаточно быстро получать необходимую информацию и выдавать на клиента. Ну и собственно дальнейшая реализация на ВБ - это уже детали. Суть в том, что на фаловом варианте, даже с учетом прямого доступа к дбф - это было бы на порядок медленнее. Собственно я к этому и вел
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35559615
izekia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто судя по предыдущим постам мы немного не поняли друг друга
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35559742
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начну с конца:
EmeryПлюсы клиент-серверных решений я знаю, и минусы тоже. Вы же знаете минусы 1С77, но не знаете ее плюсов, и как легко эти минусы обходятся практически, а не теоретически, как вы написали: «Видел это вживую на базе в несколько гигабайт». Если вы такой умный, то лучше предложите способ обойти ограничение в 100 миллионов записей виртуального режима SysListView32 (в MFC-обертке CListCtrl), как раз для целей использования интерфейса на технологии клиент-сервер.
1С77 как язык разработки это мягко говоря недоразумение, очень скудный и ограниченный в функционале язык. Немного пописать пришлось и вывод для себя я сделал простой: "Пока есть возможность писать не в 1С я буду ей пользоваться", пока все идет нормально :)
В 1С немного поработал, работая в одной крупной конторе, учет на 1С77 в хорошо дописанной "Торговле". Плюсы знаю, сваять ввод документа простого какого-нибудь с печатными формами дело нескольких часов, справочник еще быстрее. Но как только дело доходит до построения какого-нибудь отчета средней сложности, так сразу начинается жуткий тормоз встроенного движка.
Наблюдал больше от админов, которые сие чудо сопровождали. Крутилось в той конторе все в терминале на четырехпроцессорном серваке, база 2 гига DBF локально. При 30-40 активных юзерах все регулярно подвисало иногда зваешивая и терминал. Пробовали переселить базу на отдельный сервак соединив гигабитом, скорость падала в разы. Доработал механизм блокировок встроенный 1С-ный - скорость немного приподняли и терминал падать перестал, но на вопрос руководства сколько надо денег на железо чтобы заработало хотя бы в два раза повеселее ИТ отдел давал ответ: "можно попробовать за 100 тысяч условных енотов сервачек купить, но двухккратного ускорения не обещаем"
Там же и на SQL базу переводили, где я на 1С++ в действии посмотрел, со стороны.

EmeryЛично я пошел другим путем, использовал не SQL-сервер через внешние компоненты, а движок Visual FoxPro, v.8. (вместо «1C Database Engine for .DBF, .CDX» из dbeng32.dll) для dbf-версии 1С77.
Я так-то на VFP восновном пишу. На Си только низкоуровневые вещи, которые из фокса недоступны. Движок MS-SQL при активном участии разработчиков VFP делался. Для того MS фокс и купило.
И несмотря на всю фоксовую производительность даже в небольшой сетевой проге из 3-4 пользователей связка VFP+SQL более производительна. Пример на цифрах: выборка из 4-х табличек общим весом 10Мб что фоксом, что SQL-ем делается за миллисекунды, но протащить эти 10Мб по сетке в 100 Мбит занимает секунды полторы-две, а результат весом 20-30 кб пролетит на порядки быстрее, вот и получается что VFP потратит пару секунд, а SQL десятые или сотые доли секунды. А производительность далеко не самый маловажный фактор.

Emery«Файл-сервер писать как-раз гораздо проще»? Интересно где, в 1С? Если там то, да.
В VFP. В чисто алгоритмических языках как С++ нет встроенного СУБД движка, поэтому там проше писать интерфейс, а задачи выборки данных возложить на SQL-сервер.

Emery Dima TСлучаи когда "тонкого клиента" кто-то пишет только потому что ему попробовать охота рассматривать не будем.
Тогда укажите пример реализации интерфейса «толстого» клиента (как в 1С) на базе чистого «клиент-сервера».
Такого чтобы широкоизвестное что-то было не скажу, думаю в форуме по MS-SQL много примеров приведут. Да и в VFP-шном тоже многие связку VFP+SQL пользуют.
Приведу пример классических тонких клиентов - интерфейс больших ERP (SAP, Navision и т.п.) интернет-банки, интернет-магазины, вобщем все что из интернет-браузера работает.

Emery«Малый объем трафика» достигается и другим способом. С помощью «терминал-сервера», причем в этом случае не приходится «жертвовать функционалом».
Ага, очень "малый" если на принтер клиента печатать. Видел я таки решения, и счета за инет при их использовании. Про стоимость терминальных лицензий можно еще упомянуть.

EmeryПользователю интересно просто просматривать большую базу данных «вааще». Файл-сервер дает полный доступ ко всей базе данных, которую юзер может целиком сортировать, модифицировать где угодно и как угодно. Клиент-сервер даст ему только часть базы...
Как раз "толстый" клиент-сервер может притащить всю таблицу и пусть пользователь ее разглядывает если ему так уж это интересно. Что мешает дать возможность пользователю быстро открыть выборку по заранее введенному фильтру или показать все если он фильтр не знает как задать? Я так делаю, по крайней мере если всего не более 10000 записей. Это ограничивается только интерфейсом, т.е. его разработчиком.


Вернусь немного к скорости разработки - любой разработчик с опытом работы с БД имеет наработки, которые позволяют значительно ускорить рутинные операции. На С++ с его мощнейшим ООП можно создать библиотеку (думаю что таких немало начиная с MFC) для быстрого создания форм ввода и отчетов. Тот же FoxPro изначально появился как оболочка Си заточенная для работы с БД, потом сформировался как отдельный язык. На том же VFP можно разрабатывать со скоростью сопоставимой 1С (например сваять справочник или новый документ мне хватит пары часов). Но в отличии от 1С остается в запасе вся мощь языка, которую можно в любой момент задействовать.
Но тут есть одно маленькое НО - опытный разработчик, если таковой действительно профи и уходит бросая проект на С++ или VFP, Delphi, даже VB в Access`e , то редко замена может этот проект адекватно поддержать, и в итоге проект постепенно умирает. По моему в этом огромный плюс 1С, в его убогости как языка, он настолько примитивен и ограничен что в коде гуру в состоянии разобраться бывший студент с полугодовым опытом работы и продолжить его сопровождать. Поэтому с точки зрения владельца бизнеса софт на 1С при всех недостатках лучше, т.к. найти профи в нормальном языке гораздо сложнее чем 1С-ника.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35559928
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
izekia1. Сервер приложений - это разгрузка клиента, так как часть кода можно явно выполнять на нем.
Не совсем, я бы сказал еще разгрузка сервера БД. Трехзвенка полезна в больших задачах (много данных и пользователей) для повышения производительности, т.к. серверу БД оставляется только функция хранилища данных, а сервер приложений реализует бизнес-логику, а клиент только ввод-вывод. Причем появляется возможность взять соответствующее железо для каждого сервера и сэкономить на клиентском железе. На небольших системах это лишнее IMHO.

PS Мы как-то глубоко в оффтоп ушли от темы форума. Надо наверно это заканчивать.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35560443
izekia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отвечал исключительно в контексте вопроса про сервер 1С, не иммел в виду классическую трехзвенку.
По поводу убогости языка - каждый язык для своих задач, со своими особенностями. Вы же видели 1С++, а даже с ее добавлением уже интереснее. Восьмую версию я вообще не упоминаю.
Так же не согласен с высказыванием про студента - это общепринятое заблуждение. Но это действительно выходит за рамки данного форума.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35560678
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
izekiaотвечал исключительно в контексте вопроса про сервер 1С, не имел в виду классическую трехзвенку.

Они ж в 1С8 вроде как на автоматизацию средних предприятий замахнулись, где 1С77 просто умирала от большого кол-ва пользователей и объема базы, пытались вроде классическую трехзвенку сделать.

izekiaПо поводу убогости языка - каждый язык для своих задач, со своими особенностями. Вы же видели 1С++, а даже с ее добавлением уже интереснее. Восьмую версию я вообще не упоминаю.
Так же не согласен с высказыванием про студента - это общепринятое заблуждение.

Немного из моего опыта программирования в основном VFP, С++ продолжаю осваивать до сих пор (прочитал половину Страуструпа и понял что вторую читать мне еще рано), PHP освоил за пару недель с помощью товарища, в 1С77 за день по докам разобрался с "бухгалтерией" и написал экспорт документов из своей проги, когда пробовал писать внешние обработки останавливался на всякой мелочи (типа строку в гриде цветом выделить) и в итоге узнавал что это невозможно. Я все-таки считаю это убогостью. Попытки ее исправить такими разработками как 1С++ на мой взгляд это только подтверждает, т.к. к самой 1С это никакого отношения не имеет и ведется добровольцами в опенсорце, 1С только молча не возражает.

В восьмерке хоть что-то похожее на язык появилось. Про студента с 7-кой утрировал конечно, общепринятое заблуждение что студент в несколько раз дешевле обойдется, я об требуемом уровне знаний. Например общаюсь с программистом 1С (далеко не студент) и с трудом ему объясняю что мне от него надо выгрузку в текстовый файл определенного формата, он просто не понимает что я от него хочу. Смог бы такой человек прогу на нормальном языке сопровождать? А с обязанностями 1С-программиста справляется, что-то там пописывает, и на работе вроде не жалуются на него.

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

izekiaНо это действительно выходит за рамки данного форума.
Закрываем тему.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35560977
izekia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня есть много что сказать, но давай сменим тему, кинь ссылку, или я могу тему создать на другом форуме
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35561683
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНачну с конца:
EmeryПлюсы клиент-серверных решений я знаю, и минусы тоже. Вы же знаете минусы 1С77, но не знаете ее плюсов, и как легко эти минусы обходятся практически, а не теоретически, как вы написали: «Видел это вживую на базе в несколько гигабайт». Если вы такой умный, то лучше предложите способ обойти ограничение в 100 миллионов записей виртуального режима SysListView32 (в MFC-обертке CListCtrl), как раз для целей использования интерфейса на технологии клиент-сервер.
1С77 как язык разработки это мягко говоря недоразумение, очень скудный и ограниченный в функционале язык. Немного пописать пришлось и вывод для себя я сделал простой: "Пока есть возможность писать не в 1С я буду ей пользоваться", пока все идет нормально :)
Странно это слышать человеку, который профессионально занимается 1С77 (за это я получаю зарплату). Мой вывод противоположный, с «семеркой» можно иметь дело, возможностей его вполне достаточно для предприятия среднего (типа нашего) уровня, а возможности легко наращивать за счет внешних компонент. Даже без всяких внешних компонент можно легко подключить VFP как OLE (для vfp9.exe /regserver) или COM-сервер (для vfp9r.dll) и свободно выполнять любой код (prg/fxp/app/exe) Visual FoxPro в среде 1С. Работать с чистым VFP не вижу смысла и «Парус» тому пример, зато ядро VFP очень даже стоит применять в 1С, производительность его ненамного отстает от MS SQL Server. Единственное условие конфигурации должны быть 100% собственные. Я уже 4 года работаю с 1С и практически не чувствую в нем никаких ограничений. Причем имеется множество идей по оптимизации кода. Но все же хочется (ради собственного удовольствия) попробовать сделать достаточно универсальную 1С-независимую программу учета ресурсов и начислений на средних предприятиях. Судя по вашей информации, 1С у вас применяется для очень крупного предприятия. Для этих целей он совершенно не предназначен . Нужно было искать другое решение, оптимальное для корпоративного пользователя. Однако это совершенно некорректно говорить о недостатках 1С используемого на крупном предприятии. Вашим специалистам надо памятник поставить, за то, что вообще заставили работать систему. Тем не менее, никто не снимает ответственности с того, кто спроектировал такую концепцию ведения учета на вашей фирме. Возможно, объяснить можно тем, что хотели получить дешевое решение, но, «скупой платит дважды».

Раз уж здесь зашла речь о SysListView32, то, похоже, решение очевидно. Переводим число 100000000 в шестнадцатеричный вид, получаем 5F5E100. Ищем это значение в comctl32.dll. Находим его в трех местах. Везде код однотипный, типа:
Код: plaintext
1.
2.
3.
4.
xor     edi, edi
cmp     ebx, edi
jl      short loc_label
cmp     ebx, 5F5E100h
jg      short loc_label
Т.е., если значение меньше 0 и больше 100 миллионов, то уходим нафиг. Понятно, что если заменить 5F5E100 на, скажем, FFFFFFFE, то получим предел на количество записей в базе данных, отображаемых в SysListView32, свыше 4-х миллиардов. Что вполне достаточно для наших целей :) .

Dima TВ чисто алгоритмических языках как С++ нет встроенного СУБД движка, поэтому там проше писать интерфейс, а задачи выборки данных возложить на SQL-сервер.
Вот, ради этого, я и пришел в С++. То, что нет здесь «нет встроенного СУБД движка», нормально. Он здесь и не нужен, не тот уровень языка. А выбор сервера базы данных, это уже дело вкуса, потребностей и возможностей. Для меня то главный вопрос как раз в интерфейсе, реализуемом на Си, точнее в способе его взаимодействия с базой данных. То, что я хочу реализовать можно достичь с помощью виртуального режима SysListView32, над этим я сейчас и работаю.

Dima TПро стоимость терминальных лицензий можно еще упомянуть.
Можно предложить программулину WinConnect:
http://www.thinsoftinc.com/download/WinConnect-ServerXP/setup.exe
Она тоже платная, но подешевле будет. Причем, если сильно захотеть, то можно написать ее аналог самостоятельно, она основана на относительно простой идее.

Dima TКак раз "толстый" клиент-сервер может притащить всю таблицу и пусть пользователь ее разглядывает если ему так уж это интересно. Что мешает дать возможность пользователю быстро открыть выборку по заранее введенному фильтру или показать все если он фильтр не знает как задать? Я так делаю, по крайней мере если всего не более 10000 записей. Это ограничивается только интерфейсом, т.е. его разработчиком.
Но я хочу другое. Чтобы можно было клиенту посмотреть 100 миллионов или даже 4 миллиарда записей базы данных в произвольной навигации по гриду или лист-контролу. Это не утопия и никаких ограничений по скорости, если использовать виртуальный режим SysListView32 и достаточно мощный сервер базы данных. Запросы клиента тут конечно есть, но они неявные, задаются его перемещениями клавиш (стрелки вверх/вниз, PageUp/PageDown, Home/End, перетаскивание мышью ползунка на полосе скроллинга). Хотя ничто не мешает задавать и явные запросы, например, перейти к записи номер такой-то. Тогда не будет ограничения типа ваших «10000 записей».

Dima TПо моему в этом огромный плюс 1С, в его убогости как языка, он настолько примитивен и ограничен что в коде гуру в состоянии разобраться бывший студент с полугодовым опытом работы и продолжить его сопровождать. Поэтому с точки зрения владельца бизнеса софт на 1С при всех недостатках лучше, т.к. найти профи в нормальном языке гораздо сложнее чем 1С-ника.
Думаю, что здесь есть элемент заблуждения. Я, например, когда начинал программировать на 1С, имел в наличии практически все стандартные конфигурации. И думал, что вот, щас, выберу лучшую, слегка подредактирую под свои нужды и будет мне счастье. Однако меня постигло сильное разочарование. Оказалось, что разбираться в чужом коде, особенно если его очень много, скажем мегабайты, неблагодарное занятие. До этого у меня уже был опыт программирования на Си, Паскале + Object Professional, FoxPro и даже, немного, на Клипере. Что касается чужих конфигураций на 1С, то первое, что меня удивило, это отсутствие у их авторов хорошего знания концепции учета, как таковой. Второе, что меня неприятно поразило, это небрежность программирования, основной принцип тяп-ляп, как-нибудь. Я не видел ни одной добросовестно сделанной конфигурации. Плюс еще продираться через дебри ужасно написанного кода. Это оказалось выше моих сил и я решил, что дешевле для моего душевного здоровья самому написать конфигурации с нуля, чем разгребать чужое *****. Даже если просто внести более менее заметные изменения приходилось шастать по всему коду, матерясь на его качество реализации. Видно было что «конфигурасты» не любили свою работу. Но главное открытие для меня было то, что братья Нуралиевы реализовали такую концепцию учета, причем на системном уровне, которая мне чужда органически. Скажем, на уровне бухгалтерии, это изобретение субконто фирмой 1С, как способа натурализации бухгалтерского учета. Но, «бухгалтерский учет», это не столько учет, сколько контроль за деятельностью предприятия и по большому счету чужд самому предприятию. Пришлось перевернуть эту конструкцию с головы на ноги. За основу взял «натуральный учет», как я его называю. Все вроде бы про него знают, но нигде не нашел явной и ясной формулировки. Многое надо было домысливать. Далее все стало прекрасно, провел детализацию «натурального учета» до такого уровня, чтобы стандартный учет (то бишь, контроль со стороны госорганов) вытекал из него как следствие, а не причина, как у братьев Нуралиевых. Далее, объектная модель 1С оказалось ниже плинтуса. Единственное, что там действительно необходимо, это объект «Справочник». Прочие объекты: «Документы», «Регистры», «Календари», «Журналы», «Операции», «Планы Счетов», «Субконто», «Проводки», «Виды и группы расчетов» мне абсолютно не нужны и я ими не пользуюсь. Однако их наличие мне не мешает. Так что мне не мало, много лишнего в 1С77 :) Практически во всех конфигурациях была масса глупостей, из-за относительно низкого уровня 1С-ников. Поэтому все их произведения пришлось выбросить на свалку. Я отнюдь не собираюсь утверждать, что пишу замечательный код, просто использую совершенно другую концепцию программирования, чем та, которые навязывает фирма 1С. Думаю, что в моем коде «бывший студент с полугодовым опытом работы», да и любой 1С-ник, с мышлением братьев Нуралиевых хрен разберется. Тем более что существенная часть кода (где-то пол-мегабайта) вынесена во внешнее приложение VFP. Чтобы понять мою концепцию, ему надо понять весь код, на что уйдет время сопоставимое с его разработкой (там у меня универсальный генератор отчетов чего стоит). Хотя, конечно, если код вылизан и прекрасно работает, то внести в него мелкое изменение не составит труда, что мы только что продемонстрировали на примере SysListView32. Но что касается полноценного сопровождения и поддержки моего или чужого кода сторонним специалистом, то это еще большой вопрос.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35561781
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, ребята, форум про 1С здесь , давайте ближе к C++, а?
EmeryРаз уж здесь зашла речь о SysListView32, то, похоже, решение очевидно. Переводим число 100000000 в шестнадцатеричный вид, получаем 5F5E100. Ищем это значение в comctl32.dll. Находим его в трех местах. Везде код однотипный, типа:
Код: plaintext
1.
2.
3.
4.
xor     edi, edi
cmp     ebx, edi
jl      short loc_label
cmp     ebx, 5F5E100h
jg      short loc_label 
Т.е., если значение меньше 0 и больше 100 миллионов, то уходим нафиг. Понятно, что если заменить 5F5E100 на, скажем, FFFFFFFE, то получим предел на количество записей в базе данных, отображаемых в SysListView32, свыше 4-х миллиардов. Что вполне достаточно для наших целей :) .не программирование, а какой-то отвратительный хакинг ...
EmeryНо я хочу другое. Чтобы можно было клиенту посмотреть 100 миллионов или даже 4 миллиарда записей базы данных в произвольной навигации по гриду или лист-контролу можете пояснить зачем и для кого это надо? где найти тот монитор, на который поместятся 4 миллиарда записей за раз и где найти человека, который сможет во всём этом разобраться?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35561848
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryТ.е., если значение меньше 0 и больше 100 миллионов, то уходим нафиг. Понятно, что если заменить 5F5E100 на, скажем, FFFFFFFE, то получим предел на количество записей в базе данных, отображаемых в SysListView32, свыше 4-х миллиардов. Что вполне достаточно для наших целей :) .


Emery
Хотя, конечно, если код вылизан и прекрасно работает, то внести в него мелкое изменение не составит труда, что мы только что продемонстрировали на примере SysListView32. Но что касается полноценного сопровождения и поддержки моего или чужого кода сторонним специалистом, то это еще большой вопрос.

Ой
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35562264
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оставим мое отношение к 1С в стороне, слава богу фокса хватает на хлеб с маслом. Да и форум непрофильный для этой темы.

Интересно вот это:
Emery...
Но я хочу другое. Чтобы можно было клиенту посмотреть 100 миллионов или даже 4 миллиарда записей базы данных в произвольной навигации по гриду или лист-контролу. Это не утопия и никаких ограничений по скорости, если использовать виртуальный режим SysListView32 и достаточно мощный сервер базы данных. Запросы клиента тут конечно есть, но они неявные, задаются его перемещениями клавиш (стрелки вверх/вниз, PageUp/PageDown, Home/End, перетаскивание мышью ползунка на полосе скроллинга). Хотя ничто не мешает задавать и явные запросы, например, перейти к записи номер такой-то. Тогда не будет ограничения типа ваших «10000 записей».
...
Поставим себя теперь на место пользователя: глядит например он на 10000 записей справочника (даже не миллион). Он знает что ему надо запись на букву "Н", т.е. где-то в середине. Допустим 25 записей на экран влазит, так ему надо 200 раз на PageDown давануть чтобы до середины промотать. В чем тут удобство? Мышем скролить? Так тут тоже не быстро, пока в ползунок попадешь, да и мелькает все с огромной скоростью при большом кол-ве записей.

Помоему более чем в двух экранах записей искать кнопками навигации уже некомфортно.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35563345
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я всё же не понимаю, что делает этот топик в С++ ...
Куда бы его перекинуть ?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35563601
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну наверное в разработку информационных систем
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35563998
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или к Чингизу, в программирование... или вот - в ПТ
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35564093
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych EmeryНо я хочу другое. Чтобы можно было клиенту посмотреть 100 миллионов или даже 4 миллиарда записей базы данных в произвольной навигации по гриду или лист-контролу можете пояснить зачем и для кого это надо? где найти тот монитор, на который поместятся 4 миллиарда записей за раз и где найти человека, который сможет во всём этом разобраться?
Все гораздо проще. Речь то идет о том, чтобы интерфейс общался с базой данных не по принципу файл-сервера, а принципу клиент-сервера, но при этом имел бы те же преимущества навигации по базе данных, что и файл-сервер (как в интерфейсе 1С77, уж простите за лишнее упоминание, просто это хороший пример для обсуждения, ведь «семерка» написана на Visual C++, v. 6.0). Это нужно, по крайней мере, мне, так как я пишу программу на С++, в которой намереваюсь реализовать навигацию по базе данных путем неявных запросов серверу базы данных. Поверьте, хочу я этого не для того чтобы пользователь не разобрался, а просто, чтобы не чувствовать, не нужных, на мой взгляд ограничений.

Dima TПоставим себя теперь на место пользователя: глядит например он на 10000 записей справочника (даже не миллион). Он знает что ему надо запись на букву "Н", т.е. где-то в середине. Допустим 25 записей на экран влазит, так ему надо 200 раз на PageDown давануть чтобы до середины промотать. В чем тут удобство? Мышем скролить? Так тут тоже не быстро, пока в ползунок попадешь, да и мелькает все с огромной скоростью при большом кол-ве записей.

Помоему более чем в двух экранах записей искать кнопками навигации уже некомфортно.
Я виноват, не все способы навигации перечислил. Нужно было еще упомянуть быстрый (и медленный) поиск и сортировку. В том же 1С (будь он не ладен, никак без него :) ), быстрый поиск реализован просто – жмете первые символы в колонке, где стоит курсор и автоматически переходите на нужную запись. Это тоже можно организовать как неявный запрос базе данных. И если сервер базы данных достаточно шустрый, то какая разница, где будет находится запись с нужной буквой, хоть и на расстоянии 2 миллиарда. То же касается и медленного поиска (подстроки символов в колонке или по всей базе данных) вообще сортировки. А «мыша», нужна в общем-то для грубой навигации, когда точность не важна, главное посмотреть а что там на глубине, скажем, 30-40% от всех записей? Ведь если на то пошло, то не ужели не видно, что особой разницы между вашим и нашим подходом нет. Вы делаете акцент на явные запросы интерфейса, а я на неявные, только и всего. Внешний вид интерфейса будет немного отличаться, ну и что из того? Для на того С/С++ и придумали, что программист не чувствовал никаких ограничений в своей фантазии. Меня тут на соседней ветке ругали за то, что я предложил способ компиляции С++ проектов исключительно из командной строки (с помощью *.cmd/*.bat файлов. Типа зачем, если есть *make-утилиты или, на крайний случай, возможность компиляции из среды самой студии. Странный был спор. Сейчас ситуация похоже повторяется. Я не садо-мазохист, чтобы создавать сложности в работе себе и своим пользователям. Все, что я хотел сказать, это ребята, пишущие интерфейс на С++, обратите внимание на виртуальный режим SysListView32 (CListCtrl в MFC), по-моему, весьма замечательная вещь. А если кто работает с ним, то интересно было бы осудить детали.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35564273
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вызывает интерес и такой ещё разрез... (с)
а что, в вашем понимании, файл-сервер и клиент-сервер? Просто то, о чём вы всё время говорите, противопоставляя одно другому, суть есть разные реализации архитектуры клиент-сервер.
про явные и неявные запросы - тоже вопрос, но следующий.
З.Ы. кроме мфц, есть ещё много разных библиотек построения гуя, не SysListView32 единым жив программист, ага
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35564294
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЧто-то я всё же не понимаю, что делает этот топик в С++ ...
Куда бы его перекинуть ?
Чуваг хочет быть "клёвым" по жизни. Программирование здесь не причём. Можно перебросить топик в "Вопрос-Ответ".
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35564442
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychа что, в вашем понимании, файл-сервер и клиент-сервер? Просто то, о чём вы всё время говорите, противопоставляя одно другому, суть есть разные реализации архитектуры клиент-сервер.
про явные и неявные запросы - тоже вопрос, но следующий.
З.Ы. кроме мфц, есть ещё много разных библиотек построения гуя, не SysListView32 единым жив программист, ага
Очень хорошо продемонстрировано различие файл и клиент-сервера у iscrafm

Я позволю себе скопировать его рисунок.
SysListView32 хорош тем, что позволяет организовать неявные запросы к серверу базы данных (в виртуальном режиме). Причем реализовано все просто и эффективно, чем он меня и подкупает. Если вы знаете библиотеки и контролы, где реализована технология неявных запросов, то буду весьма рад узнать об этом.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35564444
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ссылка на iscrafm:
/topic/282117&pg=17
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35564641
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryОчень хорошо продемонстрировано различие файл и клиент-сервера у iscrafm хорошо, это понятно, принимается. теперь давайте разберёмся, что-же такое неявные запросы. В моём понимании неявных запросов не бывает. Так или иначе запрос к БД всегда явный, другое дело, пишет-ли его программист или он спрятан внутри компонента доступа к БД.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35565118
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychдавайте разберёмся, что-же такое неявные запросы. В моём понимании неявных запросов не бывает. Так или иначе запрос к БД всегда явный, другое дело, пишет-ли его программист или он спрятан внутри компонента доступа к БД.
Строго говоря, да. Но, одно дело организация явных запросов на уровне интерфейса, путем выбора пользователем различных условий фильтра на базу данных и другое дело, когда пользователь не выбирает явно параметры запроса, предоставляя контролу или самой программе формировать эти запросы за него. Вот для этих целей и служит control SysListView32 (из comctl32.dll). Больше подробностей можно найти на:
http://subscribe.ru/archive/comp.prog.visualc/200110/21180030.html
Там же предоставлены исходные тексты примера демонстрационной программы. Вот несколько выдержек из этой статьи (автор: Тимофей Чадов ).

«Вся прелесть виртуального режима в том, что список хранит не сами элементы, а только их общее количество, диапазон отображаемых в данный момент, и тому подобную "мелочь". Значения самих элементов (строковые метки, рисунки и т.п) запрашиваются у приложения непосредственно перед их отрисовкой на экране. Для этого список посылает уведомление LVN_GETDISPINFO. Такой прием позволяет значительно сэкономить память и существенно повысить производительность, особенно для больших объемов данных.»

«Виртуальный список помогает оперировать процессом кеширования, посылая приложению уведомления LVN_ODCACHEHINT, в которых передает информацию о диапазоне элементов, которые необходимо отобразить на экране. Эту информацию можно использовать для динамического выделения памяти под требуемое число элементов и заполнения их корректными значениями.»

«Когда списку необходимо найти специфический элемент, он посылает уведомление LVN_ODFINDITEM. Это может случиться, если требуется реализовать нажатие быстрой клавиши (поиск по имени), или элемент получил сообщение LVM_FINDITEM. Информация для поиска передается в двух структурах NMLVFINDITEM и LVFINDINFO. В них содержится: номер элемента, с которого следует начать поиск; элемент искомой строки; направление поиска и т.п.»

«Если информация берется из базы данных, нет необходимости самостоятельно сортировать элементы, достаточно учесть это при составлении запроса.»
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35602751
RUSYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересный топик :) Только от темы ушли что-то..

Вопрос к ТСу, а почему именно C++, алгоритмы итп... ?

Я очень редко вижу вакансии типо "нужен мего-отец кандидат математических наук со знанием C++"
На вакансии типо "Нужен быдлокодер со знанием MFC\VCL" даже не обращаю внимания.

Ну почитал C++, STL немножко для общего развития :) Зачем углубляться подумал я? :) Для меня куда интереснее WEB, т.е. ASP.NET\PHP. Может и тебе это больше понравится? Может такие вопросы у тебя из-за ограниченного кругозора технологий?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35602755
Compost must die
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RUSYA

Дятел, ограниченный кругозор - это у тебя. Сравнил с++ с пхп.
Ты бы еще notepad с Visual Studio сравнил.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35603418
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут подумал надысь, а может в одмины пойтить? Надоело умничать...
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35642227
sdrnk_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sash_xp apxutektopМм… Ну а дальше с результатом решения этой задачи, что делать-то надо?

Я не говорю, что у меня через пару недель будет алгоритм выполнения задачи по вычислительной математики для многоядерной системы, но я хочу уяснить, что с результатами этих обучений делать дальше? То есть, мне интересна вообще стратегия развития человека, как профессионала-программиста, при условии, что этим он зарабатывает деньги. Не пойду же я по объявлению «Нужен Си++ кодер», с фразой: «Ну знаете, я вообще-то книжку прочитал по Си++, а ещё у меня есть алгоритм вычисления интеграла для многоядерных систем с распараллеленым вычислением». Или пойду?

Для начала речь идет не об одном алгоритме, нужно реализовать десятки. Что делать дальше? Как минимум выбрать специализацию и двигаться по ней - речь может идти об обработки сигналов и изображений - тогда нужно изучать анализ вейвлетов, или иддти в область задач дискретной оптимизации - задача коммивояжера (Travelling Salesman Problem - TSP), задача маршрутизации транспорта (Vehicle Routing Problem) и т.п. Кстати, последнее направление очень перспективно - оптимизировать развозку заказов для компании или какие-нибудь другие логистические процедуры дорогого стоит.
Насчет пойти по объявлению - это как сказать. Я так понимаю, специалисты подобного рода весьма штучный товар ;-) Есть, например, вакансии NVIDIA (смотрите по ключевому слову CUDA) http://www.nvidia.ru/object/work_ru.html - тут до 5 000 долларов. Или нашей компании потребуется расшириться - тоже будут такого рода вакансии. Появляются и здесь подобные вакансии: Ведущий программист/математик (Научно-технический консалтинг). з/пл от 2500$г.Троицк , Руководитель проекта Москва
Но таких вакансий гораздо меньше чем php-кодера. Выбирайте сами какой путь избрать.

Хотел бы поговорить с Вами по поводу применения для Cuda (я программист), могли бы мы списаться по mail? Мой sdrnk_v собак а mail.ru
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35772857
Фотография apxutektop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет =)

Я вообщем ТС сего топика =) Так вот с момента постинга прошло примерно полгад вроде бы, я устроился работать. Работаю суппортом e-commerce software (php не объектное). Пока всё устравивает, развиваю скилы, понимаю, чтобы ещё надо поучить, что реально надо на текущем месте.

Но почитал раздел вакансии на этом же форуме и заметил, что на вакансии 50к+ регулярно нужны чуваки с хорошим знанием математики. Не понимаю, это почему так? Вакансии очень специфичные просто или что-то другое?

И ещё хотел узнать, в России реально ли получать 100к+ занимаясь программированием/проектированием? Вообще каков спрос таких людей и как в целом обстоят дела?

И как отличается работа программистов за бугром от работы тех же но в России?
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35773072
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektopМм… Ну а дальше с результатом решения этой задачи, что делать-то надо?

Я не говорю, что у меня через пару недель будет алгоритм выполнения задачи по вычислительной математики для многоядерной системы, но я хочу уяснить, что с результатами этих обучений делать дальше? То есть, мне интересна вообще стратегия развития человека, как профессионала-программиста, при условии, что этим он зарабатывает деньги. Не пойду же я по объявлению «Нужен Си++ кодер», с фразой: «Ну знаете, я вообще-то книжку прочитал по Си++, а ещё у меня есть алгоритм вычисления интеграла для многоядерных систем с распараллеленым вычислением». Или пойду?
Я к сожалению понял, что чем проще задача, тем больше денег платят за нее. Так что советую начать с каких-нибудь алгоритмов тупого суммирования бухгалтерских данных в базе. А о чем говорилось выше - это для души.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35773331
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektopВсем привет =)
Но почитал раздел вакансии на этом же форуме и заметил, что на вакансии 50к+ регулярно нужны чуваки с хорошим знанием математики. Не понимаю, это почему так? Вакансии очень специфичные просто или что-то другое?

ИМХО. Есть некоторая связь между знанием математики и способностью правильно решить задачу по разработке софта. И работодатели это знают/чувствуют.

apxutektop
И ещё хотел узнать, в России реально ли получать 100к+ занимаясь программированием/проектированием? Вообще каков спрос таких людей и как в целом обстоят дела?

Реально в проектировании. Вопрос в проценте таких людей от общей массы, занимающихся программированием/проектированием. Я этот процент не знаю, но предполагаю, что меньше 1%.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35773669
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шикарный пост для стеба

apxutektopВообщем, есть задача: много кодить. Почему? Потому что мне нравится кодить, сам процесс решения задач с помощью программирования мне очень люб.

Я решил учить Си++. Как водится, нашёл книжку (Джес Либерти — Освой С++ за 24 часа, 2007 год), скачал её нахаляву. Там написано, что лучше использовать C++BuilderX как среду разработки.

вас обманули с самого начала. книга не та. ни по си ни по си++. есть только две адекватные и нормальные книги (остальные либо полный бред либо жалкая копия)
-Керниган и Ритчи. Язык программирования С.
-Страуструп. Язык программирования С++.
единственное, что потребуется - некоторых навыком программинга. школьный паскаль или бейситк вполне подойдут.
второе - среда разработки. билдер это борланд, а борланд умер после выхода VS6 а к выходу VS2003 уже разложился.
ну и третье - с++ за 24 часа. врядли вам это удаться.

apxutektop
Начал искать, где можно скачать этот самый C++BuilderX, но наткнулся на вот какую проблему. Учить Си++ просто ради знания функций — глупо, нужно же учить так, чтобы потом можно было бы решать реальные задачи. И тут встаёт вопрос, где мне потом эти реальные задачи взять? Ведь я если даже прочитаю книжку, то как программист всё равно никому нахрен не нужен буду. Нужно же практиковаться, а на чём не знаю.

про среду написал выше.
си-си++ это не функции. как физтех это не институт а стиль жизни.
нужны реальные задачи. берите классику - начиная с простых списков (а они реально мого используются), строковые калькуляторы (2+2*2) и до например интерпретатора упрощенного basic (без форм, но с функиями и переменными, например fact(10+a) слабо сделать) - сейчас такие пишу с закрытыми глазами.

apxutektop
С другой стороны, исходя из круга решаемых задач надо выбирать и оболочку, в которой привыкнешь работать и будет всё клёво. Но это вторичная задача.

Так вот вопрос, если я хочу быть клёвым кодером, то как мне учиться, если реальных задач мне никто не ставит, и, соответственно, я не смогу решать актуальные проблемы? И сопутствующий вопрос, как у меня должен меняться инструментарий? То есть какую оболочку использовать сначала, что потом, к чему стремится, и на что забивать?
бери visual studio. есть express для фривари. есть netbeans для линухов. лучшая комбинация для начала - vs2005 + visual assist x.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35774492
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apxutektopНо почитал раздел вакансии на этом же форуме и заметил, что на вакансии 50к+ регулярно нужны чуваки с хорошим знанием математики. Не понимаю, это почему так? Вакансии очень специфичные просто или что-то другое?

Для создания хорошей программы необходимо доказывать на каждом шагу ее написания, что она будет работать правильно и перебраны все возможные варианты. Подходы типа "попробуем на двух-трех примерах (или пусть даже 100) - если пройдет, то программа типа правильная" - годится не более чем для ее эксплуатации в единственном экземляре на родном предприятии. А навыки доказывания - это, извините, только у математиков.
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35774523
GYGY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Старая, но видимо вечно актуальная ссылка
Научитесь программировать за десять лет -> http://www.williamspublishing.com/21-days.html
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35774643
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GYGYСтарая, но видимо вечно актуальная ссылка
Научитесь программировать за десять лет -> http://www.williamspublishing.com/21-days.html

неплохо
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #35775017
Фотография apxutektop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клёво =)

Но как бы тема обсуждается уже немного не та.

Но за ссылку тем не менее большое спасибо =)
...
Рейтинг: 0 / 0
Как стать клёвым кодером? =)
    #36398115
bdl.nm.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Emery,

Поддерживаю!
На то он и комп, чтобы удивлять
Хотя , должен признать, без привычки отсеивать , обилие лишней информации утомляет.
Но пробовать надо- потому , что пока нет лазерного инструмента для чистки картошки, ты так и будешь топором (из байки на уроке некто Котова).
...
Рейтинг: 0 / 0
73 сообщений из 73, показаны все 3 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как стать клёвым кодером? =)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]