• Удаленщик на Бали, реально ли?

    @chromimon
    Самая дорогая часть - дорога.
    Проживание - не так уж и дорого.

    Пары тысяч баксов хватит с запасом. В месяц.
    Разумеется, нужно жить не в отеле, а найти квартиру обычную.
    Возможно, и в тысячу долларов уложитесь, но это уже риски - мало ли что случиться может.

    Есть объединения русскоязычных фрилансеров, совместно арендуют - так дешевле.
    Спросите у Пумы Тайланд, да.

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

    Работать вы будете не на пляже.
    90% времени проводить за компом.
    В тамошних условиях обязательно нужна квартира с кондиционером. А это не дешевле, чем в РФ (в Москве не считаем).
    А еще вам нужен нормальный интернет, который в Азии вообще говоря такой ... "азиатский", как правило. Это нужно поискать такую квартиру - это еще дороже.

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

    Спросите, у питерцев, к примеру. А часто ли они бывают в Петергофе или же Третьяковке?
    Или у жителей Горно-Алтайска - часто ли они ходят по горам с рюкзаком?
    ;)

    Плюс естественно есть.
    Но есть и минусы.
    Я бы не рассчитывал, что вы будете прямо таки часто достопримечательности посещать.
    Большая часть времени - работа, работа, работа.
    Ответ написан
    Комментировать
  • Чем отличается обычная ОС от Серверной?

    @chromimon
    1. В серверных версиях (если это вы про Ubuntu) выкинут GUI, который в свою очередь за собой тянет много чего. Очень много. Лишнего для сервера.
    2. Да, десктопная версия будет работать с тем же ПО, что и серверная, но на сервере нужно ресурсы отдавать СУБД, серверу приложений и пр. А они бездарно расходуются на то, что нужно только для работы пользователя.
    Ответ написан
    Комментировать
  • Каков принцип создания фильтра в интернет-магазине, не допускающего пустой результат?

    @chromimon
    Эта задача плохо ложится на реляционную СУБД, о чем вам уже писал Сергей Горностаев
    То, чем вы занимаетесь - это фасеточный поиск. Он прекрасно реализуется СУБД, умеющими т.н. полнотекстовый поиск.

    Дело в том, что для реализации полнотекстового поиска используются битовые индексы, которые,помимо основной своей задачи поиска, позволяют сразу же определить и количество попавших в выборку "документов" (по терминологии: то, что называется "записями" в реляционных СУБД, то называется "документами" в движках полнотекстового поиска - такая традиция).

    Вы же, используете неподходящую для этой задачи реляционную СУБД. А в реляционных СУБД определение количества записей, попавших в ответ, напротив - чрезвычайно долгая по времени операция.

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

    Но в реляционных СУБД, а вы пользуйтесь именно такой, - это очень накладная операция. И делать так нельзя. Если конечно вы не хотите чтобы у вас сайт тормозил.

    Одним из самых скоростных движков полнотекстового поиска являются SphinxSearch и его форк Мантикора.

    ПыСы:

    Почему движки полнотекстового поиска идеально подходят под реализацию фасеточного поиска.

    1) Поиск по названию все равно должен быть на сайте. Движок полнотекстового поиска, в отличие от обычного движка реляционных СУБД, может искать по любой части названия, по описанию товара...

    2) Как строится полнотекстовый поиск и что он из себя представляет (вне нижеописанное делает движок полнотекстового поиска, вручную этого делать не надо):

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

    б) Слова прогоняются через алгоритм стемминга для отсечения окончаний snowball.tartarus.org/algorithms/russian/stemmer.html

    в) Полученные слова без окончаний (термы) помещаются в простейшее хранилище типа "ключ-значение", где ключём является терм. Значением является большой битовый вектор типа 00010101011110010000000011111....., где каждой позиции нуля и единицы соответствует документ (в вашем случае - товар). Для компактности используется представление RoaringBitmap roaringbitmap.org

    г) С полученными битовыми векторами можно чрезвычайно быстро делать любые логические операции AND, OR, NOT

    Как делается фасеточный поиск на базе полнотекстового индекса?

    Очень просто, вводим искусственный терм "цвет=зеленый", строим по нему битовый вектор; вводим искусственный терм "цвет=красный", строим по нему битовый вектор; вводим искусственный терм "вид=сапог" и строим по нему битовый вектор; вводим терм "вид=ботинок" и строим по нему битовый вектор; вводим термы "размер=40", "размер=41", "размер=42", "размер=43" и строим по каждому из них битовый вектор.

    После этого найти "ботинки зеленого цвета 42-го размера" - это всего лишь выполнить операцию AND по 3-м битовым векторам.

    И еще раз - это все делает движок, вручную этого делать не нужно.
    Ответ написан
    Комментировать
  • Импортировать код в основной файл?

    @chromimon
    1) Зачем их импортировать? Если вы их не используете.

    2) Как только вы начнете их использовать - их можно будет автоматически импортировать через goimports

    3) В консоли вывести все директории и вывод консольной функции записать в файл. Например, так:
    dir /AD /B > myfile
    Ответ написан
    3 комментария
  • Взлом Wi-Fi с точки зрения закона?

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

    Ну ты то подключаешься к волнам не ради того, чтобы в пределах своей квартиры ими пользоваться.
    А ты хочешь выйти через них в интернет, который оплатил сосед. То есть за пределы своей квартиры.
    Мне на соседа в суд подать за то, что он в мою квартиру вредные волны запускает?

    Если его прибор генерирует волны, превышающие санитарные нормы.
    Но бытовые роутеры такого сильного излучения не дают, так что подавать в суд бесполезно.
    Ответ написан
    Комментировать
  • На чем обычно строится балансировщик нагрузки?

    @chromimon
    Вот допустим есть домен со скриптом на который приходит 1000 чел в день, а вдруг завтра на него прийдет 1000 000 человек.


    1000 в день - это тьфу а не нагрузка
    завтра вдруг 1 000 000 - не придет, не мечтайте. А вот если вчера было 100 000, то завтра 1 000 000 реально, да.
    если кто и придет в таком масштабе - так это ДДоС, а ее нужно другими методами обрабатывать, явно не балансируя нагрузкой.

    Нет смысла экономического при нагрузке в 1000 предпринимать шаги, которые нужны, чтобы обслуживать 1 000 000. Ресурсы на подготовку ты вы потратите - а 1 000 000 так и не дождетесь.

    Если вы реально 1 000 000 хотите научиться, то забудьте про это:
    Скрипт работает с базой mysql при каждом соединении.

    И переходите на нормальную архитектуру.

    Например, статья, где как раз для начинающих хорошо разжевано, где именно начинающие косячат в вопросах производительности
    https://habrahabr.ru/post/113298/
    Ответ написан
    Комментировать
  • Как заставить 1С 8.3 (зуп 3.1) быстрее работать с usb-флешки?

    @chromimon
    Заменить флешку USB2 на USB3. Научиться находить порты USB3. При замени флешки - выбрать наиболее скоростную модель. Возможно заменить флешку на полноценный SSD с USB-переходником.

    Попробовать попереключать в 1С режимы - тонкий клиент, толстый клиент.
    Не забывать обновлять движок 1С.
    Очистить кэш 1С, тот что в профиле пользователя. После очистки кэша на второй запуск скорость должна возрости.
    Ответ написан
    1 комментарий
  • Как обновить bios на материнской плате mg43m?

    @chromimon
    Замените мать или процессор, чтобы получить совместимость.

    Заливка неродного БИОС, тем более, что вы в этом не разбираетесь, с вероятностью 99,99999% приведет к образованию из материнской платы кирпича.

    Если хотите залить родной БИОС - просто поставьте процессор работающий в этой матери, залейте БИОС, замените процессор.
    Ответ написан
    2 комментария
  • Перенос на другой впс?

    @chromimon
    Да, я так делал.
    Только не в ISO. А в специализированный формат того или иного гипервизора.
    И драйвера поставить под гипервизор заранее или поставить стандартные универсальные драйвера.
    Если вы делаете под гипервизор VmWare, то драйвера сам Converter должен проследить чтобы были.
    Ну и плюс учитывайте, что если этот "другой ВПС" на хостинге, то не факт, что без тех.поддержки вы сможете поставить сделанный образ, и не факт что тех.поддержка согласится это для вас сделать.
    Когда я это делал - все гипервизоры были полностью под моим контролем, это был не хостинг ВПС.
    Ответ написан
    2 комментария
  • Как учить C++ программисту который не учился в вузе в данной сфере?

    @chromimon
    Обучать вас С++ вообще не является целью ВУЗа.
    Язык можно прекрасно изучить или ПТУ или в школе или вообще самому.
    ВУЗ дает более общие знания, чем банальный язык программирования.
    Ответ написан
  • Может ли человек навредить мне "перехватом" пакетов?

    @chromimon
    • Если он установил троян на ваш компьютер
    • или просто узнал ваш пароль к SSH, украл ключ

    ничего из этого не является перехватом тапов.

    еще вариант - если вы используете SSH1, который нельзя использовать уже несколько лет как. нужно использовать SSH2

    единственный вариант именно что перехвата - если он контролирует ваш вход в сервер и имитирует приглашение SSH.

    бороться с этим можно просто перейдя на ключи.

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

    @chromimon
    Можно только через попу это организовать. Папа Стифлера в соседнем ответе показал как. Большое количество рефлексии в коде примера и показывает, что это неправильный путь. Только как крайняя мера.

    А вот непротиворечащая идеологии Go вещь - это будет с явным указанием типов:
    package main
    
    import (
    	"fmt"
    )
    
    func add(a, b int) int {
    	return a + b
    }
    
    func sub(a, b int) int {
    	return a - b
    }
    
    func main() {
    
    	table:= make(map[string]func(int,int)int)
    	
    	table["func1"] = add
    	table["func2"] = sub
    	
    	fmt.Println(table["func1"](5, 3))
    	fmt.Println(table["func2"](5, 3))
    }


    Кода значительно меньше, типы - жестко определены.
    Ответ написан
    3 комментария
  • В какой области ИТ надо критиковать и предлагать?

    @chromimon
    Заниматься нужно те, что тебе больше нравится.
    1. Платят хорошо - только профи, джунов сейчас избыток.
    2. Чтобы стать профи - нужны годы.
    3. Годами чтобы самосовершенствоваться - нужно чтобы это было интересно тебе.
    4. Вывод: заниматься нужно те, что интересно лично тебе.

    Что именно интересно тебе - знаешь только ты сам.
    Ответ написан
    Комментировать
  • Почему когда долго не работаешь или местами нельзя подключиться к ssh?

    @chromimon
    Пользуйся не SSH, а Mosh.
    Эта такая штука, которая начальное соединение устанавливает через SSH, а затем работает сама.
    Поскольку у Mosh соединение не на базе TCP как у SSH, а через UDP, то связь не рвется сутками. Даже если ты перемещаешься, например, с 3G/4G роутером по местности, где временами есть провалы в покрытии мобильного интернета.
    Еще Mosh умеет предсказывать, то есть отдает тебе ответ раньше, чем получит его реально от сервера (когда реальный ответ получит - скорректирует свое предсказание).
    В результате работа на медленных/некачественных каналах связи с Mosh намного более удобна, чем с SSH.
    Визуально и функционально - выглядит при этом сессия так же как и с SSH.
    Ответ написан
    Комментировать
  • Не работает вход в Windows 10?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Твикер сломал систему, что было. Что-то лишнее удалил, что-то переоптимизировал. Сносите систему, ставьте заново. Если хотите разобраться, что ее сломало - поставьте твикер заново :)
    Ответ написан
    Комментировать
  • Не работает вход в Windows 10?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    Что это может быть?

    ничего, сломали систему, в таких случаях проще переустановить с нуля чем чинить
    Ответ написан
    2 комментария
  • Можно ли выучить React/Redux без знаний нативного JS?

    gadfi
    @gadfi
    https://gamega.org
    совсем без нет, с базовыми да, но js все равно нужен
    Ответ написан
    Комментировать
  • Можно ли выучить React/Redux без знаний нативного JS?

    @vshvydky
    Потратить два дня и изучить да, не смеши вопросом.
    Ответ написан
    Комментировать
  • Какие есть сервисы основанные на социальной инженерии?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Практически любая МЛМ компания - это социальный сервис по отъему денег у населения.
    Ответ написан
    Комментировать
  • Как запустить из терминала браузер с заданной ссылкой?

    @trofimovdev
    Python
    explorer https://bixnel.ru/ либо start https://bixnel.ru/

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