• Как общаются мобильные приложения социальных сетей с сервером?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Выдается токен, который или генерируется на базе пароля, или просто устаревает со сменой пароля (социальные сети разные, алгоритмы могут быть разными)

    Читайте документацию по API социальных сетей. У них все это расписано, например https://developers.facebook.com/docs/facebook-logi...
    Ответ написан
    Комментировать
  • Как в пузырьковой сортировке подсчитать кол-во сранений и перестановок?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Указать переменные, которые вы используете внутри функции как глобальные и вывести их.

    from random import randint
    comparison = 0
    transfer = 0
    
    arr = [randint(1, 100) for _ in range(10)]
    
    def bubble_sort():
        global comparison
        global transfer
        for i in range(9):
            for j in range(9 - i):
                comparison += 1
                if arr[j] > arr[j + 1]:
                    arr[j], arr[j + 1] = arr[j + 1], arr[j]
                    transfer += 1
    
    print('original array\n', *arr)
    bubble_sort()
    print('bubble sort\n', *arr)
    print('comparisons: ', comparison)
    print('transfers: ',transfer)
    Ответ написан
    1 комментарий
  • Есть ли жизнь на Линуксе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Линукс GUI не имеет такой длинной истории как в Windows, и дело не в рабочем столе, иконках или табах. Дело в том, что windows API Для написания приложений один для всех версий винды, а у линукса графических библиотек может быть много, разных, и единый стандарт для всех дистрибутивов отсутствует.
    В результате, многие приложения работают так, как в свое время под дос - ищут свой набор библиотек, с которыми идти в GUI.

    Если у вас есть стабильный набор софта, который вы можете настроить и его вам хватает - идите в Линукс. Если нет - Винда нормальная система, стабильная.
    Я Линукс люблю на сервере и виртуалке, а на десктопе да еще и под игрушки - возможно будет проще дождаться полноценного SteamOS (на базе Линукс).
    Ответ написан
    8 комментариев
  • Доска с версиями сервисов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Можно написать такое на коленке скрипт, который периодически бегает по энвайрнментам, собирает версии и выводит в удобном виде.
    Без сильного заморачивания, я бы добавил в каждое приложение ендпоинт, который возвращает версию, и просто собирал бы это каким-нить js или даже shell скриптом.
    Пушить изменения в JIRA уже можно собрав инфу.

    Ну а в богатых конторах, для деплоя используются тулзы, которые могут показывать что где. Какой-нить IBM uDeploy (хотя это не лучший вариант).
    Ответ написан
  • Стоит ли учить JS или Java если поступаешь на Software Engineering?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Да и вообще ребят, что будет по легче JS или Java? Что перспективнее? Изучаю алгоритмы.


    Если ищете что легче, то может сразу забить на программирование?
    Нет в ИТ легче. Есть только или ты вечный джун или ты на пути к сеньору.

    Если надеетесь, что крупные компании придут и заберут вас, то для этого нужно учить гораздо больше, чем дают в институте. Учить самостоятельно. Возможно java вам подойдет.
    Но никто не мешает вам учить все одновременно. Специализироваться начните когда будете считать себя хотя бы интерном.
    Ответ написан
    Комментировать
  • Как запретить чужому процессу доступ к определенной директории в файловой системе?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Это делается правами доступа к папкам и запуске вашего процесса от имени юзера, у которого есть доступ.
    Ответ написан
    3 комментария
  • Как работает шебанг и итерпретатор Python?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    /usr/bin/env это команда, которая найдет правильный бинарник. Потому что не во всех случаях, у вас питон лежит в /usr/bin, не во всех случаях у вас bash лежит в /usr/bin

    Это просто больше стабильности для скриптов которые могут запустить на ембеддед линуксе, в виндовс cygwin и других окружениях
    Ответ написан
    Комментировать
  • Как работать командой над большим проектом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    1. Договор - полюбому. Чтобы можно было прижучить.
    В нормальных команиях также секьюрити проводят регулярные таунхолы, особенно для новичков, где рассказывают о безопасности. И приводят пару примеров, как кто-то расшарил кусочек кода, как его засудили на много денег и добавили в черные списки всех компаний.
    Это для тех, кто по глупости может.

    2. Делите исходники на части. Автоматизируйте деплой так, чтобы разработчик это руками не делал и никуда не лазил - сделал коммит - CI сервер автоматом закачал все нужное из разных репозиториев и задеплоил. Надо нескольким разработчикам - сделайте несколько тестовых окружений, чтобы разработчик мог зайти в Jenkins или Teamcity, нажал одну кнопку и выбрал куда ему деплоить. Но своих логинов парлей у него не было.

    3. В любом случае, если кто-то захочет стырить код - он это сделает. Сделать так, чтобы не было доступа для тех, кому этот доступ нужен - это только навредит проекту.
    Поэтому пусть у вас работает нормальный HR.
    Пусть тимлиды присматриваются к людям, не доводят до конфликтов.
    Не дают доступ ко всему до прохождения испытательного срока.

    И это все равно не гарантия. Смиритесь =)
    Ответ написан
    1 комментарий
  • Как в скрипт передать аргументом нужную директорию?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Создать кастомные автокомплит для собственной команды, чтобы автоматически дополнялись аргументы можно.

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

    Сами скрипты лежат обычно где-то тут:
    /etc/bash_completion

    Что почитать - гуглить на тему bash completion:
    https://www.tldp.org/LDP/abs/html/tabexpansion.html
    https://debian-administration.org/article/316/An_i...

    P.S. Хотя я увидел у вас zsh, может быть в нем есть вариант попроще.

    P.P.S. Есть вариант еще проще - наделать алиасов или скриптов с полным именем и все =)
    Ответ написан
    4 комментария
  • Что это за странный процесс "Бездействие системы", и как с ним бороться?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Некоторые вирусы маскируются под системные процессы.
    Видимо под видом "бездействия", они майнят злоумышленникам какие-то коины.

    Вам нужно обратиться к специалистам по безопасности. И не мелочитесь, найдите серьезную контору.
    Ответ написан
    1 комментарий
  • Как самому сделать сетевой режим для игры?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Читаете базовое понятие о том как работает сеть.
    Смотрите способы передачи информации по сети - в принципе сейчас в основном две - http запросы или socket.
    Читаете как пользоваться библиотеками для вашего языка программирования.
    Пишете.

    P.S. Вопрос ваш слишком общий. Нужно конкретизировать.
    Ответ написан
    Комментировать
  • Трудность в выборе направления и ЯП в 15 лет. По какому пути пойти?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Начните с хобби-проекта.
    Не рандомный однотипный сайт, а реальный хоббипроект, где вам важен конечный результат, которым кто-то пользуется.
    Сайт или раздел для школы/института с каким-то полезным функционалом.
    Простую игру или приложение для анализа.

    Важно не направление, важно понять смысл задачи и реализовать ее каким-либо инструментом. Так научитесь использовать инструменты, а не просто "учить" их.

    Простой пример:
    Нужно автоматически копировать файл с одного компа на другой с определенной периодичностью.

    Нужно ли для этого учить ftp/ ssh/ какой-нить googledisk? Не обязательно. У вас цель не ftp изучить, а настроить процесс копирования. Любым способом. Настроите - посмотрите как оно работает - и это уже будет выполнена реальная задача. А минусы конкретного инструмента по ходу можно будет увидеть на практике.
    Ответ написан
    Комментировать
  • Что должен знать от DevOps средний веб-программист при устройстве на работу?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    маст хев:

    Понимание принципа работы ssh ключей, чтобы уметь настроить себе доступ на линукс машину или в гит (bitbucket/github/etc)

    Базовое понимание git и то, что висит поверх него (github, bitbucket, etc) чтобы не путаться в пулл реквестах, понимать зачем они и как организована у вас работа - неймконвенш для веток, как ревью делается

    Если пишете под докер, то Dockerfile - это в основном ответственность разработчика. Где его запускать - уже второй вопрос.

    Вы должны уметь ваше приложение развернуть на локальной машине, и понимать как его развернуть на другой машине.
    Jenkins\Teamcity - это тулзы, где девопс старается автоматизировать то, что вы разворачиваете на локальной машине. Вы его консультируете где и откуда вы читаете конфиги, возможно у девопсов есть какие-то централизированные способы для этого. Но Jenkins\Teamcity вам нужны на уровне продвинутого юзера. Можно на месте попросить девопса вам показать базу.

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

    Задача девопса - это скейл и автоматизация. Девопса потому и стали выделять в отдельную должность, что появилось много приложений, которые нужно развернуть не на дев машине и напродакшене, а на нескольких тест окружениях, на нескольких регрешн, на нескольких продакшн (отказоустойчивость и так далее), и накопилось работы на приличное количество человекочасов. Но это не значит, что девопс вообще должен разбираться в вашем приложении и тем более бизнес-логике лучше, чем разработчик.
    Ответ написан
    Комментировать
  • Можно ли как нибудь обновить это Г?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Отличная машинка. Свою задачу вполне может выполнять без обновления.
    А вопрос ваш непонятен.
    Ответ написан
    Комментировать
  • Как установить программу из архива tar.gz?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Распаковать и запустить?
    tar xvfz
    Ответ написан
    5 комментариев
  • Как используя команду cat, не больше двух раз, записать строки из stdin в начало и конец файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    cat "файл_с_рандомными_строками_в_начало" "оригинальный_файл" "файл_с_рандомными_строками_в_конец"> temp
    cat temp > "оригинальный_файл"


    например
    $ echo "string3" > file.txt
    $ cat - file.txt - > temp.txt
    string1
    string2
    *** НАЖАТЬ CTRL+d для завершения ввода строк которые пойдут в начало файла
    string4
    string5
    *** НАЖАТЬ CTRL+d для завершения ввода строк которые пойдут в конец файла
    $ cat temp.txt > file.txt
    $ cat file.txt
    string1
    string2
    string3
    string4
    $
    Ответ написан
    5 комментариев
  • Что нужно делать будущему java разработчику?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Учи как правильно искать ответы в гугле.

    Учи английский.

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    И, согласитесь, что зная действия с массивами, я вряд ли пойму логику работы графического редактора :)


    А почему бы не предположить, что графический редактор работает с двумерным массивом, у которого по горизонтали 1024, по вертикали 768, каждый элемент может принимать значение от 0 до 65535?
    Вот вам и логика работы графического редактора - заполнять массив разными цифрами.

    Еще одна подсказка - стандартные библиотеки.
    Ответ написан
    Комментировать
  • Что написать после изучения основ Java?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Напишите программу
    Ответ написан
    Комментировать
  • Как научиться кодить? Писать читы для различных игр?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    1. Читы это просто программы. Не нужно учиться писать читы, нужно учиться программировать. Тем более, начинать с сетевой игры типа CS:GO - не для начинающих.

    2. Просто пишите много разных программ. Сперва простых, потом усложняйте.

    Программирование - штука сложная. Требует много усилий и много времени. Нельзя посмотреть годик ютуб и стать программистом. Нужно несколько лет потратить на написание программ различной сложности. Чтобы вам стало понятнее, case - это оператор. В программировании это настолько простая вещь, что умение пользоваться подобными вещами даже не считается за обучение. Даже начинающий программист, который способен пройти собеседование на джуниора, может за 10 минут научиться пользоваться оператором case для любого языка программирования, даже если он его впервые видит (ну может за исключением извращений типа brainfuck).

    Хотите стать программистом - парралельно с паскалем начните учить что-то из современного. Питон, php, java, c++, javascript
    пробуйте все школьные задачи написать на этих языках. Через полгодика-год решите какой язык вам понравился больше и дальше углубляйтесь в него.

    P.S. И да, терпение. Его нужно много.
    Ответ написан
    Комментировать