• На чем selenium будет работать быстрее python vs Java?

    @deliro
    Горлышко бутылки - это сам Selenium. То, что на питоне и джаве - это обвязка, которая, хоть и будет работать на джаве быстрее, не даст никакого прироста.
    Согласись, разницы нет, сработает обвязка за 50 микросекунд или за 10 микросекунд, если сам Selenium будет грузить страницу 1 секунду?
    Ответ написан
    Комментировать
  • Как учить что-то новое и быстро не забывать?

    Куча практики
    Море практики
    В какой-то момент для тебя какой-то аспект просто становится обыденным и простым, как ходьба, и забыть это почти невозможно.
    Но это только благодаря океану практики.

    PS: уметь кодить и помнить что-то - две абсолютно разные вещи. Практика и теория тут не подходят для сравнения.
    Ответ написан
    Комментировать
  • Что такое "call back interface"?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Для чего?

    Допустим ты пришел в мед.учреждение за справкой по какому-то там специалисту и к примеру справка будет делаться 4 часа. В конечном итоге ее можно будет забрать в регистратуре.

    У тебя две стратегии:
    1. Каждые 5 мин. подходить в регистратуру "А справка на фамилию Пупкина готова?"
    2. Оставить визитную карточку с телефоном на Пупкина и попросить позвонить, как будет готова справка.

    Какая стратегия более удобная? ;)

    Это принцип "Не звоните нам, мы сами вам позвоним".

    Так и в программировании есть некий код, который вызовут при наступлении некоторых условий(сеть доступна, файл появился, кнопку нажали, программа выключается и др.)

    Код, который вызывают это callback - "Обратный вызов". Некоторые условия - это событие.

    В примере выше callback-ом является Пупкин, а событием является "справка готова".
    Ответ написан
    Комментировать
  • Что делать, если заказчик просит скидку?

    sim3x
    @sim3x
    В книжках по переговорам советуют уступать в цене только вместе с уменьшением обьема выполняемых работ
    Иначе у заказчика может сложиться впечатление, что ты его водишь за нос, и он будет просить скидку еще. И еще
    Ответ написан
    3 комментария
  • Практика и углублённое изучение Java?

    sim3x
    @sim3x
    А ты думаешь, что у тебя каждое ТЗ будет уникальным и занимательным, а не однотипным и нудным?
    Ответ написан
    4 комментария
  • Почему фрилансеры готовы общаться только в чате?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    потому что большинство заказчиков идиоты и фрилансеры просто не хотят тратить время еще и общаясь с ними. из личного опыта знаю как один "особый" заказчик любил звонить. среди дня и ночи. по любому вопросу. даже просто уточнить что то. после этого больше с заказчиками на связь не выхожу.
    p.s. а еще это трата времени. порой, когда я общаюсь с заказчиками - параллельно я делаю другой проект. и мне легче общаться по средством чата и не отвлекаться от работы.
    p.p.s а еще мне нужно чтобы заказчик написал тз, ну или хотя бы описал словами что он хочет в текстовом виде. нежели будет придумывать на ходу при общении, а потом мне это еще вспомнимать чтоли? или на диктофон записывать?
    Ответ написан
    13 комментариев
  • Как подходить к решению нетривиальных задач?

    Привет.

    Всегда использую модель боли:

    1) Смотришь задачу
    2) Пытаешься её решить
    3) Понимаешь, что ты тупой идиот, который ничего не может.
    4) Поднимаешь в помощь гугл
    5) Поднимаешь в помощь литературу
    6) Спрашиваешь ребят на тему: "почему так, а не иначе".
    7) Выполняешь задание, осознавая, что ты тупой, раз на решение этой задачи тебе пришлось потратить столько времени.

    Повторить до бесконечности, и ты станешь профи.
    Ответ написан
    7 комментариев
  • Как выбрать подходящую сферу работы?

    sim3x
    @sim3x
    Собери в кучу свои проекты
    Причеши
    Запуш на гитхаб
    Сделай cv
    Набери список всех программерских контор, которые есть в твоем городе
    Сходи ко всем на собеседование
    Собери статистику по знаниям, которые они хотят
    Доучи или выучи их

    Повторяй список, пока не будешь работать в хорошем месте на хорошую зп
    Ответ написан
    Комментировать
  • Как выбрать подходящую сферу работы?

    @Neonoviiwolf
    Flutter developer
    Добро пожаловать в реальный мир! Здесь ваши знания ничего не стоят!
    Выбирайте направление -> выбирайте язык и библиотеки соответствующие и учитесь программированию
    Ответ написан
    6 комментариев
  • Стоит ли изучать Java после прекращения разработки EE?

    jaxtr
    @jaxtr
    JavaEE/Spring-разработчик
    Для начала: Java != Java EE. Прекращение разработки Java EE со стороны Oracle никак не повлияет на жизнь самого языка программирования. Есть вообще сомнения, что Oracle решится на этот шаг, т.к. у них самих большое количество проектов именно на Java EE разработано.

    Плюс стоит помнить, что Java EE - это набор спецификаций, а не конкретная реализация. Java EE состоит из кучи JSR, которые обсуждаются и принимаются JCP (Java Community Process), то есть сообществом, в котором кроме самих Oracle есть Red Hat, IBM, Spring, Apache и многие другие. Oracle может просто передать управление Java EE сообществу. И да, новые JSR выходят вне зависимости от Java EE.

    И стоит помнить, что на Java EE интерпрайз не кончается, ведь есть ещё Spring, который развивается гораздо быстрее и занимает существенную нишу на рынке.

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

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Мне 25, я в Сингапур приехал в марте. В компании (стартап, 20+ человек) почти самый молодой (моложе только стажер вроде как). Было много комментариев по поводу моего возраста, что я такой вот молодой. На всяких попойках с друзьями компании все тоже удивляются что мне всего лишь 25, то есть для большинства это возраст еще вчерашнего студента, у которого жизнь только началась.

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Усложнить парсинг - способов масса:
    1. Запретить просмотр исходного кода материала со всех IP, кроме поисковиков.
    2. Для остальных - отображать материалы единым целым изображением с водяными знаками или использовать JS-обфускацию с таймером-задержкой при подгрузке контента статьи для определения автоматического парсинга, а также следить за событием выделения и копирования текста на странице.
    3. Можно раскидывать текст по слоям, но это достаточно сложно сделать с сохранением адаптивности шаблона.
    4. Можно изображения резать по диагонали или как угодно и загружать по слоям.
    5. Можно делать частичное наполнение, чтобы получить индексацию по ключам.
    6. Можно использовать умышленно разный язык, чтобы буквы разного языка выглядели бы одинаково, а затем - незаметно после парсинга конкурентом, заменять всё на нормальные (нужного языка). В итоге - у него будет для ПС - говноконтент)
    7. Можно ключи текста заменить местоимениями или писать антонимы.

    Т.е. задача: чтобы конкурент делал больше работы по обеспечению SEO, чем Ваша система в автоматическом режиме. Только тогда он поймет, что тратит больше времени и это бессмысленно делать с Вашим сайтом.
    Ответ написан
    24 комментария
  • Как отобразить данные из бд на страничку jsp?

    jaxtr
    @jaxtr
    JavaEE/Spring-разработчик
    Быстрый пример с Spring Framework/Data/Boot

    Создаёшь новый Маven-проект, добавляешь зависимости и указываешь родительский артефакт:
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.5.RELEASE</version>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>


    Создаёшь класс-сущность, которая будет представлять собой отзыв:
    @Entity
    public class Review implements Serializable {
    
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int id;
    
        @Column(columnDefinition = "TEXT")
        private String reviewText;
        
        @Temporal(javax.persistence.TemporalType.TIMESTAMP)
        private Date createDate;
    
        // get/set-методы и т.д.
    }


    Создаёшь репозиторий для работы с БД:
    @Repository
    public interface ReviewRepository extends CrudRepository<Review, Integer> {
    }


    Создаёшь контроллер с двумя действиями: отображение списка отзывов и добавление нового отзыва:
    @Controller
    public class SiteController {
    
        @Autowired
        private ReviewRepository reviewRepository;
    
        @RequestMapping
        public ModelAndView index() {
            return new ModelAndView("site/index", Collections.singletonMap("reviews", reviewRepository.findAll()));
        }
    
        @RequestMapping(method = RequestMethod.POST)
        public String createReview(@RequestParam String reviewText) {
            reviewRepository.save(new Review(reviewText, new Date()));
    
            return "redirect:/";
        }
    }


    Создаёшь свою JSP-страницу:
    <?xml version="1.0" encoding="UTF-8"?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" version="2.0">
    
        <jsp:directive.page contentType="text/html" pageEncoding="UTF-8"/>
        <jsp:output doctype-root-element="html" doctype-system="about:legacy-compat" omit-xml-declaration="true"/>
    
        <html>
            <head>
                <title>GuestBoot Example</title>
            </head>
            <body>
                <h1>Post new review</h1>
                <form method="POST">
                    <label>
                        <textarea name="reviewText" placeholder="Your review here"><jsp:text/></textarea>
                    </label>
                    <br/>
                    <button type="submit">Submit</button>
                </form>
                <hr/>
                <h1>Reviews</h1>
                <c:forEach items="${reviews}" var="review">
                    <div>
                        <c:out value="${review.reviewText}"/><br/>
                        <small><c:out value="${review.createDate}"/></small>
                    </div>
                    <br/>
                </c:forEach>
            </body>
        </html>
    </jsp:root>


    Добавляешь конфигурацию для отображения JSP-страниц:
    @Configuration
    public class WebConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry) {
            registry.jsp("/WEB-INF/views/", ".jspx");
        }
    
    }


    Создаёшь стартовый класс приложения:
    @SpringBootApplication
    public class GuestBook extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(GuestBook.class, args)
                    .registerShutdownHook();
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(GuestBook.class);
        }
    }


    Запускаешь и наслаждаешься результатом.

    Смотришь репозиторий с рабочим кодом и читаешь документацию по Spring Framework и Spring Boot.
    Ответ написан
    Комментировать
  • Есть ли будущее у front-end в стартапе?

    Apple ни первая придумала телефон, Uber не первая придумала частный извоз. Они лишь смогли правильно, удобно и выгодно для обеих сторон предоставить свои услуги.

    Все в ваших руках ;)
    Ответ написан
    Комментировать
  • Есть ли будущее у front-end в стартапе?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Реально ли запустить что-то стоящее и приносящее прибыль со знаниями, только лишь, фронтенда?


    Нет. Вам нужно еще обладать хоть какими-то навыками предпринимателя и маркетолога. Как минимум вы должны в состоянии составить бизнес план и учесть риски. Ну и у вас должны быть деньги.

    Хотя может просто повести и тогда... нужно будет меньше денег)
    Ответ написан
    1 комментарий
  • Есть ли будущее у front-end в стартапе?

    un1t
    @un1t
    Чтобы что-то запустить нужны предпринимательские навыки и деньги. Фронтенд там или бакенд не нужны.
    Ответ написан
    9 комментариев
  • Есть ли будущее у front-end в стартапе?

    Думаю, сейчас вообще сложно что либо запустить со знаниями
    Почти любую информацию можно найти бесплатно.
    Если захватить буржуйские ресурсы, то вообще любую информацию можно получить бесплатно.
    Эпоха инфобизнеса подходит к концу
    Ответ написан
    1 комментарий
  • Для чего используют абстрактные классы?

    Denormalization
    @Denormalization
    1) Нельзя создать инстанс абстрактного класса.
    2) Методы объявленные как "abstract" - обязательны к реализации. Что дает уверенность в том, что любой наследник будет реализовывать эти методы.
    3) Открыв файл с абстрактным классом, я сразу вижу методы которые у него есть, и которые мне необходимо реализовать. В вашем же примере я не знаю какие методы относятся конкретно к ChildClass, а какие к ClassName.

    Все эти интерфейсы, абстрактные классы и т.д и т.п нужно тогда, когда над проектом работает несколько (много) человек, и проект чуть больше чем "свой мегакрутой бложик".
    Ответ написан
    Комментировать