• Как мапить реляционные связи в JSON?

    @larionov_n Автор вопроса
    Приглянулась эта библиотечка для Python: https://github.com/beregond/jsonmodels - думаю определить модельки в коде и уже собирать через запросы в API эти объекты
    Ответ написан
    Комментировать
  • Область применения C, C++, C#?

    @larionov_n
    GameDevelopment - Enterprise.
    System Programming.
    Compilers Programming.
    Unix command line tools programming (streaming, sockets, wan, lan).
    Optimizations.
    Software Development (DB, OS, Hardware Drivers, IO, etc)

    Учитесь лучше :) не ассемблер же дают.
    Ответ написан
    Комментировать
  • Как обратиться через this к переменной из вложенной функции?

    @larionov_n
    Использовать call, apply
    Ответ написан
    Комментировать
  • На чем писать Rest API?

    @larionov_n
    Я пишу REST-API на Python, Java. Сейчас работаю над проектом где применяется nodejs Koa и видел что есть koa-rest 30 Миллионов записей обрабатывает шустро, на уровне Python Tornado. Для проверки течки памяти используйте Memory Leack Detection. Koa - разработан авторами express. Нагрузочные тесты из-за yield архитектуры держит хорошо.
    Ответ написан
    Комментировать
  • Какой игровой/физический 2d движок на javascript выбрать?

    @larionov_n
    www.cocos2d-x.org/wiki/Cocos2d-JS Наиболее готовое к использованию решение. Pixi.js - Если только нужна графика, без логики, физики. Phaser - ну это только аркадные игры. Изометрическую рпг с крутой логикой будет сложно на нем написать.
    Ответ написан
    Комментировать
  • Какой js фреймворк лучше использовать для выделения терминов в предложениях?

    @larionov_n
    Понимаю что мой ответ не будет решением, но мне кажется что вы фантастику какую-то просите. Как минимум тут уже требуется полнотекстовый поиск, а для его работы с большими данными подойдет только Sphinx. Причем что нагрузить хотите клиент, у которого может быть 2GB памяти или 16GB. Сложность алгоритмов решающие вашу задачу высокая в любом случае. Да и реально выделять такие слова можно только через Machine Learning с огромным слоем математики. Все остальное это довольствие правильным синтаксическим деревом.

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

    @larionov_n
    Почитайте биографию и труды Готфрида Вильгельма Лейбница. Все что можно узнайте о этой магической личности, возможно на математику после этого с другой стороны посмотрите. У вас конечно планы грандиозные, но цели для которых эти планы строятся - не видно. Поэтому мне сложно вам что-то сказать, я хочу идти учиться на ВМК МГУ. А работаю программистом 5 лет, я приблизительно понимаю, что мне даст такое образование и что нечто удивительное я смогу переводить в собственные программы. У меня есть очень много знакомых уже бабушек и дедушек с мат. образованием, одни были учителями, другие просто застали период перфокарт и огромных компьютеров, третьи стали профессорами. Но все в итоге с возрастом загнались поиграть в семью. А профессия математика, достаточно долгая история по затратам времени и без востребованного с точки зрения бизнеса, науки, общества - мало оплачиваемая. Так как платят за прикладную и за точные результаты, которые передней ставятся. Для общего развития, как прикладное умение - полезно, но не достаточно для крутизны. А набрать крутизну в прикладной математике ну лет 5-7. Научиться программировать тоже лет 5. Стать врачом лет 10. Задумайтесь какие у вас цели... Самостоятельно оцените перспективы. Мне кажется истинный математик, способен ответить на все ваши вопросы самостоятельно. А так кажется что вы просто прикидываете и страдаете романтикой перед сложным выбором.

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

    По поводу информатики, вот читаю и понимаю что я похоже плохо знаю информатику, хотя я программирую и вроде бы знаю все о железе, представляю как работает BigData. Но, такое ощущение, что информатику вы как-то буржуазно воспринимаете, это просто теория о информации. Тут программирование далеко. А если брать образование, то скорее общей прикладной сферой задач информатики являются: Хранение, обработка информации, защита информации. Что является малой частью Computer Science. Так как обрабатывать информацию вам учебники Кнута больше помогут и математика, чем просто какие-то отдельные ветки информатики. Да в российских вузах ее изучают поверхностно, а в Standford это скорее обозначение Computer Science, чем отдельной науки.

    По поводу экономики, да прикладной матан, мат анализ, статистика, теория вероятностей, чисел - открывают дороги к аналитики, финансовому менеджменту, просто удобной и умной работой над бумажками. Но... у меня как раз диплом экономиста, я с уважением отношусь к Марксу, Адам Смиту и прочим экономическим героям. Бытие, ну тут все от человека зависимо, один как художник найдет применение сухим мат.законам и аппаратам и будет инвестировать, поднимать, создавать. Причем он будет всегда творить деньгами, здания, компании, ценные бумаги и ему это будет нравиться. Другой будет сидеть в 1C создавать годовой отчет или оценивать налоговые сборы и бюджет гос учреждения за год и ненавидеть свою работу. Третий просто возмет гуманитарную математику из вуза применит пару давно всем известных теорий и формул и посчитает окупаемость предприятия, его финансовые показатели, статьи бюджетов и будет доволен что знает математику.

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

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

    И кстати зачем Германия? МГУ Мехмат, покруче будет я думаю :) И математики столько будет, что немцы сами потом еще позовут.

    Да и лучше перед тем как делать такие грандиозные шаги, сходить в МГУ там могут протестировать проф пригодность, я сколько с математикой не бьюсь, понимаю что образ мышления у меня не математический, а скорее интуитивный и креативный, это конечно не мешает математику изучать, но прорыва в этой области мне точно не сделать.

    Кстати примеров кто мат. карьеру успешно построил, с точки зрения применения своих знаний: Касперский, основатели Google, Yandex, почти у всех мат образование. Просто в нужное время в нужном месте оказались...
    Ответ написан
    2 комментария
  • Какие знания необходимы перед изучением php фреймворка?

    @larionov_n
    Попробуйте подумать, что у вас есть данные и вам нужно их обработать, чтобы получить результат. ООП - это просто инкапсуляция в капсулу методов для обработки данных объекта и капсула эта называется Объект, прототипом которого является класс. Могу сказать что вначале недостаточно ООП. Нужно и технологию программирования освоить и структуры данных знать - хотя бы основные, математику школьную.

    Помимо еще и специфику, PHP - это Backend, а он впервую очередь получает запрос от клиента, обрабатывает его, если нужно запрашивает из BD нужные данные и возвращает ответ.

    Соответственно: На какие вопросы надо ответить чтобы решать эти задачи в виде данных? Получить запрос (Обработать запрос (Что за запрос, удаление, апдейт, создание или фильтр какой, посмотреть его входящие параметры, прочитать HTTP заголовки, запрос можно классифицировать сложным URL адресом, который в свою очередь можно классифицировать и соотнести к какой-то реально сущность book/1?new=true&filter=asc, соответственно есть у вас есть Front Controller - то запрос по книжкам можно отнести к контроллеру Books (А контроллер часть паттерна MVC, контроллер будет работать с моделью, модель может напрямую общаться с BD или передаваться какому-то сервису который общается с BD (ORM, SQL with Driver). Соответственно вы в модели запрашиваете данные, проверяете данные, обновляете, внедряете бизнесс логику и только когда это сделали, возращаете данные готовые для пользователя, но только данные пользователю не интересны, вам нужно обернуть данные в HTML, проставить значения, интегрировать в верстку, тут уже приходят на помощь вьюшки, шаблонизаторы, так как ответ может быть не HTML, то модель нужно сериализовать в JSON. Соответственно все эти объекты у которых есть данные имеют методы для работы со своими данными. А общение между объектами путем отправки друг-другу сообщений (petya.give(beer, vasya). Отношение между ними будет осуществляться либо вложение объектов в друг-друга (композиция), либо копированием свойств между объектами (иерархия, наследование). Определять то что умеет объект, будет его интерфейс (где уже вступают в силу модификаторы доступа).

    Соответственно кратко:

    Обработка данных внутри методов (Алгоритмы и структуры данных)
    Общение между объектами ООП (Объектно ориентированное программирование)
    Архитектура приложения на уровне объектов (Дизайн паттерны, композиция, агрегация)
    Выполнение последовательных операций (Императивное программирование)
    Получение A и превращение A в B с хитроумными сплетениями (Функциональное программирование)
    Выполнение двух операций одновременно и синхронизация между ними (Параллельное программирование)

    Удачи!
    Ответ написан
    Комментировать
  • Какие JS-фреймворки нужны начинающему?

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

    Без хорошего знания чистого Javascript, хороших практик программирования, дизайн паттернов, простейших структур данных (Хотя бы стек и очередь, максимум деревья и графы). Так-же в основе языка еще и мат.база, взять функциональное программирование на JS (Каррирование например + сложное применение map, reduce вместе). Добавим сюда еще принципы проектирования и опп, DRY, TDD. Что получиться в итоге? Вам нужен PubSub, а вы берете фреймворк его реализующий с миллионом методов - которые вы не будете использовать, но будете думать а куда бы еще прикрутить ее, в следствии чего в пьяном бреду можно нагородить огород библиотек и не узнать как написать свою :)

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

    В основе того-же Backbone (Лежит Model View Controller) Иерархия классов, евенты, pubsub. Ember (Two-way databinding, services). AngularJS(NO DOM Manipulation, Services, DI, TwoWay Databind). React (Shadow Dom, JSX, ES6, Views).

    Надеюсь помог.
    Ответ написан
    Комментировать
  • Как сделать выпадающий список с добавлением новых элементов?

    @larionov_n
    Ну так у вас где-то есть коллекция значений Combobox, когда вы обновляете коллекцию она обновляет storage Combobox. Какая тут еще может быть связь... Использовать можно Kendo UI. JqxWidgets. Так они вроде умеют, судя по просмотру ссылки. Еще более проще использовать AngularJS. Two Way DataBinding. С его помощью и веб эксель можно сделать.
    Ответ написан
  • Что быстрее PHP или Node.js?

    @larionov_n
    NodeJS - Внутри движочек от Google V8. Я думаю там на низком уровне все более оптимизировано, чем ранние версии PHP. Benchmark. Более реальный пример. Возможно ответ. Но, догадываюсь что еще быстрее будет GO :)
    Ответ написан
    Комментировать
  • Возможно ли присвоить функции вертикального скролла на горизонтальный?

    @larionov_n
    Посмотрите API браузера, особенно events. И ответите на свой вопрос.
    Ответ написан
    Комментировать
  • Насколько глупое решение, бросить все и начать новую IT карьеру в мегаполисе?

    @larionov_n
    Из востребованных направлений: Frontend (NodeJs, RIA SPA, RealTime App, Isomorphic) - В Москве в питере мечтают найти нормального специалиста от 100к зп). Java (Big Data, Machine Learning, Java EE (Hibernate JPA (WEB), Processing (Activity), Playframework, Spring, GlassFish) - В москве Middle Developer от 100к. C++ (OpenGL, OpenCL, Системное программирование, сети, оптимизация) от 100к.

    В чем собственно вопрос? Вы смотрели рынок? HH.RU? Зачем использовать PHP который в 60% используется в интернет магазинах, соц-сетях, сайтиках?

    Если есть математическая база, то можно заниматься спокойно графикой, моделированием процессов, нужна в основном (Линейная алгебра, дискретная математика, тригонометрия, численные методы). Причем эти знания так-же помогут и в области разработки интерпретаторов, компиляторов (Добавиться теория множеств, рядов, булева алгебра), используемые ЯП (C, C++). Так вообще можно и стажером в НИИ какой-нибудь от 60-80к пойти. Опять же если с математикой все окей, то это прямая дорога к опыту использованию и анализу алгоритмов, структур данных на очень хорошем уровне, спортивное программирование открывается для вас.

    Я так думаю вы не спешите рисковать, пробывать, изучать и не знаете себе цену. Впервую очередь надо с этими вопросами разобраться и научиться оценивать информацию самостоятельно и принимать на ее основе взрослые смелые решения.

    Например у меня аналогичные мысли про силиконовую долину, GameDev. Сижу математику изучаю, язык, рынок, компании которые могут быть в будущем потенциальным работодателями, законы страны, рынок труда, книжки читаю о том как пройти собеседование на позицию С++ инженера. И думаю не о зарплате 100к рублей в месяц, а 100к килобачей в год. Но не спешу действовать, так как есть семья, ее тоже придется за собой вести. Пока у вас семейных ограничений нету, советую не медлить, а укреплять свою жизненную, гражданскую позицию, получать интересный опыт и решать самому задачи дома, а не ждать пока вы придете в компанию и вам придумают интересную задачу за интересные деньги.
    Ответ написан
  • Как сделать что бы при клике на блок менялось содержимое другого блока?

    @larionov_n
    Если использовать ООП и нормальный подход, то:

    1) Создать модели для каждой сущности
    2) Создать шаблоны или View - которые будут реагировать на изменения в моделях и рендерить представления, вызывая нужную бизнес логику через метод модели для калькуляции другой цены или запроса ее с сервера.
    3) Использовать Publish/Subscribe, отправлять сообщения другим объектам (блокам) по клику или действию пользователя.

    OneBlock.publish('eventName', data);
    AnotherBlock.subscribe('eventName', function(data) {
       calculatePrice()
       showSomethingInAnotherBlock()
    });


    Использовать можно: Ember, React, Backbone, Radio, Marionette, ну и конечно VanillaJS :)
    В общем проще когда на странице есть отдельные js объекты представляющие блоки и содержание, еще лучше если в проекте внедрена шина Radio. На клики подписываем triggers, fireEvent. Если все делает Backend, то вызывать через JSONP подобные callbacks.
    Ответ написан
    Комментировать
  • Почему не работает pip в virtualenv?

    @larionov_n Автор вопроса
    Я так понимаю на Mac OS симлинками ресурсы встроенного питона, каким-то умным образом линкуются, итд. Зря я пытался что-то лишнее делать с питоном который на маке как зависимость OS X. Совет всем, не удаляйте и не модифицируйте установленный на мак питон. Переустановил систему, все заработало, он восстановил симлинки, конфигурацию пакетов итд. Если через brew ставили, brew reinstall python - возможно поможет. Но лучше использовать virtualenv и враппер для него.
    Ответ написан
    Комментировать
  • Опыт, практика в JS?

    @larionov_n
    Совершенно нормальная ситуация, я 4 года с языком работаю и спустя это время понимаю четко, что я знаю как он работает ну... процентов на 20%. В эти проценты я добавил: кроссбраузерность, nodejs, транслируемые языки, шаблонизаторы, библиотеки, фреймворки, события, паттерные проектирования, плагины для браузеров, ооп, алгоритмы, dom, polymer, виртуальные машины которые тот-же C++ в JS переводят, Coffee, TypeScript, ES6, gwt, геймдев nosql - базы, mongodb, npm плагины, визуализацию данных, canvas, svg, web-gl. Это я так малую часть привел, где он используется и что значит для меня JS. Я использую C#, C++, JAVA, Python (Но по каждому вспомню максимум до 10 тегов). Но JS много ассоциаций у меня вызывает). Так что вы точно поторопились с собственным убеждением, что вы знаете язык, синтаксис возможно, я тоже могу сказать что знаю в таком случае великолепно C++.

    По делу:

    Коммерческий опыт хочу:

    Сформируйте JSON объект данных (пользователей), используете его и почитайте про паттерны и поставьте себе задачу - управлять массивами пользователей (Удалять, Создавать, Обновлять). Сделали? Нарисуйте UI HTML+CSS+BOOTSTRAP, добавьте события на ваши кнопки, к уже реализованными методам. Работает? Скучно? Сделайте это на Backbone, Angular, React, Ember, Knockout. Получите маленький такой опыт приближенной к обычному процессу front-end разработки в коммерческом проекте. Дальше ORM на клиенте, REST_FULL, построение больших приложений.

    Забавный опыт хочу:

    Для начала напишите комикс на JS + JQUERY.

    1) Напишите свою игру, например морской бой. Сложно? Возмите фреймворк, почитайте исходники, выучите его API - напишите свой платформер - это просто, очень!

    2) Любите музыку? HTML5 AUDIO API в помощь, синтезируете звуки с помощью JS. Напишите пианино в браузере, есть примеры кода в инете где это делают 47 строк кода.

    3) Веб чат + AJAX - полезно при одновременном обучении PHP и JS. Напишите чатик, который обновляется, заодно можно и подучить WEBSOCKETS.

    4) Анимация, разбейте картинку на 8 частей. Допустим руки ноги и голова у робата с разных углом летят к телу, сделайте анимацию по спрайтам, анимируйте с помощью таймеров, с помощью передвижения DOM объектов. Посмотрите что может $.animate().

    Теория:
    www.codeacademy.com
    Книги: Совершенный код, Паттерны проектирования Банды четырех, Гради Буч - ООП.
    Ответ написан
    1 комментарий
  • Где найти работу без опыта коммерческой разработки?

    @larionov_n
    Я начинал в 2007 году с того что устроился в компанию контент менеджером потом вырос до вестальщика спустя двух лет и обучения устроился джуниором потом еще два года и middle, сейчас интересует c++OpenGL, Java backend - пишу свое простое, как напишу серьезнее уйду из web front end в graphics gui. Но требования тут уже не только к технологиям но и к знаниям алгоритмов, математики. А помогало мне найти работу наглость и самоуверенность, иногда писал в резюме то чего незнаю, на собеседовании конечно занижал планку. Но в итоге оказывалось что срочно нужен человек и брали на испытательный срок. Кстати backend уровня яндекс не выдержал и уволили через три месяца, зато понял куда копать и какие есть пробелы.
    Ответ написан
    Комментировать
  • Как научиться разрабатывать игры на HTML + CSS + JS?

    @larionov_n
    Изучите Canvas, возьмите фреймворк для разработки игр, сделайте пару простых игр по аналогии. Нужные области для изучения (Структуры данных, Алгоритмы, Линейная Алгебра, Геометрия, Тригонометрия). Для Opengl (C++, JAVA, Дифференциальная Математика).
    Ответ написан
    Комментировать
  • Почему не работают миграции в django?

    @larionov_n
    Попробуйте django south, но для последней версии django он не актуален.
    Ответ написан
    Комментировать
  • "Для обмена между клиентом и сервером" Есть альтернатива php?

    @larionov_n
    Дело точно не в php. Но если искать альтернативу то: Python (Flask, Django), Javascript(Nodejs + express).
    Ответ написан
    Комментировать