• Интересные книги для изучения физики / математики?

    zooks
    @zooks
    Frontend
    Интересные у Якова Перельмана:
    "Занимательная физика", "Занимательная математика" и т.д.
    Ответ написан
    Комментировать
  • Как создать композицию функции на саму себя?

    Функция применяется n + 1 раз к n. Для этого надо список из n + 1 функций f свернуть при помощи композиции, а затем применить к аргументу. Добавим ещё fromIntegral, так как в примерах у вас синусы, которым нужно число с плавающей точкой, а n же у вас - целое (функцию можно применить только целое кол-во раз).

    execute f n = foldr1 (.) (replicate (succ n) f) (fromIntegral n)


    где replicate (succ n) f - список из n + 1 функций f, foldr1 (.) - свёртка списка композицией

    Есть и второй вариант, не сворачивать n + 1 функций f через композицию, а сворачивать список, на каждом шаге сразу применяя к аргументу, т.е. так:

    execute f n = foldr ($) (fromIntegral n) (replicate (succ n) f)


    где ($) - функция применения, т.е. f $ x = f x
    Ответ написан
    Комментировать
  • Процентное соотношение компьютеров во всем мире(или в России) по производительности?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    в России будет явный проигрыш по терафлопсам на квадратный километр.
    Ответ написан
    1 комментарий
  • Как генерировать случайные имена?

    qmax
    @qmax
    программер
    Марковские цепи помогут вычислить сочетаемость букв в именах, и выбирать наиболее "благозвучную" букву по контексту (префиксу).
    Метод архиэффективный и способен породить бесконечннешее количество слов.
    Но только если обучающая выборка достаточно большая.

    Мои рекомендации:
    Используйте длинну префикса 3-4 буквы (примерно длинна слога).
    Боле длинные префиксы будут порождать слова слишком похожие на исходные и их рекомбинации.
    Более короткие будут не очень благозвучны.
    Обязательно используйте символы начала и конца слова в качестве спец-буквы ('^' и '$'), просто пробела недостаточно, но уже не помню почему.

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

    Для хранения эффективно использовать префиксное дерево с частотами в качесве значений.
    Алгоритм составления словаря довольно простой:
    prefix = '^'
    for letter in text:
      freqdict[prefix+ letter] += 1 # увеличение счётчика этого сочетания
      if letter ='$':  # конец слова, сброс префикса
        prefix = '^'
      else:
        prefix = prefix[-depdth:] # обрезане префикса до максимальной длинны

    После этого нужно нормальизовать значения для каждого префикса, чтобы
    для каждого префикса сумма значений всех хвостов была = 1.
    При таком раскладе можно "склеить" частоты в единичный отрезок, разделёный на части пропорционально частоте, и рандомом выбирать "взвешенно-равномерно".

    Алгоритм генерации:
    prefix = '^'
    while prefix[-1] != '$':
      tails = freqdict[prefix].items() # под-дерево всех продолжений префикса в виде списка (key, value)
      thresh = random() # точка на единичном отрезке
      i = 0 # текущий элемент
      level = 0 # верхняя граница отрезка текущего элемента
      while thresh > level:
        level += tails[i][1]
        i++
      prefix += tails[i][0]


    Код написан по памяти, не принимайте на слово :)
    Наверно, мне уже пора выкладывать библиотеку для рыбогенерации...
    Ответ написан
    3 комментария
  • Как можно реализовать категории и подкатегории в MySQL ?

    Wendor
    @Wendor
    nodejs developer / *nix admin
    id, name, parent
    1, 'категория 1', 0
    2, 'подкатегория 1', 1
    3, 'подкатегория 2', 1
    4, 'подкатегория 3', 1
    5, 'категория 2', 0
    6, 'подкатегория 1', 5
    7, 'подкатегория 2', 5
    8, 'подкатегория 3', 5
    Ответ написан
    2 комментария
  • Чем язык программирования отличается от фреймворка?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    А чем по вашему мнению отличается язык программирования от готового софта? Ведь и то, и другое - программное обеспечение, машинный код. Т.е. по сути, программа - это и есть язык программирования, просто приведенный в нужный вид)
    А теперь обратимся к вики, и увидим, что:
    язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ
    фреймворк - программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта
    Фреймворк уже софт для облегчения задачи, а язык основа.
    Ответ написан
    Комментировать
  • Как заставить фрилансеров постоянно сотрудничать с компанией?

    "Заставить" точно никак нельзя всё люди свободны ))) Можно подобрать фрилансера с частым онлайном и обращаться к нему. Но всё равно фрилансеры часто отваливаются обычно год-два и он там или на работу устроился или язык, движок, фреймворк сменил и т.д.
    Потом если у вас много мелких задач - это может бесить их, потому что иногда они денег мало приносят но отвлекают сильно.
    Ответ написан
    Комментировать
  • Как в Haskell использовать сопоставление с образцом в охранных выражениях (в конкретном примере)?

    Сопоставление с образцом можно использовать, но в guard'ах надо явно указывать, что сопоставляем, т.е. в данном случае аргумент - list

    foo :: Eq a ⇒ [a] → Bool
    foo list
    	| [] ← list = True
    	| [x] ← list = True
    	| head list ≡ last list = foo . tail . init $ list
    	| otherwise = False


    Хотя лично я предпочитаю исходный вариант.
    Ответ написан
    Комментировать
  • Занятия по робототехнике для школьников должны быть платными или бесплатными?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    За сегодня Вы задали несколько вопросов, и все они медленно подвигают к главному, вот этому.
    Если бы не звучало слов: школа, дети, кружок — то я бы совершенно точно сказал: «Да, занятия должны быть платными». Но так как эти слова звучат, то во-первых: куда делись учителя, которые учили (в том числе меня, в том числе факультативно) всему бесплатно? Я сейчас не о стоимости деталей и Вашем желании выйти из минуса, а о желании зарабатывать на этом. Но оставим этот философский вопрос, не мне Вас критиковать, я детей ничему не учу.

    . . . в одной московской школе

    Как именно у Вас налажены отношения со школой, каким образом Вы проводите оплату часовых занятий? Ведь Вы же не можете брать с учеников плату, не делясь со школой, которая предоставляет Вам помещение (если я все правильно понимаю), соответственно, каким образом будут эти отношения оформлены в будущем? Если Вы начинаете зарабатывать на этом хобби — Вам необходимо абсолютно прозрачно оформить отношения и со школой, и с родителями детей. Это вопрос законности данного бизнеса.
    А второй вопрос: рынок. Что он Вам скажет? Найдете ли Вы своего ученика, если цена увеличится.
    В общем-то, если все будет сделано как надо, то почему нет? Вы не должны расплачиваться своим свободным временем и знаниями за нежелание/отсутствие возможности родителей занять своих чад чем-то интересным.
    Ответ написан
    4 комментария
  • Стоит ли рассказывать хабру-сообществу о своём проекте - кружок робототехники Информатикум?

    sim3x
    @sim3x
    Да, только не надо упоминать слово стартап
    Ответ написан
    Комментировать
  • Регистрация стартапа - ООО/ИП/ОАО?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Если есть компаньон, то ИП отметается сразу - будут проблемы если не сможете договориться, а пакета акций как такового у оного нет. Хотя он самый дешёвый - юристы делают под ключ за пару тысяч, налоги минимальны и просты, не требуется юр. адрес, так как это не юр. лицо. Со всеми выходящими отсюда последствиями - и с кредитами будет сложно, и с инвесторами, и с почтой, и с наймом... То есть не столько сложности, сколько ограничения.

    Об ОАО, ЗАО можете тоже не думать. Регистрация может быть очень дорого, требуется платить колоссальные налоги и вести не хилую отчётность. Ну и само по себе акционерное общество предполагает вкладчиков... Разве только у Вас есть добрый инвестор, которому можно доверять и который всё (почти всё) сделает за вас.

    Ок, получается самый простой вариант - ООО. Там всё относительно просто - требования на самом деле очень просты. 10к уставного капитала и юр. адрес. Причём 10к может быть сделано примерно так: приходите с другом со своими стульями, смотрите на стулья друг друга и пишите, что это прекрасный стул античной древности и каждый из вас оценивает их по 5к. В общем и целом так можно и с ОАО и ЗАО, но там к этому ещё стопка требований, да и уставный капитал поболее.
    Ответ написан
    1 комментарий
  • Законно ли заниматься веб разработкой без уплаты налогов?

    leshqow
    @leshqow
    -l-
    Вы можете работать как физическое лицо и брать оплату за свои услуги, до тех пор, пока Вами не заинтересуются работники налоговой, но скорее это произойдет по жалобе недовольного клиента. В этом случае Вы должны будете оплатить 13% от полученной суммы + штраф и пени (они незначительные, зависят от срока давности получения оплаты). Может наступить и уголовная ответственность (ст.171 УК РФ - незаконное предпринимательство), в случае если Вы нанесете ущерб или получите доход на сумму свыше 1,5 млн руб. Но это надо еще доказать! На Вашем месте я все же зарегистрировалась как ИП с упрошенной системой налогообложения, договора с клиентами оформляла бы как договор возмездного оказания услуг. Типовую форму подобного договора Вам нужно разработать в любом случае станете Вы ИП или нет, причем подробную со сроками выполнения работ, порядком предъявления претензий, гарантией и пр.

    Аналогичный вопрос на юр. ресурсе www.yurist-online.net/question/19946
    Ответ написан
    Комментировать
  • Ведется разработка в git репозитории, как поддерживать sql структура в актуальном варианте?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Миграции. Каждое изменение базы данных - делаете миграцию. Никакого изменения структуры базы вручную, написали миграцию, написали up/down оной и вперед накатывать и если что откатывать. Так же первоначальный дамп базы можно сделать как первую версию. То есть база с нуля должна разворачиваться миграциями.

    https://github.com/robmorgan/phinx - советую вот эту реализацию.

    Так же стоит реализовывать изменения БД так, что бы новая версия не ломала старую. Не нужно просто так удалять поля из базы, или таблицы. Только если без этого вот никак. Это позволит вам потом автоматизировать и процесс деплоя с откаткой изменений, но вам придется начать думать при проектировании БД.
    Ответ написан
    Комментировать
  • Как оптимизировать код?

    fornit1917
    @fornit1917
    Выносите часть кода в отдельные функции, чтобы не углублять сильно уровень вложенности.
    Ответ написан
    Комментировать
  • Какой выбрать банк для р/с ИП и вывод денег с зарубежных фриланс бирж?

    Если вопрос еще актуален, мне очень нравится работать с банком Авангард. Все очень удобно и оперативно. Все делается через интернет-банк. С валютным контролем никаких проблем не было. Правда, я работаю не через фриланс биржи, а с конкретной американской компанией - есть договор, подписываются акты и т.д.
    Ответ написан
    Комментировать
  • Пул для tcp сокетов, или как использовать один сокет в двух приложениях?

    tsarevfs
    @tsarevfs
    C++ developer
    Я бы сделал один инстанс хостом, взаимодействующим с удаленным сервером а остальные могут получать данные от него через локальные сокеты или каким-то другим способом.
    Ответ написан
    1 комментарий
  • Как посчитать свою профессиональную стоимость?

    faxenoff
    @faxenoff
    UX designer
    Определите ту цену, работать за которую вам комфортно. И не падайте ниже её. Если получится договориться о большей цене, то это будет как бонус.

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

    @vetalmatitskiy
    testing engineer
    зачем для предпринимательства что-то регистрировать? изучаешь курс Стивена Бланка, находишь пользователей которых будешь удовлетовярять, удовлетворяешь. и если этот процесс регулярно приносит осязаемые деньги - то лишь тогда начинаешь возню со всякими регистрациями
    Ответ написан
    Комментировать
  • Отмена банковской тайны: открывать ИП или нет? И каковы особенности работы в белую с зарубежными клиентами?

    @insekt
    По поводу налогов и ИП вот хороший сайт ip-nalog.ru
    Навряд ли иностранцы примут ваш вариант, они захотят контракт по юр. законам их страны. Мне контракт сделал сам работодатель. Все было записано с их юр. точки зрения, все споры в их суде. Все, даже незначительные корректировки с моей стороны были отклонены. В итоге хорошо все обдумав, подписал, проблем не было.
    Ответ написан
    Комментировать
  • Как посчитать свою профессиональную стоимость?

    Alexufo
    @Alexufo
    противоречивый, сложный, весь компьютерный.
    Существует ли у человека ( бесконечности ) цена (обусловленность) времени его действий в аренду? Сколько людей на огромных зарплатах ничего не делают, а мы стесняемся измерять свою индивидуальность в рублях, как бы не завысить, или как бы не обидеться на несправедливый мир.
    Человек - индивидуальность. У нее нет цены, мы себя продаем по обоюдному соглашению. Нас кто-то может целовать и платить кучу бабок за снятие процесса зависшего диспетчера в месяц, кто-то унижать за кучу работающего реально сложного кода. Мы просто так договорились. Понятно, что никто не может платить миллионы в месяц за какую то работу. Цена как то немного регулируется спросом.

    Если в вашей индивидуальности есть наглость, претензия большой своей значимости в этом мире, вам повезло. Вы будете требовать и требовать, менять работу и искать признание...
    Но разработчики чувствуют в основном скрытого бога в своей работе. Идеальный паттерн или язык программирования он какой? Эти раздумаья нам говорят что наша значимость тут не шибко важна, есть вещи куда интереснее. Но без эго в нашем мире копейки не дадут. Голодный художник только при Хрущеве был в тренде.
    Ответ написан
    Комментировать