• Какой самый продвинутый wysiwyg редактор?

    То, что вы описали — функционал CMS, а не визвига.
    Ответ написан
    Комментировать
  • Почему все скептически относятся к MongoDB?

    @nirvimel
    Во-первых, я не отношусь к NoSQL скептически. Я считаю, что у таких продуктов большое будущее на рынке. Потому, что для них существует огромная ниша, которую они только начинают занимать. В свое время PHP занял такую нишу в качестве массового языка для веб-разработки, хотя многие относились и относятся к нему скептически, и это даже мягко сказано.

    Во-вторых, что касается проблем NoSQL. Его главная проблема - та задача, которую он пытается решить.
    Итак, у нас был старый добрый RDBMS, которому приходилось исполнять сложные запросы, комбинировать данные из разных таблиц. Это и была причина его торможения. Поэтому перед ним ставили всякие redis, memcached и просто внутренние кеши приложения. И это решало проблему быстродействия.
    Потом появились парни в розовых кедах и сказали: "Зачем такая сложная архитектура? Поменяем все это на ОДИН сервер, который будет хранить объемы как oracle и отдавать со скоростью memcached". Это решение выглядело как полностью аналогичное предыдущей схеме, но с меньшим количеством деталей. Аналитики и бизнес ухватились за это и возвели NoSQL на трон, а предыдущий стек технологий отправили в корзину. Все казалось замечательно. Но при этом упустили всего одну мелочь - данные в NoSQL хранятся не в Нормальной форме, и это неотъемлемое свойство технологии не возможно исправить.
    Чем опасно хранение данных не в нормальной форме? Это начали понимать по мере разработки. Когда структура базы подогнана под запросы, эти данные выбирающие, и когда в процессе разработки возникает необходимость выбирать данные как-то по-другому, приходится создавать новые структуры, под новые запросы, то есть ДУБЛИРОВАТЬ ДАННЫЕ. Вот с этого момента эротический сон превращается в кошмар. Когда данные пишутся в одно место, то они тут же мгновенно (или не мгновенно?) должны быть отражены в другом месте. Если производить такую синхронизацию синхронно с записью, то возникают забытые проблемы с производительностью, если асинхронно - то возникают (совсем недавно забытые) проблемы с инвалидацией кешей. Но это - только начало. Следующий кошмар - контроль (ссылочной, например) целостности. Вся грязная работа, которой раньше занимался движок RDBMS, опять ложится на плечи прикладных кодеров. В итоге наступает момент, когда усложнять логику, контролирующую работу с базой (раньше о такой необходимости даже не слушали) становится дороже чем выбросить весь проект в корзину и переписать все обратно на нормальную RDBMS. И тогда приходит философское понимание того, почему эту классическую форму данных в науке называют НОРМАЛЬНОЙ.
    Ответ написан
    2 комментария
  • Почему так сильно подорожали аккаунты pro на российских биржах фриланса? С чем это связано?

    @protven
    Замечательные владельцы фриланс-бирж подмигивают и намекают нам как могут. "Бегите, бегите вы из этой страны". xD
    Ответ написан
    Комментировать
  • Действительно ли Ruby сложнее PHP/Python? Если да, то почему?

    @thepry
    Ruby on rails, 1С разработчик
    Чем рубин сложнее, например PHP, JS?


    Мне не кажется сложнее, учитывая, что код в руби ведет себя предсказуемо.

    Куда потом двигаться дальше?

    Подтянуть весь стек веб разработки - git, sql, js с фронтенд фрейморками(backbone, react...).

    Вакансий в этой сфере относительно мало, работодатели ищут сразу сеньоров.

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

    Я для себя как-то сформулировал правило - человек должен отправить 100 откликов на вакансии прежде чем жаловаться на то, что «работы нет».
    Ответ написан
    Комментировать
  • Include скриптов сайта через index.php, нормально ли это?

    Это называется "роутинг" погуглите это слово, во фреймворках он встроенный, но можно и самописный написать.
    Да это нормально, считается современным, продвинутым подходом.
    Ответ написан
    Комментировать
  • ООП в высоконагруженных проектах считается устаревшим?

    miraage
    @miraage
    Старый прогер
    Мужик дегенерат, однозначно.

    // EDIT

    Посмотрел прикрепленные исходники. Закапал святую воду в глаза.
    Выкиньте это всё, покажите ему, например, PHP: The Right Way.

    Я бы на Вашем месте уволился, незадумываясь.
    Ответ написан
    Комментировать
  • Расскажите про ваш опыт с файловыми системами для мелких файлов?

    65536
    @65536
    я вот так раскладываю
    b445816de05cb28c2fb8990cb11a6b3d.png
    заодно идентичные можно хранить 1 раз

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

    Как начал много зарабатывать стал больше хавать
    А также меньше двигаться
    Как результат - +12кг за 5 лет (но за компом сижу только 2 года, до этого работал эникейщиком). Причём я не пью и не курю.. За 2 года сидения за компом также начала искривляться спина.

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

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

    Хотя есть люди, которые также лет 5 едят фастфуд, пьют пиво, курят и как были в форме так и остались, причём это не спортсмены. От обмена веществ очень много зависит ещё, я вот к чему.
    Ответ написан
    Комментировать
  • Есть ли кроссбраузерная поддержка для transform?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    Нет! Если это Css3 свойство, каким образом вы хотите что бы оно заработало, например в старом ie?
    Ответ написан
    Комментировать
  • Какие разделы английского стоит выучить для фриланса?

    @heartdevil
    плыву как воздушный шарик
    Учите сугубо ИТ английский.

    Открою секрет.

    Сидите часто на stackoverflow и читайте самые популярные вопросы и ответы от крутых разработчиков (владеющих отличным английским). Там легко понять уровень английского по ответам и вопросам. Это поможет не только "вариться" в своей среде, но и "вариться" по-английски. Запоминайте структуру сложных вопросов. И как они вообще подготавливаются. Далее смотрите, как на них отвечают. Зачастую, всегда просят описать задачу. Что, собственно, на самом деле и происходит на фрилансе. Далее, просят уточнить некоторые моменты. Затем постят свои решения с описаниями. Тут тоже нужно уделить внимание на подготовку ответа. Часто, конечно, это просто код)), но вам никто не запрещает, к примеру, спросить уточнения (не для понимания кода или алгоритма, а для понимания того, как разработчик будет разжевывать вам ответ на английском ;-)), если самолюбие позволяет)). Можете даже выписывать отдельные словосочетания, которые они применяют. К примеру, создал массив, присвоил значения переменной, пробежался циклом по массиву, создал класс, имплементировал интерфейс, перегрузил чего-то там и так далее.

    В таком ритме быстро научитесь понимать вопросы на английском и умело отвечать, но все это письменно. Разговорный вам может понадобиться, если клиент будет часто по скайпу вам названивать. Его освоить в разы сложнее. Поэтому можете честно заявлять клиенту, что уровень пока у вас не позволяет вести разговор. А там все от клиента будет зависеть.
    Ответ написан
    3 комментария
  • Какую СУБД лучше выбрать?

    voidnugget
    @voidnugget
    Программист-прагматик
    Эмм... для начала нужно выучить мат часть и разобраться что такое B-tree и R-tree и как они фигурируют в современных СУБД, разобраться что такое "6ая нормальная форма" (второй курс универа).

    Если это мускуль у которого "бесконечная длинна" таблички - от 200Гб и до 1Тб, то достаточно просто использовать ENGINE ARCHIVE c R-tree индексом. В противном случае (если меньше 200Гб) нужно (учить мат часть и вправлять мозги) рефакторить базу. Лучше слезть с MySQL на PostgreSQL, а вот c MongoDB - куча проблем. Стандартные СУБД на основе B-tree для баз от 200Гб+ не подходят. MySQL исключение из-за модульности системы хранения, имеется ввиду ENGINE ARCHIVE, но так как там нет T-tree - нужен нормальный кэш. PostgreSQL даже похуже будет - нужно ковырять различные расширения типа cstore_fdw и т.п.

    uint64 ID'шник в виде хэша - очень спорное решение, даже если и предположить что в какой-то вселенной нет коллизий, то точно не в этой, и дополнительно нужно прогонять фильтр Блума. Хотя, лучше всего, просто использовать композитные ключи и не заморачиваться.

    Можно ещё попробовать HBase в Apache Phoenix обернуть, там уже есть всё готовое - и фильтр Блума и индексация, можно даже X-tree оформить. HBase, кстати, хорошо масштабируется на запись, а Cassandra, наоборот, - на чтение.

    Шардинг (партицирование) и репликацию нужно оформлять когда схема хорошо нормализирована, и когда более-менее ясно какие таблички нужно масштабировать на запись, а какие на чтение - где-то нужен CA, где-то CP, а где-то AP... (CAP теорема)

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

    @Gettoheaven
    Автор я конечно не Брюс Ли и не Крутейший какой-нибудь фронтэндер. Скажу так:
    1. Детский инстинкт: все и сразу (забудь об этом)
    2. Это упорный труд.
    3. Обязательное удовольствие от изучения, работы.
    4. Обязательное физическое развитие ( спроси у любого, он кивнет тебе)
    5. Медитация ( это тяжело, но если поймешь тему все ключи будут в кармане)
    6. Наконец же пойми себя, никогда не поздно это сделать. К чему ты тянешься, что любишь. Возможно ты до сих пор не знаешь себя.
    7. Взлеты и падения: у всех они свои и ты не один такой. Нужно уметь пережить такие моменты.
    8. Я видел много веб-программистов у которых стаж с 2006 года(делай свои выводы)
    9. Не теряй времени, иногда кажется что ещё все впереди и времени фигова туча, на самом деле это мираж.
    10. Не грызи слишком себя, иногда это совсем не нужно.
    Ответ написан
    3 комментария
  • Как вернуть мотивацию к обучению?

    Zifix
    @Zifix
    Barbatum
    Попробуй написать какой-нибудь полезный проект, где будут применяться новые знания — вот и результат.
    s_curve450.gif
    Ответ написан
    1 комментарий
  • Как переписать структуру таблиц или запросы, чтобы работал индекс для моих выборок?

    @ollisso
    Для начала объясню почему индексы в вашем случае не работают и не могут работать.

    > OR links.domain LIKE CONCAT(sites.domain, '.%')

    CONCAT - это функция, и вы работаете с результатом функции.
    Т.е. получается что в вашем запросу нужно:
    1. выбрать все строки из links
    2. подсодеденить к каждой строке по sites.domain или sites.domain результат фунции.
    => нужно посчитать каждую строку каждый раз.
    Это очень много.

    что я бы сделал:
    1. создал таблицу доменов
    в ней:
    id | main_id |domain
    1 | 1 | com.youtube
    2. | 1 |com.youtube.www
    3. | 1 |com.youtube.subdomain


    Во всех таблицах - перешёл бы на этот ключ.
    2. тогда ваша выборка сокращается до:

    SELECT links.id, links.url, sites.id AS site_id, sites.description 
    FROM links
    LEFT JOIN domains ON links.domainId = domains.id
    LEFT JOIN sites ON sites.id = domains.main_id

    (смутно понимаю что вы хотели в этом запросе, поэтому уж не обессудьте :) )

    Т.е. основной посыл:
    переходите на int- ключи

    PS: Так же это называется нормализация базы данных. Хранить много одинаковых строк - это плохо.
    Ответ написан
    5 комментариев
  • Как правильно переделать систему хранения высоконагруженного сайта?

    @DobriyJuk
    Сетевой инженер, системный администратор
    Распределенная ФС - ваше все. Как мне видится, из бесплатных вариантов, вам идеально подойдет Ceph. Но бесплатна она относительно, по скольку там есть некоторые требования по серверам. Точнее, по их кол-ву. Плюс, если скорость доступа к данным важна (само-собой), то всякими примитивными Файбер Ченнелами вы здесь не обойдетесь. Но это уже не особенности ФС, а просто здравый смысл. Сама ФС будет прекрасно функционировать даже на FastEthernet.
    Ответ написан
    7 комментариев
  • Стоит ли париться за престижный диплом?

    @Siroque
    Я отучился 5 лет в Российском вузе и 5 лет за бугром, в Германии. Так что, думаю, глупости не скажу.
    Всё зависит от ваших целей. Хотите стать специалистом, которому не стыдно переступить порог и больших и малых компаний? Или хотите начать "по уму" свое дело? Учиться НАДО.
    Если хотите "кодить за еду" (я утрирую. Peace!) - то вуз вам не нужен, потеряете время.
    И в вашем случае я бы именно рвал опу и пытался бы закончить МИФИ. Зачем?
    1. ЧСВ +100. Тут кто-то назвал ЧСВ от полученного диплома "совковым мусором". Так я бы наоборот, сложившуюся в данный момент ситуацию с деградацией системы образования и обесцененными дипломами назвал бы мусором. В Германии на тебя смотрят другими глазами уже за то, что ты только поступил ВУЗ.
    2. В вузе вы научитесь (если закончите) упорядочивать свои мысли, излагать их устно и на бумаге понятным другим специалистам языком.
    3. Вникните поверхностно во все важные концепты и технологии, понахватаете по верхам знаний из множества доменов, до которых самоучке копать и не вздумается.
    4. Как следует из п.3 у вас будет 5 лет на то, чтобы знакомится с разными доменами и выбрать тот, который вас заинтересует. А то может промучаетесь программистом весь свой век так и не узнав, что у вас талант в области моделирования бизнес и ИТ процессов.
    5. Без диплома есть хорошая вероятность лет через 10 упереться в "потолок". Особенно в иностранных компаниях. Пример тому немец, что на против меня сидит в офисе. Шарит в своем деле не по-детски и рад бы уже рулить проектами, но дипломом в свое время не обзавелся. Жалеет теперь.
    6. Очень часто преподаваемый в вузах материал называют устаревшим еще вчера. Это так, да не совсем. В вузе вам не будут преподавать angular и вряд ли вы будете писать мобильные приложения. Но (вдруг) и задумка не в этом. В вузе вам дадут теоретическую основу, которая поможет вам в будущем не только понять, как использовать angular, но и как его не использовать. У вас вдруг появится понимание, что angular, MVC, .NET, Agile, UML, NoSQL и т.д и т.д. это не более чем иструментарий и лучше знать, когда какой инструмент применить чтобы прийти к конечному продукту наикратчайшим путем, чем быть ниндзя в каком-то одном инструменте/фреймворке/технологии.
    7. Если повезет с профами, то услышите много баек из продакшена.
    8. Если еще больше повезет, то встретите в универе человека, который станет вам наставником.

    Само собой, МИФИ по всем описанным пунктам уделывает "Дубну". Вот и решайте, надо оно вам или не надо. Если вы хотите поддержать тенденцию на получение корочек "в стол" - ради Бога. Но если собираетесь именно учиться, то делайте без компромиссов. Да, если идти именно учиться, а не отбывать номер, то будет трудно. Труднее чем "самоучкам". Но в конце концов оно того стОит, ведь цена диплома для тебя лично это то, что именно ты сделал ради того, чтобы его получить.

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

    Вот как-то так. Но, наверное, самый большой минус в отсутствии диплома / учебе в средненьком вузе при возможности обучения в ТОПе - та мысль, которая будет подкрадываться с каждым годом всё ближе - "А что было бы если..."
    Ответ написан
    2 комментария
  • Стоит ли париться за престижный диплом?

    @anelyubin
    “Always be the worst guy in every band you’re in. - so you can learn. The people around you affect your performance. Choose your crowd wisely.” ― Chad Fowler, The Passionate Programmer

    Я думаю, не надо переводить? А если надо, то поступай в Дубну и оставайся никем.
    Ответ написан
    Комментировать