Во-первых, построение этого запроса как регулярного выражения для строки будет одним из наименее эффективных способов запроса. Вместо этого вам следует выполнять запросы по фактическим полям:
{
$or: [
{prefix: "AA", numbers: "02", "letters": "AFO"}, -- full match
{prefix: {$exists: true}, numbers: "02", "letters: "AFO" } -- varying prefix,
...etc
]}
Запросы по фактическим полям позволят Mongo эффективно использовать индексы. Регулярное выражение типа /^..02AFO/
потребует проверки каждой записи в индексе на совпадения.
В настоящее время у меня есть индекс для всех полей, кроме цены, и индекс для конкатенированного кода. Есть ли способ гарантировать, что запрос выдаст разные результаты, если строка соответствует нескольким регулярным выражениям?
blockquote>Если вы хотите сопоставить регулярные выражения, вы можете использовать
$in
[116 ] объединить несколько регулярных выражений & amp; вернуть только уникальные подходящие документы:{code: {$in: [/foo/, /bar/] }
Вы также можете использовать
$or
:{$or: [{code: /foo/}, {code: /bar/}], otherCriterion: "yay"}
.
Я бы рекомендовал сначала изучить html и css. Это краеугольный камень всего, что вы будете делать в Интернете. Для графики изучите фотошоп. Как только вы сможете создавать базовые HTML-сайты, я бы выбрал asp.net или flash. Есть хорошие рабочие места в обеих областях. Я бы сказал, выбирайте asp.net, если вам нравится программирование, и flash, если вам больше нравятся визуальные аспекты веб-разработки. Как разработчик asp.net, я бы сказал, что 90% моего дня занимаются работой с базами данных на сервере MS SQL. Действительно сосредоточиться на базах данных. Наконец, если вы разрабатываете с asp.net, вы должны программировать на C #, а не на vb.net. Я начинал как программист vb.net, и мне пришлось переключиться на C #, просто потому, что его использует большая часть профессионального мира, и поэтому будет легче получить работу.
но ваши шансы получить хорошую работу значительно возрастают со степенью, даже 2-летней степенью.Очевидно, что это не единственный путь, но, возможно, это самый простой путь. Продвигать себя, когда у вас нет степени и нет опыта, сложно, даже если вы переполнены талантом и творчеством. (Теперь с Интернетом стало легче, но, к тому же, рынок гораздо теснее.)
Удачи!
В настоящее время я консультант по разработке программного обеспечения , Знакомство со следующим списком вещей помогло мне получить собеседование и предложение прямо из колледжа.
Примечание: HTML, XHTML, CSS ... это просто языки разметки, и есть вероятность, что на них едва ли заглянут, если Вы помещаете их в резюме. Flash (не так много) и Java более впечатляющи, но вы, возможно, захотите изучить следующие дополнительные темы / технологии, чтобы действительно оживить это резюме:
РЕДАКТИРОВАТЬ: Я думал, что дам вам несколько книг для проверки out (без определенного порядка):
Полагаю, это все, что у меня есть на данный момент. Если вы можете разобраться в этих вещах, ваши навыки должны быть достаточно солидными, и вы будете на пути к тому, чтобы стать еще одним участником мира разработки программного обеспечения. Я не уверен, что все, что вы делаете самостоятельно, даст вам тот же уровень знаний, что и курсы колледжа, но я уверен, что это хорошее начало. Это здоровенный список; не удивляйтесь, если получение этих навыков займет пару лет.
Что касается ваших навыков графического дизайна, в зависимости от типа работы, в которой вы находитесь, они могут быть важнее ваших навыков программирования. В дополнение к любому набору навыков, убедитесь, что ваши мягкие навыки отточены, и что вы уверены в своей работе.
Создайте проект, который на самом деле был бы полезен и нетривиален для вас: например, форум или доска объявлений, или сайт публикации объявлений о вакансиях.
Но вот важная часть: Дайте себе твердый срок. Вы можете сделать довольно много, скажем, за 4 недели, и если вы будете придерживаться расписания, такого как
и так далее. Вы можете широко охватить многие смежные вопросы. Ваш проект не будет красивым, но если вы начинаете быть перфекционистом, вы никогда не закончите его,
Лучшее, что я могу предложить, - создать ложную потребность, например, создать простое приложение для чтения / записи файлов, или что-то, что может сбрасывать информацию в базу данных и извлекать ее.
Более сложный проект, который вы могли бы запустить после этого, был бы своего рода тегом с функциональностью «Создать / Обновить» / «Читать / Удалить» (CRUD) и добавить к нему новые функции. чтобы попрактиковаться в использовании файлов cookie, входа в систему, дополнительных функций базы данных и т. д. Вы также можете попробовать использовать графический редактор, который просто рисует часы, показывающие текущее время сервера, когда запрос был получен в качестве практики с изображениями.
Я бы рекомендовал сначала изучить html и css. Это краеугольный камень всего, что вы будете делать в Интернете. Для графики изучите фотошоп. Как только вы сможете создавать базовые HTML-сайты, я бы выбрал asp.net или flash. Есть хорошие рабочие места в обеих областях. Я бы сказал, выбирайте asp.net, если вам нравится программирование, и flash, если вам больше нравятся визуальные аспекты веб-разработки. Как разработчик asp.net, я бы сказал, что 90% моего дня занимаются работой с базами данных на сервере MS SQL. Действительно сосредоточиться на базах данных. Наконец, если вы разрабатываете с asp.net, вы должны программировать на C #, а не на vb.net. Я начинал как программист vb.net, и мне пришлось переключиться на C #, просто потому, что его использует большая часть профессионального мира, поэтому будет легче получить работу.
Как разработчик asp.net, я бы сказал, что 90% моего дня занимаются работой с базами данных на сервере MS SQL. Действительно сосредоточиться на базах данных. Наконец, если вы разрабатываете с asp.net, вы должны программировать на C #, а не на vb.net. Я начинал как программист vb.net, и мне пришлось переключиться на C #, просто потому, что его использует большая часть профессионального мира, поэтому будет легче получить работу. Как разработчик asp.net, я бы сказал, что 90% моего дня занимаются работой с базами данных на сервере MS SQL. Действительно сосредоточиться на базах данных. Наконец, если вы разрабатываете с asp.net, вы должны программировать на C #, а не на vb.net. Я начинал как программист vb.net, и мне пришлось переключиться на C #, просто потому, что его использует большая часть профессионального мира, поэтому будет легче получить работу.Посмотрите на локальные лагеря Code и группы пользователей, создайте проект и постройте его, начните с изучения HTML, CSS и javascript, а затем посмотрите на изучение PHP - отличный стартовый язык для начала веб-разработки на стороне кода.
чтобы получить работу без диплома, начните немного ниже в пищевой цепи, Я начал в лаборатории QA, оттуда вы можете извлечь уроки из практики разработки, а также делать и не делать. Также как специалист по обеспечению качества вы спешите учиться, кто является хорошими разработчиками, а кто не просто работой, которую они производят.
Изучение HTML, XHTML, CSS, Flash и Java, а также нескольких графических программ - довольно сложная задача. Вы ошеломите себя, пытаясь сделать это. Выберите один и изучите его, затем переходите к следующему. Возьмите книгу или поищите в рекомендуемых онлайн-руководствах в архиве Stack Overflow.
Лучший способ научиться - это выбрать проект и просто работать над ним. Тогда учитесь по требованию, поскольку вы находите потребность. Конечный продукт не будет высшего качества, но вы узнаете, как все работает вместе.
Хорошо, это может быть не популярно, но основано на моем собственном опыте работы программистом-самоучкой. Нижняя граница для получения работы в компании в качестве «программиста / веб-разработчика» составляет около «0%» без какого-либо вида степени / сертификации / опыта на рабочем месте.
Вы, возможно, заметили «проблему» с этим утверждением - без диплома или сертификата, как вы получаете «опыт работы»? Добро пожаловать в «реальный мир».
Мой путь к тому, чтобы стать разработчиком, начался с «желания» ... и получения работы, занимаясь чем-то другим (производство полупроводников, если вы должны знать). Я изучал программирование самостоятельно как «хобби» и постоянно искал способы применить его к своим рабочим задачам, чтобы улучшить мою «производительность труда». В конце концов я подал заявку на должности, которые приблизили бы меня к «программированию», чтобы лучше использовать мои растущие навыки, пока у меня не было достаточно «примеров опыта работы», чтобы подать заявку на должность программиста.
Это заняло «8 лет». Независимо от того, что вы думаете о колледже, получение «любой» степени, связанной с информатикой, сократило бы ее вдвое. Вы можете сделать это самостоятельно, но до тех пор, пока у вас не появятся выдающиеся примеры того, как вы использовали свои навыки программирования для решения проблем «реального бизнеса», вас не будут рассматривать среди тех, кто имеет степень «только что закончил школу». Когда вы, наконец, сделаете , сделаете это, вы заметите, что «только что из школы» люди, которые не знают, как решить «бизнес-проблемы» Вероятно, начнет с лучшей зарплаты, чем у вас.
Окружающая среда, вероятно, сейчас лучше, чем когда я начал (25 лет назад - :-)), но применяется тот же общий принцип - степень может не означать Вы знаете, как программировать, но это поможет вам пройти процесс отбора кадров, чтобы вы могли получить работу. : -)
Удачи ...
Для серьезных веб-разработчиков очень важно понять, как веб-сайты работают наизнанку.
Когда вы начинаете с Я настоятельно рекомендую W3Schools .
С помощью этого веб-сайта вы можете извлечь уроки из очень хороших учебников, затем Попробуйте сами и Проверьте свои навыки .
Вот шаги для абсолютного новичка:
ПРИМЕЧАНИЕ: Введите код, а не вырезайте или вставляйте инструменты, такие как Dreamweaver / FrontPage. Используйте только инструменты после того, как вы освоитесь с ручным кодированием. (Поверьте, это очень помогает)
Наслаждайтесь !!!