• Стоит ли использовать фреймворк Gin для Go?

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

    beatpavel
    @beatpavel
    internet marketing specialist
    Заказывая в ISPsystem, при генерации запроса следующие поля: 364ca2d53c3e486bbad3dc0e32060508.jpg

    Можете посмотреть какие моменты являются обязательными. Organizational Unit (OU), Email - не являются обязательными. Если берете простой - нигде, просто формальность.
    Ответ написан
    1 комментарий
  • Зачем вы пошли в разработчики?

    kumaxim
    @kumaxim
    Web-программист
    Сейчас наше общество можно разделить на две категории:
    1.Тех, кто управляет машинами
    2.Тех, кем управляют машины

    Управляя машинами, я управляю обществом. Вопрос лишь в том, как "высоко" находится моя машина...
    Ответ написан
    3 комментария
  • Как передавать значения между работающими скриптами?

    leahch
    @leahch Куратор тега Linux
    3Д специалист. Долго, Дорого, Дерьмово.
    Можно через базу данных тира redis или mongodb, а можно и через rabbitmq!
    Ответ написан
    Комментировать
  • Как продвигать github аккаунт?

    laska
    @laska
    PHP/JS разработчик
    Пока у вас нет хорошего open-source проекта, абсолютно бессмысленно вам что-то советовать.
    Топовые аккаунты на гитхабе это не аккаунты замечательных людей. А аккаунты замечательных программ.
    Ответ написан
    Комментировать
  • Как составить запрос к 3-м таблицам во Flask SQLAlchemy?

    @sormon
    инженер-программист =)
    Вообще, хорошо бы структуру увидеть, т.к. не понятны связи между таблицами (есть ли там fk)
    Ну а так, если предположить, что в запросе идет связка по fk, то как-то так:
    session.query(User).join(UserItem, Lang)
    Дальше выбирать те поля, которые вам нужны.
    Второй вариант:
    session.query(UserItem.id, UserItem.date, UserItem.item_name, Lang.desc_rus, User.email).join(User, Lang)

    Если не указаны fk, то, к примеру, использовать add_entity.
    Здесь очень сложно рассуждать, без знания того, как описаны таблицы в базе, как описаны модели в SQLA (иди там вообще может reflect), какая нагрузка и так далее.
    Ответ написан
    2 комментария
  • Куда перейти с php?Python или Ruby?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Вопрос примерно так звучит:

    В какую религию перейти из Язычества? В Буддизм или Конфуцианство?

    Я бы в Буддизм пошел... Тьфу... То есть на Python. У него паства побольше и распространен он поболее. Последователи учения -- не злобливые, и помогут. А Ruby как конфуцианство как-то слишком узковатое... Хотя, может просто мало его последователей встречал.

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

    @pashwrs
    с англ языка стоит начать
    Ответ написан
    Комментировать
  • Программирование с нуля. Как начать?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Привет. Вы уже успели понять, что главное - желание. Но если и учиться (а это скучно), то надо заниматься максимально классными для вас вещами. Не менее важно видеть результат, поэтому лучше несколько маленьких проектов, чем один большой, который не закончите. Ответ на необходимость строго типизированного языка - да.

    Суть:
    Вам надо сначала изучить логику работы ЯП (pascal, на первых порах и C++ сойдет), потом уже браться за ООП (object pascal, C++, C#, Java и многие другие). А также рулит опыт. Сколько бы вы книг не вычитали, решает опыт. Читайте и пишите код. Устали читать, пишите код. Напишите программу на свой день рождения. Напишите программы для решения типовых задач (если учитесь) и не парьтесь с домашкой :)

    По делу. Я начинал также с паскаля, потом делфи (object pascal)... куча технологий и языков. Пришел к Java Android.

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

    А теперь надо ответить на вопрос: Сколько у вас есть времени и каким бы вы хотели быть программистом (хорошим, лучшим или как хобби)?

    Если у вас много времени, терпения и желание стать лучшим, то надо изучать с нуля:
    pascal (не полностью, а просто научиться решать стандартный перечень задач - работа с массивами, вычисления выражений, работа с файлами, работа со структурами данных - так проще).
    В принципе это займет недели 2, если стараться. Дальше у вас уже будет понимание логики языка. Можно садиться на более сложные (c#/java советую, c/с++ интересные, но сложнее).

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

    Если смотреть издалека, то Pascal я советовал только потому, что он очень простой и функциональный... Он как раз помогает понять типы данных, важность соблюдения границ массива, а структуры данных позволяют работать почти как с ООП языками (типа Java/C++/C#/etc.). Однако всего немногим сложнее будет изучение java, благодаря книжке Head First Java - она отлично составлена, с рисунками, стрелочками и забита аналогиями, а минусом здесь является бросание в пекло (в ООП), где всякие непонятные классы и т.д., отвлекающее от самой основы логики программирования.

    По языкам. (не особо слежу, скажу по своим ощущениям)
    Сейчас особенно выезжают две сферы на рынке - мобильная разработка и веб-разработка (для сервера).
    Справляются с этими задачами круто Java, .net C#, C++.
    Java - львиная доля разработки под Android, Один из популярнейших языков для серверного программирования, big data и других вычислений, иные разработки.
    C# - самый активный конкурент в серверном программировании для Java, разработка под winphone, windows с прямочками от MS (ведь C# разрабатывает MS).
    С++ - везде, но в основном применяется для системного программирования, драйверов и участков программ, где нужна большая скорость выполнения программы (поисковые движки, обработка голоса). Мне он нравится больше всех, но это для себя) На этом языке сложнее всего научиться, но с некоторым опытом работы (2-3 года) можно пройти в топовые конторы.

    ------------
    Честно говоря, мне очень помогали знания курсов Архитектуры ЭВМ и алгоритмов в изучении. Это не обязательно, но очень интересно )

    Итог:
    Если хотите вытоптанный путь, но немного более долгий - начинайте с pascal и потом садитесь на java/C#. Такой путь не требует особых знаний, кроме самих языков (в отличии от С++, где нужны базовые знания о работе компьютера).
    Если вы сообразительный и сильный (умеете мотивироваться и добиваться), то начинайте сразу с java. Сложно будет первые пара программ. Гугл сделает их за вас, но вообще это очень легкий язык.
    С++ - не знаю. Многие советуют с него начинать. Вообще, он довольно простой и структурный в начале, усложняется довольно быстро, но логично. Хороший язык, но его проблема для новичков - нужно учитывать очень много нюансов.

    Кстати, у java есть небольшой плюс - javarush.ru. Интересный проект) фремиум, но бесплатно можно пройти уровней 10-15, это, по сути, позволит познакомиться с языком.
    PS: если вы не решились, начинайте любое. Начните сложные, простые языки, поделайте, поломайте. Это правда поможет. Пробуйте, изобретайте свое.
    Что-то я затянуто написал... ночь.:)

    Успехов!
    Ответ написан
    Комментировать
  • Как правильно обеспечить сохранность базы данных?

    opium
    @opium
    Просто люблю качественно работать
    master slave Репликация на другой сервер + binlog спасут вас.
    Ответ написан
    Комментировать
  • Как правильно обеспечить сохранность базы данных?

    GraphiteLeader
    @GraphiteLeader
    VMware engineer
    Зеркалирование БД/транзакций синхронное средствами СУБД либо Array-based.
    Ответ написан
    Комментировать
  • Как правильно обеспечить сохранность базы данных?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Говорить о какой то надежности можно имея минимум 2 (а лучше больше) физических сервера.
    Дальше настраиваем master-slave репликацию, если есть платежные данные - то в максимально параноидальном синхронном режиме.
    Запрос не будет закончен пока данные не сохранятся на 2й сервер.

    upd
    2 клевых доклада (пусть и не совсем по этой теме):
    www.slideshare.net/profyclub_ru/mailru-group-41346...
    www.slideshare.net/profyclub_ru/my-sql-sphinx?qid=...
    Ответ написан
    7 комментариев
  • Как лучше всего настроить почту на VPS (Ubuntu)?

    BOOMER_74
    @BOOMER_74
    Full-Stack разработчик
    Самый простой способ - почта от Яндекса. До 1000 ящиков бесплатно.
    Ответ написан
    5 комментариев
  • Деплоить в production из VCS (система управления версий) это нормальная практика?

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

    Касательно рельс при использовании VCS деплоя сталкивался со следующими проблемами:

    1) в VCS может хранится куча информации (тесты, тестовые данные, документация, файлы для разных платформ и т.д.) которая для конкретной инсталляции не нужна и замедляет установку.

    2) сборка ассетов (coffescript, sass) происходит на удаленной машине и опять замедляет установку.
    Ответ написан
    Комментировать
  • Деплоить в production из VCS (система управления версий) это нормальная практика?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Самый лучший вариант деплоить из Continuous Integration сервера. Но, за неимением такового, чаще всего деплоят из VCS, основная проблема безопасности это хранение конфигов и ключей в VCS.
    Ответ написан
    9 комментариев
  • PHPStorm + GIT. Как настроить игнорирование?

    DevMan
    @DevMan
    Если файл уже под контролем (был ранее добавлен в репозиторий), то .gitignore на нем работать не будет. Что, собственно, и логично.
    Есть два варианта:
    - удалить файл -> закомитить -> добавить в .gitignore -> вернуть файл
    - удалить из индекса (git update-index --assume-unchanged your-file) -> добавить в .gitignore
    Ответ написан
    Комментировать
  • Redis стоит ли переходить с mysql?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вы - PM (Project Manager), ваша задача - управлять человеческими ресурсами, НЕ лезьте в разработку.
    Задача программиста, согласно вами описанными правилами - реализовывать функционал, однако инструменты для этого он должен выбирать самостоятельно, согласно ТЗ.

    То, что вы указали несколько цифр - это архитектурные требования и они ВНЕ вашей компетенции.

    Вы указали требования на запись/чтение, а что на счет целостности, себестоимости, сложности внедрения и поддержки?

    Redis - это key-value хранилище (чаще всего используется как кэш, и pub/sub роутер), MySQL - это реляционна БД. Это как сравнивать мотоцикл и фуру, они предназначены для разных целей.
    Ответ написан
    Комментировать
  • Ruby or Python?

    yokotoka
    @yokotoka
    Python guru
    Я стоял перед тем же выбором лет 6 назад и выбрал Python. Не пожалел. Он достаточно универсален, чтобы писать на нём не только сайты. Ruby, к сожалению, больше RoR-язык, чем язык общего назначения. Очень мало софта вне RoR у него и назначение очень узкое, хотя сам язык прикольный. Python же используется очень много где вне веба - начиная от микроконтроллеров, заканчивая сложными научными расчётами.

    И ещё, немного личного. Я ненавижу Django. Это один из самых худших веб-фреймворков, по странному стечению обстоятельств, оказавшийся в тренде. Он, заточенный под газетные сайтики и бложики, с тяжёлым синдромом велосипедостроения и Not Invented Here, лепится всюду, куда стоит и, особенно, куда не стоит. И это нелепо смотрится (особенно в нём убог ORM в сравнении с той же SQLAlchemy). Есть много более удачные примеры для многих применений (Flask, Pyramid). Если возьмётесь делать веб-приложение, а не сайт-визитку/блог (который лучше вообще делать на php и Wordpress), присмотритесь к ним повнимательнее.

    UPD: А вообще, создаётся ощущение, что сейчас лучше всего учить JS, хотя он плох почти всем, что в нём есть. :) Go, Rust интересны, но пока слишком незрелые. Тут ещё C#/.NET со своими open source движениями начинают смотреться неплохо. Ну и всегда есть Java для любителей винтажа и максимальной кроссплатформенности (с матюками). В общем, сложное сейчас время. :)
    Ответ написан
    5 комментариев
  • Какие самые реальные и действенные проекты\работы\фриланс для python-программиста?

    voidnugget
    @voidnugget
    Программист-прагматик
    Пишу на питоне ещё с 15 лет (2.4+)... ненавижу его runtime и архитектуру. Язык хороший - реализация никакущая. Ну да его синтаксис достаточно упрощён, но и за синтаксический сахар приходится платить сложностями отладки и поддержки.

    Сейчас же почти все известные мне конторы не используют питон в продакшенах с более-менее высокой нагрузкой. Яндекс тому пример. Чаще питон используется для решения прикладных задач администрирования, так как это делается, к примеру, в SaltStack. Все дружно слезают с питона, РНР и рельсов на Golang, Java/Scala, и иногда даже Groovy - производительность выше в десятки раз, и managed runtime на много стабильнее. Правда в случае с JVM очень сильно раздувается куча в виду избыточности объектной модели (оператву жрёт как дурное, а я байтики считать привык). Сейчас это должно лечится с помощью Project Graal и Truffle, правда пока до этого дошёл только jRuby, который тоже в пару десятков раз быстрее Ruby. По идее и Groovy тоже должен переползти как-то ... Вот про jyton ничего не знаю.

    Много моих знакомых слезло на Golang с Ruby и Питона.
    Стоит попробовать - он достаточно простой и идиоматичный, вот рефлексию стоит обходить стороной - она очень медленная, впрочем как и везде. Работу может и не найдёте сразу, но после реализации пары простых проектов будет проще предлагать в качестве целевой платформы.

    Фрилансить с питоном начать можно, но очень желательно опробовать ещё хотя бы пару окружений и фреймворков типа Groovy Grails, или Typesafe Stack. Сейчас требования рынка возросли в пару раз за последние два года - нужны ассинхронности/многопоточности, push-нотификации в мобильные приложения и по вэбсокетам/комету. И это всё с богатыми js-фронтендами на всяких там Angular'ах и React'ах. Естественно можно крутить костыли типа Celery / Gearmand / Beanstalk / RabidMQ, но накладные расходы на коммуникацию слишком большие :( Компилируемые языки со своими Managed Runtime'ами позволяют строить монолитные приложения в которых подобные решения избыточны в рамках одной и той же машины, а если это куча нод в кластере то нужно мерить/думать.

    Django сейчас сложно поддерживать так как он достаточно сильно развился за последние 3 года, и я очень сомневаюсь что сохранится совместимость новых версий со старыми.

    А вот с pyramid (pylons) и SQLAlchemy можно строить достаточно хорошие приложения. У них есть enterprise поддержка и соответствующие гарантии.

    Типовые задачи на питоне:
    - написать какой-то мелкий скрипт с Gui на PyQT / Pyside для какой-то аналитики и отрисовки графиков, иногда попадаются задачки с gstreamer'ом
    - написать какое-то простое RESTful CRUD приложение, в стиле "одна табличка БД - один контролеер", это конечно же тонна копипасты и мне больше нравятся DataMapper'ы по типу TastyPie. Иногда люди хотят чистого Tornado или Flask'a, так как им не нравится overhead в джанге и pylons.
    - написать скрипты для деплоя чего-то, обычно люди не знают про SaltStack.

    В плане архитектуры питонистам чужды различные SOA с CQRS-ES'ом, потому что сам компилятор не располагает. Хотя её достаточно просто поддерживать.

    Проблема всех проектов на Node.js / Python / Ruby это отсутствие долгосрочной поддержки библиотек и фреймворков - часто ломается обратная совместимость, и нужно постоянно следить за состоянием всех зависимостей. Опять же нужен TDD/BDD для того что это всё хорошо контролировать. Тестируешь руками - себя не уважаешь.

    Ну и вроде всё ...
    p.s. я опубликую на хабре статью сегодня-завтра "Freelance - you're doing it wrong" там поделюсь опытом работы и основными организационными проблемами в рамках удалённой работы и фриланса, покажу разницу между ними.
    Ответ написан
    6 комментариев