Задать вопрос
  • Crystal, Elixir, Golang. Куда ехать рельсовику?

    Olej
    @Olej
    инженер, программист, преподаватель
    1 комментарий
  • За что программист получает деньги?

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

    w_b_x
    @w_b_x
    Могу посоветовать книгу "Rework: бизнес без предрассудков" от создателей множества полезных инструментов и фреймворков, один из которых: Ruby on Rails
    Ответ написан
    1 комментарий
  • Есть ли нормальные курсы по JavaScript в СПб очно?

    digitalHitler
    @digitalHitler
    Meow.
    Вероятно, я опоздал, но в ИТМО есть отличные курсы по фронтэнду, большая часть часов про JS.
    Ответ написан
    3 комментария
  • Какую систему учета рабочего времени удаленного разработчика использовать?

    @FoxInSox
    Не так давно вышла довольно удобная модель для тотального контроля разработчика:
    slave-cage.jpg
    В ней ему довольно удобно сидеть, и благодаря большим отверстиям его можно кормить и мыть не выпуская из клетки. Так же можно видеть что происходит внутри даже издалека, и при малейшем подозрении можно просто накричать, воткнуть в него что-либо острое, или бросить что-либо тяжелое.
    Ответ написан
    1 комментарий
  • Перспективы у языка GO?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    1) Язык - проще некуда. Его собственно и стали разрабатывать как человеческую замену плюсам.
    2) Огромное количество библиотек, любую задачу можно решить на нём уже сейчас.
    3) Скорость и компилируемость.

    Вот поэтому лично я (и не только я, как выяснилось) считаю его лучшим "общим" языком программирования сегодня, именно Go нужно преподавать в школах вместо Pascal. Он прост для понимания и строг как Pascal, и в то же время прикладной, как Python. Вот пруф: Go как первый язык программирования для школьников

    p.s. ответ не топикстартеру, а всем программистам, кто прочитает. Топикстартер явно не программист и не собирается им быть.
    Ответ написан
    5 комментариев
  • Что такое agile разработка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Методика разработки.

    Waterfall: все тщательно планируем, назначаем сроки, разрабатываем, сдаем.

    Agile: Примерно планируем, анализируем, назначаем конечный срок, планируем на текущую итерацию, разрабатываем, планируем на текущую итерацию, разрабатываем... , сдаем

    Проблемы Waterfall:
    Если кто-то слажал, все ждут. Если нужно что-то добавить, очень сложно, потому что фаза планирования была очень долгой и тщательной и что-либо менять значит надо все менять.
    Если в плане указано, что сперва делаем это, а потом то, может случиться что некоторые люди, которые будут делать "то", будут какое-то время пинать "огурцы" пока ждут что первые люди сделают "это".
    Плюсы Waterfall:
    Все спланировано, все точно знают что когда будут делать.

    Проблемы Agile:
    Люди должны быть достаточно зрелые, чтобы нормально загружать себя работой - Agile в бюрократической среде просто провалится.

    Плюсы Agile:
    Практически нет простоя ни у кого - все всегда могут занять себя задачами.
    В случае появления новых требований, их можно без особого вреда ввести в проект почти на любой стадии. Главное чтобы технически это было возможно (в случае waterfall проблема именно на уровне утверждений и плана, то есть бюрократии)
    Адекватное использование рабочей силы - если у кого-то нет текущих задач, его официально можно занять под другие проекты.

    Agile это не сверхфича, это инструмент, точнее подход к планированию работы, но им нужно уметь пользоваться.
    Ответ написан
    Комментировать
  • Лучший дистрибутив Linux для MacBookPro?

    krimtsev
    @krimtsev
    Знаю таких ребят как https://elementary.io/ru/ они на ubuntu пытаются что-то сделать под OS X. Во всяких обзорах ОСи (по англ. версии Ютуба) у людей все работает там не плохо на Air\Pro разных моделей. Кодят как в вебе, так и игровых направлениях.

    На счет романтики, пожалуй я с вами соглашусь.
    Ответ написан
    2 комментария
  • Лучший дистрибутив Linux для MacBookPro?

    reaferon
    @reaferon
    Нет никаких проблем у Ubuntu с маками. У меня MBA 2013, и wifi, и thunderbolt прекрасно работают.
    У Убунты есть специальные сборки для Маков, попробуйте их
    Ответ написан
    Комментировать
  • Как сверстать такую сетку?

    Lumore
    @Lumore
    Front-end developer
    <style>
    #content {
    float: right;
    width: calc(100% - 200px);
    }
    #sidebar {
    float: left;
    width: 200px;
    }
    @media screen and (max-width: 960px) {
    #content, #sidebar {
    width: 100%;
    float: none;
    }
    }
    </style>
    <div id="content"></div>
    <div id="sidebar"></div>
    Ответ написан
    2 комментария
  • Как сверстать такую сетку?

    @IceJOKER
    Web/Android developer
    <div class='wrapper'>
      <div class='content'>
      </div>
      <div class='sidebar'>
      </div>
    </div>


    float + width + calc + Media Queries - все что вам нужно, 100500 примеров в интернете
    Ответ написан
    5 комментариев
  • Путь в быдлокодеры или как стать программистом с 0?

    @o_f
    Веб-аналитик, SEO, контекстная реклама
    Как успехи? Уже почти год прошел? Как борода, как футболка с котиком? Моетесь ли или стали противником этих бредовых штук типа ванная, мочалка, шампунь. Дезиком побрызгался и пошел кодить в свой офис через кухню?
    Ответ написан
    Комментировать
  • С чего начать изучать BigData?

    voidnugget
    @voidnugget
    Программист-прагматик
    BigData не очень то и связана со структурами данных - в основном это разнообразные пространственные структуры, скорее больше связана с алгоритмами NLP, классификации и машинного обучения.

    В первую очередь нужно выбрать средство обработки и хранения.
    В случае с Java это HBase Cassandra
    HBase - когда пишется в базу очень много, и большинство индексов "самодельные".
    Cassandra - когда соотношение чтения / записи 4:3, так как в Cassandra уже есть средства колоночной индексации.

    В случае с реальным высоконагрузом это ScyllaDB - обладает теми же особенностями что и HBase, но С++11 и Share-nothing approach и от того в 6-7 раз шустрее.

    Для БД до 200Гб хватит банального MySQL'я c R-tree индексом и Engine Archive.
    Вот PostgreSQL при правильной настройке спокойно строит B-tree индексы для объёмов данных в 500-700Гб, что для MySQL'я непосильная задача Ну и в PostgreSQL часто приходится дописывать сишные функции агрегации и строить по ним разнообразные индексы, иногда пространственные (gin/gist).

    Вот небольшой обзор разных типов индексов.

    От себя ещё добавлю MVP-tree для поиска похожих персептивных хэшей и Fusion-tree как более съедобный вариант дерева Ван Емде Боаса.

    По поводу хипстер-культа вокруг MongoDB - скажу что PostgreSQL с индексами на хэш-таблицах и небольшими множествами документов в 1.5-3 раза шустрее, потому что "Building Index with Vodka". А нормальная репликация и партицирование напрямую зависит от принципов решения задачи Консенсуса в каждом конкретном приложении, и без понимания работы Raft / Paxos не стоит надеятся на чудеса той же MongoDB или PostgreSQL, они являются не более чем инструментами для решения этой задачи.

    MongoDB очень даже ничего для реактивных проектов на основе Meteor, а для всего остального уже GoldenHammer™.

    По индексации, надо обязательно-обязательно прочитать книги Ханны Самет
    Foundations of Multidimensional and Metric Data St... = Applications of Spatial Data Structures: Computer ... + The Design and Analysis of Spatial Data Structures

    В принципе книжки Foundations of Multidimensional and Metric Structures должно хватить с головой, но можно "дочитывать" более полное описание в более древних работах. Одним словом тётка "жжёт", и я не знаю почему это до сих пор никто не перевёл.

    Ну после того как разобрались что и где и как хранить, теперь можно думать по поводу обработки...
    Есть древняя книжка "Алгоритмы интеллектуального Интернета" и "Программируем коллективный разум" Хоть названия переведены на русский довольно странно и звучат довольно наивно - это хорошее введение в простые средства обработки и анализа данных.

    По машинному обучению можно пройти курс Эндрю Ына на курсере.

    Есть Южный DataScience-централ, там есть много чего полезного. Его можно почитывать. Есть ещё поверхностные CheetSheet'ы, видел и получше, но не нашёл.

    Как DeepLearning адепт советую разобраться с Theano, и методами описанными тут. В продакшенах эта штука до безобразия слоупочна и видел товарищей которые более-менее успешно слезли на Neon.

    Если лезть в Java, то на примере Spotify чаще всего используются связки
    Apache Kafka -> Apache HBase -> Apache Storm -> Apache Spark (mllib) -> Apache HBase -> Apache Phoenix -> Hibernate + любой MVC фреймворк и т.п.

    Естественно об относительно высокой производительности и хорошем вертикальном масштабировании речи не идёт, если брать C++11 ScyllaDB -> Neon хорошо отпрофилировать и допилить, можно получить в 3-5 раз выше производительность и соответственно гораздо меньшие задержки, но обычно всем влом. REST API под такое обычно пытаются писать на сях (без плюсов) в виде расширений под Nginx, что является довольно породистым извратом - в большинстве случаев банального golang/netty будет достаточно.

    В Hadoop стэк сейчас принято не лезть, так как он очень "заынтерпрайсян" и без хорошей поддержки и допилки со стороны вендоров в реальных проектах просто неюзабелен, по этому почти все на него, в той или иной степени, забили. Например, тот же Spotify.

    По поводу HA и Zookeeper можно увидеть много срача, особенно в Netflix'e, по этому для менеджмента высокой доступности лучше использовать именно их решения - eureka или для отказоустойчивости Hystrix. Хотя я не могу сказать что это достаточно зрелые проекты - в них тоже хватает изъянов, но они на много шустрее остальных Apache поделок.

    Нельзя делать одновременно отказоустойчивые и высокодоступные приложения - потому что CAP теорема имеет место быть.

    Ещё есть очень тонкий момент с Java в целом - нужно минимизировать время сборки мусора и лезть в offheap, стоит глянуть как реализованы буферы в netty - это arena аллокатор по типу того что используется jemalloc и различная misc.unsafe ересь. Можно ещё пробовать Hazelcast / Terracotta, но принципиально там тоже самое, только платно и "расспределённо".

    Для REST API я чаще всего использую Vert.x и ванильную Java.
    Overhead от Scala довольно таки большой, а время компиляции просто вырвиглазное.
    Для минимизации копи-пасты вполне безопасно использовать Groovy c @ Immutable и @ CompileStatic.
    Но в Vert.x'e он весь "динамичный" :|

    Я ничего не могу сказать по поводу производительности Clojure, он местами через чур invokeDynamic. Естественно что ванильная Java будет шустрее, но я без понятия на сколько.

    Желаю Вам приятного вечера.

    p.s. не везде проставил ссылки просто потому что хочу спать.
    Ответ написан
    4 комментария
  • Как выводить средства с UpWork на ООО, зарегистрированное в России?

    opium
    @opium
    Просто люблю качественно работать
    1. Открываешь ИП, к нему транзитный валютный счет. Рассчетный валютный счет можно открыть если желаешь сидеть в долларах.
    2. Делаешь wire трансфер с Upwork, уплачивая 30$ за перевод.
    3. После перевода деньги блокируются валютным контролем.
    4. Дальше два варианта, либо выбить из поддержки договор (что почти нереально), либо отдать в ВК публичную оферту (User Agreement, на который соглашаемся при регистрации) в биллингве, на каждой странице публичной аферты поставить свою печать, "Копия верна" и подпись (после этих действий ВК охотней примет публичную аферту, нежели просто распечатанный биллингв).
    5. На каждый денежный перевод нужен акт выполненных работ, тут два варианта. Либо предоставить в ВК скриншот трансфера из панели апворка (что филькина грамота, не каждый ВК примет это), либо запрашивать у поддержки "Act of acceptance", который будет подписан апворком и тобой, в нем будет указана сумма перевода. Act of acceptance выглядит внушительней, нежели скрин из панели.
    6. Дальше при каждом переводе предоставляешь новый Act of acceptance.
    7. Работаешь так до достижения лимита в 50000$, дальше нужно заключить паспорт сделки (что сложно, но реально, нужно трясти поддержку апворка). ЛИБО заключить новый "контракт" с Upwork, опять предоставив User Agreement в билингве (про схему с закрытием старой оферты и открытием новой вычитал на хабре, там чувак ставил номер контракта в шапке оферты, что позволяло "открыть" новый контракт, поменяв этот номер)
    8. Ну и работаем дальше, либо по паспорту сделки, либо по вновь открытому контракту.

    Забыл. Когда ВК подтверждает перевод, то тут 2 варианта. Либо эти даллары "продаются" с транзитного счета на рублевый счет ИП по курсу ЦБ на день продажи, либо переводятся на долларовый счет ИП. Но у нас есть налог на курсовую разницу, потому эти деньги лучше сразу вывести с долларового счета ИП на долларовый физика.
    Ответ написан
    18 комментариев
  • Как зарабатывать на Open Source проекте, если ты не Линус Торвальдс?

    @bromzh
    Drugs-driven development
    Посмотри на проект nginx. Человек работал и параллельно пилил сервак для собственных нужд. Проект сам себя разрекламировал, так как был качественным. А сейчас Игорь основал компанию, в которой занимается разработкой коммерческих решений. Деньги получает как раз за техподдержку При этом весь код открыт.
    Таких историй не мало: некие люди на работе пилили проекты под свои нужды, а потом, если продукт оказывался успешным, приходили и деньги.

    Так что если хочешь стать частью опенсорс - то пиши код, а не думай о деньгах. Качественный продукт сам семя разрекламирует.
    Ответ написан
    Комментировать
  • Знаете ли вы программистов которые в одиночку создали крутой проект?

    @asd111
    Google - два парня Сергей Брин и Ларри Пейдж
    Facebook - начал Марк Цукерберг
    Instagram - два парня, один делал приложение для iPhone, другой делал сайт, потом заработали расширились
    MsDOS - первую версию сделал один человек, потом Баллмер у него купил за 50 000 $ и права перешли Microsoft
    Nginx - начал Игорь Сысоев
    Компьютер Apple I - дело рук Стива Возняка
    Linux - начал Линус Торвальдс
    Git - начал Линус торвальдс
    Redis - Salvatore Sanfilippo ( antirez )
    Minecraft - начал Маркус Перссон ( также известный как notch )
    Dropbox - начал Дрю Хьюстон
    Shadertoy - создан Iñigo Quilez ( также известен как iq )
    C++ - начал Бьёрн Страуструп
    Python - Гвидо ван Россум
    PHP - Расмус Лердорф

    SimplaCMS - начал один человек
    DLE CMS - начал один человек
    TYPO3 CMS - начал один человек

    P.S. ответ редактировался и дополнялся
    Ответ написан
    20 комментариев
  • Знаете ли вы программистов которые в одиночку создали крутой проект?

    @vpranker
    Dropbox, если тебе это пример то вот.
    Дрю Хьюстон, написал его на Питоне, один)
    Ответ написан
    Комментировать