IT-тусовка

Змінюється світ, змінюємося ми, змінюються наші велосипеи і тільки ДЕМОКРАТІЇ на Велокиєві не було та не буде.
Аватар користувача
meral
*********
Повідомлень:3315
З нами з:30.6.06 10:46
Стать:чол
Звідки:киев, севастопольская пл.
Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення meral » 5.1.13 12:15

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

Аватар користувача
Yaroslav
* * *
Повідомлень:470
З нами з:21.5.04 13:45
Стать:чол
Звідки:Киев, Героев Днепра

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Yaroslav » 5.1.13 20:02

Вы Боги! Читаю - наслаждаюсь :inlove:.
Угу. Вот только если бы тебе приходилось постоянно разбираться с чем-то таким, ты бы быстро понял, кто горшки обжигает на самом деле.
вариант со стеком плохой.
Стек -- не более чем контракт, никто не заставляет хранить в памяти 100500 скобочек, достаточно типа скобочки и их (скобочек) количества. Главное, чтобы push скобочку сохранял, а pop -- доставал. Как некоторая реализация стека будет это делать -- никого не волнует.

Аватар користувача
Ichbin Dubist
* * * *
Повідомлень:966
З нами з:6.7.09 21:05
Skype:gnat_kuzovkov
Стать:чол
Звідки:Киев

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Ichbin Dubist » 5.1.13 20:10

