양질의 강의에 진심으로 감사의 말씀 드립니다. 다름이 아니라 제가 참조에 대해서 계속 고민하다가 개념적인 이해를 시도하는데 이것이 맞는 것인지 확인하고자 강사님께 질의를 남깁니다. 직접참조 : 메모리 주소로 접근해서 바이너리 확인 - 메모리 주소 : 포인터(값을 가리키지 않고 주소를 나타냄) - 그 메모리 주소의 값 : 비트로 구성된 메모리의 값 - 변수 : 메모리가 값을 위해 할당한 데이터 공간(값이 들어갈 수 있는 일종의 space) 간접참조 : 메모리 주소의 주소 - 즉, 포인터의 포인터 - 그래서 간접참조된 메모리 주소에는 값이 들어있지 않고 그 값을 가리키는 포인터(메모리 주소)가 들어있다. "가장 큰 차이는 직접참조는 메모리 공간에 쓰인 바이너리가 있는 것. 간접참조는 주소에 관련된 정보 바이너리가 있기 때문에(직접참조는 메모리 주소 - 값, 간접참조는 메모리주소 - 메모리 주소) 일종의 파이프-라인. 따라서 같은 15라는 값을 나타내도 직접참조는 그 메모리 주소의 값 그 자체를 나타내고, 간접참조는 그 주소에 대한 정보 바이너리가 적혀있다. " 제가 계속 고민을 하다 이런식으로 좀 개념을 잡았는데 제대로 잡고 있는 것인지 궁금합니다. 감사합니다.
인터넷 보면서 자바 환경 변수 설정을 해보았는데 혹시 제대로 된 것이 맞을까요..? ㅠㅠ 자바 환경 변수 부터 쉽지 않네요 -- 자바 설치 sudo apt-get install openjdk-8-jdk -- 자바 버전 확인 tghong@redhat7-1:~$ java -version openjdk version "1.8.0_382" -- 설치 경로 확인? tghong@redhat7-1:~$ readlink -f $(which java) /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java sudo vi /etc/profile export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin source /etc/profile -- 확인 tghong@redhat7-1:~$ echo $JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 tghong@redhat7-1:~$ echo $PATH | grep java /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin
덩어리=최소공배수? 이고 ret = 35라는건 최소공배수가 7일때 7*5해서 최소공배수의 배수이고 ret-1/a[i] 하는건 28 만드는 과정인건 알겠는데 8:40 보면 ret%a[i]==0 있는 for문이 설명이 없고 잘 이해도 안가서 그러는 데 for(;;){if(ret%a[i]==0) if(temp==n))~ 이 부분 코드 설명 해 주실 수 있으신가요? 공유 소스 보기 (acmicpc.net)
안녕하세요 강사님! 먼저 인프런에서 하둡을 공부 할 수 있도록 강의 내주셔서 너무 감사합니다! jar 파일 압축이 풀리지 않아 방법을 찾던 중 sudo apt-get install openjdk-8-jdk* 으로 설치가 잘 되었습니다 혹시 이 방법으로 해도 문제가 없을까요..? 자바를 해본 적이 없는 상황에서 자바 설치 방법이? 강의와 다른데 그 이후 환경 변수 셋팅 구축 방법 및 하둡 설치는 달라지는 것이 없나요? 클라우드 환경이라 터미널에서 wget 으로 다운 받았는데 gzip 파일이 아니라는 에러가 나오는 이유가 무엇일까요.. 혹시.. wget 으로 다운 받을 수 있는 자바 1.8버전을 영상 아래 코멘트 한줄만 남겨 주실 수 있으신가요..ㅠ
앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 현재 BMI앱을 코드베이스로 만들어보고 있는 수강생입니다! 코드베이스로 UI를 만드는 중에 궁금한 점이 생겨 질문드립니다. private let heightLabel: UILabel = { let label = UILabel() label.text = "키" label.textAlignment = .center label.font = .boldSystemFont(ofSize: 15) label.frame.size.width = 40 return label }() horizontal 스택뷰내부에 TextField와 함께 넣어둔 레이블입니다. 위에 보시는 것처럼 label.frame.size.width = 40을 통해 저는 레이블의 너비를 정해주었습니다. 하지만 빌드한 결과는 다음 사진과 같았습니다. 그리고 계속 삽질하며 테스트해본 결과 NSLayoutConstraint.activate([ heightLabel.widthAnchor.constraint(equalToConstant: 40) ]) 이렇게 오토레이아웃을 통해서만 조절해줄 수 있었습니다. 제 질문을 정리해보자면, 코드베이스UI에서 프로퍼티의 클로저 내부에서 원래 크기조절을 할 수 없는 것인지 그리고 원래 NSLayoutConstraint내부에서 사이즈를 조절하는게 정석적인 것인지 궁금합니다. 사진에 보시는 것처럼 키의 텍스트필드만 줄어들고 몸무게의 텍스트필드는 정상적인데 양쪽의 프로퍼티 모두 동일하게 설정해주었는데 왜 이러는걸까요? 이렇게 2가지 입니다!
상품등록 페이지를 cypress 를 통해 test 해보던 도중 kakao map 을 사용해 주소입력 하는 부분에서 문제가 발생하고 있습니다. 개발자 도구를 사용해서 kakao map 의 input 의 class 확인해 해당 class name 으로 get()요청을 했지만 인식을 못하고 있습니다
@Controller @RequestMapping("/basic") public class BasicController { @GetMapping("text-basic") public String textBasic(Model model){ model.addAttribute("data","Hello <b>Spring!</b>"); return "basic/text-basic"; } @GetMapping("text-unescaped") public String textUnescaped(Model model){ model.addAttribute("data","Hello <b>Spring!</b>"); return "basic/text-unescaped"; } @GetMapping("/variable") public String variable(Model model){ User userA = new User("userA", 10); User userB = new User("userB", 20); List<User> list = new ArrayList<>(); list.add(userA); list.add(userB); Map<String,User> map = new HashMap<>(); map.put("userA",userA); map.put("userB",userB); model.addAttribute("user",userA); model.addAttribute("users",list); model.addAttribute("userMap",map); return "basic/variable"; } @GetMapping("/basic-objects") public String basicObjects(HttpSession session ){ session.setAttribute("sessionData","Hello Session"); return "basic/basic-objects"; } @Component("helloBean") static class HelloBean { public String hello(String data){ return "Hello "+data; } } -> 왜 클래스로 따로 뺴주는지? public String hello(String data){ return "Hello "+data; } 이렇게 클래스내부에 메서드를 만들어서 사용하면되는거 아닌가요? 가 질문 컨트롤러클래스에 hello메서드를 만들지 않고 따로 내부에 클래스를 만들어 주는 이유가 뭔가요?
import java.util.Scanner; // Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`, // then press Enter. You can now see whitespace characters in your code. public class Main { public int solution(String data, char what) { int count = 0; data = data.toLowerCase(); for (char a : data.toCharArray()) { if (a == what) { count++; } } return count; } public static void main(String[] args) { Main T = new Main(); Scanner scanner = new Scanner(System.in); String data = scanner.nextLine(); char what = scanner.nextLine().charAt(0); System.out.println(T.solution(data, what)); } } 1번 문제인데 이대로 제출하니까 틀렸다고 합니다. 원인을 모르겠어요 ㅠ
안녕하세요. f(0) 이게 초기값으로 할당할 수 있는 이유를 생각해봤는데요 이해한대로 말해보자면 pipe함수가 리턴하는 익명함수를 변수 f가 할당받고 이제 pipe함수가 리턴한 익명함수는 pipe함수의 렉시컬 스코프를 참조할 수 있고 중간다리 역할을 합니다. 즉 익명함수를 할당받은 f는 클로저입니다. 그럼 f(0) => go (a: 0 , ...fs) 이런식으로 됩니다 f는 상위 스코프를 기억할 수 있는 클로저이니까 (익명함수를 f로 바꿔 표현한것입니다. 정확히 클로저는 익명함수입니다.) 스코프 체인을통해 ...fs를 참조할 수 있습니다.... 가 제가 이해한건데 맞을까요??
@GetMapping("/music/{itemid}") public String ~~ (@PathVariable long itemid){ } @GetMapping("/music/{price}") public String ~~ (@PathVariable long price){ } 이렇게 두개가 있다고 칠때 만일 url 값이 /music/2 이 들어오면 어디에 맵핑 되나요?? 둘다 가능하지 않나요??? 이런식으로는 보통 코딩하지 않는 건가요??
정확하게 출력이 되는것 같은데 오답이라고 나옵니다 선생님.. 제가 잘못 짠 부분이 있을까요?? import java.util.Scanner; class Main { static int n,total; static int[] array; static boolean flag; public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); n = sc.nextInt(); total =0; array = new int[n]; for (int i = 0; i < n; i++) { array[i] = sc.nextInt(); total += array[i]; } flag = false; T.DFS(0, 0); if (flag) { System.out.println("YES"); } else { System.out.println("NO"); } } void DFS(int L, int sum) { if (L == n) { return; } if (sum == total / 2) { flag = true; return; } if (sum > total / 2) { return; } DFS(L + 1, sum + array[L]); DFS(L + 1, sum); } }
search -> edit -> save 중 save에 궁금한 게 있습니다. int SaveNodeToFile(MYNODE* pNode)를 보면 파일에서 불러낸 경우만 고려돼있습니다. 신규 데이터를 찾아서 수정하는 경우에는 저장하지 않고 프로그램 종료 시 신규 데이터 일괄로 저장하는 방법을 써야할까요? pNode->bNew 값을 따져서 신규인지 구분하고 ab+모드로 파일 끝에 저장하는 건 생각했는데 파일에 저장했으니 bNew를 false로 수정해야하나? 수정하면 offset이 0이라 다시 검색할 때 offset이 0인 데이터를 찾을텐데? 그럼 offset 값은 어떻게 주지? bNew 값을 true로 저장하고 신규 데이터 일괄 저장할 때 덮어 써야하나? 라는 고민에 빠졌습니다. 어떤 방법이 좋을까요?