• Задача про стену и кирпичи. Как решить?

    @Andy_U
    Ну, я бы начал с решения уравнения в целых положительных числах 3*x+4*y=25. Решений две штуки: (x=3, y=4) и (x=7, y=1). Т.е. у нас 2 класса рядов. Вариантов расположения кирпичей в первом классе 7!/(3!*4!)=35, во втором классе 8!/(7!*1!)=8. Итого 35+8=43 вариантов ряда. Генерируем их. Теперь заполняем матрицу размером 43*43, ставя единички там, где ряды кирпичей (один в столбце, второй в колонке) совместимы с условием отсутствия общей вертикальной щели (для каждого варианта ряда строим множество {L[1], L[1]+L[2], ... L1+...L[N-1]}, потом очевидно, что ряды "совместимы", если пересечение множеств пустое). Это все быстро и памяти немного надо. На питоне - 30 строк. Кстати, в построенной матрице нулей сильно больше, чем единиц. несколько рядов просто ни с одним другим не совместимы. А потом, увы, перебор, если я правильно понял условие задачи. Типа как в классической задаче "поставить 8 ферзей на шахматную доску, чтобы они не били друг друга".

    Update:

    Код на питоне 3.4.3, решающий задачу перебором (кроме получения "классов" рядов), приведен ниже:

    import itertools
    
    
    def build_tail(height, row):
        if height == 9:
            return neighbours_number[row]
        else:
            return sum(build_tail(height+1, i) for i in acceptable_neighbours[row])
    
    
    rows = {i for i in itertools.permutations([3, 3, 3, 4, 4, 4, 4], 7)} | \
           {i for i in itertools.permutations([3, 3, 3, 3, 3, 3, 3, 4], 8)}
    
    acc_rows = [set(itertools.accumulate(row[: -1])) for row in rows]
    acceptable_neighbours = [[i for i, b in enumerate(acc_rows) if not (a & b)] for a in acc_rows] # copied from @bobrovskyserg
    neighbours_number = [len(i) for i in acceptable_neighbours]
    
    print(sum(build_tail(1, i) for i in range(0, len(acc_rows))))


    Время решения ~40 секунд, ответ bobrovskyserg подтверждаю. Пошел разбираться с его алгоритмом...
    Ответ написан
    3 комментария
  • Могут ли пользователи ПК писать в общую часть ОП сервера?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Можно, это называется База Данных. Не стоит решать задачи методами 20-ти летней давности.
    Ответ написан
  • Объясните мне кто-нибудь, как вообще работать с фреймворками?

    Adamos
    @Adamos
    По-моему, правильное начало работы с фреймворками выглядит примерно так:
    - начинаешь работать с CMS, плюешься от того, как все через задницу
    - везде, где возможно, пишешь простые решения сам, игнорируя функционал CMS, потому что там кромешный оверхед
    - переходя к более комплексным задачам, начинаешь городить свои велосипеды для того, что требуется постоянно, начиная понимать, что типовые задачи примерно ложатся в одни и те же ходы и решения, а решение этих задач с прицелом на расширяемость, универсальность и безопасность требует достаточно сложных, но одних и тех же схем
    - начинаешь читать документацию по фреймворкам, где эти самые схемы воплощены без тех ошибок, которых ты нагородишь, пытаясь создать что-то свое
    - пользуешься тем фреймворком, который показался наиболее логичным и подходящим под задачи.
    Ответ написан
    Комментировать
  • Какой набор инструментов выбрать для реализации веб-проекта?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    PHP + любая БД + фреймворк - самое быстрое начало. Фреймворк возьмите самый примитивный, который реализует MVC, роутит маршруты и немножко шаблонизирует. Есть микро-форки популярных фреймворков типа Silex (Symfony) silex.sensiolabs.org и Lumen (Laravel) lumen.laravel.com
    P.S. Wordpress ни в коем случае не берите, это готовая cms, а чтобы её допиливать нужно 1) жопу вместо головы 2) не для новичка совсем.
    Ответ написан
    7 комментариев
  • Какие преимущества фриланс имеет над работой в офисе?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Описываю по себе:
    1) Возможность создать свой собственный режим сна. Для меня вставать в 8-9 утра это настоящая боль. Уже год+ засыпаю между 3-4 часами ночи и просыпаюсь между 11-12. То есть абсолютно всегда сплю свою норму в 8 часов, для того чтобы чувствовать себя нормально и не пить никаких кофе.
    2) Отсутствие временных/моральных/физических затрат на дорогу до работы. Конкретно мне жаловаться не приходилось, ибо первое место работы было в 10 минутах ходьбы от дома, но вот люди в больших городах от этого явно страдают.
    3) Возможность жить и работать так, как это удобно ТЕБЕ. Вот сижу я днем, дописал только-что какой-то кусок проекта и смотрю в окно, а там солнышко светит и птички поют. Ну я беру и иду бегать на стадионе. И это все происходит в 2 часа дня. А что в офисе? Ходить проветривать мозги на улицу на официальных перерывах? А если заработался и пропустил перерыв, то что? Во многих компаниях придется сидеть дальше тупить.
    4) Возможность работать тогда, когда это наиболее удобно и эффективно для тебя. Один из самых важных пунктов. В офисе пришел и сидишь 8-часовой рабочий день. И ты же не можешь подойти к начальнику и сказать, что у тебя сейчас мозги не работают, и тебе бы хотелось свалить домой вообще. Ну может 1-2 раза отпустят, а что делать если тебя в каждый второй день после обеда парализует на пару часов? Будешь в итоге сидеть и накручивать спагетти-код на вилку. А потом его рефакторить, матерясь. Мне вот например ночью нравится работать, но где вы видели офисы, в которых вам позволят одну половину дня работать там, а другую ночью дома?
    5) Отсутствие привязанности к каким-то предпочтениям фирмы. Вот попали вы в веб-студию, делающую сайты на битриксе. И представим чисто теоретически что вам там платят нормальные деньги. А дальше что? Ну полгода вы попилите магазинчики. А потом еще полгода. И еще. Ну конечно не везде так уныло, но своих "особенностей" хватает во всех компаниях.
    6) Отсутствие видимого потолка по заработку. В стандартной компании вас посадят на оклад, +небольшие премиальные если вся команда в сроки будет сдавать проект например и нарисуют вам роадмап, по которому вы будете строить планы на жизнь. Аля "через полгода сдам 7 проектов и меня повысят, увеличив зп на 15%". А потом в один прекрасный вечер после работы вы сядите изучать что-то интересное дома. И будете изучать недели-месяцы. И вот приходите вы однажды на работу, с кучей новых знаний, а у вас в голове стойкое ощущение того, что сейчас вы достойны не то что этой прибавки в +15%, а вы на все 30% тяните. Но вам никто этого не даст. Просто потому-что обычные офисы живут по другим правилам.
    Ответ написан
    11 комментариев
  • Как изучать, что то новое имея фуллтайм работу?

    @PolkovnikBrumel
    1. Если ты добираешься на работу на общественном транспорте, то можно накачать учебников/обучающих курсов/роликов на телефон/планшет и читать/слушать/смотреть.
    2. Записаться на курсы, которые можно посещать после работы. Изучение чего-то в команде стимулирует соревновательность и не дает просто забить, если не хочется.
    3. Не надо исключать выходные. Всегда можно выделить пару-тройку часов на обучение.
    4. После работы, конечно, хочется отдохнуть, но если вы найдете себе интересное обучающее задание, то это и будет вашим отдыхом. Главное, повторюсь, чтобы было интересно.
    Ответ написан
    4 комментария
  • Какова логика быстрого сохранения кратковременных данных в БД?

    @Fortop
    Tech/Team lead
    Для быстрого доступа к данным использовать Redis или memcache.

    Для быстрой передачи данных не использовать ajax по http.
    Вместо него использовать протокол Websockets
    Ответ написан
    1 комментарий
  • Обязательно ли быть верстальщиком, чтобы устроиться на работу Junior Frontend'ером?

    opium
    @opium
    Просто люблю качественно работать
    Вопрос из разряда обязательно ли уметь подметать пол, чтобы устроиться дворником?
    Обязательно ли иметь сперму, чтобы устроиться донором спермы?
    Ответ написан
    6 комментариев
  • Имеет ли значение "имя" ВУЗа?

    @zhainar
    Гуглю за вас
    Значение имеет только ваши знания.

    Никогда не видел чтобы при приеме на работу говорили "Ммм, да у вас же диплом Супер Пупер Вуза, мы вас берем даже без собеседования и стажировки, и дадим самую высокую зарплату в нашей конторе."

    А если вас все таки взяли в такую контору, то вам стоит задуматься о профессионализме будущих работодателей.
    Ответ написан
    4 комментария
  • Считается ли в зачет ТИЦа ссылка, которая идет на ныне несуществующую страницу?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Для того чтобы сохранить вес настройте 301 редиректы в .htaccess со старых страниц на релевантные новые. Если релевантных новых нет - можно перенаправить на главную.

    p.s. с ТИЦем - как повезет, но упасть не должен, если всё настроите.
    Ответ написан
    3 комментария
  • Считается ли в зачет ТИЦа ссылка, которая идет на ныне несуществующую страницу?

    @PiloTeZ
    ...
    Я не SEO, но логично, что упадёт. Ведь ценными были именно те страницы
    Ответ написан
    1 комментарий
  • Как передать значение переменной из одного php в другой php файл?

    By_Engine
    @By_Engine
    $_POST, $_GET, $_SESSION, $_COOKIE, require/include, DB, файлы временного хранения
    Ответ написан
    Комментировать
  • Что входит в объем месячной работы SEO оптимизатора?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Вопрос неоднозначный.
    1. Каждый специалист может иметь свое собственное представление о необходимых работах (в зависимости от опыта и знаний) и их стоимости.
    2. Это сильно зависит от продвигаемого сайта. Если у вас интернет-магазин, то могу сказать, что работы там обычно требуется много.

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

    Если упростить, то:
    • Перед началом продвижения обычно проводится аудит сайта, чтобы выявить имеющиеся недостатки и подготовить рекомендации для разработчиков (что необходимо исправить).
    • Собирается семантическое ядро исходя из ассортимента товаров и спроса в конкретном регионе, на основе ядра могут вноситься изменения в структуру сайта.
    • Анализируются сайты основных конкурентов по подготовленному ядру (их методы продвижения и т.д.).
    • Проводится техническая оптимизация сайта и базовая оптимизация страниц сайта.
    • Настраиваются системы аналитики (цели в метрике и google analytics).
    • После этого идет постоянная работа по улучшению сайта - меняются тексты, прорабатываются карточки товаров, категории, внедряются разные полезные и удобные фишки.

    Полный список работ довольно большой, не вижу смысла превращать свой ответ в реферат, тем более работы могут потребоваться разные.

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

    С исполнителем можете договориться на определенный фикс + дополнительный бюджет на тексты и ссылки (если потребуется).

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

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

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

    p.s. В первые месяцы (особенно если магазин молодой) ждать взрывного роста продаж не следует. SEO - долгосрочная инвестиция, а не как это себе представляют многие "Хочу в топ за 2 недели, заплатить 500, а получить прибыли на 10000 долларов".
    Ответ написан
    Комментировать
  • Как прeодолеть зону комфорта, стать фрилансером не обанкротившись?

    kumaxim
    @kumaxim
    Web-программист
    Для начал ответь сам себе на вопрос "А чем тебе неудобна текущая золотая клетка"? Можешь не писать здесь, но определись для себя.

    Далее нужно осознать, что фриланс - это подвид бизнеса. Есть книжка Р.Киосаки "Квадрант денежного потока". Там всех людей, работающих в экономике разделяют на 4 части:
    1. Р - наемные работники
    2. П - предприниматели
    3. Б - бизнес
    4. И - инвесторы

    Фриланс - это сегмент П. Ты работаешь один, возможно зарабатываешь больше чем работая по найму, но вот ты заболел, продуло тебя где-то, температура 38.5.... Сомневаюсь что ты из стали сделан и сможешь в таком состоянии писать код.
    Сегмент П очень хорошо охарактеризовал г-н Залогин из Локус Медиа. Он сказал примерно так: "Вы человек-велосипед - пока крутите педали - едите, как только перестали - упали"

    Переходя к твоему вопросу о выходе из зоны комфорта.
    Первое что рекомендую перед началом своего бизнеса - оплати все долги. Закрой ипотеку, погаси автокредит, все потребительские заемы и т.д. В случае если ты провалишься(первый блин, обычно, комом) по крайней мере ты со своей семьей не под мостом окажешься.
    Второе - содержание семьи. Никакие твои заработки не должны влиять на твою жену/ребенка. Твои родные, как минимум, должны иметь крышу над головой + еду на столе. Посчитай сколько ты платишь за комуналку + еду. Далее умножаешь эту сумму на 24 месяца. Это финансовая подушка твоей семьи.
    Третье - планирование. Бизнес без бизнес-плана - это не более чем хобби. С 16 лет стремился зарабатывать в сети. Продавал ссылки на sape.ru в 2008-2009, работал с трафиком в 2010-2012, продавал китайские безделушки с 2013-2014... Сейчас ушел в разработку одного SaaS-решения. Первые пару месяцев оптимизм из ушей хлещет, думаешь "Да все будет, да это фигня, преодалею...." Но вот начинаются черные полосы: ТИЦ сайта в планируемый апдейт не вырос до нужного значения, твой сайт на 9 месте в выдаче, вместо требуемой тебе 3-4 позиции, товар из Китая на таможне завис.... Да я могу до бесконечности перечислять проблемы, которые возникали у меня... А время - деньги: тебе нужно платить аренду, зарплату, рекламу, кредиты и т.д. Не платишь - начинается ругань, из Максима Александровича я сразу превращаюсь в мошенника, кидалу, сволочь... эх, во общем суть ты понял. Думай на 2 шага вперед, вот что я хочу сказать
    Четверное - не делай бизнес с полного нуля. Перт Осипов(проект Бизнес Молодость) в каком-то из видео говорил, что мы не ценим самое ценное что у нас есть, мы воспринимаем это как должное, когда для других людей это может быть сравни бриллианту среди кучи стекляшек. Вы не первый день работайте в ИТ по какой-то специализации, так ведите эту специализацию и дальше. Занимайтесь своим любимым делом.
    Пятое - не пытайтесь все делать сами. Когда я запустил свой самый первый интернет-магазин по Китайским безделушкам я все делал сам: рисовал дизайн, верстал его, настраивал рекламу, обзванивал клиентов, носил товар на почту.... В общем занимался вообще всем! Причем за всей этой рутиной я не видел, что мой сайт работает не эффективно, я упускаю из виду 20% горячих клиентов, 10% моих бандеролей исчезают в глубинах Почты России... Вы как первое лицо компании должны знать все процессы своего предприятия, иначе Вы не сможете им управлять, но Вам не нужно все процессы делать самому. Отдайте часть на аутсорс или делегируйте наемному сотруднику.
    Шестое - я на этом очень сильно обжегся около 3-х лет назад.... Ставьте своим сотрудникам четко достижимые KPI(ключевые показатели эффективности). Например, есть у меня форма заказ обратного звонка на сайте. Человек пишет туда своего Имя и номер телефона, после чего эти данные попадают в CRM. Для менеджеров, которые у меня обрабатывают вызовы клиентов один из KPI звучит так: перезвонить клиенту в течении 15 минут после поступления от него заявки, если она поступила в рабочее время. Причем все KPI Вы должны сформулировать максимально точно и подробно. Я сам с KPI работаю так: есть у человека базовый оклад и базовый набор KPI, которые ему необходимо выполнять. Если он их выполняет - получает оклад, выполняет лучше - получает оклад + премию. Причем оклад у меня сам небольшой, около 6 т.р., но нижняя з/п у меня примерно в 2,5 раза выше.

    Первые 4 пункта - это как мягко выйти, вторые два - как не свалиться.

    В целом о бизнесе в РФ могу сказать что его делать относительно легко. Достаточно просто делать что-то хорошо и по человечески относится к своим клиентам. Примерно за 1 год Вы нарабатываете определенную базу контактов(поставщики/партнеры/клиенты), которые Вас знают и доверяют Вам. А далее главное все это не растерять.

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

    Odinokun
    @Odinokun
    Сверстал я макетов 6-7, и не очень то доволен

    Я тоже в процессе обучения и то-же когда доверстаю сайт до конца, то он перестает мне нравится (имеется в виду код).
    Просто в процессе верстки сталкиваешься с проблемами, ищешь инфу, решаешь проблему и когда заканчиваешь работу, то понимаешь, что если бы ты знал про решения проблем, то подошел бы к верстке совсем по другому.
    Это и есть обучение через 10000 верстко/часов упомянутых выше Борисом Якушевым.
    Ответ написан
    1 комментарий
  • Как посчитать размер рынка?

    bobrovskyserg
    @bobrovskyserg
    Формулы нет, но можно дать нижнюю и верхнюю оценки.
    Например:
    нижняя оценка - 0 (совпадает с размером рынка фитнес-трекеров в 1913 году)
    верхняя оценка - 6000000000 (не более численности населения Земли)

    Оценки, разумеется, можно улучшать, принимая во внимание больше факторов.

    А если серьезно - как, по вашему, зарабатывают консалтинговые конторы? Вот так и зарабатывают.
    Ответ написан
    3 комментария
  • Как seo-продвинуть сайт без денег?

    XXX
    @XXX
    Решение где-то рядом
    Alexander-K
    • Проведите аудит сайта на предмет косяков (инструменты вебмастеров Вам в этом помогут)
    • Если сайт еще не добавлен в гугл и яндекс вебмастер, то добавьте.
    • Исправьте косяки, sitemap, robots.txt, meta-теги, описания страниц, заголовки, оптимизация содержимого страниц, перелинковка и т.д.
    • Скормите карту сайта поисковикам
      http://google.com/webmasters/sitemaps/ping?sitemap=ссылка на Ваш sitemap
      http://www.bing.com/webmaster/ping.aspx?siteMap=ссылка на Ваш sitemap

      Для того чтобы яндексу карту отправить, придется зайти на страницу вебмастера. И до кучи можете воспользоваться сервисом пинга в 40 поисковиков.
    • Если сайт региональный, то задайте регион.
      В яндекс вебмастере задается в настройках сайта, География сайта → Регион сайта
      В гугловских инструментах вебмастера, Поисковый трафик → Таргетинг по странам и языкам → Страна
    • Составьте семантическое ядро
    • Напишите SEO тексты заточив под ключи по которым будете двигаться
    • Если сайт не статичный, зарегайте его в соц сетях и постите туда новости со ссылками на свой сайт
    • Регайтесь на крупных форумах, с ссылками не закрытыми от индексации и напишите там про Ваш сайт
    • Оставляйте комменты в dofollow-блогах


    "Тупо регится на площадках" и спамить ссылку на Ваш сайт, не зная ключей по которым двигаетесь, бесполезно и вредно.
    Ответ написан
    2 комментария