묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
기본생성자 강의 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]만약 자바에서 '기본 생성자'를 만들어주지 않는다면 생성자 기능이 필요하지 않은 경우에도 모든 클래스에 개발자가 직접 기본 생성자를 정의해야 한다. 생성자 기능을 사용하지 않는 경우도 많기 때문에 이런 '편의 기능'을 제공한다.위 내용에 관한 질문입니다.생성자가 필요하지 않는 경우에도 생성자를 정의해야 된다는게 무슨말인지 이해가 안가서요 생성자 기능을 사용하지 않는 경우 생성자가 필요없다는 뜻 아닌가요?근데 왜 개발자가 직접 기본 생성자를 정의해줘야 하는거죠?문맥이 이해가 가질 않아서요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리 질문
1. 11분 57초에 team. getMember().add(member); 구문이 있는데요. add()가 insert역할인가요?팀의 멤버를 조회해서 멤버를 추가하라는게 혹시 무슨 뜻인가요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
create posts 부분에서의 에러 발생
https://www.inflearn.com/course/lecture?courseSlug=spring-boot-restful-web-services&unitId=39127&tab=community&category=questionDetail&q=222413해당 강의에서의 posts create 부분에 500 interna error가 발생해서 문의드립니다 package com.example.restfulwebservice.bean; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.*; @Entity @Data @NoArgsConstructor @AllArgsConstructor public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String description; // 게시물:사용자는 N:1 관계 // JsonIgnore 통해서 정보를 가져오지 않음 @ManyToOne(fetch = FetchType.LAZY) // FetchType.LAZY는 지연 로딩, 사용자 데이터를 필요한 시점에 가져옴. 즉시 로딩 안함 @JsonIgnore // 다른 엄한 JsonIgnore를 불러오는 바람에 N+1 문제가 너무 크게 발생함.... private User user; } Post.java package com.example.restfulwebservice.Controller; import com.example.restfulwebservice.bean.Post; import com.example.restfulwebservice.bean.User; import com.example.restfulwebservice.exception.UserNotFoundException; import com.example.restfulwebservice.exception.UsersAndCountResponse; import com.example.restfulwebservice.repository.PostRepository; import com.example.restfulwebservice.repository.UserRepository; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import javax.validation.Valid; import java.net.URI; import java.util.Date; import java.util.List; import java.util.Optional; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; @RestController @RequestMapping("/jpa") public class UserJPAController { private UserRepository userRepository; private PostRepository postRepository; public UserJPAController(UserRepository userRepository){ this.userRepository = userRepository; } // /jpa/users @GetMapping("/users") public List<User> retrieveAllUsers(){ return userRepository.findAll(); } // ResponseEntity를 사옹한 정답 코드 @GetMapping("/usersAndCount") public ResponseEntity retrieveAllUsersAndCount(){ List<User> users = userRepository.findAll(); int count = users.size(); UsersAndCountResponse result = UsersAndCountResponse.builder() .count(users.isEmpty() ? 0 : users.size()) .users(users) .build(); EntityModel entityModel = EntityModel.of(result); WebMvcLinkBuilder linkTo = linkTo(methodOn(this.getClass()).retrieveAllUsers()); entityModel.add(linkTo.withSelfRel()); return ResponseEntity.ok(entityModel); } // jpa/users/{id} @GetMapping("/users/{id}") public ResponseEntity retrieveUsersById(@PathVariable int id){ Optional<User> user = userRepository.findById(id); if (!user.isPresent()){ throw new UserNotFoundException("id - " + id); } EntityModel entityModel = EntityModel.of(user.get()); WebMvcLinkBuilder lintTo = linkTo(methodOn(this.getClass()).retrieveAllUsers()); entityModel.add(lintTo.withRel("all-users")); return ResponseEntity.ok(entityModel); } @DeleteMapping("/users/{id}") public void deleteUser(@PathVariable int id){ userRepository.deleteById(id); } // /jpa/users @PostMapping("/users") public ResponseEntity<User> createUser(@Valid @RequestBody User user){ if(user.getJoinDate() == null) user.setJoinDate(new Date()); User savedUser = userRepository.save(user); // USER CREATED // /users/4 // 생성된 User의 URI를 저장 후 반환하기 URI location = ServletUriComponentsBuilder .fromCurrentRequest() .path("/{id}") .buildAndExpand(savedUser.getId()) .toUri(); return ResponseEntity.created(location).build(); } @GetMapping("/users/{id}/posts") public List<Post> retrieveAllPostByUser(@PathVariable int id){ Optional<User> user = userRepository.findById(id); if(!user.isPresent()){ throw new UserNotFoundException("id-" + id + " user not found"); } return user.get().getPosts(); } @PostMapping("/users/{id}/posts") public ResponseEntity<Post> createPost(@PathVariable int id, @RequestBody Post post) { Optional<User> userOptional = userRepository.findById(id); if (!userOptional.isPresent()) { throw new UserNotFoundException("id-" + id); } User user = userOptional.get(); post.setUser(user); postRepository.save(post); URI location = ServletUriComponentsBuilder .fromCurrentRequest() .path("/{id}") .buildAndExpand(post.getId()) .toUri(); return ResponseEntity.created(location).build(); } } UserJPAController.java 파일이고, user의 post 통한 생성과 get 통한 id로 해당 사용자 post 조회는 이상 없습니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
splice로 써도 될까요?..?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. <script> function solution(arr){ let answer = arr; let [max, idx] = [-1, -1]; for (let i = 0; i < arr.length; i++){ max = Math.max(...arr) idx = arr.indexOf(max) arr.splice(idx, 1) // 배열 내 값 제거 arr.splice(idx, 0, i+1) // 제거한 자리에 max 순서 넣기 } return answer; } let arr=[87, 89, 92, 100, 76]; // 4 3 2 1 5 console.log(solution(arr)); </script> 섹션2의 5번 등수구하기문제입니다
-
해결됨Next + React Query로 SNS 서비스 만들기
POST 요청 시 {"statusCode":500,"message":"Internal server error"}가 발생합니다ㅠ
안녕하세요! '서버 쿠키 공유하기 & 게시글 업로드 완성' 강의에서 백엔드 전용 토큰을 생성하고 난 다음에 발생하는 에러가 있습니다. 현재 connect.sid는 잘 받아와 졌고 게시글과 사진을 올린 다음에 게시하기를 누르게 되면 강사님과 다르게{"statusCode":500,"message":"Internal server error"} 가 발생합니다 서버쪽 에러로그는 다음과 같습니다 제가 백엔드쪽은 아예 몰라서... 혹시 추가로 첨부해야 할 코드가 있다면 말씀해주시면 감사하겠습니다
-
미해결
폴더에 없는 html 파일이 연동되어 떠요;;;
https://magicmk.tistory.com/25스프링부트를 공부하면서 인터넷에 있는 파일 따라치고 있는데 이 폴더에는 login.html을 만들지도 않았는데 여기로 연동되네요; home.html은 무시하고 폴더에도 없는 login.html 파일이 연동되길래 화나서 스프링부트 파일들을 보관해놓는 폴더자체를 없애고 이 프로젝트만 냅뒀는데도 이러네요.. 구글링해도 안나오는데혹시 비슷한 경험해보신 분이나 해결방법아시면 도움 좀 주세요 며칠째 고생입니다.. 아예 다시 스프링부트 zip을 만들어서 새로 입력했는데도 저화면이 떠요.. 미치겠어요..@GetMapping("/") public String Home() { return "redirect:/home"; } @GetMapping("/members/new") public String createMemberForm(String email, String username, String password) { return "members/createMemberForm"; } @PostMapping("/members/new") public String createMember(MemberFormDTO memberFormDTO) { Long memberId = memberService.join(memberFormDTO); return "home"; }controller는 이렇습니다...
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
DataFrame.to_scv() 시 인덱스 컬럼이 비는 문제
문제라고 할 수는 없지만 보기가 좀 이상해서 컬럼 이름을 짓고 싶은데요.data.index.name = 'No'이렇게 하니 csv 저장시 빈쉼표가 아니라 보기 좋긴 합니다만.print(data)시에는 나머지 컬럼에 빈줄이 생기네요.큰 문제는 아닙니다만, 글 남겨봅니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
DB 설정 관련해서 질문 드립니다
[Table("UserTable")] public class UserData { [Key] public string UserId { get; set; } public string? Token { get; set; } [MaxLength(32)] public string? UserName { get; set; } public DateTime? CreateTime { get; set; } public BanData? Ban { get; set; } public ICollection<MailData> OwnMails { get; set; } public ICollection<GetMailData> GetMails { get; set; } } [Serializable] public class BanData { public DateTime Start { get; set; } public DateTime End { get; set; } public int State { get; set; } public string DescKey { get; set; } // Foreign Key public string UserId { get; set; } public UserData User { get; set; } } public class MailData { /// <summary> 우편물 구분 값 </summary> [Key] public long Id { get; set; } /// <summary> 발송일 </summary> public DateTime SendDate { get; set; } /// <summary> 우편물 받아야하는 기간 </summary> public DateTime EndDate { get; set; } /// <summary> 우편 내용물 </summary> public string Body { get; set; } /// <summary> 보낸이 ex)GM, DEV 등등 </summary> public string Sender { get; set; } // Foreign Key public string UserId { get; set; } public UserData User { get; set; } } /// <summary> 우편물 획득 시 </summary> public class GetMailData { /// <summary> 우편물 구분 값 </summary> [Key] public long Id { get; set; } /// <summary> 우편물 시간제한에 의한 삭제 </summary> public bool IsTimeOut { get; set; } /// <summary> 받은 날 </summary> public DateTime GetDate { get; set; } /// <summary> 우편 내용물 </summary> public string Body { get; set; } /// <summary> 보낸이 ex)GM, DEV 등등 </summary> public string Sender { get; set; } // Foreign Key public string UserId { get; set; } public UserData User { get; set; } }이렇게 SharedData.Models 정의를 해서 사용을 하고자 합니다 UserData에서만 DB 컬럼으로 활용을 하고싶습니다 ApplicationDbContext.csprotected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Ignore<BanData>(); modelBuilder.Ignore<MailData>(); modelBuilder.Ignore<GetMailData>(); }에는 DB로 만들어지지 않았으면 해서 예외처리를 추가했습니다 UserTableUserIdTokenUserNameCreateTimeBanData BanICollection<MailData> OwnMailsICollection<GetMailData> GetMails이런식으로 생성하게 하려면 어떻게해야 하나요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
@OnetoOne관계에서 실전 예제에서는 왜 외래 키 부분에 unique = true를 넣지 않았는지 궁금합니다.
우선 일대일 관계로 매핑된 Order와 Delivery 엔티티 코드는 다음과 같습니다.<Order 클래스> @OneToOne @JoinColumn(name = "DELIVERY_ID") private Delivery delivery;<Delivery 클래스> @OneToOne(mappedBy = "delivery") private Order order;일대일 관계를 명시하려면 외래키에 unique 제약조건을 추가해야 된다고 알고 있는데요. 이상한 점은 유니크 제약조건을 추가하지 않아도 아래와 같이 하이버네이트가 알아서 제약조건을 추가해줬다는 것입니다.왜 이런 현상이 발생한거죠?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
JavaScript & jQuery - 검색창 확장하기(3)에서
<body> <div class="container"> <header> <div class="logo"> <img src="logo.png" href="#none"> </div> <div class="search active"> <!-- x버튼 --> <span class="clear"><i class="xi-close-thin"></i></span> <!-- 돋보기 --> <div class="icon"><i class="xi-search"></i></div> <div class="input-frame"> <input type="text" id="searchInput" placeholder="Type Here..."> </div> </div> </header> <section> <h1>This is Section #01</h1> <p> Lorem </p> </section> <section> <h1>This is Section #02</h1> <p> Lorem </p> </section> </div> <script> var icon = document.querySelector('.icon'), search = document.querySelector('.search'), clear = document.querySelector('.clear'), searchInput = document.querySelector('.searchInput'); icon.onclick = function(){ search.classList.toggle('active') } clear.onclick = function(){ searchInput.value = '' } </script> </body>돋보기까지는 실행이 되는데텍스트 작성후 x버튼 눌렀을때 지워지지 않아요. searchInput.value = '' <<여기서 자꾸 에러가 뜨는데...뭐가 문제일까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
StreamBuilder 관련 질문입니다.
강의 중에 snapshot.data를 콘솔에 찍는 부분에 관한건데요!hot reload시 케바케로-flutter: null flutter: Latitude: 37.522327, Longitude: 126.921252flutter: Latitude: 37.522327, Longitude: 126.921252- 와 같이 현재 포지션이 두번 찍힐때가 있는데 이런건 어떤거때문인걸까요?제가 생각하기로는앱 로딩 시 빌드 함수가 실행되면서 getPositionStream()이 실행되나, 위치 잡아오기 전이라 null 반환이후 위치 잡아오면 스트림에 입력되어 위/경도값 반환이게 끝인거같은데 종종 보면 저 위/경도값이 두번 찍힐때가 있더라구요..!이유가 궁금합니다.
-
해결됨실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
/v2/index.html로 책 등록시 서버에 연결이 불가능하거나, 네트워크 오류입니다. 라고 뜹니다ㅠㅠ
안녕하세요 최태현 강사님!강의 잘보고있습니다 : )다름이 아니라 제가 기존에 oracle을 사용하고 있어서 server port는 8089로 설정해서 사용하고 있습니다. localhost:8089/v1/index.html을 실행시켜서 사용자 등록, 책 등록을 하면 잘 실행이 되는데v2/index.html로 접속하여 책 등록을 하면 아무런 반응이 없다가 '서버에 연결이 불가능하거나, 네트워크 오류입니다.' 라는 alert 메시지를 봅니다. 이게 어떤 문제인지 알 수 있을까요??
-
해결됨쉽고 빠르게 배우는 Vue 3 기본 (Composition API)
v-on, v-model 강의 재생 불가 문제
안녕하세요.먼저 좋은 강의 감사드립니다. v-on, v-model 강의가 재생되지 않아 질문 남깁니다.확인 부탁 드립니다. 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
:단방향 연관관계 질문있습니다.
강의 :단방향 연관관계20분 55초에서 쿼리가 안나온다는게 create table Team ( TEAM_ID bigint not null, TEAM_NAME varchar(255), primary key (TEAM_ID) )이게 안나오느다는건가요?근데 persist로 db에 저장되서 안나온다고 하셨는데 12분에도 persist가 있는데도 쿼리가 나오는데요. 혹시 find 앞에 persist는 예외인건가요?try { Team team =new Team(); team.setName("TeamA"); em.persist(team);//영속 상태가 되면 pk값이 세팅 되고 영속 상태가 됨. Member member = new Member(); member.setUsername("member1");// member.setTeamId(team.getId());//연관관계 매핑 배우기 전 팀의 외래키를 만들어서 멤버에 조인함. em.persist(member); tx.commit(); }catch (Exception e){ tx.rollback(); }finally { em.close();//엔티티 매니저가 내부적으로 데이터베이스를 물고 동작을 함. } emf.close(); }단방향 연관관계 22분에서 em.flush(); em.clear();을 추가하면 영속성 컨테스트를 db로 보내버리고 동기화 상태에서 1차캐시가 빈상태로 조회가능하다는것은 알겠는데요.그래서 다른점이 혹시 아래 select문인가요?Hibernate: select member0_.MEMBER_ID as MEMBER_I1_0_0_, member0_.TEAM_ID as TEAM_ID3_0_0_, member0_.USERNAME as USERNAME2_0_0_, team1_.TEAM_ID as TEAM_ID1_1_1_, team1_.TEAM_NAME as TEAM_NAM2_1_1_ from Member member0_ left outer join Team team1_ on member0_.TEAM_ID=team1_.TEAM_ID where member0_.MEMBER_ID=?
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
언리얼엔진 MMORPG 2D
언리얼엔진으로 만든 MMORPG 2D는 뭐가 있나요?
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
PM2 EADDRINUSE 에러
강의 보면서 PM2 배포를 따라해보았습니다. 5999번 포트를 사용했고, 몇 번 API 요청을 하면 EADDRINUSE 에러가 뜹니다. 0|index | Error: listen EADDRINUSE: address already in use :::5999 0|index | at Server.setupListenHandle [as listen2] (node:net:1872:16) 0|index | at listenInCluster (node:net:1920:12) 0|index | at Server.listen (node:net:2008:7) 0|index | at Function.listen (/home/ubuntu/hyerim-resume/server/nodemodules/express/lib/application.js:635:24) 0|index | at Object.<anonymous> (/home/ubuntu/hyerim-resume/server/index.js:6:11) 0|index | at Module._compile (node:internal/modules/cjs/loader:1376:14) 0|index | at Module._extensions..js (node:internal/modules/cjs/loader:1435:10) 0|index | at Module.load (node:internal/modules/cjs/loader:1207:32) 0|index | at Module._load (node:internal/modules/cjs/loader:1023:12) 0|index | at Object.<anonymous> (/home/ubuntu/.nvm/versions/node/v21.2.0/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23) { 0|index | code: 'EADDRINUSE', 0|index | errno: -98, 0|index | syscall: 'listen', 0|index | address: '::', 0|index | port: 5999 0|index | } 이 에러가 이미 사용중인 포트로 실행하려고 하는 문제라고 해서 매번 sudo lsof -i :5999, sudo kill -9 ~~ 로 서버를 껐다 키면 또 금방 해당 에러가 발생합니다. sudo lsof -i :5999 로 실행중인 프로세스를 확인하면 다음과 같습니다. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node\x20/ 1396 root 25u IPv6 451174 0t0 TCP ip-172-31-39-74.ap-northeast-2.compute.internal:5999->121.143.65.200:56521 (ESTABLISHED) node\x20/ 1396 root 26u IPv6 20785 0t0 TCP *:5999 (LISTEN) node\x20/ 1396 root 30u IPv6 451237 0t0 TCP ip-172-31-39-74.ap-northeast-2.compute.internal:5999->121.143.65.200:56645 (ESTABLISHED) Mac M2 로 서버에 접근해서 PM2를 실행하는데, Mac에서 AirPlay 모드를 꺼야 한다는 Stack Overflow 내용도 보고 꺼봤지만 역시나 에러가 뜹니다. pm2 start index.js —watch 로 pm2 인스턴스를 실행했더니 몇번 재시작을 자동으로 해주는 것 같지만 결국 재시작이 너무 잦다며 더이상 재시작이 되지 않는 것 같아요. 해결 방법이 궁금합니다 ㅠㅠ 아래는 제 서버의 package.json, index.js입니다. Package.json{ "name": "server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node index.js" }, "author": "", "license": "ISC", "dependencies": { "compression": "^1.7.4", "cors": "^2.8.5", "express": "^4.18.2", "jsonwebtoken": "^9.0.2", "method-override": "^3.0.0", "mysql2": "^3.6.3", "nodemon": "^3.0.1", "socket.io": "^4.7.2", "winston": "^3.11.0", "winston-daily-rotate-file": "^4.7.1" } } index.jsconst express = require("./config/express"); const { logger } = require("./config/winston"); //log const port = 5999; express().listen(port); logger.info(`API Server Start At Port ${port}`);
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
멀티 스레드 환경에서의 캐시 효율
멀티 스레드 환경에서 A,B 2개의 쓰레드가 있다고 가정했을때프로세스에서 어떤 전역 Data number를 +1 해달라는 주문이 들어 왔을때 A쓰레드에서 해당 주문을 받고 동시에 B도 해당 주문을 받는다면 문제가 되기때문에 동기화를 해줘야한다고 말씀 주셨는데요 그렇게 되면 A가 주문을 받고 다시 Ram에 동기화 그다음 B가 주문을 받고 Ram에서 수정된 값을 가져와서 다시 Ram에 동기화 이런식이라면 멀티 쓰레드 환경에서는 캐시의 의미가 없는건가요?캐시라는게 결국엔 프로세서와 Ram간의 거리가 멀기 때문에 이걸 완하해주는게 캐시로 알고 있는데 멀티 환경에서 주문이 들어올때마다 Ram에서 최신화 정보 가져오고 다시 동기화 한다면 캐시의 의미가 없어지는게 아닌가 해서 이렇게 질문 남기게 됩니다
-
미해결지금 당장 데브옵스 AWS
Backend 로드밸런싱
백엔드 로드밸런싱에서 vpc 선택할때기본 vpc설정을 했습니다하지만 vpc를 생성하고 subnet 셋팅 nat , internet gate way , route table 등은 어떻게 설정하면 될까요 ??작업을할때 기본 vpc 사용하기보다 따로 vpc생성후 작업 많이 한다고 들었습니다
-
해결됨그림으로 쉽게 배우는 운영체제
메모리관련 질문
안녕하세요. 감자선생님!메모리(+가상메모리)관련 질문있습니다. Q1.메모리 할당방식 0:10 ~ 0:301) "당장 실행시켜야할 부분"이라면, Code영역 Data영역 데이터들로 추측되는데 대략적으로 맞을까요?2) 해당 예시는 총 메모리보다 프로그램 크기가 큰 경우, 메모리오버레이 적용으로 이해했습니다.그 반대의 상황 메모리(2GB) 게임(1GB)에서도 오버레이 적용 되는지 궁금합니다.예상으로는 반대상황에서도 게임 실행 시, 1GB가아닌 훨씬 작은 메모리만 사용할것으로 추측중입니다. Q2.가상메모리개요 1:451) 보라색 캐릭터(프로세스)의 데이터(Code,Data,Stack,Heap)들은실제 형태는 RAM or ROM-스왑영역에 올라가 있는 상황으로 이해했습니다. 맞는지 궁금합니다. Q3.디멘드페이징 0:25메모리 Code 영역에는 작성한 코드가 기계어로 들어가있습니다.1)저가 만약 5만줄의 코드를 작성하면, 5만줄에 해당하는 기계어 전체가 다 들어가있는 건지 궁금합니다.2)Code영역에 비즈니스로직(프로그램의 시작과 끝 로직)도 'Ram과 Rom으로 나뉘어져 실행되는 구조인지 궁금합니다.ex)비즈니스로직에서- A번쨰 줄 로직 : int 변수에 5를 더하기- 그다음 줄 로직 : 위 변수 출력이렇게 있는 상황에서 A번쨰줄 로직은 Ram에서 실행되고있고, 그 다음줄 로직은Rom에 있으면 안될것같은 느낌이 확 들어 질문드립니다.(그 다음줄을 Rom에서 불러올 방법이 없습니다)그렇게 되야 모든 로직이 실행되며 필요한 데이터는 Rom에서 불러오고 종료되고 할것같습니다. 이상입니다. 연휴잘보내세요!
-
미해결Next + React Query로 SNS 서비스 만들기
Next.js호환 CSS 관련 문의
안녕하세요. 제로초님. 질문 많이 드려서 죄송합니다.아마 마지막 질문이 될 것 같아요. 강의에서 CSS-in-JS 라이브러리와 Next의 호환성 문제를 언급해주셨음에도 불구하고, styled-componets로 진행을 하다가 문제점을 깨닫고 멈춘 상태입니다.제가 꾸역꾸역 styled-componets 써보려고 한 이유는 다음과 같았습니다.프로젝트를 마이그레이션 하는 과정에서 라이브러리를 바꾸게 됐을 때의 비용이 너무 많이 발생한다고 판단함.Next에도 babel, swc 등의 설정 파일을 추가 하면 사용할 수 있다는 글들이 구글링에 많이 보였기 때문에, '이제 업데이트 돼서 가능한가?' 싶었음. 하지만 결론적으로 layout.tsx, page.tsx 파일에도 스타일이 들어가지 않을 수 없었고, use client로 떡칠된 프로젝트가 되어서 next.js를 사용하는 의미를 잃었습니다.서론이 길었습니다. 위와 같은 이유로 아래 내용 질문드립니다.styled-component가 된다고 우기는 블로그들은 다 ssr의 이점을 버리고 사용중인 거라고 보면될까요?채용공고에서 next와 styled-component를 동시에 요구하는 공고는 두 개를 같이 쓰고 있는 곳일까요?현실적으로 next와 함께 쓰일만한 라이브러리는 유명한 라이브러리 중에서 postCSS, SASS 가 전부인가요?