Потоковое видео
Помогите вытащить ссылку на видео-файл/поток с этого сайта https://web.microsoftstream.com/embed/video/ac2a9c59-2590-41...
Помогите вытащить ссылку на видео-файл/поток с этого сайта https://web.microsoftstream.com/embed/video/ac2a9c59-2590-41...
Добрый вечер, друзья. Это первый раз, когда я пользуюсь Пикабу и первый раз, когда хочу купить онлайн - курсы
Полазив на просторах Интернета, я нашёл не мало компаний, предлагающих тебе что-то вроде IT образования за год-два, а в дальнейшем 100к деревянных в месяц и трудоустройство, как минимум. И на каждую такую организацию отрыл тонны критики, разоблачений, которые, в большинстве своём, неуместны.
И в то время, когда критика по поводу работы и обещанной выручки вполне очевидна, то вот по поводу того-же "Это всё есть в инете" я не согласен, ибо так с ног до головы можно облить какахами буквально всё что угодно. Я знаю, что никто никого там не сделает мастером на все руки, если у самого ученика нету желания (но оно у меня есть). Я знаю, что одних курсов недостаточно, поэтому хочу использовать их как толчок для своих знаний (и опыт работы в команде)! Я и сам ищу в интернете полезную инфу, но она в большинстве своём или устаревшая или не структурирована.
Так вот, ближе к сути: изучив по этой теме всё, что можно нарыть за пару дней, у меня в итоге есть выбор: Skillbox, Нетология или академия ШАГ. И подожди, дочитай до конца, я слушал критику по ним.
Касательно интересующей меня темы: десктоп - разработка с помощью Java или C# (по последнему я нарыл бесплатную полезную инфу в интернете, ULearn, но её мало и она достаточно старая (но я всё равно прохожу этот курс))
На Скиллбоксе менеджер предложила мне программу (Java - курс, 2 года длится) и открыла доступ к курсу на вечер, как ознакомительный материал. Сам курс новый (в конце декабря 2021 первые выпуски выложены), а преподаватель рассказывает хорошо, внятно, без воды вроде как (по крайней мере не так, как говорили о дизайнерских курсах)
И так, сам вопрос: что скажете? Может быть, есть ещё какие-нибудь хорошие курсы, на которые стоит обратить внимание? Кто - то может поделиться своим опытом курсов (по программированию желательно)?
Спасибо)
Повод для написания этого поста был далеко не самый приятный, но, в сложившейся ситуации я считаю необходимым максимально ясно обозначить свою позицию чтобы в будущем избежать противоречий.
Я являюсь администратором чатов по Ruby и JavaScript где более опытные разработчики помогают новичкам изучить программирование. Все время существования чатов я активно борюсь сообщениями токсичного, провокационного и оскорбительного характера. Они были и раньше, но за последние несколько недель их стало заметно больше.
Помимо всего этого я всячески против обсуждения политики в чатах, которые связаны с обучением программированию. Это глупо, вредно и неуместно.
В чате по Ruby избавиться от всего этого получилось довольно быстро. Я предупредил несколько раз(4) что желающие поговорить на тему качественности решений политических лидеров могут это сделать в чатах, которые именно для этого и предназначены. В чатах на техническую тему всей этой полит-агитации не место. После этого забанил пятерых участников, которые не согласились принимать такие правила и атмосфера в чате наладилась.
В чате по JavaScript все прошло не так просто. У меня возникли конфликты с несколькими участниками, когда я попросил их не размещать полит-контент там, где ему не место. На их сторону стал и модератор. После 3х попыток не постить полит контент и 3х предупреждений бана за него я удалил из чата нескольких человек.
Я благодарен бывшему модератору и всем не равнодушным к судьбе этих, хоть и небольших, но очень полезных проектов. Несмотря на напряженную обстановку есть очень много людей, которые помогают другим изучать такие сложные дисциплины просто за "спасибо". Я горжусь тем, что эти люди читают меня и мы иногда общаемся лично. Надеюсь, что вы поймете всю глубину тех причин, по которым я так поступил и в будущем аналогичных ситуаций не возникнет.
Что касается обучения новичков, то все предыдущие ресурсы, по прежнему, актуальны. Вот их список:
Ruby / Ruby on Rails
https://t.me/LearnRubyForPikabu
Фронтенд
https://t.me/+SBBf-95uPPQ2MzYy
Swift
https://t.me/+uKgZmAzvhpRjZjNi
SQL
https://t.me/+iFfY9wYU16QxMDc6
Добро пожаловать всем желающим.
Всем лучи добра! Меня зовут Сергей Карасёв, но вы можете звать меня просто Саня. Я работаю техническим писателем в одной компании. Расскажу вам о двух Docs as Code инструментах. На случай, если вы делали документацию в ворде или ещё где-то, а теперь решили отделить форматирование от документации и захотели "чтобы было чисто!". Побуду сегодня вашим Мистером Пропером.
Когда я только пришёл в компанию, наша документация была на DITA. Но потом мы решили модернизировать документацию, вывести в онлайн, чтобы была разбивка на версии, чтобы всё было красиво и т.д. и т.п. Подробнее можно прочитать вот здесь и вот тут.
То есть я работал с Дитой, и я работал с AsciiDoc, поэтому в какой-то степени могу судить и сравнивать. Сравню аналогичные функции, расскажу об отличиях, плюсах и минусах каждого формата и т.д. Короче, всё чётко и по понятиям, как это делают у нас в Купчино.
Документация
DITA
Нельзя стать священником, не прочитав Библии.
В случае Диты Библия - это стандарт, задокументированный чуть больше, чем полностью. Но нужно быть психом, чтобы втыкать в целый стандарт.
К счастью, есть Евангелие от Radu Coravu - документация от создателей Oxygen. Oxygen - это основной инструмент для работы с Дитой, но об этом позже.
Хочется чего-то более человечного? Есть свободное толкование Библии с примерами - Learning Dita. Очень помогло, когда я хотел лучше понять Диту.
AsciiDoc
Есть только одна Библия - сайт docs.asciidoctor. На сайте задокументирован весь синтаксис с очень удобной рубрикацией. Не знаете, как это сделать -- используйте поиск по сайту.
Есть ещё несколько мест, где можно найти документацию, но они либо неофициальные, либо устаревшие.
Я далеко не сразу нашёл Docs.AsciiDoctor. Кто победил? Пусть будет ничья.
DITA:AsciiDoc 1:1
Работа с исходниками
DITA
Исходники - обычный текст, который можно редактировать в блокноте. Проблема в том, что это XML с очень строгой структурой.
Иными словами: нужно иметь стальные... нервы, чтобы писать на дите в блокноте.
AsciiDoc
AsciiDoc - по большей части текст, который легко читается и пишется даже в самых простых текстовых редакторах. Даже в блокноте можно писать без особых трудностей.
Иными словами: писать в блокноте можно без проблем.
DITA:AsciiDoc 1:2
Редакторы для работы с исходниками
DITA
Для Диты есть одна основная утилита - Oxygen. Это коммерческая и платная утилита. Есть ещё несколько утилит, но, честно говоря, они не очень удобные. Oxygen - это всё же канон. И стоимость у него каноничная.
А ещё новая версия несовместима со старой лицензией. Ну, разумеется.
AsciiDoc
Официального или единого редактора не существует. Но есть несколько редакторов, которые поддерживают AsciiDoc при условии установки плагинов:
- Atom - не пробовал, но выглядит норм, много плагинов.
- Visual Studio Code - с плагином AsciiDoc поддерживает синтаксис и большую часть функций.
- IntelliJ Idea - плагин поддерживает максимум функций и постоянно обновляется.
- AsciidocFX - утилита для работы с синтаксисом AsciiDoc. Поддерживает синтаксис.
Все утилиты для работы с Asciidoc абсолютно бесплатны.
DITA:AsciiDoc 1:3
Набор функций
Повторное использование
DITA
Все любят Диту за повторное использование кода.
Можно использовать целые топики или любые фрагменты. Но есть ограничения, в зависимости от разрешённых элементов. Oxygen не даст заимствовать запрещённые элементы, так что ошибиться сложно.
Заимствования делаются при помощи "conref" или "conref ... conrefend". Заимствовать один элемент или топик полностью - "conref". Заимствовать от и до - "conref ... conrefend".
AsciiDoc
Механизм повторного использования аналогичен Дите. Заимствовать один элемент или топик целиком - "include::topic.adoc[]". Заимствовать от и до чуть сложнее. Нужно создать два тэга:
//tag::magic-tag[]
Бла-бла-бла
//end::magic-tag[]
Затем заимствовать по тэгу: "include::topic.adoc[tags=magic-tag]".
DITA:AsciiDoc 2:4
Ключи
DITA
Сначала ключ нужно обозначить, затем задать ему значение, потом использовать его в нужных местах. Сделать это вне Oxygen будет очень сложно. Мне сложно сделать это даже в Oxygen, придётся рыться в заметках. Если честно, проще не использовать ключи.
Зато для каждого ключа можно задать аудиторию, область действия и другие атрибуты.
AsciiDoc
Здесь ключи называются атрибутами, но суть та же. Определяешь в топике, потом используешь. Задаются атрибуты очень просто: ":attribute: значение". Использовать через "{attribute}", что заменится на "значение".
Область действия задать тоже можно, но не так просто в чистом AsciiDoc. Удобнее использовать Antora - генератор статических сайтов для AsciiDoc. Если не нужен сайт, то область действия ключей будет только в рамках топика или "карты".
DITA:AsciiDoc 3:5
Профили и фильтрация
DITA
Даже если вы знакомы с Дитой на уровне "знакомый по пьяни рассказывал", вы должны были слышать о невероятно крутом механизме профилирования.
На пальцах: это когда создаётся один документ на 15 страниц исходников.
Да, такой небольшой документ.
Из этих 15 страниц одной командой мы делаем три документа по 5 страниц каждый. При этом инструмент понимает сам, какие 5 страниц куда идут, и добавляет к каждому титульный лист и все остальные части.
Вот для этого в Дите есть специальные пометки - профили, ".ditaval файлы". В Дите это делается очень легко и удобно.
AsciiDoc
В AsciiDoc тоже есть схожий механизм, но тут больше ручной работы. Сначала нужно задать атрибуты на каждой странице, которую мы хотим включить в руководство и т.д. и т.п.
На пальцах проще: задаём три атрибута, один на 5 страниц, второй на 5 страниц и третий на 5 страниц. Ну и все три атрибута на титульнике. Запускаем билд, получаем три разных документа из одного большого.
Это посложнее, чем у Диты.
Есть три вида условий:
- ifdef - если атрибут определён, контент включается.
- ifndef - если атрибут определён, контент не включается
- ifeval - если атрибут равен условию, контент включается. Условия типа равен, не равен, больше, меньше и т.д.
Кстати, даже Антора не сильно упрощает профилирование. В чём-то даже усложняет. Зато так можно настроить область использования атрибута.
На пальцах: определил атрибут в главном топике, включил в него все остальные. В остальных определил ifdef, ifndef, ifeval. В зависимости от указанного в главном топике атрибута получишь разный результат. Можно создать несколько почти одинаковых главных топиков с разными атрибутами и быстро штамповать документы по 5 страниц.
DITA:AsciiDoc 4:5
Форматы экспорта и единый источник
Единый источник - это то, ради чего мы здесь сегодня собрались! То, ради чего в принципе переходят на docs as code.
Ага, здорово, а что это? Не все могут быть в курсе, поэтому быстро поясню. Единый источник - это когда из одного исходного кода можно получить несколько форматов документации. Например, получить сразу .pdf, .html, .doc(x), и не придётся конвертировать и поправлять -- результат всегда будет стабильно одинаковый.
DITA
Так вот, единый источник в виде Диты позволяет получить любое количество форматов. Но есть один нюанс.
Чтобы трансформации (по-народному - экспорт) работали, необходимо установить JDK и DITA OT (DITA Open Toolkit).
В принципе, можно обойтись и одним Oxygen, в него уже включено всё необходимое, но он платный.
В общем, вы поставили JDK, DITA OT и можете смело пользоваться всеми перками единого источника из коробки.
Из коробки доступны вот такие форматы:
Можно также установить дополнительные плагины, чтобы иметь ещё больше форматов (смотри документацию DITA OT).
Но вы наверняка захотите, чтобы конечный документ соответствовал корпоративному стилю (проклятые капиталисты, при коммунизме-то всё одинаковое и никто не выпендривается!). Всё ещё хотите? Добро пожаловать в мир XSL-трансформаций!
- Не-не, я не подписывался на какие-то XSL-трансформации, я ничего о них не знаю!
- Это Дита, детка! Хочешь кататься на Дите, люби и XSL-трансформации.
Я ничего не знаю об XSL-трансформациях. Я не умею их создавать и редактировать тоже не особо умею. Я видел исходники, меня они впечатлили и напугали одновременно.
Короче, настроить свой плагин для трансформации сложно. Но возможно при определённых знаниях.
AsciiDoc
Здесь ситуация та же. Ну только что развернуть проще. Всё можно сделать из командной строки.
Есть вот такие встроенные конвертеры:
И вот такие официальные аддоны:
Помимо этого, есть много разных "любительских" конвертеров. Это всё то, что за годы сделали пользователи AsciiDoc. Много разных форматов. Наверное, самый распространённый - это pandoc, который конвертирует ещё много чего много во что. Соответственно, настраивать внешний вид и стили можно по-разному. Введите в ваш любимый поисковик "asciidoc to нужный формат" и изучите результаты.
А ещё из Asciidoc можно создавать целые статичные сайты при помощи генератора статичных сайтов Antora.
- Вот ты говоришь "статичные сайты", а что это такое?
- Это обычный HTML-сайт, только без всяких лишних наворотов типа CMS, движка и прочего. Короче, не запаривайтесь, просто обычный сайт.
Можно создавать сайты с дефолтным или кастомным внешним видом. Причём в случае с сайтом настройка внешнего вида гораздо проще. Чтобы поменять ширину, цвета, шрифт, достаточно знать немного HTML и CSS.
Иными словами, это совсем не сложно, точно легче чем XSLT.
А ещё почти из любого редактора можно создать pdf, а то и нескольких видов.
Никому не дам балл. Создать трансформацию/конвертер со своим стилем не так просто ни в AsciiDoc, ни в Дите.
А чего я хотел? А хотел я, чтобы в идеале как с Antora. Чтобы максимально интуитивно и без всяких извращённых навыков. Ну, в идеале.
DITA:AsciiDoc 4:5
Обратная совместимость
Последний важный пункт, на мой взгляд. Кто-то скажет "а зачем мне обратная совместимость, и что ты вообще подразумеваешь под этим?"
Ну, например, выходит новая функция. Новый конвертер или новая возможность в синтаксисе. Наверняка вы захотите этим воспользоваться. Я захочу. Не убедил? А если новые исправления безопасности? По-моему, это важный повод обновиться.
DITA
Обычно все изменения Диты оперативно поддерживаются в новых версиях DITA OT. Только вот новая версия DITA OT вполне может сломать вашу созданную трансформацию. Ну вы просто не сможете обновиться и получить преимущества новой фичи, пока не обновите свой плагин. А это опять XSL-трансформации с кровью, потом и баттхёртом.
AsciiDoc
Обратная совместимость AsciiDoc обычно не проблема. Новая версия всегда будет поддерживать прежние фичи, обновление не вызовет проблем. А если проблемы всё-таки могут возникнуть, то об этом обязательно будет сказано в списке изменений.
Серьёзно, я даже не знал, что так бывает. Что можно просто обновиться и всё будет работать, как раньше. Очень приятно.
DITA:AsciiDoc 4:6
Техническая поддержка
DITA
Чуть не забыл. Сама по себе Дита лишена какой-либо техподдержки. Максимум, на что можно рассчитывать - это помощь на StackExchange. Ну, ещё можно попробовать задать вопрос на форуме Oxygen. Скорей всего ответят.
AsciiDoc
Поддержка феноменальна. Можно спросить в чате AsciiDoc, на гитхабе или в твиттере.
Всегда ответит кто-то из сообщества или даже сам создатель.
DITA:AsciiDoc 4:7
Итог
При сравнительно похожем наборе функций AsciiDoc проще, чем DITA, а во многом даже превосходит её.
Дита выигрывает в повторном использовании, фильтрации и возможностях тонкой настройки ключей. У AsciiDoc отличная поддержка, обратная совместимость и редакторы для работы с исходным кодом.
Основная цель этого материала - сказать, что выбирать инструмент нужно с умом. Не стоит сразу выбирать Диту как инструмент по умолчанию. Подход docs as code открывает большие возможности. Но сначала нужно подумать, а нужны ли вам эти возможности.
Всем лучи добра и качественной документации!
Заглядывайте в мой телеграм, если что. Пишу разные интересные и не очень вещи.
Всем доброго времени суток. Публикую опыт моего хорошего товарища, что с математическим образованием успешно работает с С++ более 15 лет.
Оформил всё в формате текстового интервью, читаться и восприниматься будет легко, стартуем)
1. Расскажите о вашем образовании?
Мое образование — это весьма интересная штука. В школе я углубленно изучал математику, полюбил ее и с тех пор моя жизнь так или иначе связана с ней. После школы я поступил на два факультета - экономический и механико-математический. Выбрал экономическую теорию просто потому, что там была более крутая математика на вступительных экзаменах. Экономическая теория является весьма специфическим предметом, это какая-то смесь математики и философии с примерно такой же практической пользой. На самом деле ряд предметов, изученных в университете, мне очень пригодились позднее - особенно линейная алгебра, статистика, теория вероятностей и математическое программирование (раздел математики, посвященный оптимизационным задачам, ничего общего с компьютерами). Был любопытный предмет, называемый эконометрикой, по факту это статистический анализ больших данных, позволяющий найти взаимосвязи данных, прямо-таки столь популярное сейчас машинное обучение. После получения высшего образования я несколько лет проучился в Вычислительном центре РАН, тема моей так и не законченной диссертации была "Параллельные методы решения задач дискретной оптимизации транспортного типа", простыми словами я решал задачу коммивояжера. Привет математическое программирование из университета.
2. Почему вы выбрали именно C++? Чем импонирует вам данный язык программирования?
Я его не выбирал, это он меня выбрал, я честно предпринял несколько попыток уйти из него, но он всякий раз меня догонял. Последняя попытка была в Microsoft, там я писал на C#, и думал, что я такой умный и сумел уйти от C++, но как говорил один мой друг "C++ умеет ждать", и в Microsoft я опять переключился на C++. По своей воле, очень уж интересная была задача.
3. Начать профессиональную деятельность на С++ получилось благодаря самообразованию или же благодаря профильному образованию? Расскажите о своём пути в С++
Я решал задачу коммивояжера и ее варианты на C++, так уж получилось, что это был самый подходящий язык для такой задачи. Затем я начал работать в Яндексе, в отделе качества поиска над MapReduce (помните тему диссертации - "Параллельные методы..."), там тоже был C++, и он так и не отпускал меня с тех пор.
4. Есть ли книги по С++, что вы можете посоветовать?
Самыми полезными для меня были, пожалуй, серия небольших книг Скота Майерса "Эффективное использование С++" с набором рецептов, понять STL мне помогла книга Николая Джосьютиса по STL "С++. Стандартная библиотека". Но самое главное, конечно же, практика. Как язык C++ меня никогда особо не интересовал, я рассматривал его лишь как средство для решения интересных задач.
5. Расскажите о вашей компании, где вы работаете. Что входит в ваши рабочие обязанности на данный момент и чем занимается ваша компания? Какой продукт?
Я работаю Senior Software Engineer в MongoDB, компании, которая разрабатывает собственную СУБД (система управления базами данных). Моя команда занимается оптимизацией запросов (Query Optimization). MongoDB привлекла меня тем, что сумела успешно бросить вызов на рынке СУБД, казалось бы, надежно поделенного между такими гигантами как Microsoft SQL Server, Oracle и IBM DB2.
Так получилось, что с 70-х годов и исследовательского проекта реляционных баз данных IBM System R, от которого произошли современные базы данных, очень многое изменилось. Благодаря интернет-компаниям, таким как Google, стало набирать популярность горизонтальное масштабирование. Другой тип масштабирования, вертикальное, характеризуется тем, что по мере роста требований к вычислительным мощностям, старые сервера заменяют на более мощные, происходит вертикальный рост. Но такой рост всегда ограничен мощностями одного сервера. Горизонтальный рост характеризуется не заменой сервера на более мощный, а добавлением новых серверов. Это оказывается дешевле и позволяет почти неограниченно расти, но и требование к программному обеспечению гораздо выше, новый софт должен быть "распределенным", то есть работать на множестве серверов. Одна из первых попыток распределения работы на множество серверов была система MapReduce, над одной из реализаций которой я работал в Яндексе.
Классические СУБД оказались не готовы к такому повороту событий по ряду причин: изначально они были спроектированы для работы на одном сервере, и реляционная модель данных предполагает высокую нормализацию данных, грубо говоря никаких дублирующих данных, вместо сохранения адреса для каждого заказа, адрес сохраняется в отдельной таблице и каждый заказ содержит уникальный идентификатор адреса, а значит большое число джойнов (join), т. е. теперь, чтобы получить, адрес для заказа надо найти его по идентификатору в другой таблице.
MongoDB реализовала совершенно новый подход, называемый документным, все связанные данные должны хранится вместе. Это позволяет сократить число джойнов, а то и полностью избавиться от них, это опять же упрощает создание по-настоящему распределенной базы данных. Новый подход оказался коммерчески успешным, MongoDB как СУБД активно развивается, и старый query engine (движок запросов) перестал отвечать требованиям новой MongoDB. Я сейчас работаю над оптимизацией запросов в новом движке, это задача дискретной оптимизации и ее методы во многом пересекаются с моей работой над задачей коммивояжера. Также используются метод ветвей и границ (Cascades, реализованный в Microsoft SQL Server) и динамическое программирование (Oracle и IBM DB2).
6. Расскажите о проектах, в которых вы приняли участие? О проектах и их функциональных возможностях.
Я был техническом лидером проекта поиска по графу знаний, в проект входила реализация графа знаний в поисковом индексе и поддержка соответствующей грамматики поиска к примеру «файлы Йена программиста из Лондона». Мы разбивали эту фразу и обрабатывали запрос следующим образом в индексе контактов находили человека с именем Йен, должностью программист/разработчик или другой синоним из Лондона. Затем переходили по графу знаний и находили файлы, которые этот человек правил или создавал. Вы можете видеть, как работает подобный поиск в Microsoft Office 365. Если вы знаете английский язык вы можете увидеть демонстрацию вначале этого промо видео: https://youtu.be/zbqlAd6aMoE
7. Исходя из вашего опыта, на какие личные качества/навыки/компетенции в первую очередь обращают внимания работодатели в вашей сфере?
На интервью обычно проверяются три навыка:
навык решения задач и насколько эффективно человек может сформулировать и донести свои мысли о разных подходах к решению задачи, обсудить эти подходы и выбрать правильный
насколько эффективно человек умеет работать в команде, здесь оценивается множество навыков, к примеру, умение признавать свои ошибки, умение конструктивно критиковать и принимать критику, эмпатия и т.п.
проектирование систем: как реализовать тот иной сервис или функциональность в программе, начиная с выбора системы хранения данных, продолжая методами обмена данными и так далее, оценивается, в частности, то как умеет ли человек собирать требования о будущей система и как он умеет использовать требования для выбора подходящих технологий.
8. По вашему мнению, каков спрос на рынке труда и какие перспективы у данной профессии в ближайшие полгода – год, исходя из нынешней экономической ситуации?
Да все как обычно, не вижу никаких причин, чтобы что-то изменилось в ближайший год.
9. Есть ли спрос в данный момент на новичков (Junior-специалистов) в С++ ?
В MongoDB, Microsoft и т. п. активно практикуется приглашение на практику студентов ВУЗов (internship), после окончания ВУЗа студенты могут вернуться в компанию, обычно это практически единственный способ попасть новичку на работу в ведущие компании.
10. Подводя итоги. Что можете посоветовать людям, что самостоятельно изучить С++ и в дальнейшем работать в данной сфере?
Я бы порекомендовал для начала осознать, что язык программирования не так и важен, важны фундаментальные знания – линейная алгебра, статистика, алгоритмы и структуры данных. Умение применять эти знания на практике. Я не говорю, что я никогда не читал книг по языкам программирования, это не так. По одному C++ я прочитал с десяток книг, а еще я читал книги и в целом изучал такие языки как Java, C#, Python, JavaScript, Haskell, F#, OCaml, Ruby. Но это никогда не было в моих приоритетах, я понимал, что эти знания мимолетны и быстро устаревают. Что не устаревает так это общие принципы программирования (они, кстати, часто описаны в книгах по языкам программирования в том числе), алгоритмы, принципы построения систем.
К примеру, самый продвинутый Query Optimizer сегодня реализован в Microsoft SQL Server, его принципы были разработаны в 90-е годы Goetz Graefe. Этот оптимизатор используется метод ветвей и границ, разработанный в 60-е годы Литтлом для решения задачи коммивояжера. Серьезные современные передовые системы базируются на принципах, разработанных десятилетия назад.
Может показаться, что моя дорога была прямолинейной и я знал к чему иду, это неправда. У меня было много метаний и поисков, одно лишь было постоянным - я всегда любил математику и алгоритмы и стремился ими заниматься, а также я любил программирование потому, что оно даёт мне свободу выражать свои идеи во что-то работающее. Именно этот акт творчества во время программирования когда-то привёл меня в восторг, и этот восторг не отпускает меня до сих пор.
Успешного самообразование, коллеги)
Если вам интересна IT-сфера и интервью с программистами
публикую также свои статьи и интервью на канале t.me/it_begin
Подписывайтесь :)
Спасибо!
Язык SQL не является языком программирования, но может использоваться внутри него. Сейчас объясню🙂
SQL - это конкретные команды к базе данных.
Например, если нужно выбрать некоторые данные согласно определенному условию, то отправляем к базе данных команду SELECT.
Если нужно в одну из таблиц добавить новую строку с данными, то отправляем в базу данных команду INSERT с указанием в какую таблицу вставить данные и какие столбцы заполнить какими значениями. И так далее.
Весь SQL - это только конкретные простые команды! Эти команды может отправлять к базе данных как некоторое приложение (написанное на языке программирования) или веб-сайт (например, по нажатию кнопки) так и, например, некоторый сотрудник (программист, администратор базы данных, аналитик и т.д.) с помощью специальной (удобной) программы, подключённой к базе данных.
Язык SQL может использоваться и в рамках внутреннего языка программирования СУБД. Пример: функция, написанная на языке PL/SQL (ORACLE) или языке T-SQL(MS SQL Server) для получения некоторого остатка по счету. Функция внутри себя выполняет обычные команды SELECT и кладёт результат в предопределенную переменную, которую потом обрабатывает и возвращает.
Вобщем SQL - это не язык программирования, но может внутри него использоваться, если приложение работает с базой данных🙂
Большое спасибо за Ваше внимание! 👍
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Всем привет! Меня зовут Александр, и я разработчик! (а прозвучало как алкоголик, ну да ладно))
Совсем недавно, буквально пару месяцев назад, привычно кликнув на закладку сервиса E-Katalog я с удивлением увидел 503 ошибку.. полез в интернет, почитал немного, погрустил... и решил воплотить свою идею годовалой давности в жизнь.
Предыстория )
Примерно года 2 назад, когда начал пользоваться этим сервисом - а он для меня лично был удобным, в целом меня все устраивало, кроме пары вещей - лютые тормоза, проплаченные позиции - которые нарушают фильтрацию товаров - это жутко бесило
Год мирился с этим, пользовался сервисом как есть(хотя особо вариантов и не было - яндекс не в счет). Тогда мне пришла простая идея - написать свой такой же сервис-аналог. Начал разработку, но.. как назло E-Katalog начали активно пиариться везде, и вроде как начали исправлять вечные баги, тормозить сервсис заметно меньше стал, и даже (как мне показалось) проплаченой рекламы и товаров стало меньше.
Ну я подумал, ситуация вроде исправляется, можно пользоваться дальше этим сервисом - удобный все-таки. Решил отложить свою идею в долгий ящик до лучших времен.. и в итоге отложил на год.
Собственно история )
Возвращаемся в сегодняшний день, но на пару месяцев назад. Вспомнив про свою идею годовалой давности, я недолго думая за эти 2 месяца воплотил ее в жизнь. Да. В одиночку. И это было сложно. Работать по 16 часов в сутки - не так легко оказалось, но я думаю оно того стоило
В общем хочу представить на ваш суд замену екаталогу - https://m-catalog.ru - только сильно меня тапками не закидывайте, хорошо? )
Сразу оговорюсь - я вообще ни разу не дизайнер, я веб-программист, да и цели скопировать дизайн подчистую со "старого" сервиса у меня не было. Пока в плане дизайна имеем что имеем.
Зато по функционалу - полный порядок. Категории, товары, фильтры, избранное, сравнение товаров итд - практически все что было на "старом" сервисе.
Предвосхищая резонные вопросы, зашедших на сайт людей - "ты же говорил что все есть, а там не все есть" из того что заявлено выше, скажу - весь функцонал уже написан и работает - но пока частично отключен, он проходит всестороннее тестирование.
Протестированый функционал(а вы еще помните да? я один его пишу) я постепенно включаю. Нужно еще некоторое время подождать. В сутках всего 24 часа - спать тоже иногда нужно )))
В будущем планирую добавлять новый функцонал, которого не было в старом сервисе, ну и само собой дизайн допилить
Кратенько про сервис
Сервис коммерческий. Это однозначно, потому что вытягивать на себе с финансовой стороны такой сервис просто не реально. Одна только техническая часть(об этом далее) неплохо так кушает денежки )
Отдельно скажу про старых клиентов екаталога - на этапе бетатеста, который идет сейчас и еще месяц-полтора примерно идти будет, и всем кто раньше работал с ними - мы предоставим бесплатный период пользования сервиса на 3-5 месяцев.
Формат сотрудничества обсуждается. Готов выслушать предложения. Да и вообще любые предложения приветствуются - милости прошу в тгруппу в телеге.
Про сервис(тех. часть)
Сейчас m-catalog это:
- 4 сервера
- 2 приложения
- 2 бота
- 4 робота
- микросервисная архитектура
- реактивные интерфейсы на фронте
- пара систем кэширования на бэкенде
Стек и технологии
- node.js
- vue.js
- nuxt.js
- GrapiQL
- mariadb
- git
- gitlab
- docker
Вся эта тех часть уже сейчас, работая практически в холостую, сжирает уйму денег, А ведь еще надо людям ЗП платить..
Ах да - нас уже трое, я разрабатываю сервисы, еще двое человек наполняют каталог, и в ближайшее время я думаю будем еще набирать других специалистов.
Собственно че я сюда приперся и что хочу от вас всех?
Так как пока бюджет мой огрничен, да и не особо умею ракламные программы запускать, решил пойти другим путем - попросить помощи у сообщества, а именно информационной поддержки!
Если вы раньше пользовались старым сервисом, и он вам нравился, и вы хотели бы поддержать мое начинание - расскажите друзьям, знакомым, коллегам о сервисе!
Денег просить не буду, но если найдутся желающие поддержать наше начинание, напишите в телеге в группе.
Заранее очень признателен всем откликнувшимся!
Все интересующие вас вопросы можно задать ниже в комментариях - отвечу на все с удовольствием, если конечно мне месная карма позволяет отвечать на коменты(а то я не в курсе), а так же у нас в группе в телеграме https://t.me/+wkscm7khhVI0NjEy
ПС: Ссылку на Roadmap можно посмотреть в группе в телеге(сюда не пощу, итак уже 2 ссылки в посте, не зочу бан после первого поста )
ППС: В каталоге сейчас включена только категория "процессоры"
За сим, откланиваюсь! Большое спасибо что прочитали весь этот сумбур!