• Как в golang вывести json не объектами, а массивом?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Прэвэд))
    Зачем используешь отображение там, где хочешь использовать слайс?))

    StudentsExamList - тут ты врешь в названии, причем нагло, это отображение с ключами строками (id) не ясно, зачем так, это просто хранение данных, которые тебе нужны в другом виде.

    type StudentExam struct{
    	ID int
    	ExamID int
    	StudentID int
    	StudentFIO string
    }
    func findStudentsByExamID(id uint) []*StudentExam {
    	result := make([]*StudentsExam, len(StudentsExamList))
    
    	var i uint
    	for _, studentExam := range StudentsExamList {
    		if studentExam.ID == id  {
    			result[i] = studentExam
    		}
    		i++
    	}
    
    	return result
    }
    
    func DataToJSON(data interface{}) []byte {
    	result, err := json.Marshal(data)
    	if err == nil {
    		return result
    	}
    
    	log.Printf("error: %v\n", err)
    	return []byte{}
    }


    Some comments:

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

    StudentsExamList на сколько я понял глобальная переменая, их можно использовать только в исключительных ситуациях. Глобальная публичная переменная - вот это вообще зло.

    Не создавай методов "getData" конкретизируй например: getStudentsByExamID(id uint) []*Student

    "get**" методы предполагают, что данные гарантировано есть, в противном случае стоит использовать префикс "find". В твоем случае, что будет, если examID = -157

    Exam_Id, stud_exam переходи на светлую сторону, не нарушай кодстайл.
    Ответ написан
    3 комментария
  • Стоит ли записываться на курс GeekBrains?

    @asd111
    Если тяжело идет то может лучше заняться тем что легко идет, например продажами ? Продажники тоже нужны, иногда даже больше чем программисты.

    Python можно учить по официальному туториалу https://docs.python.org/3/tutorial/index.html

    Если тяжело идет то лучше поискать сферу которая получается легко. Деньги те же а напряга меньше.
    Ответ написан
    Комментировать
  • Первый опыт работы в IT?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Попробуй поискать работу у провайдеров. Но если провайдер мелкий, не стоит там надолго задерживаться. Тем не менее это будет опыт и работы и примерного понимания инфраструктуры, что позволит искать работу дальше.
    Устроился, поработал несколько месяцев, оцени сколько ты смог изучить. Оцени можешь ли на этом месте изучить больше - поработай еще. Если считаешь что 90% того, что на текущей должности можно было освоить, освоил - иди или на другую должность или на другую работу, но учитывая опыт уже ищи контору посерьезнее.
    Смотри на требования.
    Ответ написан
    Комментировать
  • Первый опыт работы в IT?

    @nApoBo3
    Имхо эникейство необходимый этап для любого админа, не говоря о том, что без приличного опыта решения мелких проблем я бы человека к серверам не пускал, шишки лучше набивать на не критичных задачах.
    Идём в максимально широкую поддержку, лучше туда где большой поток проблем, как вариант компьютерный магазин, на время учёбы, удобно ещё тем, что будет свободный график. Параллельно учим Linux,сети, телефонию, базы. Если не win стэк, то Linux, mikrotik, cisco, postgres, mysql.
    Дальше к интегратору, много задач, мало денег, мало проектирования, много работы руками. Главное на начальном этапе слишком долго не сидеть, нет проф. роста, сразу менять место, в среднем год на одном месте. Через 5 лет, будет приличный админ.
    Ответ написан
    Комментировать
  • Первый опыт работы в IT?

    sim3x
    @sim3x
    Без навыка гугления у тебя ничего не выйдет
    Пока что даже намека него нет
    Ответ написан
    Комментировать
  • Каков принцип лицензирования Kaspersky Endpoint Security?

    Sergey-S-Kovalev
    @Sergey-S-Kovalev
    Sysadmins team leader
    Реалии работы лицензий Kaspersky Endpoint Security:

    Вариант 1, без центрального управления:
    Лапками ставим на каждый ПК антивирус и активируем файлом ключа. Можем поставить 100, 200 или даже 300 антивирусов с ключом на 50 лицензий и все будут обновляться. Самостоятельно, напрямую из интернета. Есть риск того, что ключ поместят в черный список за большое превышение (обычно в приделах 10% перерасхода вендор относится лояльно, хотя и не приветствует). Не оперативное и сложное администрирование, оповещение, реагирование на инциденты.

    Вариант 2, с централизованным управлением:
    Контроль лицензий ведет Центр администрирования. Отчеты, разнообразные настройки, куча бонусов по развертыванию ПО, контролю железа, софта (этакий мини порезанный вдоль и поперек System Center), чертовски хорош.
    Что до лицензий: Кто первый встал, того и тапки. Лицензия разворачивается хоть на 100 компов из самого СА, но кто первый зарегался по утру того и лицензия. (скажем лицензий 50, компов 100, все выключены на ночь, первые 50 включившихся и соединившихся с ЦА получат возможность обновляться и будут полноценно управляться, остальные курят до момента пока не включатся в первой 50тке.
    Ответ написан
    2 комментария
  • Как реализовать Pjax навигацию на сайте?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    1. При клике на ссылку загружаете страницу аяксом
    2. Заменяете текущий контент страницы новым контентом
    3. Через History API меняем вид урла в браузере.

    Но вы не правы в том, что это как у вконтакте. Там это полноценное SPA (Single Page App) приложение.
    Чтобы войти в курс дела, почитайте о фреймворках, которые заточены для создания SPA: Ember.js, Angular.js и т.д.
    Ответ написан
    2 комментария
  • Возможно ли после заполнении пользователем формы отобразить введенные данные вместо нее на той же самой странице?

    @deliro
    AJAX, например, если принципиально не перезагружать страницу.
    Для удобства, есть inline редакторы. Например, вот vitalets.github.io/x-editable
    Ответ написан
    3 комментария
  • Как передать данные формы на другую страницу?

    gunlinux
    @gunlinux
    Freelancer
    Можно например так
    return redirect(url_for('.register_step2',
                                           first_name=form.first_name.data,
                                           age= form.gender.data,
                                           gender=form.gender.data,
                                           search_gender=form.search_gender.data
                ))

    И потом разбирать аргументы через request.form.args

    Еще можно прямо на этом этапе создать пользователя и в финальный экран регистрации передавать id незарегистрированного пользователя

    Мне кстати не совсем понятно, что за интересный вызовы flask-wtf
    @mod.route('/welcome/1', methods=['GET', 'POST'])
    def register_step1():
        form = RegisterForm1()
        if form.validate_on_submit():
                '''
                Что-то делаем
                '''
                return redirect(url_for('.register_step2', values=values))
            '''
            else:
                return "No validate: {0}".format(dict(request.form))
             Эта часть не нужна так-как form-errors на строне шаблонов можно отрабатывать
            '''
        return render_template('register1.html', form=form)


    Еще можно сделать все в одну форму и просто js'ом разбить форму на два экрана. Без магии.

    Бонус:
    <form method="POST" action="{{url_for('mod.register_step1')}}" enctype="multipart/form-data">
    Ответ написан
    4 комментария
  • С чего начать изучать программирование законченному гуманитарию?

    @Beltoev
    Живу в своё удовольствие
    codecombat.com
    Выбираем для обучения JS или Python и поеееееехали! =)
    Ответ написан
    Комментировать
  • С чего начать изучать программирование законченному гуманитарию?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Гумманитарию?
    0. Самым главным навыком ЛЮБОГО программиста это "Уметь читать по-английски". Даже использование гугла не так важно, как чтение на Шекспир-Language.
    1. Прочесть самой первой первой книгу, но не про программирование, а про компьютеры. Лучше Эндрю Таненбаума об этом никто не напишет. Читай, читай, читай и пока не вкуришь лучше за программирование не садиться. У любого программиста зашит в коже ответ на вопрос "Какие задачи можно решить с помощью компьютера, а какие невозможно?". Чтобы этот ответ был понятен нужно знать о том как работает вычислительная система в принципе, хотя бы на "сумбурно"
    2. Затем берите книгу по Python. Язык достаточно дружелюбен к новичкам и быстрый старт обеспечен. Решайте свои задачи, не заботясь о качестве. Просто решайте!
    3. После получения конкретного опыта решения задач. Читайте Стива МакКонела про его Совершенный код.
    4. Снова решайте задачи, но уже пытайтесь не только свои, но и вливаться в проекты с открытым исходным кодом
    5. Далее про модульное тестирование, рефакторинг и др.
    6. Только после того как в принципе будет понятно, что такое разработка нужно углубляться в дебри. В дебри под названием : алгоритмы и структуры данных. Изучать про сложности.

    P.S.:
    Не слушайте "умников" про алгоритмы сразу. Почему? Потому что пока у Вас не загорятся глаза "Да, черт побери! Это точно мое" не имеет смысла зарываться. Только когда прет и горят глаза, только в таком состоянии можно одолеть груду сложных и запутанных кодов.

    #define true false // счастливой ночи брат
    Ответ написан
    6 комментариев
  • С чего начать изучать программирование законченному гуманитарию?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    1) Если Вас тянет к программированию, то просто читайте книжки, практикуйте, читайте и опять практикуйте. Для JavaScript могу посоветовать "javascript подробное руководство" очень понятная книжка. Если что-то не понятно, гуглите и ищите статьи на эту тему от разных авторов.
    2) Если к программированию Вас не тянет, а просто хочется из-за денег, то бросьте эту идею и продолжайте развиваться в веб-дизайне. Достойному дизайнеру платят не меньше чем программисту. Тем более вы понимаете верстку, такие навыки очень пригодятся.
    Главное правило: делайте то, что нравится, а не то, за что больше платят. т.к если Вам нравится дизайн, то Вы будете профессионалом в дизайне, а если Вам не нравится программирование, то профи вы не будете. Выходит, что дизайнером вы будете хорошо зарабатывать, больше чем программированием. Но если нравится код, то вперед :-)
    Ответ написан
    1 комментарий
  • Как хранить сложные запросы в отдельном файле в Django?

    kivsiak
    @kivsiak
    software engineer
    Или я не понимаю что вы хотите, или вы хотите странного.

    Создайте файл myqueryes.py например в том же пакете где и ваша аппа, и там пишите ваши запросы.

    MY_QUERY = """
    long multiline query there
    """

    В нужном месте импортируйте это модуль или чисто строки из него.
    Ответ написан
    Комментировать
  • Какие знания необходимы перед изучением php фреймворка?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Попробуйте составить структуру проекта hello world на изучаемом фреймворке.
    Не получилось - значит у Вас нет достаточных знаний ООП. Изучайте.
    Ответ написан
    Комментировать
  • Где в основном применяют Angular js и как часто он распространен в американских и европейских компаниях среднего размера?

    @khmlnk
    Удобнее всего Angular использовать одностраничных приложениях, на каких-то промо-страницах, или в проектах, индексация search crawler в которых не так важна. Также Angular использую для написание мобильных приложений, для написаний приложений на Smart TV или расширений в Chrome
    Ответ написан
    Комментировать
  • Какой тип поля выбрать для объекта типа список, tuple?

    @deliro
    Да, минимум два варианта.
    1) ManyToOneRel (ForeignKey)
    class Ingredient(Model):
        recipe = ForeignKey(Recipe)
        ...

    2) JSON поле
    Ответ написан
    Комментировать
  • Как учить Angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) учим javascript на нормальном уровне (с осознанием что такое контекст, скоупы, замыкания, прототипное наследование и как вообще ООП в js устроено)
    2) разбираемся с MVC и прочими штуками
    3) далее читаем документацию к ангуляру и паралельно гуглим статьи отдельные и все такое
    4) далее читаем angular styleguide (можно паралельно с документацией)

    Все пункты подкреплять практикой.
    Ответ написан
    2 комментария
  • Как правильно сделать декомпозицию приложений Django?

    Вроде простой вопрос, на который тем не менее, крайне сложно дать вразумительный ответ.
    Чем больше приложений в проекте, тем лучше?

    нет, точно также не является лучшей практикой пихать всё в одно приложение.

    Разделение на модули делается для одной простой вещи - борьба со сложностью.
    Разрабатывать и поддерживать гораздо проще несколько модулей, каждый со своим функционалом и спецификой, чем один божественный апликйешен.
    Самое очевидно разбиение, эт вынесение специфического функционала, напрямую не влияющего на функционирование "ядра", допустим отчёты(если вы не саму систему отчётов пишете), они находятся в отдельном апликешене, я в принципе вообще могу их отключить, и при этом основная функциональность никак не будет затронута.
    Затем идёт явное логическое разделение, специфический функционал/задачи, допустим работа с адресным справочником, его периодическая синхронизация и прочее, все специфические задачи работы с ним находятся в отдельным модуле, и как они реализованы не касается остальной системы, при этом сам адресный справочник уже активно используется в остальной системе.
    И самый не очевидный этап, это когда один из апликешенов становится слишком сложным, тут можно воспользоваться, как разнесением функционала по отдельным файлам внутри самого апликешена, так и попытаться разнести его по отдельным апликешенам — собственно хорошо спроектированная система где это не придётся делать.
    Ответ написан
    Комментировать
  • Как правильно сделать декомпозицию приложений Django?

    un1t
    @un1t
    Запустить приложение отдельно это отдельная тема, она требует большего уровня абстракции и универсальности, со всеми плюсами и минусами. Обычно приложения в проекте долнольно тесно связаны и выделить их отдельно не представляется возможным, по крайней мере без напильника, да и смысла нет. Количество приложений в проекте зависит от размера проекта и степени связанности логики. Ну логика выделения простая, хотя формализовать ее сложно. Если в приложении становиться очень много моделей и вьюх, то есть смысл подумать о выделении части в отдельные приложения. Или если приложения сразу видно, что совсем про разное, то можно сразу выделять.
    Ответ написан
    2 комментария
  • Как написать простенький парсер на django?

    sim3x
    @sim3x
    Лучше не пасить, а запрашивать через апи
    https://developers.google.com/youtube/v3/getting-s...
    Ответ написан
    Комментировать