Истинно говорю Вам, в этом мире человека оценивают по качеству написанного им программного кода. :(
"...ein Licht erhellt den Horizont erheb´ den Blick zum Morgengrauen.." (c) Der Prager Handgriff

Аватар користувача
Varyat
*********
Повідомлень:6711
З нами з:27.2.06 21:13
Стать:чол
Звідки:Київ

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Varyat » 6.1.13 02:17

Истинно говорю Вам, в этом мире человека оценивают по качеству написанного им программного кода. :(
Судя по всему, первым программистом был Бог. Так он такого понаписывал - ученые всего мира до сих пор не могут полностью этот код прочитать :). А декомпилировать его вообще нереально :D.
Сім заповідей старого анархіста (і вічно юного вар'ята в одній особі):

Людина народжується втомленою і живе для того, щоб відпочити.
Тільки творча праця достойна поваги.
Живи як хочеш, але іншим не заважай.
Свобода однієї людини закінчується там, де починається свобода іншої людини.
Життя треба прожити так, щоб не хотілося його прожити ще раз.
Яке б рішення ти не прийняв, воно все одно виявиться помилковим - згодом з'ясується, що було ще краще рішення.
Головною причиною смерті є життя.

Аватар користувача
meral
*********
Повідомлень:3315
З нами з:30.6.06 10:46
Стать:чол
Звідки:киев, севастопольская пл.

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення meral » 6.1.13 05:10

врядли программистом. скорее еще нет этой проффесии и до программиста как программисту до шамана неардельтальцев.
а с декомпиляцией проблема в том, что декомпиляция требует знания архитектуры процессора.
время дает возможность Поиска, и ничего более.

Аватар користувача
AVVAKUM
новичок
новичок
Повідомлень:5880
З нами з:25.4.07 17:07
Skype:avvakum_v
Стать:чол
Звідки:старая, старая Дарница

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення AVVAKUM » 6.1.13 11:47

Истинно говорю Вам, в этом мире человека оценивают по качеству написанного им программного кода. :(
Судя по всему, первым программистом был Бог. Так он такого понаписывал - ученые всего мира до сих пор не могут полностью этот код прочитать :). А декомпилировать его вообще нереально :D.
Ну так и само имя бога прочитать (произнести ) не могут.
— В резюме вы указали, что вам не нравятся геи...
— Нет, скорее это я им.
— Вы нам не подходите.
— Вот видите? Я так и написал.

Аватар користувача
meral
*********
Повідомлень:3315
З нами з:30.6.06 10:46
Стать:чол
Звідки:киев, севастопольская пл.

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення meral » 6.1.13 12:05

ну так имя в комментах к исходникам осталося. а исходников нету же.
время дает возможность Поиска, и ничего более.

Аватар користувача
Varyat
*********
Повідомлень:6711
З нами з:27.2.06 21:13
Стать:чол
Звідки:Київ

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Varyat » 6.1.13 16:15

врядли программистом
Это как посмотреть... Глянь, у него даже корректный выход из цикла прописан:

http://ru.wikipedia.org/wiki/Предел_Хейфлика

Со счетчиком. А вовсе не примитивный IF THEN... GO TO END, который, введя неопределенный параметр или просто удалив строку с условием, можно запросто заглючить, взломать и жить вечно.

Вот еще популярненько об этой программе:
http://subscribe.ru/archive/science.hea ... 82455.html
Сім заповідей старого анархіста (і вічно юного вар'ята в одній особі):

Людина народжується втомленою і живе для того, щоб відпочити.
Тільки творча праця достойна поваги.
Живи як хочеш, але іншим не заважай.
Свобода однієї людини закінчується там, де починається свобода іншої людини.
Життя треба прожити так, щоб не хотілося його прожити ще раз.
Яке б рішення ти не прийняв, воно все одно виявиться помилковим - згодом з'ясується, що було ще краще рішення.
Головною причиною смерті є життя.

Аватар користувача
AVVAKUM
новичок
новичок
Повідомлень:5880
З нами з:25.4.07 17:07
Skype:avvakum_v
Стать:чол
Звідки:старая, старая Дарница

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення AVVAKUM » 6.1.13 18:51

ну так имя в комментах к исходникам осталося. а исходников нету же.
Исходники не смогут помочь. В исходникахна вообще не использовались гласные буквы
Востаннє редагувалось 6.1.13 20:22 користувачем AVVAKUM, всього редагувалось 1 раз.
— В резюме вы указали, что вам не нравятся геи...
— Нет, скорее это я им.
— Вы нам не подходите.
— Вот видите? Я так и написал.

Аватар користувача
Varyat
*********
Повідомлень:6711
З нами з:27.2.06 21:13
Стать:чол
Звідки:Київ

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Varyat » 6.1.13 19:16

Далось вам это имя программиста и его исходники. Прога то нормально работает. Уже какой миллион лет :). Даже хакерам майя не удалось просчитать, когда она заглючит :D.
Сім заповідей старого анархіста (і вічно юного вар'ята в одній особі):

Людина народжується втомленою і живе для того, щоб відпочити.
Тільки творча праця достойна поваги.
Живи як хочеш, але іншим не заважай.
Свобода однієї людини закінчується там, де починається свобода іншої людини.
Життя треба прожити так, щоб не хотілося його прожити ще раз.
Яке б рішення ти не прийняв, воно все одно виявиться помилковим - згодом з'ясується, що було ще краще рішення.
Головною причиною смерті є життя.

Аватар користувача
Maxislav
* * *
Повідомлень:281
З нами з:4.9.12 07:26
Стать:чол

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Maxislav » 6.1.13 20:05

А кто может поможет просто разобраться в небольшом сервере.
Я не программер, код я взял из интета, гдето из примеров. Кое-как подправил чтобы работал под мои задачи (чуточку разбираюсь но не все могу понять). А задача многопоточный сервер. По сути мне нужно принимать данные от клиента по TCP, и чтобы одно установившееся соединение не рвалось (по этому я убрал сокет.клоус и запустил этот поток в бесконечный цыкл). Программа в итоге рабочая (хоть я не все и понимаю что делаю.. чисто интуитивно методом проб и ошибок сработало).
Было множество примеров, но все они расчитаны чтобы принять одну посылку и сразу закрыть сокет, и опять ждать подключения для одной посылки.
Вопщем вот что получилось. Коментарии писал своими словами.
Spoiler
Show

Код: Виділити все

import java.io.*; import java.net.*; class SampleServer extends Thread{ Socket s; // вроде как глобальные переменные int num; public static void main(String args[]){ try{ int i = 1; // счётчик подключений // привинтить сокет на локалхост, порт 3128 ServerSocket server = new ServerSocket(3128); System.out.println("server is started"); // слушаем порт while(true){ // ждем нового подключения, после чего запускаем обработку клиента // в новый вычислительный поток и увеличиваем счётчик на единичку new SampleServer(i, server.accept()); i++; } } catch(Exception e) {System.out.println("init error1: "+e);} // вывод исключений } public SampleServer(int num, Socket s) { System.out.println("new connection"+num); // копируем данные this.num = num; this.s = s; setDaemon(true); setPriority(NORM_PRIORITY); start(); // и запускаем новый вычислительный поток (см. ф-ю run()) } public void run(){ try{ while(true) { // Добавил бесконечный цикл для установившегося соединения. // сокет никогда не закрывается. // s.setSoTimeout(300000); // выход за пределы по цикла на ошибку по истечению 5 мин (не совсем работает это) // буфер данных в 64 килобайта byte [] buf = new byte[64*1024]; // читаем 64кб от клиента, результат - кол-во реально принятых данных // int r = is.read(buf); // из сокета клиента берём поток входящих данных //InputStream is = s.getInputStream(); int r = s.getInputStream().read(buf); // количество принятых байт в посылке System.out.println("Recessive bite"+r); if (r==(-1)){ System.out.println("socet close"); // если клиент дисконект закрываем сокет return; } OutputStream os = s.getOutputStream(); // и оттуда же - поток данных от сервера к клиенту String data = new String(buf, 0, r);// создаём строку, содержащую полученную от клиента информацию System.out.println(data); //выводим полученные данные на экран /* * тут делаем все что надо со строкой data (парсим данные) * * */ os.write(data.getBytes()); // отправляем данные клиенту } } catch(Exception e){ System.out.println("init error2: "+e); // вывод исключений //s.close(); //хотелось бы вставить - но тут что такое сокет неопределено } } }
Непонятно- в какой момент и от чего запускается функция public void run() ?
что делает строка start() ?;
Востаннє редагувалось 6.1.13 20:13 користувачем Maxislav, всього редагувалось 1 раз.

Аватар користувача
Alt
* * *
Повідомлень:402
З нами з:9.11.06 00:23
Skype:atihonruk
Стать:чол
Звідки:возле кладбища байков
Контактна інформація:

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Alt » 7.1.13 10:00

Непонятно- в какой момент и от чего запускается функция public void run() ?
что делает строка start() ?;
http://docs.oracle.com/javase/6/docs/ap ... ml#start()
void start()
Causes this thread to begin execution; the Java Virtual Machine calls the run method of this thread.

Аватар користувача
Maxislav
* * *
Повідомлень:281
З нами з:4.9.12 07:26
Стать:чол

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Maxislav » 12.1.13 13:58

Спасибо. почерпнул инфы.

Снова обращаюсь за консультацией. Создал я запускаемый jar . Это как из кода видно программа слушающая порт и далее я записываю в текстовый файл все что пришло (сервер по сути).
Есть ли бесплатные хостинги, куда можно залить этот jar файл и запустить его там?
Гуглю гуглю.. не могу найти ответа. Все сообщения старые. На сегодня никто не знает бесплатный хостинг где можно запускать свои jar?

Аватар користувача
lach
*********
Повідомлень:2289
З нами з:12.4.06 21:50
Skype:lachuzhnikov
Стать:чол
Звідки:Kyiv

Re: IT-тусовка

Повідомлення lach » 14.1.13 00:04

Тебе с томкатом хостинги надо искать. Если не путаю.
Пятая ходка, условный срок. UT3UGV

Аватар користувача
meral
*********
Повідомлень:3315
З нами з:30.6.06 10:46
Стать:чол
Звідки:киев, севастопольская пл.

Re: IT-тусовка

Повідомлення meral » 14.1.13 00:06

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

Аватар користувача
Alt
* * *
Повідомлень:402
З нами з:9.11.06 00:23
Skype:atihonruk
Стать:чол
Звідки:возле кладбища байков
Контактна інформація:

Re: IT-тусовка

Повідомлення Alt » 14.1.13 12:18

Нужно искать VPS, сейчас они стоят от нескольких $ в месяц. 512 мб вполне хватит, чтобы поднять JVM c этим "сервером". Совсем бесплатно можно на год завести ec2 инстанс в амазоновском облаке в рамках free tier.
джава нереально много ресурсов кушает. прежде всего памяти. причем даже в моменты простоя.
Это заблуждение, мягко говоря. Память кушают кривые программы, а современные JVM как раз очень неплохо справляются с управлением памятью.
Тебе с томкатом хостинги надо искать. Если не путаю.
Путаешь. Зачем монстрообразный сервлет-контейнер, если автору нужен голый сокет-сервер?

Аватар користувача
meral
*********
Повідомлень:3315
З нами з:30.6.06 10:46
Стать:чол
Звідки:киев, севастопольская пл.

Re: IT-тусовка

Повідомлення meral » 14.1.13 12:33

так я и говорю немного платных. вот те же 200 мб все же джаве надо.а тому же php 10-20 во время выполнения и 0 в режиме ожидания(а джава кушает прилично и ожидая). потому и нету бесплатных. все познается в сравнении. понятно что если сравнивать с рейлз то разницы не особо.
ну вот сколько "голый сокет сервер " на джаве кушает в решжиме "жду соединения"?
время дает возможность Поиска, и ничего более.

Аватар користувача
Anadorr
*
Повідомлень:17
З нами з:30.4.12 11:30
Skype:Anadorr
Стать:чол
Звідки:Kyiv

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення Anadorr » 14.1.13 13:19

Спасибо. почерпнул инфы.

Снова обращаюсь за консультацией. Создал я запускаемый jar . Это как из кода видно программа слушающая порт и далее я записываю в текстовый файл все что пришло (сервер по сути).
Есть ли бесплатные хостинги, куда можно залить этот jar файл и запустить его там?
Гуглю гуглю.. не могу найти ответа. Все сообщения старые. На сегодня никто не знает бесплатный хостинг где можно запускать свои jar?
Таких, скорей всего - нету. Точнее, есть, но сама установка займет немало танцев с бубном.
Аналогичный код можно(и просто) написать на php, а уж для него бесплатных хостингов - валом. На каком-то из них - да и получится запустить сокет-сервер.
P.s. вообще свои jar можно хостить на домашнем компе, если есть "белый" IP.

Аватар користувача
Maxislav
* * *
Повідомлень:281
З нами з:4.9.12 07:26
Стать:чол

Re: IT-тусовка

Повідомлення Maxislav » 20.5.13 19:18

кто-то дает уроки по JS ?

нужен 1.. 2 урока по json формату, его использования и преобразования в ul дерево при отображении в HTMl :help

Аватар користувача
meral
*********
Повідомлень:3315
З нами з:30.6.06 10:46
Стать:чол
Звідки:киев, севастопольская пл.

Re: IT-тусовка

Повідомлення meral » 20.5.13 19:46

зачем тебе это? используй jquery/jquery.json. выдает сразу обьекто-подобное представление. не изобретай велосипеды.
вообще в сети ж полно информации. возьми лучше пару уроков по advanced search technics

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

Аватар користувача
Quick Thinker
* * *
Повідомлень:337
З нами з:30.3.12 16:45
Стать:чол
Звідки:Киев, Березняки

Повідомлення Quick Thinker » 20.10.13 22:15

Просматривал алгоритмы, и вспомнил об этой теме :)
Решение с помощью стека, взято из приложения к "Algorithms, 4th Edition" By Robert Sedgewick, Kevin Wayne.
Источник.

Код: Виділити все

/************************************************************************* * Compilation: javac Parentheses.java * Execution: java Parentheses * Dependencies: In.java Stack.java * * Reads in a text file and checks to see if the parentheses are balanced. * * % java Parentheses * [()]{}{[()()]()} * true * * % java Parentheses * [(]) * false * *************************************************************************/ public class Parentheses { private static final char LEFT_PAREN = '('; private static final char RIGHT_PAREN = ')'; private static final char LEFT_BRACE = '{'; private static final char RIGHT_BRACE = '}'; private static final char LEFT_BRACKET = '['; private static final char RIGHT_BRACKET = ']'; public static boolean isBalanced(String s) { Stack<Character> stack = new Stack<Character>(); for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == LEFT_PAREN) stack.push(LEFT_PAREN); if (s.charAt(i) == LEFT_BRACE) stack.push(LEFT_BRACE); if (s.charAt(i) == LEFT_BRACKET) stack.push(LEFT_BRACKET); if (s.charAt(i) == RIGHT_PAREN) { if (stack.isEmpty()) return false; if (stack.pop() != LEFT_PAREN) return false; } else if (s.charAt(i) == RIGHT_BRACE) { if (stack.isEmpty()) return false; if (stack.pop() != LEFT_BRACE) return false; } else if (s.charAt(i) == RIGHT_BRACKET) { if (stack.isEmpty()) return false; if (stack.pop() != LEFT_BRACKET) return false; } } return stack.isEmpty(); } public static void main(String[] args) { In in = new In(); String s = in.readAll().trim(); StdOut.println(isBalanced(s)); } }

Аватар користувача
MAXHO
* * * *
Повідомлень:756
З нами з:23.5.06 22:25
Skype:dmitriy.denisov.work
Стать:чол
Звідки:Киев, Нивки

Re: Кажуть, на велокиєві багато працівників ІТ-сфери?

Повідомлення MAXHO » 31.10.13 15:05

Спасибо. почерпнул инфы.

Снова обращаюсь за консультацией. Создал я запускаемый jar . Это как из кода видно программа слушающая порт и далее я записываю в текстовый файл все что пришло (сервер по сути).
Есть ли бесплатные хостинги, куда можно залить этот jar файл и запустить его там?
Гуглю гуглю.. не могу найти ответа. Все сообщения старые. На сегодня никто не знает бесплатный хостинг где можно запускать свои jar?
https://www.digitalocean.com/community
Вот могу посоветовать неплохой хостинг. Там можешь томкат сам поставить, как это делаеться на том же сайте написано.
Когда поставишь - заходишь в менеджер жмакаешь кнопку deploy. Выбираешь свой файлик. Все.

з.ы. Реализация задачки:
Из скобочек делаем массив и создаем еще пустой стек. Дальше начинаем перебор с первого элемента по такому принципу - берем последний елемент в стеке (вначале он пустой). Если там ничего нет (либо елемент в стеке не совпадает) - добавляем сканируемый елемент зеркально в стек (тоесть для "]" добавляем "["). Если елемент совпадает то убираем со стека. Проверка на то что скобочки поставлены правильно - пустой стек в конце перебора. Все.

rodgerer
новичок
новичок
Повідомлень:1
З нами з:18.10.15 16:39
Стать:чол

Re: IT-тусовка

Повідомлення rodgerer » 18.10.15 16:56

К проге, предложенной уважаемым meral,ом.
viewtopic.php?f=52&t=121580#p1555435
Перевел под синтаксис Java и внес изменения, чтобы завершало проверку, как только будет найдена закрывающая скобка, до которой не было открывающей. Также переставел Index,ы, поскольку не работало, как в оригинале.
Вот простые варианты для проверки.
Корректные:
() ({}) ([{}]) ({[]}) ([]{}) (){}[]
Некорректные
)( [(]) ({[}]) )[]( {[}] ){[}]( )]}[({ (]})[{
Заранее извиняюсь, если будут явные ляпы, пока полный профан.
Spoiler
Show
import java.util.Scanner;

public class DogReal2 {
public static void main(String[] args) throws IOException {
int index = 0; //Идекс открытости
boolean isGood = true; //Флаг правельности синтаксиса, предположи что синтаксис из начально верен
Scanner sc = new Scanner(System.in);
String s;
s = sc.nextLine(); //Введем строку тип (a*b{ab}-c)
double[] Arr = new double[3]; //Наш массив-сумматор для скобок Arr[0] ()
char[] mass = s.toCharArray();
boolean error = false;
int roundBrackets = 0;
int curlyBrackets = 0;
int squareBrackets = 0;
for (int i = 0; i < mass.length; i++) //Обойдем всю строку
{
if ((mass == '(') || (mass == ')')) //Если попался один из символов круглых скобок
{
switch (mass) //Проверим какой
{
case '(': //Если открытие
++roundBrackets;
Arr[0] += Math.pow(2.0, index); //Прибавим к нужному эл. массива 2*текущая_входимость(индекс открытости скобки)
index++; //Увеличим индекс
break;
case ')': //Если закрытие
++roundBrackets;
index--; //Сначало уменьшим индекс т.к. если было окрытие то индекс мы уже увеличили, а нам нужен индекс одного уровня
Arr[0] -= Math.pow(2.0, index); //Потом отними
if ((roundBrackets == 1) && (Arr[0] < 0))
{
error = true;
}
}
}
//По аналогии все остальные
else if ((mass == '{') || (mass == '}')) {
switch (mass) {
case '{':
++curlyBrackets;
Arr[1] += Math.pow(2.0, index);
index++;
break;
case '}':
++curlyBrackets;
index--;
Arr[1] -= Math.pow(2.0, index);
if ((curlyBrackets == 1) && (Arr[1] < 0))
{
error = true;
}
}
} else if ((mass == '[') || (mass == ']')) {
switch (mass) {
case '[':
++squareBrackets;
Arr[2] += Math.pow(2.0, index);
index++;
break;
case ']':
++squareBrackets;
index--;
Arr[2] -= Math.pow(2.0, index);
if ((squareBrackets == 1) && (Arr[2] < 0))
{
error = true;
}
}
}
if (error)
{
System.out.println("Error. The opening brace at the beginning. There is no reason to continue");
break;
}
}

for (int i = 0; i < 3; i++) //Обойдем массив и проверим все ли значение равны 0
{
if (Arr != 0)
isGood = false; //Если хотя бы одно из значений не равно нулю то значит синтаксис не верен
}
if (isGood) //Согласно флагу выведим сообщение
System.out.println("Number of brackets corresponds to the syntax");
else System.out.println("Error: Location brackets mistake");
}
}


Повернутись до “Пісочниця”

Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 229 гостей